By Topic

Automation of Software Test , 2007. AST '07. Second International Workshop on

Date 20-26 May 2007

Filter Results

Displaying Results 1 - 15 of 15
  • Second International Workshop on Automation of Software Test - Cover

    Page(s): c1
    Save to Project icon | Request Permissions | PDF file iconPDF (161 KB)  
    Freely Available from IEEE
  • Second International Workshop on Automation of Software Test - Table of contents

    Page(s): v
    Save to Project icon | Request Permissions | PDF file iconPDF (113 KB)  
    Freely Available from IEEE
  • Program Co-Chairs Message

    Page(s): 1
    Save to Project icon | Request Permissions | PDF file iconPDF (123 KB)  
    Freely Available from IEEE
  • Automated Test Data Generation using Search Based Software Engineering

    Page(s): 2
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (121 KB) |  | HTML iconHTML  

    Generating test data is a demanding process. Without automation, the process is slow, expensive and error-prone. However, techniques to automate test data generation must cater for a bewildering variety of functional and non-functional test adequacy criteria and must either implicitly or explicitly solve problems involving state propagation and constraint satisfaction. This talk will show how optimisation techniques associated with search based software engineering (SBSE) have been used to automate test data generation. The talk will survey the area and present the results of recent work on characterising, transforming and eliding test data search landscapes. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automated Generation of Test Cases Using Model-Driven Architecture

    Page(s): 3
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (263 KB) |  | HTML iconHTML  

    In this paper, we demonstrate a method that uses the model transformation technology of MDA to generate unit test cases from a platform-independent model of the system. The method we propose is based on sequence diagrams. First we model the sequence diagram and then this model is automatically transformed into a general unit test case model (an xUnit model which is independent of a particular unit testing framework), using model-to-model transformations. Then model-to-text transformations are applied on the xUnit model to generate platform- specific (JUnit, SUnit etc.) test cases that are concrete and executable. We have implemented the transformations in a prototype tool based on the Tefkat transformation tool and MOFScript. The paper gives details of the tool and the transformations that we have developed. We have applied the method to a small example (ATM simulation). View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automatic Test Data Generation for XML Schema-based Partition Testing

    Page(s): 4
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (249 KB) |  | HTML iconHTML  

    We present the XML-based partition testing (XPT) approach for the automatic generation of XML instances from a XML schema. The approach is inspired by the well-known category partition method for black-box testing. The generated instances can be used for inter-operability testing of applications that expect in input conforming XML instances, as well as for other interesting purposes, such as database population, XML Schema benchmarking, Web services testing, and so on. The implementation of XPT in a prototype tool called TAXI is described. To limit the number of generated instances, TAXI also incorporates practical strategies for handling element weights and type values. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Towards a Framework for Differential Unit Testing of Object-Oriented Programs

    Page(s): 5
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (149 KB) |  | HTML iconHTML  

    Software developers often face the task of determining how the behaviors of one version of a program unit differ from (or are the same as) the behaviors of a (slightly) different version of the same program unit. In such situations, developers would like to generate tests that exhibit the behavioral differences between the two versions, if any differences exist. We call this type of testing differential unit testing. Some examples of differential unit testing include regression testing, N-version testing, and mutation testing. We propose a framework, called Diffut, that enables differential unit testing of object-oriented programs. Diffut enables "simultaneous" execution of the pairs of corresponding methods from the two versions: methods can receive the same inputs (consisting of the object graph reachable from the receiver and method arguments), and Diffut compares their outputs (consisting of the object graph reachable from the receiver and method return values). Given two versions of a Java class, Diffut automatically synthesizes annotations (in the form of preconditions and postconditions) in the Java Modeling Language (JML) and inserts them into the unit under test to allow the simultaneous execution of the corresponding methods. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • An Improved Approach to Passive Testing of FSM-based Systems

    Page(s): 6
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (280 KB) |  | HTML iconHTML  

    Fault detection is a fundamental part of passive testing which determines whether a system under test (SUT) is faulty by observing the input/output behavior of the SUT without interfering its normal operations. In this paper, we propose a new approach to finite state machine (FSM)-based passive fault detection which improves the performance of the approach in [4] and gathers more information during testing compared with the approach in [4]. The results of theoretical and experimental evaluations are reported. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Coverage-Based Testing on Embedded Systems

    Page(s): 7
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (282 KB) |  | HTML iconHTML  

    One major issue of code coverage testing is the overhead imposed by program instrumentation, which inserts probes into the program to monitor its execution. In real-time systems, the overhead may alter the program execution behavior or impact its performance due to its strict requirement on timing. Coverage testing is even harder on embedded systems because of their critical and limited memory and CPU resources. This paper describes a case study of a coverage-based testing method for embedded system software focusing on minimizing instrumentation overhead. We ported a code coverage-based test tool to an in-house embedded system, IP phone. In our initial experiments, we found that this tool didn 't affect the behavior of the program under test. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • MobileTest: A Tool Supporting Automatic Black Box Test for Software on Smart Mobile Devices

    Page(s): 8
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (452 KB) |  | HTML iconHTML  

    With the development of mobile computing and pervasive computing, smart mobile devices such as PDAs or smart-phones are gradually becoming an indispensable part of our daily life. However, as the software running on these devices becomes more and more powerful and complex, the testing of these mobile applications poses great challenges for mobile application vendors and phone manufacturers. In this paper, we introduce MobileTest, a tool supporting automatic black box test for software on smart mobile devices. The objectives and the design of the testing tool are thoroughly discussed. The paper also adopts a sensitive-event based approach to simplify the design of test cases and enhance the test cases' efficiency and reusability. Finally, we conducted an experiment in a real testing project. Measurement data of the testing process shows that MobileTest can effectively reduce the complexity of automatic test on smart mobile devices. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automating Embedded Software Testing on an Emulated Target Board

    Page(s): 9
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (1199 KB) |  | HTML iconHTML  

    An embedded system consists of heterogeneous layers including hardware, HAL (hardware abstraction layer), OS kernel and application layer. Interactions between these layers are the software interfaces to be tested in an embedded system. The identified interfaces are important criterion that selects test cases and monitors the test results in order to detect faults and trace their causes. In this paper, we propose an automated scheme of embedded software interface test based on the emulated target board. The automated scheme enables to identify the location of interface in the source code to be tested, to generate test cases, and to determine 'pass' or fail' on the interface. We implemented the test tool called 'Justitia' based on the proposed scheme. As a case study, we applied the 'Justitia' to mobile embedded software on the S3C2440 microprocessor and Linux kernel v2.4.20. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Testing Dynamic Adaptation in Distributed Systems

    Page(s): 10
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (194 KB) |  | HTML iconHTML  

    Many software systems undergo dynamic adaptation in response to change in requirements or frequent changes in their usage context. Before adaptation, the system satisfies the behavior of the old program (i.e., program before adaptation), and after adaptation the system satisfies the behavior of the new program (i.e., program after adaptation). During adaptation, the behavior of the old program and the behavior of the new program may overlap. Existing algorithms to test distributed systems do not deal with adaptive systems. In this paper, we discuss testing of system during adaptation using predicate detection techniques. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automated Testing of Timeliness : A Case Study

    Page(s): 11
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (160 KB) |  | HTML iconHTML  

    A problem with testing timeliness of real-time applications is the response-time dependency on the execution order of concurrent tasks. Conventional test methods ignore task interleaving and timing and thus do not help determine which execution orders need to be exercised to test temporal correctness. Model based mutation testing has been proposed to generate inputs and determine the execution orders that need to be verified to increase confidence in timeliness. This paper evaluate a mutation-based framework for automated testing of timeliness by applying it on a small control system running on Linux/RTAI. The experiments presented in this paper indicate that mutation-based test cases are more effective than random and stress tests in finding both naturally occurring and randomly seeded timeliness faults. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Automated Measure of Structural Coverage for LUSTRE Programs: a Case Study

    Page(s): 12
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (589 KB) |  | HTML iconHTML  

    Lustre is a synchronous data-flow declarative language widely used for safety-critical applications (avionics, energy, transport). Scade is a commercial tool-suite based on this language. We have proposed recently test coverage criteria for Lustre/Scade programs. The coverage assessment is fully automated and has been integrated in a prototype tool, Lustructu. This tool analyzes Lustre programs and extracts the conditions that a test input sequence must verify in order to meet a criterion. The associated measures are fully automated and non-intrusive. In this paper we present a case study that applies the coverage criteria to an alarm management software specification developed in Scade. The case study is used to illustrate the defined criteria as well as to evaluate their applicability and usefulness. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.
  • Random Generation of Test Inputs for Implicitly Defined Subdomains

    Page(s): 13
    Save to Project icon | Request Permissions | Click to expandQuick Abstract | PDF file iconPDF (135 KB) |  | HTML iconHTML  

    In traditional random testing, samples are taken from the set of all possible values for the input types. However, for many programs testing effectiveness can be improved by focusing on a relevant subdomain defined implicitly by the program behavior. This paper presents an algorithm for identifying and randomly selecting inputs from implicitly defined subdomains. The algorithm dynamically constructs and refines a model of the input domain and is biased toward sparsely covered regions in order to accelerate boundary identification and uniform coverage. This method has several desirable qualities: (1) it requires no knowledge of the source code of the software being tested, (2) inputs are selected from an approximately uniform distribution across the subdomain, and (3) algorithmic running time overhead is negligible. We present the requirements for a solution and our algorithm. We also evaluate our solution for both an artificial model and a real-world aircraft collision-avoidance program. View full abstract»

    Full text access may be available. Click article title to sign in or learn about subscription options.