Frage

Während wir versuchen, so viele Unit-Tests einzurichten, wie es die Zeit für unsere Anwendungen zulässt, stelle ich immer fest, dass es an Tests auf UI-Ebene mangelt.Es gibt viele Möglichkeiten, aber ich bin mir nicht sicher, was ein guter Ausgangspunkt wäre.

Welches ist Ihr bevorzugtes Unit-Test-Tool zum Testen von Swing-Anwendungen?Warum magst du es?

War es hilfreich?

Lösung

Auf unserer Seite nutzen wir, um Test SWING GUI mit FEST . Dies ist ein Adapter auf dem klassischen Swing-Roboter, aber es dramatisch seine Verwendung erleichtern.

mit TestNG Zusammen Wir fanden es eine einfache Möglichkeit, „menschliche“ Aktionen zu simulieren Trog die GUI.

Andere Tipps

Wenn Ihre Zielanwendung dies hat kundenspezifische Komponenten, ich würde es auf jeden Fall empfehlen Marathon um Ihre Tests zu automatisieren.

Mir wurde die Aufgabe übertragen, eine Anwendung mit mehreren zu automatisieren äußerst komplizierte kundenspezifische Komponenten, die von Grund auf im eigenen Haus geschrieben wurden.Ich durchlief einen zweimonatigen Überprüfungsprozess, in dem ich aus einer Liste von fast 30 verfügbaren Testtools, sowohl kommerziellen als auch FOSS-Testtools, die Entscheidung traf, welches Testtool ich verwenden sollte.

Es war der nur Testtool, das unsere speziellen kundenspezifischen Komponenten erfolgreich automatisieren konnte;wo IBMs Rational Functional Tester, Microfocus' TestPartner, QF-Test, Abbot & FEST fehlgeschlagen.

Seitdem konnte ich die Tests erfolgreich in Cruise Control integrieren, sodass sie nach Abschluss jedes Builds der Anwendung ausgeführt werden.

Ein Wort der Warnung:
1) Die Art und Weise, wie JTables verarbeitet wird, ist an den Rändern ziemlich grob.Ich habe dies umgangen, indem ich meine eigene Proxy-Klasse für sie geschrieben habe.
2) Unterstützt die Aufzeichnung/Wiedergabe von Drag-and-Drop-Aktionen noch nicht.

Betrachten Marathon ( http://www.marathontesting.com/Home.html) --tests ist in Jython geschrieben, so ist es einfach, jede Art von Prädikaten basierend auf Objektzustand zu schreiben.

hatte ich die Chance, mit QF-Test einmal zu spielen, um. Es ist kommerziell, sondern bietet eine Vielzahl von Funktionen. Vielleicht haben Sie einen Blick auf sie: http://www.qftest.de/en/index. html

Sie können versuchen, verwenden Gurke und Swinger für funktionelle Abnahmen in einfachem Englisch für Swing-GUI-Anwendungen zu schreiben. Swinger verwendet Netbeans' Jemmy Bibliothek unter der Haube die App zu fahren.

Gurke können Sie Tests wie folgt schreiben:

 Scenario: Dialog manipulation
    Given the frame "SwingSet" is visible
      And the frame "SwingSet" is the container
    When I click the menu "File/About"
    Then I should see the dialog "About Swing!"
    Given the dialog "About Swing!" is the container
    When I click the button "OK"
    Then I should not see the dialog "About Swing!"

Werfen Sie einen Blick auf diese Swinger Demo-Video zu sehen in Aktion.

Ich kann qftest sehr empfehlen. Ich verwendet habe es für mein kommerzielles Produkt und es funktioniert sehr gut mit fast Null-Code (meine Anwendung erfordert die Verwendung von Java-Client-APIs für einige Dinge). Es behandelt Identifizierung von Swing Komponenten gut und ist ziemlich tolerant von Updates für Ihre GUI - (Skalieren, Neupositionierung und Hinzufügen von Komponenten nicht existierende Tests brechen). Ich habe großes Updates zu Funktionalität getan und habe meine Tests immer noch funktionieren.

Seine teuer, aber ich denke, es wird sich in ein paar Monaten auszahlen.

Vor qftest ich versuchte:

1) AutomatedQA - gutes Werkzeug, aber die Fenster zentrieren und nicht versteht, Schaukel. Ähnlich wie bei Quick-Test Pro.

2) UISpec4J - Nach einer gut 50-Stunden-Woche dazu widmen, hatte ich Probleme mit der Zerbrechlichkeit und der arkanen Java-Code erzeugt es. Mit ihm war einfach zu anstrengend - versuchen, zu debuggen / aktualisieren Hunderte von Zeilen von Java eine Folge von einem Dutzend GUI-Operationen einfach nicht für mein Gehirn nicht funktionieren. Ich beenden das Schreiben von Tests zu vermeiden, weil es viel komplizierter als die App tatsächlich das Schreiben selbst!

Ich mag Jemmy, die Bibliothek geschrieben Netbeans zu testen.

keine Antwort, sondern eine Verfeinerung.

Datensatz-und-Wiedergabe ist die falsche Sache zu wollen. Teams brauchen die Fähigkeit, Tests zu schreiben, bevor der Code geschrieben wurde. Andernfalls beenden die Programmierer ihre Arbeit und um warten, während die Tester Tests Gerangel (durch Korrekturen unterbrochen, wenn sie Probleme erkennen) aufzuzeichnen.

In einer BDD / TDD / ATDD Art von Einrichtung, die Sie wirklich brauchen eine Art von Werkzeug, das Sie Skript-Tests für Code ermöglicht, die noch nicht geschrieben wurde, UI-Elementnamen spezifiziert und dergleichen.

Gibt es Tools, die für Nicht-Wasserfall Tests arbeiten?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top