Frage

Diese Frage ist nicht über unit-Tests.Und es ist für ein desktop-Produkt.

Dies ist zum testen von gui-Tests, dass das Zeug Eingabe in das richtige Feld in der richtigen Zeit.

Eine Firma, die ich verwendet, um arbeiten bei gebrauchten WinRunner (andere Abteilung, so dass ich weiß nicht viel mehr, dass, dass), aber das wurde jetzt Herunterfahren von HP, aber Sie scheinen nicht gestört, ob man bei HP oder gehen woanders hin.Können Sie nicht Lesen Sie mehr über das Produkt erst, nachdem Sie sich angemeldet haben, das ist ärgerlich.

Das tool hat die Arbeit mit den MFC (nicht verhandelbar) und das ideale Werkzeug wird auch...

  • automatisiert werden.
  • werden skriptfähig.
  • die Arbeit mit verschiedenen Bildschirmauflösungen automatisch an.
  • in der Lage sein, zu " spy " zu den einzelnen statische Textfelder, etc.
  • intuitiv genug, so dass nicht-Programmierer können die Skripts erstellen.
  • reporting-tools, einschließlich E-Mail von einzelnen Benutzern.

Was tun andere SO-Benutzer haben für automatisierte GUI-Tests?

War es hilfreich?

Lösung

Wir verwenden den für Rational Robot (RRAFS) rel="noreferrer">. Darüber hinaus gibt es SAFS Implementierungen für WinRunner (WRAFS) und es sieht aus wie sie eine neue „Bild-Based Testing“ Implementierung, die ich nicht kenne.

Dieses Framework ist eine schöne Aufgabe die UI-Implementierung von der Testskripts von seperating. Ich habe vier Versionen einer Web-Anwendung, die von zwei verschiedenen Teams entwickelt getestet (ein Team mit klassischen ASP, ein ASP.NET verwendet wird) und ich hatte nur die Anwendung Karte meiner UI-Objekte zu ändern, selbst die Tests brauchten nicht zu Änderung.

sagte, dass die Sprache des Rahmens ist umständlich und dauert gewöhnungsbedürftig. Es ist nicht sehr robust, in Bezug auf die Sprachkonstrukte, aber mit etwas Aufwand können Sie tun, was Sie brauchen. Es ist ein bisschen wie "Programmierung" in Windows Batch Sprache, sondern für Tests;)

Um richten Sie Ihre individuellen Anforderungen oben:

1) Das Werkzeug hat mit MFC (nicht verhandelbar). arbeiten Die SAFS Framework verwendet eine 3rd-Party "Rekord-Wiedergabe" Werkzeug, um die Tests zu fahren, wie Rational Robot oder Mercury WinRunner. Wenn das Werkzeug mit MFC-Anwendungen interagieren kann, dann kann der Rahmen. Ich weiß nicht, wie die „Bild-Based Testing“ Durchführung der Tests fährt, aber ich würde vermuten, es auch mit MFC arbeiten können.

2) automatisiert werden. Die SAFS Framework integriert mit dem STAF Rahmen , die es Ihnen erlaubt, die Ausführung der Tests zu automatisieren. Ich habe einen Proof-of-Concept-Test, den STAF verwendet ein VM-Image aus einem Pool von Bildern zu starten, installieren Sie die Anwendung in der Prüfung, den RRAFS Test ausführen, und legen Sie die Ergebnisse auf einem Web-Server für andere zu erhalten.

3) skriptfähig sein. Ja, aber wie gesagt, es ist nicht die robusteste Programmiersprache. Ich schrieb ein Excel-Add-in, dass unsere Tester ihre Tests schreiben verwenden, die Dinge ein wenig vereinfacht.

4) Arbeit mit unterschiedlichen Bildschirmauflösungen automatisch. Ja, denn es ist „unter der Decke“ an den UI-Objekte suchen und nicht auf den Bildschirm. Mit Ausnahme vielleicht die „Bildbasiertes Testen“ Option ...

5) der Lage sein, 'Spion' auf einzelne statische Textfelder, etc. Ja, können Sie warten auf ein UI-Objekt angezeigt werden, disapper, um einen Wert zu haben, für die ein Wert verändert werden, etc.

6) intuitiv genug, um nicht-Programmierer können die Skripte erstellen. Mit etwas Training. Wir haben nur begrenzten Erfolg gehabt. Einige QA Leute können die Tests schreiben, etwas Kampf.

7) hat Reporting-Tools, einschließlich E-Mail einzelnen Benutzers. Ja, die STAF-Framework können Sie die Ergebnisse auf einem Web-Server veröffentlichen, E-Mails versenden, etc.

Andere Tipps

Es gibt viele gute Antworten hier, aber ich wollte dieses Ziel Aussage adressieren, und zwar:

  • intuitiv genug, um nicht-Programmierer erstellen können, die Skripte

Ich kann verstehen, warum diese wollen würde, aber es ist viel schwieriger, als Sie vielleicht denken. Während Sie dort eine beliebige Anzahl von Werkzeugen finden thatll Anspruch , um das Schreiben Skripte einfach, in der Praxis, Sie gehen zumindest einige Leute auf Ihre Automatisierungsteam müssen die Programmierung verstehen. Schreiben von Skripts, die einigermaßen robust sind wird eine oder mehrere der Looping einzubeziehen, if / then / else und Subroutinenaufrufe. Nicht die Art von Sache, die Nicht-Programmierer intuitiv finden werden.

