In contrast to manual selection of input value boundaries, we present an approach to derive them automatically from OCL expressions of UML state machines and UML class diagrams. We statically analyze the interdependence of OCL expressions within the system model and transform the model into a transition tree and investigate the tree's paths. The corresponding test suite is focused on detecting errors that result from differences between constraints in the model and constraints in the system under test.
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.
This article discusses various uses of OCL (Object Constraint Language) for both developers and testers. IT also enumerates the many advantages of the language, which is part of the UML specification.
B. Hasling, H. Goetz, and K. Beetz. Software Testing, Verification, and Validation, 2008 1st International Conference on, (April 2008)ST: Vorgehensweise:
In diesem Paper wird eine Testtechnik für den Systemtest beschrieben, die von Siemens im medizinischen Bereich angewendet wurde. Aus einem Use Case Modell, dessen Szenarien durch Aktivitätsdiagramme und Sequenzdiagramme beschrieben werden und Äquivalenzklassen für die erforderlichen Testdaten, können Testfälle generiert werden. Dazu wird das Tool TDE/UML benutzt, welche in vorhergehenden Ansätzen entwickelt wurde. Neu an dieser Technik zu den vorher entwickelten Techniken ist die Verbindung des Requirements-Prozesses mit dem Testprozess durch die Benutzung von Use-Cases, die schon im RE erstellt werden.
Eignung:
Vom Prinzip her ist die Vorgehensweise vergleichbar mit der Idee in ScenTEDTDG, da auf den gleichen Modellen gearbeitet wird und Äquivalenzklassen für die Testdatengewinnung herangezogen werden. Variabilität fehlt, da es ein Einzelsystemansatz ist..
P. Samuel, and A. Joseph. Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, ACIS International Conference on, (2008)ST: Vorgehensweise: Es wurden vier Arten von Abhängigkeiten identifiziert die zwischen Nachrichten in einem Sequenzdiagramm bestehen können. Aus einem UML 2.0 Sequenzdiagramm wird ein Graph generiert, der diese Abhängigkeiten darstellt. Daraus werden dann Test-Sequenzen abgeleitet.
Eignung: Es werden zwar Testfälle generiert, aber es wird nicht festgelegt woher die Testdaten kommen..
N. Raza, A. Nadeem, and M. Iqbal. Quality Software, 2007. QSIC '07. Seventh International Conference on, (October 2007)ST: Vorgehensweise: Aus diesen Diagrammen sollen Testpfade für den Systemtest generiert werden. Die Diagramme sind mit Pre- und Postconditions durch OCL versehen. Aus diesen Diagrammen wird ein Zustandsautomat generiert. Nun können Abdeckungskriterien wie Zustandsüberdeckung oder Transitionsüberdeckung angewendet werden um Testpfade abzuleiten.
Eignung: Es können Testpfade für den Systemtest abgeleitet werden aber wie die Testdaten systematisch abgeleitet werden bleibt offen..
R. Schmidberger, and S. Biermann. Informatik 2007 - Band 2, GI-Edition, (September 2007)MR: Zeigt beispielhaft die Anwendung von OCL für den Systemtest. Auch der Realisierungsweg wird gezeigt.
ISBN 978-3-88579-204-8.
M. Friske, and H. Schlingloff. Tagungsband Dagstuhl-Workshop MBEES: Model Based Engineering of Embedded Systems III, 2005-01, TU Braunschweig, (January 2007)
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..
U. Farooq, C. Lam, and H. Li. ACST'07: Proceedings of the third conference on IASTED International Conference, page 128--133. Anaheim, CA, USA, ACTA Press, (2007)
A. Braganca, and R. Machado. SPLC '07: Proceedings of the 11th International Software Product Line Conference, page 3--12. Washington, DC, USA, IEEE Computer Society, (2007)
D. Sokenou. TU Berlin, Fakultät für Elektrotechnik und Informatik, (March 2006)MR: Interessant für IST-SPL sind vor allem folgende Kapitel:
5-Testbarkeit von UML-Modellen: alle Diagrammtypen werden auf ihre Eignung für den Test untersucht
10-UML-basierte Testorakel: mit Hilfe von Zustandsdiagrammen und OCL-Constraints
Leider fehlt der Blick auf den Systemtest.
Besonderheit: die eingesetzte aspektorientierte Technik erlaubt die OCL-Constraints in Aspekte umzuwandeln und zur Ladezeit so in den Testcode einweben, dass die getestete Systemimplementierung nicht neu versioniert werden muss.
P. Murthy, P. Anitha, M. Mahesh, and R. Subramanyan. SCESM '06: Proceedings of the 2006 international workshop on Scenarios and state machines: models, algorithms, and tools, page 75--82. New York, NY, USA, ACM, (2006)