Evolutionary testing of classes
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Search-based software test data generation: a survey: Research Articles
Software Testing, Verification & Reliability
Automatic testing of software with structurally complex inputs
Automatic testing of software with structurally complex inputs
Evolutionary test data generation: a comparison of fitness functions: Research Articles
Software—Practice & Experience
Evolutionary unit testing of object-oriented software using strongly-typed genetic programming
Proceedings of the 8th annual conference on Genetic and evolutionary computation
Software Testing, Verification & Reliability - UKTest 2005: The Third U.K. Workshop on Software Testing Research
Feedback-Directed Random Test Generation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Software Testing Research: Achievements, Challenges, Dreams
FOSE '07 2007 Future of Software Engineering
Automatic Test Generation for Dynamic Data Structures
SERA '07 Proceedings of the 5th ACIS International Conference on Software Engineering Research, Management & Applications
Improving evolutionary class testing in the presence of non-public methods
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
The Daikon system for dynamic detection of likely invariants
Science of Computer Programming
Automatic State-Based Test Generation Using Genetic Algorithms
SYNASC '07 Proceedings of the Ninth International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
Search based software testing of object-oriented containers
Information Sciences: an International Journal
Handling dynamic data structures in search based testing
Proceedings of the 10th annual conference on Genetic and evolutionary computation
Finding errors in .net with feedback-directed random testing
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Dynamic test input generation for web applications
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Using JavaScript as a real programming language
Using JavaScript as a real programming language
A Theoretical and Empirical Study of Search-Based Testing: Local, Global, and Hybrid Search
IEEE Transactions on Software Engineering
Industrial Scaled Automated Structural Testing with the Evolutionary Testing Tool
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
A concept for an interactive search-based software testing system
SSBSE'12 Proceedings of the 4th international conference on Search Based Software Engineering
Hi-index | 0.00 |
Manually creating test cases is time consuming and error prone. Search-based software testing can help automate this process and thus reduce time and effort and increase quality by automatically generating relevant test cases. Previous research has mainly focused on static programming languages and simple test data inputs such as numbers. This is not practical for dynamic programming languages that are increasingly used by software developers. Here we present an approach for search-based software testing for dynamically typed programming languages that can generate test scenarios and both simple and more complex test data. The approach is implemented as a tool, RuTeG, in and for the dynamic programming language Ruby. It combines an evolutionary search for test cases that give structural code coverage with a learning component to restrict the space of possible types of inputs. The latter is called for in dynamic languages since we cannot always know statically which types of objects are valid inputs. Experiments on 14 cases taken from real-world Ruby projects show that RuTeG achieves full or higher statement coverage on more cases and does so faster than randomly generated test cases.