TestEra: Specification-Based Testing of Java Programs Using SAT

被引:83
作者
Sarfraz Khurshid
Darko Marinov
机构
[1] 200 Technology Square,MIT Lab for Computer Science
关键词
software testing; automated test generation; specification-based testing; Java testing; Alloy; TestEra; SAT enumeration;
D O I
10.1023/B:AUSE.0000038938.10589.b9
中图分类号
学科分类号
摘要
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.
引用
收藏
页码:403 / 434
页数:31
相关论文
共 3 条
  • [1] Donat M.R.(1997)Automating formal specification based testing Proc. Conference on Theory and Practice of Software Development 1214 833-847
  • [2] Stocks P.(1996)A framework for specification-based testing IEEE Transactions on Software Engineering 22 777-793
  • [3] Carrington D.(undefined)undefined undefined undefined undefined-undefined