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.
?. Lecture Notes in Computer Science Springer, 1 edition, (2002)MR: eher für den fortgeschrittenen Einsatz von OCL oder sogar für die Forschung rund um OCL.
F. Basanieri, A. Bertolino, and E. Marchetti. «UML» 2002 — The Unified Modeling Language, page 275--303. (2002)MR: Cow_Suite ist ein Ansatz einer Technik und Toolprototyp für den Systemtest und Integrationstest und besteht aus zwei Teilen:
- UIT (Use Interaction Test) als Testableitungsmethode
- Cowtest (Cost Weighted Test Strategy) für Testpriorisierung und -selektion.
Mit Cowtest wird entschieden welche Testfälle ausgeführt werden sollen, durch setzen von Gewichten in die von der Spez. abgeleitete Graphstrukturen (Testauswahlkriterium) und unterstützt auch die Planung des Testprozesses.
UIT nutzt diese Information bei der Testfallableitung basierend auf der Category-Partition-Methode, also teils manuell (Interaction mit dem User).
Das Besondere ist, dass die forliegende Anforderungs- und Designspezifikation in Form von UML-Use-Case-Diagrammen und -Sequenzdiagrammen ohne weiteren Ausbau (also so wie sie ist) als Input für die Technik dienen kann.
Ein für IST-SPL wichtiger Ansatz: es wäre möglich ähnliche Strategie (CP) bereits für die Aktivitätsdiagramme anzuwenden, wobei deren Produktlinieneigenschaften berücksichtigt werden müssten..
A. Bertolino, E. Marchetti, and H. Muccini. Electronic Notes in Theoretical Computer Science, (January 2005)MR: enthält Overview on Model-based Testing.
Dieser Ansatz erweitert den Cow_Suite-Ansatz indem neben der Sequenzdiagrammen und der UIT-Technik auch noch Zustandsdiagramme als Input für die Ableitung der Testfälle berücksichtigt werden. Es erfolgt mehrfache automatische Synthese der Sequenzdiagramme aus den Zustandsdiagrammen und umgekehrt. Die resultierenden 'augepeppten' Sequenzdiagramme dienen als Input für die UIT-Technik.
Für IST-SPL interessant, wenn Zustandsdiagramme involviert werden sollten..
A. Bertolino, E. Marchetti, and A. Polini. Electronic Notes in Theoretical Computer Science, 82 (6):
44--54(September 2003)MR: vermutlich keine großen Neuerungen im Vergleich zu dem Haupt-Cow_Suite_Paper (Basanieri2002).
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)
A. Carniello, M. Jino, and M. Chaim. Journal of Computer Science & Technology, (2005)ST: Vorgehensweise:
Die Technik arbeitet mit einem Test-kriterium, welches auf Basis der Struktur von Use-Cases entwickelt wird. Die Struktur bildet sich durch Assoziationen, Include- und Extend Beziehungen. Testkriterien sind die Auführung von Use Cases mit allen include und extend Beziehungen, oder die Kombination von extend Beziehungen. Die Rechtfertigung nach dieser Technik vorzugehen liegt darin, das bei dieser Technik mehr Fehler gefunden werden können als bei einem reinen funktionalen Test.
Eignung:
Nach dem Lesen stellte sich heraus, dass keine Flussdiagramme für den Kontrollfluss der Use-Cases verwendet werden sondern nur die Struktur der Use Cases. Daher ist der Ansatz eher ungeeignet..
P. Carpenter. Ada Lett., XIX (3):
23--29(1999)ST: Vorgehensweise: Das Paper ordnet den Vorgang, wie man sicherheitskritische Anforderungen verifizieren kann, in einen Software Life-Cycle ein. Use-Cases werden mit Parametern für Daten versehen. Die Eingabedaten werden mit Hilfe eines Tools generiert per üblicher Ä-Klassenanalyse.
Eignung: Es ist nichts über die Testgüte zu finden (Abdeckungskriterium etc.). Außerdem wird kein Testmodell o.ä. erwähnt, welches alternative Ausführungspfade des Use Cases repräsentiert..
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..
G. Engels, J. Küster, R. Heckel, and M. Lohmann. Electr. Notes Theor. Comput. Sci., (2003)MR: UML-Modell (On the high level, our system model is composed of use case diagrams and sequence diagrams describing the interaction of the system with users of the system. On the low level, it is composed of class diagrams, statecharts and activity diagrams.) wird durch Grapftransformationen in eine formale Sprache (CSP) überführt und mit einem Model-Checker validiert und in ein Testmodell überführt..
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)