2008-10-17 20 views
6

Als Testingenieur führe ich oft explorative Tests durch. Wenn ich auf einen Fehler stoße, ist nicht immer sofort klar, welche Schritte zu dem Problem geführt haben. Also muss ich natürlich die erforderlichen Schritte finden, um das Problem zu reproduzieren. Je nach Situation kann dies sehr lange dauern.Gibt es Tools, die Benutzeraktionen protokollieren, um Fehler zu reproduzieren?

Was wirklich hilfreich ist, ist ein Logging-Tool, das Maus- und Tastaturaktionen verfolgt und möglicherweise auch die Eigenschaften von Komponenten speichert, auf die geklickt wurde (die AUT ist in Java geschrieben).

Ich könnte einfach kein geeignetes Werkzeug finden, aber vielleicht ist mein Suchansatz falsch.

Kann mir jemand in die richtige Richtung zeigen?

Antwort

1

Sie möchten BB Test Assistant überprüfen. Ich sah eine sehr frühe Version davon und war beeindruckt. Ich habe auch gute Dinge von Leuten gehört, die es seitdem benutzt haben.

3

This question listet Werkzeuge, die verwendet werden können, testen Web-Anwendungen. Einige der Antworten können nützlich sein.

Ein Beispiel ist Selenium - ein Mozilla-Plugin, das Ihre Aktionen aufzeichnet und später abgespielt werden kann.

+0

Die zu testende Anwendung ist keine Webanwendung, sondern eine eigenständige Java-App. –

2

Log4J ist ein Apache Logging Tool für Java mit vielen Optionen für die Ausgabe von Logs. Das Schöne daran ist, dass Sie so viele Protokollmeldungen in den Code einfügen können, wie Sie es für richtig halten. So haben Sie zum Beispiel Debug-Nachrichten und Info-Nachrichten. Wenn Sie einige Debug-Nachrichten und einige Info-Nachrichten in Ihren Code einfügen, dann legen Sie die Protokollierungsstufe auf debuggen fest. Dann werden alle Debug- und Informationsnachrichten protokolliert.

Wenn Sie den Protokolliergrad auf Info setzen, werden nur Informationsnachrichten protokolliert. Sie haben auch andere Ebenen.

EDIT: Ich las die Frage erneut und erkannte, dass ich nicht richtig antwortete ... sorry. Sie können jedoch Protokollierungsanweisungen in die Aktionen im Java-Code einfügen und dasselbe ausführen, das Sie möchten. Es erfordert jedoch eine Neukompilierung.

+0

Danke für Ihre Antwort. Eigentlich verweisen Sie auf eine interessante Idee, vielleicht könnte ich die Entwickler dazu bringen, irgendeine Art von TEST-Logging-Level bereitzustellen, die alle Benutzeraktionen protokolliert? –

+0

Ich denke Gerüst in der Anwendung ist immer eine gute Sache, und Log4J wäre von unschätzbarem Wert. –

2

Wenn Ihre Tests NICHT sehr lange dauern, können Sie Ihre Aktionen (einschließlich des gesamten Bildschirms) in einem Video aufzeichnen. Sie können das Video erneut abspielen, um zu sehen, wie die Anwendung während Ihrer gesamten Exploration reagiert hat.

1) http://camstudio.org/
2) googeln nach "free screen video capture" für mehr.

BR,
~ A

+0

Danke für die Antwort, aber ich war auf der Suche nach einer konstanten Beobachtungssoftware, die einfach im Hintergrund läuft, nicht-intrusiv. –

1

Zusätzlich zum @anjanb-Vorschlag zur Bildschirmaufnahme können Sie Ihr Programm unter einem Debugger ausführen, der die Ausführung protokolliert und Ihnen ermöglicht, durch die Ablaufverfolgung zurückzutreten.

Omnicore CodeGuide hat eine ziemlich gute Implementierung des Konzepts (obwohl Sie Ihren Bytecode nachbearbeiten müssen). Es ist eine kommerzielle Software, aber es ist preiswert. Nicht sicher, ob es aber in aktiver Entwicklung ist.

Ein anderes (freies) Produkt ist das Omniscient Debugger, das ich ein paar Jahre zurück testete und fand, dass es GC unterlegen ist (benutzt zu viel Gedächtnis, unakzeptable Verlangsamungen). Dennoch sehe ich auf ihrer Webseite, dass sie einige Fortschritte gemacht haben, so dass Sie es vielleicht überprüfen möchten.

+0

Danke für Ihre Antwort, ich werde Ihre Vorschläge überprüfen. Dies geht jedoch eher in die Richtung des Debugging als des Testens. –

0

Es gibt auch Session Tester: http://sessiontester.openqa.org/

Session Tester ist ein Sondierungs Test-Tool für die Verwaltung und Aufnahme-Session-Based Testing. Der Session Tester verfügt über einen Timer, mit dem Sie Ihre Testsessions in der gewünschten Länge halten können, und bietet eine einfache Möglichkeit, Sitzungsnotizen aufzuzeichnen. Notizen werden in einem XML-Format gespeichert, das in HTML konvertiert oder in die von Ihnen gewünschte Form umgewandelt werden kann.

1

Check out ReplayDIRECTOR: http://replaysolutions.com/ Sehr nützlich für die explorative Tests, wie es zeichnet alle Interaktionen Ihrer Java-Anwendung mit seiner Umgebung (Benutzereingaben, Systemaufrufe, DB-Antworten), und ermöglicht eine spätere Wiedergabe der aufgenommenen Sitzung, wobei die Anwendung den gleichen Pfad durch den Code ausführt und ausführt. Die aufgezeichneten Eingänge werden der Anwendung genau wie während der Aufnahme zugeführt.

+0

Interessantes Werkzeug, danke für den Hinweis. –