Introduction to algorithms
Automated Software Test Data Generation
IEEE Transactions on Software Engineering
Testing strategies for communicating FSMs
IWPTS '94 7th IFIP WG 6.1 international workshop on Protocol test systems
The AETG System: An Approach to Testing Based on Combinatorial Design
IEEE Transactions on Software Engineering
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Generating Goal-Oriented Test Cases
COMPSAC '99 23rd International Computer Software and Applications Conference
Functional Test Generation using Constraint Logic Programming
VLSI-SOC '01 Proceedings of the IFIP TC10/WG10.5 Eleventh International Conference on Very Large Scale Integration of Systems-on/Chip: SOC Design Methodologies
Genetic algorithms for dynamic test data generation
ASE '97 Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)
Automated Software Test Data Generation for Complex Programs
ASE '98 Proceedings of the 13th IEEE international conference on Automated software engineering
Generating Test Data for Branch Coverage
ASE '00 Proceedings of the 15th IEEE international conference on Automated software engineering
Automatic Test Data Generation for Programs with Integer and Float Variables
Proceedings of the 16th IEEE international conference on Automated software engineering
Automatic Test Generation from Communicating Extended Finite State Machine (CEFSM)-Based Models
ISORC '02 Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
BINTEST - Binary Search-based Test Case Generation
COMPSAC '03 Proceedings of the 27th Annual International Conference on Computer Software and Applications
Prioritize Code for Testing to Improve Code Coverage of Complex Software
ISSRE '05 Proceedings of the 16th IEEE International Symposium on Software Reliability Engineering
A System to Generate Test Data and Symbolically Execute Programs
IEEE Transactions on Software Engineering
On the Automated Generation of Program Test Data
IEEE Transactions on Software Engineering
Symbolic Testing and the DISSECT Symbolic Evaluation System
IEEE Transactions on Software Engineering
Generating tests from UML specifications
UML'99 Proceedings of the 2nd international conference on The unified modeling language: beyond the standard
Dynamic test input generation for web applications
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Automated test data generation using a scatter search approach
Information and Software Technology
Test-data generation guided by static defect detection
Journal of Computer Science and Technology
CHOC'LATE: a framework for specification-based testing
Communications of the ACM
Source code prioritization using forward slicing for exposing critical elements in a program
Journal of Computer Science and Technology
Fault-based test suite prioritization for specification-based testing
Information and Software Technology
Reducing test effort: A systematic mapping study on existing approaches
Information and Software Technology
Code-based prioritization: a pre-testing effort to minimize post-release failures
Innovations in Systems and Software Engineering
Hi-index | 0.02 |
Most automatic test generation research focuses on generation of test data from pre-selected program paths or input domains or program specifications. This paper presents a methodology for a full solution to code-coverage-based test case generation, which includes code coverage-based path selection, test data generation and actual test case representation in program's original languages. We implemented this method in an automatic testing framework, eXVantage. Experimental results and industrial trials show that the framework is able to generate tests to achieve program line coverage from 20% to 98% with reduced overall testing effort. Our major contributions include an innovative coverage-based program prioritization algorithm, a novel path selection algorithm that takes into consideration program priority and functional calling relationship, and a constraint solver for test data generation that derives constraints from bytecode and solves complex constraints involving strings and dynamic objects.