Generating Class-Level Integration Tests Using Call Site Information

@article{Derakhshanfar2020GeneratingCI,
  title={Generating Class-Level Integration Tests Using Call Site Information},
  author={Pouria Derakhshanfar and Xavier Devroey and Annibale Panichella and Andy Zaidman and Arie van Deursen},
  journal={IEEE Transactions on Software Engineering},
  year={2020}
}
—Search-based approaches have been used in the literature to automate the process of creating unit test cases. However, related work has shown that generated tests with high code coverage could be ineffective, i.e., they may not detect all faults or kill all injected mutants. In this paper, we propose C LING , an integration-level test case generation approach that exploits how a pair of classes, the caller and the callee, interact with each other through method calls. In particular, C LING… 

References

SHOWING 1-10 OF 79 REFERENCES

Using Coupling-Based Weights for the Class Integration and Test Order Problem

New techniques and algorithms to solve the CITO problem are described, including improved edge weights to more precisely model the cost of stubbing, and the use of node weights, which allows more information to be used.

Test order for class-based integration testing of Java applications

An improvement to existing class test ordering strategies by including coupling measures to reduce non-determinism and decrease the number of stubs to be produced, which is at the heart of component-based product line architectures.

The impact of test case summaries on bug fixing performance: an empirical investigation

An approach which automatically generates test case summaries of the portion of code exercised by each individual test, thereby improving understandability, is proposed, which can complement the current techniques around automated unit test generation or search-based techniques designed to generate a possibly minimal set of test cases.

An analysis tool for coupling-based integration testing

The design and implementation of an analysis tool for measuring the amount of coverage achieved by a set of test data according to a previously defined coupling criteria is discussed, which can be used to support integration testing of software components.

Automated Test Data Generation for Coupling Based Integration Testing of Object Oriented Programs Using Evolutionary Approaches

  • Shaukat AliA. Nadeem
  • Computer Science
    2013 10th International Conference on Information Technology: New Generations
  • 2013
This paper has proposed a novel approach for automated test data generation for coupling based integration testing of object oriented programs using genetic algorithm, which takes the coupling path as input, containing different sub paths, and generates the test data using Genetic algorithm.

An Integration Test Order Strategy to Consider Control Coupling

The results show that considering the transitive relationship when generating class integration test orders can significantly reduce the stubbing cost for most programs and that the integration test order strategy obtains satisfactory results more quickly than other methods.

Do Automatically Generated Unit Tests Find Real Faults? An Empirical Study of Effectiveness and Challenges (T)

Three state-of-the-art unit test generation tools for Java (Randoop, EvoSuite, and Agitar) are applied to the 357 real faults in the Defects4J dataset and investigated how well the generated test suites perform at detecting these faults.

EvoSuite: automatic test suite generation for object-oriented software

EvoSuite is presented, a tool that automatically generates test cases with assertions for classes written in Java code that applies a novel hybrid approach that generates and optimizes whole test suites towards satisfying a coverage criterion.

Interface Mutation: An Approach for Integration Testing

Comparing the error revealing effectiveness of these Interface Mutation-based test sets with same size randomly generated test sets, it is observed that in most cases Interface Mutations based test sets are superior.

Could I Have a Stack Trace to Examine the Dependency Conflict Issue?

  • Ying WangMing Wen S. Cheung
  • Computer Science
    2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
  • 2019
Riddle, an automated approach that generates tests and collects crashing stack traces for projects subject to risk of dependency conflicts, combines condition mutation, search strategies and condition restoration and demonstrates the effectiveness and usefulness of Riddle.
...