2009-02-18 9 views
8

Ich interessiere mich dafür, wie andere ihre Testskripte organisieren oder gute Testskripte gesehen haben, wo immer sie gearbeitet haben. Welche Detailstufe ist in diesen Testskripten enthalten? Dies bezieht sich insbesondere auf Testskripte, die für manuelle Tests erstellt wurden, im Gegensatz zu solchen, die für automatisierte Testzwecke erstellt wurden.Wie organisieren/layout Sie Ihre Testskripts?

Das Problem, wie ich es sehe, ist, dass es eine Menge Komplexität in Testskripten gibt, aber ohne den Vorteil der Prinzipien, die beim Organisieren einer komplexen oder großen Codebasis verwendet werden. Sie müssen in der Lage sein zu spezifizieren, was ein Code tun soll, ohne jemanden zu Tode zu langweilen, während er es liest.

Auch, wie Sie Layout-Testskripte, ich bin nicht scharf darauf, vollständig spezifizierte Skripte zu erstellen, die von Dateneingabetypen ausgeführt werden, da das nicht das Team ist, das wir haben und der Overhead der Wartung scheint zu hoch. Außerdem fühlt es sich für mich so an, dass die genaue Spezifizierung des Prozesses die Verantwortung von der Person, die tatsächlich die Qualität des Produkts testet, aufhebt. Geben die Leute jeden Knopfklick und Wert an, der eingegeben werden soll? Wenn nicht, welche Detailstufe wird angegeben?

Antwort

2

Tests, die von Menschen durchgeführt werden, sollten auf einem sehr hohen Abstraktionsniveau sein.

z. ein Testfall für Stackoverflow Anmeldung:

Gut:

Ein Site-Besucher mit einem bestehenden OpenId Konto Register als Stackoverflow Benutzer und Beiträge eine Antwort.

Bad:

1) Navigieren Sie zu http://stackoverflow.com 2) Klicken Sie auf den Login-Link 3) Etc ...

Dies ist aus mehreren Gründen wichtig:

a) Es hält die Tests wartbar. Sie müssen also Ihr Testskript nicht jedes Mal aktualisieren, wenn Navigationselemente umbenannt werden (z. B. "Anmelden" ändert sich in "Anmelden").

b) Sie ersparen Ihren Testern die langweiligen Details.

c) das Schreiben ausführlicher manueller Testskripts ist eine schlechte Verwendung Ihrer endlichen Testressourcen.
Detaillierte manuelle Testskripts werden Ihre Tester dazu bringen, Fehler für kleinere Dokumentationsprobleme zu schreiben. Sie möchten Ihre Zeit nutzen, um die echten Fehler zu finden, die sich auf die Kunden auswirken.

0

Ich versuche, manuelle Tests passen in eine automatisierte Struktur - Sie können beide haben.

Die Organisationsschemata, die von automatisierten Tests verwendet werden (z. B. die xUnit-Frameworks) funktionieren für ich. Tatsächlich können sie verwendet werden, um die Tests halbautomatisch zu machen, indem sie anhalten und fordern, dass ein manueller Test ausgeführt wird oder Eingabe eingegeben wird, oder eine zu inspizierende GUI. Das Schema spiegelt normalerweise die Verzeichnisstruktur des Produktionscodes wider oder enthält die Tests innerhalb des Produktionscodes, manchmal als innere Klassen. Tests oberhalb der Einheitenebene können oft in die Verzeichnisse höherer Ebenen eingepasst werden (vorausgesetzt, Sie haben eine ausreichend tiefe Verzeichnisstruktur). Diese Tests auf höherer Ebene können in (gespiegelte) Verzeichnisse gehen, die keinen Produktionscode haben, aber für organisatorische Zwecke da sind.

Der Detaillierungsgrad --- naja, das kommt drauf an, oder?

1

Tests können nach Priorität gruppiert werden. Die BVT-/Rauchversuche könnten die höchste Priorität haben, wobei Funktion, Integration, Regression, Lokalisierung, Stress und Leistung niedrigere Prioritäten haben. Abhängig von Ihrem Testdurchlauf würden Sie eine Priorität auswählen und alle Tests mit dieser oder höheren Prioritäten ausführen. Alles, was Sie tun müssen, ist zu bestimmen, welche Priorität ein bestimmter Test ist.

0

Matt Andresen hat im Allgemeinen eine gute Antwort gegeben, aber es gibt Situationen, in denen es nicht so geht. Zum Beispiel, wenn Sie an validierten Anwendungen arbeiten, müssen diese Vorschriften von anderen Parteien wie FDA einhalten, und es geht durch sehr intensives Audit, Überprüfung, Abmelden, als 2 Antwort Formular Ihr Beispiel erforderlich ist. Ich würde mich in diesem Fall jedoch für eine Automatisierung mit HP QuickTestPro oder IBM RationaRobot entscheiden.

Vielleicht sollten Sie mit einigen Tests Repository versuchen? Es gibt wieder Tools von HP QualityCenter und IBM Produkten, aber das kann teuer werden. Sie könnten etwas günstiger finden, das Sie in Baumstrukturen nach Bedarf/Merkmal organisieren, ihnen Prioritäten zuweisen, sie in Testanzüge für Freisetzungen gruppieren, sie in Regressionstestanzüge gruppieren usw. ...