Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR MANIPULATING SOFTWARE-TESTS
Document Type and Number:
WIPO Patent Application WO/2006/051013
Kind Code:
A3
Abstract:
The invention essentially relates to the specification and implementation of tests on a higher abstraction plane using a declarative description with the aid of aspects (cross-cutting concerns). According to the invention, specific tests are provided with aspects" that result automatically in new, extended, more powerful tests. This leads advantageously to the simplification of the specification of tests, a re-usability and extensibility of tests and to a simpler coupling and combination of tests. For example, functional tests can be provided with the aspect time , which automatically results in performance tests.

Inventors:
ZIMMERER PETER (DE)
Application Number:
PCT/EP2005/054545
Publication Date:
April 26, 2007
Filing Date:
September 13, 2005
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
ZIMMERER PETER (DE)
International Classes:
G06F11/36
Other References:
WES ISEBERG: ""Get Test-Inoculated"", "THE WORLD OF SOFTWARE DEVELOPMENT", 15 April 2002 (2002-04-15), pages 1 - 7, XP002417913, Retrieved from the Internet [retrieved on 20070201]
KICZALES G ET AL: "Aspect-Oriented Programming", ECOOP. EUROPEAN CONFERENCE ON OBJECT-ORIENTED PROGRAMMING, XX, XX, June 1997 (1997-06-01), pages 1 - 24, XP002202018
WENNER R: "Abstract test aspect: testing with AOP", EXTREME PROGRAMMING AND AGILE PROCESSES IN SOFTWARE ENGINEERING. 5TH INTERNATIONAL CONFERENCE, XP 2004. PROCEEDINGS (LECTURE NOTES IN COMPUT. SCI. VOL.3092) SPRINGER-VERLAG BERLIN, GERMANY, 14 May 2004 (2004-05-14), pages 237 - 241, XP002417914, ISBN: 3-540-22137-9
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (München, DE)
Download PDF:
Claims:

Patentansprüche

1. Verfahren zur Handhabung von Software-Tests, bei dem mindestens eine jeweilige Spezifikation und Implementierung eines neuen Software-Tests dadurch erfolgt, dass ein testübergreifende Belange repräsentierender jeweiliger Aspekt mit einem AOP Aspect Weaver in die zu testende Software eingewoben wird, diese entsprechend instrumentiert und daraus ein Grundtest entsteht oder dass zu einem bisherigen Grundtest mindestens ein testübergreifende Belange repräsentierender weiterer Aspekt derart hinzugefügt wird, dass der weitere Aspekt mit einem AOP Aspect Weaver in den bisherigen Grundtest eingewoben wird und diesen entsprechend zusätzlich instrumentiert.

2. Verfahren nach Anspruch 1, bei dem Performance Tests dadurch gebildet werden, dass zu bisherigen funktionalen Tests ein Aspekt hinzugefügt wird, der Timing Informationen repräsentiert.

3. Verfahren nach Anspruch 1, bei dem ein Langzeittest bzw. ein entsprechender Last- und Stresstest dadurch gebildet wird, dass zu bisherigen funktionalen Tests ein Aspekt hinzugefügt wird, der Langzeittestbelange repräsentiert.

4. Verfahren nach Anspruch 1, bei dem ein Sicherheitstest dadurch gebildet wird, dass zu bisherigen funktionalen Tests ein Aspekt hinzugefügt wird, der Sicherheitsbelange repräsentiert.

5. Verfahren nach Anspruch 1, bei dem ein negativer Test oder ein Randwerte-Test dadurch gebildet wird, dass zu einem entsprechenden positiven Test ein Aspekt hinzugefügt wird, der Ausnahme- und Fehlerbelange repräsentiert.

Description:

Beschreibung

Verfahren zur Handhabung von Software-Tests

Die Erfindung betrifft ein Verfahren zur Handhabung, also bspw. zur Beschreibung, Spezifikation und Implementierung von Software-Tests, wie bspw. funktionale Tests, Performance Tests, Last-und Stresstests, Langzeittests, Tests mit gleichzeitiger Analyse des Ressourcenverbrauchs, wie bspw. Laufzeit und Speicherbedarf, Sicherheits-Tests usw.

