Frage

Ich arbeite an der Ausgabe meiner GUI Testen und ich bin nicht ganz sicher, ob hier der beste Ansatz. Meine GUI wird gebaut einen traditionellen MVC-Framework verwenden, damit ich leicht in der Lage bin, die logischen Teile der GUI zu testen, ohne die GUI selbst zu erziehen. Allerdings, wenn es um die Prüfung der Funktionalität der GUI kommt, ich bin nicht wirklich sicher, ob ich sollte über einzeln testen GUI-Komponenten sorgen oder ob ich in erster Linie nur konzentrieren sich auf funktionale, das System zu testen. Es ist ein ziemlich komplexes System, in dem Testen der GUI häufig eine Nachricht an den Server beinhaltet das Senden und dann auf der GUI die Reaktion zu beobachten. Meine erste Gedanken sind, dass die Funktionsprüfung ist der Weg hier zu gehen, da ich ein ganzes System benötigen läuft wirklich die Benutzeroberfläche zu testen. Kommentare zu diesem Thema würden geschätzt.

Danke, Jeff

War es hilfreich?

Lösung

Sie haben (mindestens) 2 Ausgaben -. Die Komplexität der Umgebung (Server) und die Komplexität der GUI

Es gibt viele Tools für GUI-Tests zu automatisieren. Alle von ihnen sind mehr oder weniger zerbrechlich und erfordern ziemlich konstante Wartung in dem Gesicht des Layout zu ändern. Es gibt Nutzen von ihnen gewonnen werden, aber es ist ein langfristiger Nutzen.

Die Umgebung, auf der anderen Seite, ist ein Gebiet, das gezähmt werden kann. Wenn Ihre Anwendung architected ist die Dependency Injection / Inversionstechnik (wo Sie die Server-Komponente in die Anwendung ‚injizieren‘), dann können Sie eine ‚mock‘ verwenden der entsprechenden Server-Schnittstellen Sie Skript Testfälle zu ermöglichen.

diese beiden Techniken Kombination ermöglicht es Ihnen, GUI-Tests zu automatisieren.

Ein letzter Gedanke - viel Glück

!

Andere Tipps

Andere GUI-Test-Tools kann ich anbieten, sind: Thought Weiß , PyWinAuto , AutoIt , AutoHotKey .

Eine Sache im Auge zu behalten, wenn sie versuchen, GUIs zu automatisieren ist, dass der einzige Weg, die Sie tun können, ist die GUI mit Automatisierung im Auge zu bauen. Crush Devs, die ihre GUIs denken nicht, Testbarkeit früh im Projekt unterstützen sollte und glücklich aussetzen alle Haken, die in der Automatisierung auf Anfrage helfen können, wie Ihre Prüfaufgaben, dass erfordern.

Je nachdem, wo im Spektrum von MVC (das war ein übertriebener Ausdruck) Sie sitzen, den Blick Testest ein mechanisches Verfahren zu gewährleisten, könnte sein, dass die richtige Modell Methoden in Reaktion auf die richtigen Eingaben für die Ansicht aufgerufen werden einige Client zu testen Seite Validierung wer weiß.

Viele der Muster, die aus MVC entwickelt haben (ich denke passive Ansicht Controller Überwachung) sind bestrebt, die Ansicht zu machen benötigen sehr wenig Tests, weil es wirklich einfach ist Verdrahtung Benutzereingaben an den Präsentator oder Modell (abhängig von der genauen Variante des Musters Sie verwenden).

„Testen der GUI beinhaltet häufig eine Nachricht an den Server sendet und dann die Beobachtung der Reaktion auf der GUI“ Diese Aussage macht mir Sorgen.

Ich denke sofort, dass die GUI testen getestet werden soll ein Modell oder Stummel des Servers mit, dass die richtigen Wechselwirkungen auftreten und die GUI entsprechend reagiert.

