Test-driven development of GUIs is currently very difficult. On the one hand, to avoid frequent updates of the tests, test-driven development requires a degree of stability in the application under development, whereas GUIs are very likely to change during development. On the other hand, the easiest way of creating GUI tests - using a capture/replay tool - requires the GUI to exist. This paper introduces a new approach to user-interface test-driven development, wherein a capture-replay tool is used to record test scripts from low-fidelity prototypes. This allows GUI tests to be
{"title":"Supporting Test-Driven Development of Graphical User Interfaces Using Agile Interaction Design","authors":"T. Hellmann, Ali Hosseini-Khayat, F. Maurer","doi":"10.1109/ICSTW.2010.35","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.35","url":null,"abstract":"Test-driven development of GUIs is currently very difficult. On the one hand, to avoid frequent updates of the tests, test-driven development requires a degree of stability in the application under development, whereas GUIs are very likely to change during development. On the other hand, the easiest way of creating GUI tests - using a capture/replay tool - requires the GUI to exist. This paper introduces a new approach to user-interface test-driven development, wherein a capture-replay tool is used to record test scripts from low-fidelity prototypes. This allows GUI tests to be","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133623226","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Using aspects of model checking to analyse multi- threaded software is a promising method for finding common concurrent errors such as deadlock. Traditional model checking tools exhaustively search the state space of a concurrent system in order to find faults. Unfortunately, model checking suffers from the state space explosion problem, limiting the applicability of the approach to commercial software. Metaheuristic search mechanisms have been used in an attempt to overcome this issue with good results. Techniques such as Genetic Algorithms (GAs) and Estimation of Distribution Algorithms (EDAs) focus the search of the state space on areas that are more likely to contain errors. In this work, a novel EDA-based approach to exploring the state space of a model is outlined. Experiments are performed on an implementation using the Java PathFinder (JPF) model checker and the ECJ toolkit. The EDA-based approach is shown to perform well against standard search procedures such as depth-first search, whilst also outperforming random search on a benchmark problem. On larger problems, the EDA is shown to be the only effective technique of those compared.
{"title":"Searching for Safety Violations Using Estimation of Distribution Algorithms","authors":"J. Staunton, J. A. Clark","doi":"10.1109/ICSTW.2010.24","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.24","url":null,"abstract":"Using aspects of model checking to analyse multi- threaded software is a promising method for finding common concurrent errors such as deadlock. Traditional model checking tools exhaustively search the state space of a concurrent system in order to find faults. Unfortunately, model checking suffers from the state space explosion problem, limiting the applicability of the approach to commercial software. Metaheuristic search mechanisms have been used in an attempt to overcome this issue with good results. Techniques such as Genetic Algorithms (GAs) and Estimation of Distribution Algorithms (EDAs) focus the search of the state space on areas that are more likely to contain errors. In this work, a novel EDA-based approach to exploring the state space of a model is outlined. Experiments are performed on an implementation using the Java PathFinder (JPF) model checker and the ECJ toolkit. The EDA-based approach is shown to perform well against standard search procedures such as depth-first search, whilst also outperforming random search on a benchmark problem. On larger problems, the EDA is shown to be the only effective technique of those compared.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129343680","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Domenico Amalfitano, A. R. Fasolino, Porfirio Tramontana
The rapid and growing diffusion of Rich Internet Applications (RIAs) with their enhanced interactivity, responsiveness and dynamicity is sharpening the distance between Web applications and desktop applications, making the Web experience more and more appealing and user-friendly. This paper presents a technique for testing RIAs that generates test cases from application execution traces, and obtains more scalable test suites thanks to testing reduction techniques. Execution traces provide a fast and cheap way for generating test cases and can be obtained either from user sessions, or by crawling the application or by combining both approaches. The proposed technique has been evaluated by a preliminary experiment that investigated the effectiveness of different approaches for execution trace collection and of several criteria for reducing the test suites. The experimental results showed the feasibility of the technique and that its effectiveness can be improved by hybrid approaches that combine both manually and automatically obtained execution traces of the application.
{"title":"Rich Internet Application Testing Using Execution Trace Data","authors":"Domenico Amalfitano, A. R. Fasolino, Porfirio Tramontana","doi":"10.1109/ICSTW.2010.34","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.34","url":null,"abstract":"The rapid and growing diffusion of Rich Internet Applications (RIAs) with their enhanced interactivity, responsiveness and dynamicity is sharpening the distance between Web applications and desktop applications, making the Web experience more and more appealing and user-friendly. This paper presents a technique for testing RIAs that generates test cases from application execution traces, and obtains more scalable test suites thanks to testing reduction techniques. Execution traces provide a fast and cheap way for generating test cases and can be obtained either from user sessions, or by crawling the application or by combining both approaches. The proposed technique has been evaluated by a preliminary experiment that investigated the effectiveness of different approaches for execution trace collection and of several criteria for reducing the test suites. The experimental results showed the feasibility of the technique and that its effectiveness can be improved by hybrid approaches that combine both manually and automatically obtained execution traces of the application.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"155 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115187535","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Bagnato, Fabio Raiteri, Wissam Mallouli, B. Wehbi
In recent years Web-based systems have become extremely popular and, nowadays, they are used in critical environments such as financial, medical, and military systems. As the use of Web applications for security-critical services has increased, the number and sophistication of attacks against these applications have grown as well. For this reason it is essential to be able to prove that the target Web-based system implements its designed security requirements avoiding known vulnerabilities in HTTP-based solutions. To reach this aim, we can rely on several testing techniques and mainly on security passive testing approach that is becoming increasingly important to security-relevant aspects into web based software systems. This article describes the application of the TestInv-P passive testing tool as part of the testing phase of TXT e-tourism Web application. TestInv-P is a passive testing tool that monitors communication traces of an application during run-time and verifies whether it satisfies certain security-related invariants derived from SHIELDS models.
{"title":"Practical Experience Gained from Passive Testing of Web Based Systems","authors":"A. Bagnato, Fabio Raiteri, Wissam Mallouli, B. Wehbi","doi":"10.1109/ICSTW.2010.39","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.39","url":null,"abstract":"In recent years Web-based systems have become extremely popular and, nowadays, they are used in critical environments such as financial, medical, and military systems. As the use of Web applications for security-critical services has increased, the number and sophistication of attacks against these applications have grown as well. For this reason it is essential to be able to prove that the target Web-based system implements its designed security requirements avoiding known vulnerabilities in HTTP-based solutions. To reach this aim, we can rely on several testing techniques and mainly on security passive testing approach that is becoming increasingly important to security-relevant aspects into web based software systems. This article describes the application of the TestInv-P passive testing tool as part of the testing phase of TXT e-tourism Web application. TestInv-P is a passive testing tool that monitors communication traces of an application during run-time and verifies whether it satisfies certain security-related invariants derived from SHIELDS models.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123999611","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
GUI (Graphical User Interface) test cases contain much richer information than the test cases in non-GUI testing. Based on the information, the GUI test profiles can be represented in more forms. In this paper, we study the modeling of the test profiles in GUI testing. Several models of GUI test profiles are proposed. Then we present a methodology of studying the relationship between the test profiles and the fault detection in GUI testing. A control scheme based on this relationship that may be able to improve the efficiency of GUI testing is also proposed.
{"title":"On Modeling of GUI Test Profile","authors":"Lei Zhao, K. Cai","doi":"10.1109/ICSTW.2010.19","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.19","url":null,"abstract":"GUI (Graphical User Interface) test cases contain much richer information than the test cases in non-GUI testing. Based on the information, the GUI test profiles can be represented in more forms. In this paper, we study the modeling of the test profiles in GUI testing. Several models of GUI test profiles are proposed. Then we present a methodology of studying the relationship between the test profiles and the fault detection in GUI testing. A control scheme based on this relationship that may be able to improve the efficiency of GUI testing is also proposed.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128368026","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We argue that higher order mutants are potentially better able to simulate real faults and to reveal insights into bugs than the restricted class of first order mutants. The Mutation Testing community has previously shied away from Higher Order Mutation Testing believing it to be too expensive and therefore impractical. However, this paper argues that Search Based Software Engineering can provide a solution to this apparent problem, citing results from recent work on search based optimization techniques for constructing higher order mutants. We also present a research agenda for the development of Higher Order Mutation Testing.
{"title":"A Manifesto for Higher Order Mutation Testing","authors":"M. Harman, Yue Jia, W. Langdon","doi":"10.1109/ICSTW.2010.13","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.13","url":null,"abstract":"We argue that higher order mutants are potentially better able to simulate real faults and to reveal insights into bugs than the restricted class of first order mutants. The Mutation Testing community has previously shied away from Higher Order Mutation Testing believing it to be too expensive and therefore impractical. However, this paper argues that Search Based Software Engineering can provide a solution to this apparent problem, citing results from recent work on search based optimization techniques for constructing higher order mutants. We also present a research agenda for the development of Higher Order Mutation Testing.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"74 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128828079","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We discuss the generation of test cases for demonstrating the non-equivalence of two programs. This problem has applications in mutation testing and automated debugging. After transforming the programs into Static-Single-Assignment form, the MINION constraint solver is used to generate test vectors that demonstrate the observable difference. The experiments show the feasability of our constraint solving approach.
{"title":"Generating Distinguishing Tests Using the Minion Constraint Solver","authors":"F. Wotawa, M. Nica, B. Aichernig","doi":"10.1109/ICSTW.2010.11","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.11","url":null,"abstract":"We discuss the generation of test cases for demonstrating the non-equivalence of two programs. This problem has applications in mutation testing and automated debugging. After transforming the programs into Static-Single-Assignment form, the MINION constraint solver is used to generate test vectors that demonstrate the observable difference. The experiments show the feasability of our constraint solving approach.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122093041","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Evolutionary Functional Testing (EFT) is a relatively recent approach to automating the testing process. The research presented in this paper aims at increasing the acceptability of EFT in industrial settings. An approach suitable for efficiently and effectively testing complex continuous control systems is introduced. The main focus is on generating realistic test stimuli, enabling interactivity between test driver and test object, and facilitating the process of designing a suitable fitness function. This is accomplished by integrating EFT with model-based testing methodologies resulting in an intuitive testing approach that enables even testers not familiar with search based testing to achieve good results with limited effort. A test environment optimized for deployment in the industrial domain is introduced. Features of the test environment include the capability of automatically generating realistic continuous test data sets, interacting with the system under test during test execution, and automatically executing and evaluating large numbers of tests. A thorough case study using an adaptive cruise control system from the automotive domain is performed to assess the approach. Results of this work indicate high usability, efficiency, and effectiveness of the proposed method for testing complex embedded systems.
{"title":"Integrating Model-Based Testing with Evolutionary Functional Testing","authors":"Felix F. Lindlar, Andreas Windisch, J. Wegener","doi":"10.1109/ICSTW.2010.10","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.10","url":null,"abstract":"Evolutionary Functional Testing (EFT) is a relatively recent approach to automating the testing process. The research presented in this paper aims at increasing the acceptability of EFT in industrial settings. An approach suitable for efficiently and effectively testing complex continuous control systems is introduced. The main focus is on generating realistic test stimuli, enabling interactivity between test driver and test object, and facilitating the process of designing a suitable fitness function. This is accomplished by integrating EFT with model-based testing methodologies resulting in an intuitive testing approach that enables even testers not familiar with search based testing to achieve good results with limited effort. A test environment optimized for deployment in the industrial domain is introduced. Features of the test environment include the capability of automatically generating realistic continuous test data sets, interacting with the system under test during test execution, and automatically executing and evaluating large numbers of tests. A thorough case study using an adaptive cruise control system from the automotive domain is performed to assess the approach. Results of this work indicate high usability, efficiency, and effectiveness of the proposed method for testing complex embedded systems.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"13 10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129844358","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
This paper proposes using functional programming style in a way to respond to detection of and interaction with the software attacks and vulnerabilities. Additionally, our approach considers involving Description Logics, as a basis for the use of the Semantic Web and meta-programming to produce executable ontologies and to enable semantic reasoning over behavior and interaction with software attacks and vulnerabilities. Accordingly, we introduce Magic Potion, a recently defined Domain Specific meta-Language that uses Modeling Spaces framework to study heterogeneous modeling and meta-modeling problems inspired by Model Driven Architecture. As an example of formalism for modeling software attacks and vulnerabilities, we explore Attack Tree, which provides a formal methodology for analyzing the security of the system. Based on Attack Tree, which is herein specified for a particular problem of dealing with known attacks and vulnerabilities of the security layer of the Wireless Application Protocol, and which is particularly built on top of Magic Potion specification, we define our specific Domain Specific Language that we call Attack Tree Domain Specific Language. It is envisioned as a tool for modeling and interacting with software attacks and vulnerabilities.
{"title":"Functional Programming Way to Interact with Software Attacks and Vulnerabilities","authors":"V. Damjanovic, D. Djuric","doi":"10.1109/ICSTW.2010.53","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.53","url":null,"abstract":"This paper proposes using functional programming style in a way to respond to detection of and interaction with the software attacks and vulnerabilities. Additionally, our approach considers involving Description Logics, as a basis for the use of the Semantic Web and meta-programming to produce executable ontologies and to enable semantic reasoning over behavior and interaction with software attacks and vulnerabilities. Accordingly, we introduce Magic Potion, a recently defined Domain Specific meta-Language that uses Modeling Spaces framework to study heterogeneous modeling and meta-modeling problems inspired by Model Driven Architecture. As an example of formalism for modeling software attacks and vulnerabilities, we explore Attack Tree, which provides a formal methodology for analyzing the security of the system. Based on Attack Tree, which is herein specified for a particular problem of dealing with known attacks and vulnerabilities of the security layer of the Wireless Application Protocol, and which is particularly built on top of Magic Potion specification, we define our specific Domain Specific Language that we call Attack Tree Domain Specific Language. It is envisioned as a tool for modeling and interacting with software attacks and vulnerabilities.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128986433","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Rule-based programming has been gaining interest in the industry for several years, through the growing use of Business Rules Management Systems. A demand for verification of semantic properties on rule programs has thus emerged. In this paper we present an approach to rule program verification, using constraints to model program executions and verification properties, and a Constraint-Based Programming Solver (CP Solver) to compute the answers to verification questions. We also study the use of constraint-based programming in rule program verification, and the consequences of this usage on the CP Solver compared to combinatorial optimization problems.
{"title":"Using Constraints to Verify Properties of Rule Programs","authors":"B. Berstel, M. Leconte","doi":"10.1109/ICSTW.2010.42","DOIUrl":"https://doi.org/10.1109/ICSTW.2010.42","url":null,"abstract":"Rule-based programming has been gaining interest in the industry for several years, through the growing use of Business Rules Management Systems. A demand for verification of semantic properties on rule programs has thus emerged. In this paper we present an approach to rule program verification, using constraints to model program executions and verification properties, and a Constraint-Based Programming Solver (CP Solver) to compute the answers to verification questions. We also study the use of constraint-based programming in rule program verification, and the consequences of this usage on the CP Solver compared to combinatorial optimization problems.","PeriodicalId":117410,"journal":{"name":"2010 Third International Conference on Software Testing, Verification, and Validation Workshops","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116315114","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}