TestEra: Specification-Based Testing of Java Programs Using SAT

作者:Sarfraz Khurshid, Darko Marinov

摘要

TestEra is a framework for automated specification-based testing of Java programs. TestEra requires as input a Java method (in sourcecode or bytecode), a formal specification of the pre- and post-conditions of that method, and a bound that limits the size of the test cases to be generated. Using the method's pre-condition, TestEra automatically generates all nonisomorphic test inputs up to the given bound. It executes the method on each test input, and uses the method postcondition as an oracle to check the correctness of each output. Specifications are first-order logic formulae. As an enabling technology, TestEra uses the Alloy toolset, which provides an automatic SAT-based tool for analyzing first-order logic formulae. We have used TestEra to check several Java programs including an architecture for dynamic networks, the Alloy-alpha analyzer, a fault-tree analyzer, and methods from the Java Collection Framework.

论文关键词:software testing, automated test generation, specification-based testing, Java testing, Alloy, TestEra, SAT enumeration

论文评审过程:

论文官网地址:https://doi.org/10.1023/B:AUSE.0000038938.10589.b9