Die Ausdrucksmöglichkeiten für die Beschreibung, Spezifikation und Implementierung von Tests sind bislang relativ beschränkt. Bisher werden diese verschiedenen Testarten typischer Weise einzeln mühsam feingranular spezifiziert und in Testskripten detailliert von Hand in eine entsprechendes Programm umgesetzt.

Aus der Internetseite mt^ej^t ist zwar eine AOTL (Aspect-Oriented Test Description Language) bekannt als eine Erweiterung eines Testautomatisierungsframeworks (JUnit, siehe http://www.junit.org) basierend auf JML (Java Modeling

Language, http://www.cs.iastate.edu/~leavens/JML/) . Es wird jedoch ausschließlich in konventioneller Weise zur Generierung von Unit Test Code und zur Generierung eines recht beschränkten Testorakels (der Sollwerte) verwendet.

Die der Erfindung zu Grunde liegende Aufgabe besteht nun darin, ein verbessertes bzw. umfassenderes Verfahren zur Handhabung von Software-Tests anzugeben, das sich nicht nur auf die Generierung von Unit Test Code und einfachen Testorakeln bzw. Sollwerten, also auf eine spezielle Testphase und eine spezielle Testaktivität beschränkt.

Diese Aufgabe wird durch die Merkmale des Patentanspruchs 1 erfmdungsgemaß gelöst . Die weiteren Ansprüche betreffen bevorzugte Ausgestaltungen des erfmdungsgemäßen Verfahrens .

Die Erfindung besteht im Wesentlichen darin, dass allgemein eine Spezifikation und Implementierung von Tests auf einem höheren Abstraktionsniveau mittels deklarativer Beschreibung durch Nutzung von so genannten „Aspekten" (cross-cuttmg concerns) erfolgt, wobei bestimmte Tests mit solchen „Aspekten" versehen werden, die dann automatisch m neuen erweiterten und mächtigeren Tests resultieren. Dies führt in vorteilhafter Weise zu einer Vereinfachung der Spezifikation von Tests, zu einer Wiederverwendbarkeit und Erweiterbarkeit von Tests sowie zu einer einfachen Kopplung und Kombination von Tests. Beispielsweise können so funktionale Tests mit dem Aspekt „Zeit" versehen werden und resultieren dann automatisch m Performance Tests.

Bei erfindungsgemäßen Verfahren erfolgt eine Spezifikation und Implementierung von Tests auf einem höheren

Abstraktionsniveau mittels deklarativer Beschreibung durch Nutzung von Aspekten ähnlich denen wie sie vom so genannten „AOP bzw. aspect oπentated programmmg" aus der Software- Programmierung bekannt sind, das zur vorteilhaften konzentrierten Realisierung von bestimmten

Querschnittsbelangen (cross-cuttmg concerns) dient.

Die Aspekte werden, wie auch beim „AOP" über einen so genannten „Aspect Weaver" in bereits bestehende Grundtests eingefügt, d.h. es findet eine Instrumentierung dieser

Grundtests statt. Die resultierenden neuen Tests werden dann mittels Compiler oder Interpreter zum Ablauf gebracht, z.B. in einer Testausführungsumgebung.

Funktionale Tests werden so erfindungsgemäß bspw. durch

Hinzufügen des Aspekts „Timing Info" zu Performance Tests, durch Hinzufugen bspw. eines Aspekts „100.000h" zu einem

Langzeittest bzw. zu einem entsprechenden Last- und Stresstest oder durch Hinzufügen von Sicherheits-Aspekts zu Safetytests oder Secuπtytests.

Schließlich können erfindungsgemaß sogar aus positiven Tests bspw. durch Hinzufügen eines Aspekts "Exception/Error Paths" negative Tests oder Randwerte-Tests auf einfache Weise gebildet werden.

Vorteile

• Eine Vereinfachung sowohl der Spezifikation als auch der Implementierung von Tests durch Einsatz eines höheren Abstraktionsniveaus mittels deklarativer Beschreibung unter Nutzung von Aspekten, da nicht mehr ^edes Detail einzeln spezifiziert und von Hand programmiert werden muss.

• Eine Wiederverwendung und Erweiterung von Tests ist einfach möglich.

• Eine Kopplung und Kombination von Tests ist hiermit einfach möglich, was zu einer höheren Mächtigkeit der resultierenden Tests führt.

• Eine Spezifikation und Implementierung komplexerer Tests ist möglich.