2011 · 31 citations · 4 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesTest DevelopmentDesign For TestabilitySoftware TestingTest SpecificationTestbenchesApplication Programming Interface TestingAutomated Test GenerationSpecification-based TestingTest Case GenerationTest ExecutionTest GenerationTest Suite GenerationTesting
This tool paper presents an embodiment of TestEra - a framework developed in previous work for specification-based testing of Java programs. To test a Java method, TestEra uses the method's pre-condition specification to generate test inputs and the post-condition to check correctness of outputs. TestEra supports specifications written in Alloy - a first-order, declarative language based on relations - and uses the SAT-based back-end of the Alloy tool-set for systematic generation of test suites. Each test case is a JUnit test method, which performs three key steps: (1) initialization of pre-state, i.e., creation of inputs to the method under test; (2) invocation of the method; and (3) checking the correctness of post-state, i.e., checking the method output. The tool supports visualization of inputs and outputs as object graphs for graphical illustration of method behavior. TestEra is available for download to be used as a library or as an Eclipse plug-in.
4
Software abstractions: logic, language and analysis
Choice Reviews Online · 2007 · 1.5K citations
TestEra: a novel framework for automated testing of Java programs
Darko Marinov, Sarfraz Khurshid · 2005 · 258 citations
Test generation through programming in UDITA
Milos Gligoric, Tihomir Gvero, Vilas Jagannath et al. · 2010 · 160 citations · Full text
Relational analysis of algebraic datatypes
Viktor Kunčak, Daniel Jackson · 2005 · 27 citations · Full text
Computing, Computer Science, Logic +11