Wenn Sie automatisierte Funktionstests des Servers benötigen, sehe ich nicht die Notwendigkeit, die GUI in Beteiligten haben.

Mercury Quicktest Pro, Borland SilkTest und Ranorex Recorder sind einige GUI-Test-Tools.

Wenn Ihre Anwendung ist webbasiert können Sie Tests schreiben mit Tools wie WatiN oder Selen .

Wenn Ihre Anwendung Windows .NET basiert, könnten Sie versuchen Weiß .

Mein Rat: vergisst die traditionellen GUI-Tests. Es ist zu teuer. Codieren der Tests nimmt viel Zeit, sind die Werkzeuge nicht wirklich stabil, so dass Sie unzuverlässige Testergebnisse erhalten. Die Kopplung zwischen dem Code und dem Test ist sehr stark, und Sie werden viel Zeit mit der Wartung verbringen.

Der neue Trend ist die GUI-Tests zu ignorieren. Sehen Sie das Model View Presenter Muster von Fowler als Leitfaden Link-Text

Die deutlichste Art, wie ich sagen kann, ist:

Ihre Zeit schriftlich automatisierte GUI-Tests nicht .

Vor allem, wenn Ihr mit einer MVC-app arbeiten - in Ihrem Fall, wenn Sie eine Nachricht an den Server senden, können Sie die richtige Botschaft Nummer kommt zurück und stellen Sie sicher durchgeführt werden. Sie können einige weitere Fälle hinzufügen -. Oder ein anderer Test ganz sicher zu stellen, dass die GUI die Nachricht IDs in die richtigen Saiten konvertiert, aber Sie müssen nur einmal diesen Test ausführen

Wir tun GUI-Tests in unserem Projekt übernehmen, und es hat seine Nebenwirkungen. Die Entwickler jedoch ein kritisches Prinzip Design haben: Halten Sie die GUI-Schicht so dünn wie möglich

Das bedeutet keine Logik in den GUI-Klassen. Trennen Sie diese in Präsentationsmodelle für Eingabevalidierung etc.

Für die Prüfung auf einem Unix-Rechner verwenden wir den Xvfb Server als DISPLAY, wenn die Tests ausgeführt werden.

Versuchen Sie, die Flur Usability-Test rel="nofollow. Es ist billig und nützlich: geht auf den nächsten Gang, die erste Person greifen, der vergeht, machen sie sich an Ihrem Computer sitzen und Ihre Software. Schauen Sie über die Schulter, werden Sie sehen, was sie zu tun versuchen, was sie frustriert, und so weiter. Tun Sie dies ein paar Mal und die Muster bemerken.

Was Sie suchen ist „Akzeptanztests.“ Wie Sie tun, hängt es von dem Frameworks Sie verwenden, welche Art von Anwendung, die Sie erstellen und in welcher Sprache. Wenn Sie Ihre spezielle Technologie und die obige Phrase google, sollten Sie einige Tools finden Sie verwenden können.

ich gefunden habe WinTask ein sehr guter Weg, um GUI-Tests zu tun. Vorausgesetzt, Sie sind die Art und Weise nicht ständig ändern, das OS zu jedem Element der Benutzeroberfläche bezieht, richtet sich WinTask die UI-Elemente mit Namen, so dass selbst wenn die Layout-Änderungen können die UI-Elemente noch gedrückt / gezwickt / ausgewählt werden.

Setzen Sie die 'U' nicht verpassen in 'GUI'
Ich meine: wenn das, was Sie versuchen, zu testen, ist alles in Ordnung funktioniert und funktioniert, wie es geplant war, zu arbeiten, dann können Sie folgen

Für einfache Web-basierte GUI-Tests versuchen iMacros (einfache Firefox-Plug-in, hat eine coole Funktion den gesamten Test auf eine andere Person zu senden)  Beachten Sie, dass SIMPLE wurde mit Initialen geschrieben ...

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