Software testing is important activity in Software Development Life Cycle. To cut down cost of manual testing and to increase reliability of it, researchers and practitioners have tried to automate it. One of the important activity in testing environment is automatic test case generation - description of a test, independent of the way a given software system is designed. This paper presents a survey on automatic test case generation techniques that are found in the current literature. Problems in usage of certain techniques are identified. Areas that needed future research are presented.
UCTSystem is a prototype tool designed to perform automatic test generation from UML requirements. It uses UML use cases enhenced with contracts (i.e. precondition and postconditions) to build an execution model allowing all valid sequences of use cases. Using this execution model and several test criteria, it generates test objectives as sequence of use cases to exerce. It includes both criteria for functional testing and a criterion for robusness testing. Those test objectives are then mapped into test cases using test templates.
Crucible is a flexible, layered set of tools for pulling down software from the web, building it, running tests on it, and reporting any unusual behaviors back to the parent project.
But since every testing project is unique, we strive to structure Crucible as a set of distinct tools that can be used independently or in other frameworks. Thus, if you're working on your own test harness, we hope you can cherry pick something of use to you from Crucible. :-)
P. Fröhlich, and J. Link. ECOOP '00: Proceedings of the 14th European Conference on Object-Oriented Programming, page 472--492. London, UK, Springer-Verlag, (2000)
S. Wappler, and J. Wegener. GECCO 2006: Proceedings of the 8th annual conference
on Genetic and evolutionary computation, 2, page 1925--1932. Seattle, Washington, USA, ACM Press, (8-12 July 2006)
M. Chen, X. Qiu, W. Xu, L. Wang, J. Zhao, and X. Li. The Computer Journal, (2007)MR: Der Ansatz ist ein Gray-Box-Ansatz, obwohl es auf Modellen basiert, muss das Programm selbst auch ausgeführt werden um bestimmte Eingaben für das Verfahren zu liefern.
Die Generierung von Testdaten ist kaum automatisiert.
Für IST-SPL interessant wegen den Formalismen für Aktivitätsdiagramme..
C. Mingsong, Q. Xiaokang, and L. Xuandong. AST '06: Proceedings of the 2006 international workshop on Automation of software test, page 2--8. New York, NY, USA, ACM, (2006)
A. Rajan, M. Whalen, and M. Heimdahl. ICSE '08: Proceedings of the 30th international conference on Software engineering, page 161--170. New York, NY, USA, ACM, (2008)MR: nuetzlich fuer IST-SPL nur wegen der Referenzen auf eingesetzte Techniken zur ' Test Case Generation using model checkers '..
L. Tan, O. Sokolsky, and I. Lee. IRI, page 493--498. IEEE Systems, Man, and Cybernetics Society, (2004)ST: Anforderungen werden in LTL spezifiziert.Es wird eine Metrik definiert, die eine Aussage ueber die Abdeckung der spezifizierten Eingenschaften durch eine Testsuite macht. Durch ein Abdeckungskriterium wird eine Testsuite mit endlichen Testfaellen definiert, die die spezifizierten Eigenschaften testet..
B. Korel, and A. Al-Yami. icse, (1996)ST: Testdaten werden mit Hilfe der Assertions automatisch abgeleitet. Das Ziel ist es Testdaten abzuleiten die die Assertion verletzen. Mit dieser Vorgehensweise werden mehr Fehler gefunden als mit herkömmlichen Methoden..