2014-05-19 10 views
6

Wir untersuchen die codierte Benutzeroberfläche und da wir C# -Coding-Erfahrung haben, werden wir die automatisierten Tests selbst programmieren.Ist es möglich, handcodierte Funktionen als gemeinsame Schritte verfügbar zu machen?

Ich weiß bereits, dass es möglich ist, einen Testfall mit definierten Testschritten zu haben. Jeder Testschritt ist tatsächlich eine Funktion innerhalb der Testmethode und die Beschreibung stammt aus der Zusammenfassung.

Dies ist eine großartige Möglichkeit für die C# -Coder, um herauszufinden, was sie mit den nichtcodierenden Testern tun, die mit diesen automatisierten Tests mit MTM (Microsoft Test Manager) interagieren werden.

Es wäre jedoch toll, wenn die C# -Coder in der Lage wären, allgemeine Funktionen als "Shared Steps" zu erstellen, und auf diese Weise konnten nichttechnische Tester mit diesen Bausteinen neue Tests in MTM zusammenstellen.

Funktionen wie: Öffnen Sie den Einstellungsdialog, Fenster maximieren, ein Element hinzufügen (mit Parametern), Schließen Sie alle geöffneten Tabs usw.

Jedoch würden diese codierten Funktionen werden nicht von einer Aufnahme.

Die Idee wäre, dass, sobald diese Funktionen in TFS erstellt und gespeichert werden (wiederum als gemeinsame Schritte), der Tester dann in der Lage wäre, diese Funktionen als Bausteine ​​für mehr automatisierte Tests zu verwenden.

Ich muss auch betonen, dass diese Funktionen vollständig automatisiert werden, und so müssen neue Tests in MTM auch vollständig automatisiert werden, ohne Visual Studio zu öffnen.

Ist das überhaupt möglich?

+0

Wir haben versucht, einen Weg zu finden, dies auch bei meiner Arbeit zu tun. Nach dem, was ich entdeckt habe, sind die in MTM verfügbaren gemeinsamen Schritte nicht von einer C# -Projektklasse aus zugänglich und umgekehrt. –

Antwort

1

Dies ist nicht wirklich in der Art möglich, wie Sie es wünschen - Sie können Ihre nicht-technischen Tester nicht in die Lage versetzen, automatisierte Tests von Test Manager zu erstellen. Ein codierter UI-Test muss immer als Test in einer Codedatei vorhanden sein.

Alle Details für einen Test-Manager-Test sind über die TFS-API verfügbar, daher sollte es möglich sein, eine eigene Schicht zu erstellen, die auf einem gemeinsamen Step-Mapping-System codierten UI-Code generieren könnte ein ziemlich großes Unterfangen - es ist wahrscheinlich einfacher, automatisierte Tests zu haben, die von Technikern erstellt wurden.

2

Ein von einigen Leuten verwendeter Ansatz besteht darin, ein Testframework zu erstellen, das viele nützliche Funktionen enthält. Der Test selbst wird dann als datengetriebener Test für codierte UI geschrieben, wobei jeder Schritt ein Eintrag aus der Datenquelle ist. (In der Regel ist jeder Schritt eine Zeile in der CSV-Datei.) Einige Spalten der Datenquelle wären Befehle und andere Daten für diese Befehle.

Die Befehle könnten relativ niedrig sein wie: ein Fenster finden, zu einer Seite navigieren, eine Anwendung ausführen, ein Steuerelement in einem Fenster finden, Text in ein Feld eingeben, auf eine Schaltfläche oder einen Link klicken, sicherstellen, dass a Feld enthält eine gegebene Zeichenfolge.

Befehle könnten für Aktivitäten auf höherer Ebene in Ihren Anwendungen sein, wie zum Beispiel: login, füllen Sie ein Formular aus.

Frameworks können Nicht-Coder Tests mit der ihnen vertrauten Terminologie schreiben lassen. Frameworks sind schwierig zu schreiben.