Seien Sie besonders vorsichtig bei der Idee, dass Sie „record“ eine Person mit einem Werkzeug, es dann für die Prüfung wiedergeben. Diese Art von „Automation“ ist oft so spröde, dass Sie am Ende dann zu ändern oder neu aufzunehmen das Skript für nahezu jede Änderung in der Software.

mit Quicktest Professional für Ihre GUI-Tests

Von einem starken Mercury / HP Hintergrund, würde ich sehr empfehlen. Es hat eine Menge von der gleichen Funktionalität wie WinRunner, aber ohne viel Code. Einfache GUI Prüfungen können durch die QTP-Schnittstelle mit minimal, wenn überhaupt, benutzerdefinierten VB-Code erfolgen. Prüft, ob Text neben Boxen können einfach durchgeführt werden mit vergleicht das Datenblatt in QTP verwendet wird.

Wenn Sie WinRunner verwendet werden, und wissen, VBScript (nicht so viel TSL), dann würde ich definantly bei QTP suchen.

Was Ihre andere Anforderungen, QTP hat auch die Spy-Funktion, wie WinRunner, die alle Eigenschaften und Aktionen Liste finden Sie auf Objekte durchführen können. Und wie für einfache Bedienung, in meinem alten Job, würden sie Unternehmen oder Systemtester erstellen einfachen Rauch Skripte haben, dann würde ich nimmt sie und kodieren sie für weitergehende Tests (mehrere Datenwerte, Fehlerprüfung, etc.). Und wie für die Berichterstattung, tun QTP einfache Meldung von Pass / Fail / Warnung auf Tags, die Sie setzen, zusammen mit kundenspezifischen Daten eingegeben werden können. So könnten Sie eine Case-Anweisung verwenden, um Ihre Ausgangswerte basierend auf den Ergebnissen zu füllen. Es wird nicht naitevly E-Mail tun, aber wenn Sie mit TestDirector- / Qualitycenter integrieren, können Sie Setup dort durch, zusammen mit den Kick-off Ihrer Skripte automatisieren und Parametrierdatensatz direkt von dort (das ist schön, zurück zu schicken Bestücken-Daten haben Tester ohne im Skript itseld beteiligt).

Pat

Desktop oder Web-Anwendungen gleichermaßen haben das gleiche Testmuster hier (ich habe in beide arbeiteten).

Ort so wenig Logik wie möglich in der Benutzeroberfläche und testet alles darunter. Also sagen Sie, aber was ist, wenn ich testen wollen, dass so und so geschieht, wenn eine Schaltfläche geklickt wird? Die Methode, die aufgerufen wird, wenn die Schaltfläche geklickt wird, sollte auf eine andere Klasse rufen, die das Denken tatsächlich der Fall ist.

Man könnte sagen, aber ich bin mit einem paar statischen Klassen / Methoden, die nur in meinem UI existieren können, die mit einem Adapter wickeln und diese Schnittstelle nutzen, um zu Ihrem Code testbar zu machen.

Die Teile des GUI-Tests, die Sie automatisieren möchten, sollten unter der Benutzeroberfläche automatisiert werden. Es gibt Teile des GUI, die Sie nicht automatisieren. Prüfen um sicherzustellen, dass die Dinge „richtig aussehen“, oder testen, dass Sie bestimmte Elemente sehen können, usw. All das ist, was Ihr Menschen tun sollten. Sicherstellen, dass die Ereignisse richtig Brennen sind, und dass die Werte in geeigneter Weise aus Ihren Business-Objekten zurückgegeben werden, das ist alle Unit-Tests.

kann ich aus Ihrer Frage, dass Sie bereits so ziemlich entscheiden Sie einen automatisierten GUI-Tester müssen, aber das ist nicht das richtige Werkzeug für diesen Job. Wenn Sie sich entscheiden zu verwenden, dass Sie versuchen, die beste Art und Weise zu tun, die falsche Sache zu finden.

Wenn Sie denken, dass dies nicht über Unit-Tests ist, weil Sie GUI-Interaktionen sind testen, dann kann ich garantieren, du bist nicht Unit-Tests nahe genug, um die Benutzeroberfläche. Wenn Sie sind, werden Sie sich fühlen, wie die meisten von dem, was Sie würden Tests waren überflüssig.

Wenn Sie mit mir nicht einverstanden sind, bitte einige Gründe posten und wir werden diese hash.

Es gibt eine Menge mehr (open source) alternativen, wenn Sie sind testen eines web-Produkt.Für ein desktop-Produkt, einige beliebte Allzweck-desktop-GUI-automation-tools unten (in keiner bestimmten Reihenfolge).Ich habe mit all diesen persönlich, und Sie alle erhalten die job getan.Wenn Sie wählen zu gehen mit einem Hersteller-tool, erhalten POCs für diejenigen, die Sie in Betracht ziehen, und die Entscheidung treffen, basierend auf dem was-tool ist die beste Lösung für die Gesellschaft im Allgemeinen.Ein Werkzeug kann eine bessere Passform für eine bestimmte Anwendung, es können aber auch andere Projekte/Anwendungen zu berücksichtigen.

  • QuickTest Pro (HP Nachfolger von WinRunner)
  • Rational Functional Tester (IBM-Nachfolger Roboter)
  • TestPartner
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top