ABSTRACT
We present the concepts, usage and prototypical implementation of aPET, a test case generation tool for a distributed asynchronous language based on concurrent objects. The system receives as input a program, a selection of methods to be tested, and a set of parameters that include a selection of a coverage criterion. It yields as output a set of test cases which guarantee that the selected coverage criterion is achieved. aPET is completely integrated within the language's IDE via Eclipse. The generated test cases can be displayed in textual mode and, besides, it is possible to generate ABSUnit code (i.e., code runnable in a simple framework similar to JUnit to write repeatable tests). The information yield by aPET can be relevant to spot bugs during program development and also to perform regression testing.
- G.A. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge, MA, 1986. Google ScholarDigital Library
- E. Albert, P. Arenas, and M. Gómez-Zamalloa. Symbolic Execution of Concurrent Objects in CLP. In Proc. of PADL’12, LNCS 7149, pages 123–137. Springer, 2012. Google ScholarDigital Library
- E. Albert, P. Arenas, and M. Gómez-Zamalloa. Towards Testing Concurrent Objects in CLP. In Proc. of ICLP’12, LIPIcs 17, pages 98–108. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2012.Google Scholar
- E. Albert, M. Gómez-Zamalloa, and G. Puebla. PET: A Partial Evaluation-based Test Case Generation Tool for Java Bytecode. In Proc. of PEPM’10, pages 25–28. ACM Press, 2010. Google ScholarDigital Library
- J. Armstrong, R. Virding, C. Wistrom, and M. Williams. Concurrent Programming in Erlang. Prentice Hall, 1996. Google ScholarDigital Library
- C. Cadar, P. Godefroid, S. Khurshid, C. S. Pˇ asˇ areanu, K. Sen, N. Tillmann, and W. Visser. Symbolic Execution for Software Testing in Practice: Preliminary Assessment. In Proc. of ICSE’11, pages 1066–1071. ACM, 2011. Google ScholarDigital Library
- D. Clarke, N.Diakov, R. Hähnle, E. Broch Johnsen, I. Schaefer, J. Schäfer, R. Schlatte, and P. Y. H. Wong. Modeling Spatial and Temporal Variability with the HATS Abstract Behavioral Modeling Language. In Proc. of SFM’11, LNCS 6659, pages 417–457. Springer, 2011.Google Scholar
- L. A. Clarke. A System to Generate Test Data and Symbolically Execute Programs. IEEE Transactions on Software Engineering, 2(3):215–222, 1976. Google ScholarDigital Library
- P. Haller and M. Odersky. Scala actors: Unifying Thread-Based and Event-Based Programming. Theor. Comput. Sci., 410(2-3):202–220, 2009. Google ScholarDigital Library
- W.E. Howden. Symbolic Testing and the DISSECT Symbolic Evaluation System. IEEE Transactions on Software Engineering, 3(4):266–278, 1977. Google ScholarDigital Library
- E. B. Johnsen, R. Hähnle, J. Schäfer, R. Schlatte, and M. Steffen. ABS: A Core Language for Abstract Behavioral Specification. In Proc. of FMCO’10, LNCS 6957, pages 142–164. Springer, 2012. Google ScholarDigital Library
- J. C. King. Symbolic Execution and Program Testing. Commun. ACM, 19(7):385–394, 1976. Google ScholarDigital Library
- I. Schaefer, L. Bettini, V. Bono, F. Damiani, and N. Tanzarella. Delta-Oriented Programming of Software Product Lines. In Proc. of SPLC’10, LNCS 6287, pages 77–91, 2010. Google ScholarDigital Library
- S. Shivaprasad and N. Prasad. Unit Testing Concurrent Java Programs. Journal of Computer Applications, 67(10):49–62, 2013.Google Scholar
- N. Tillmann and J. de Halleux. Pex-White Box Test Generation for .NET. In Proc. of TAP’08, LNCS 4966, pages 134–153. Springer, 2008. Google ScholarDigital Library
Index Terms
- aPET: a test case generation tool for concurrent objects
Recommendations
An orchestrated survey of methodologies for automated software test case generation
Test case generation is among the most labour-intensive tasks in software testing. It also has a strong impact on the effectiveness and efficiency of software testing. For these reasons, it has been one of the most active research topics in software ...
Literature Review on Test Case Generation Approach
ICSIM '19: Proceedings of the 2nd International Conference on Software Engineering and Information ManagementTest case generation is a testing stage that requires the greatest resources among other stages so it has significant impact on the effectiveness and efficiency of software testing. Test case is a pair of input and output that will be executed by the ...
Test case generation based on mutations over user execution traces
AbstractAutomatic test case generation is usually based on models of the software under test. However, those models may not exist or may be outdated and so, the test case generation must resort to other artifacts. In a software maintenance context, test ...
Comments