Wir integrieren einen Testprozess in unseren SCRUM-Prozess. Meine neue Aufgabe ist es, Akzeptanztests für unsere Webanwendungen zu schreiben, um sie später zu automatisieren. Ich habe viel darüber gelesen, wie Testfälle geschrieben werden sollten, aber keiner hat mir praktische Ratschläge zum Schreiben von Testfällen für komplexe Webanwendungen gegeben, und stattdessen wurden widersprüchliche Grundsätze aufgestellt, die ich nur schwer anwenden konnte:
Testfälle sollten kurz sein: Nehmen Sie das Beispiel eines CMS. Kurze Testfälle sind einfach zu warten und die Ein- und Ausgänge zu identifizieren. Aber was ist, wenn ich eine lange Reihe von Vorgängen testen möchte (z. B. Hinzufügen eines Dokuments, Senden einer Benachrichtigung an einen anderen Benutzer, Antworten des anderen Benutzers, Statusänderung des Dokuments, Benachrichtigung des Benutzers). Mir scheint eher, dass Testfälle vollständige Szenarien darstellen sollten. Aber ich kann sehen, wie dies zu sehr komplexen Testdokumenten führen wird.
Tests sollten Inputs und Outputs identifizieren : Was ist, wenn ich eine lange Form mit vielen interagierenden Feldern und unterschiedlichem Verhalten habe? Schreibe ich einen Test für alles oder einen für jeden?
Testfälle sollten unabhängig sein: Aber wie kann ich das anwenden, wenn das Testen des Upload-Vorgangs erfordert, dass der Verbindungsvorgang erfolgreich ist? Und wie ist es beim Schreiben von Testfällen? Sollte ich einen Test für jede Operation schreiben, aber jeder Test erklärt seine Abhängigkeiten, oder sollte ich das gesamte Szenario für jeden Test neu schreiben?
Testfälle sollten leicht dokumentiert werden: Dieses Prinzip ist spezifisch für Agile-Projekte. Haben Sie also einen Rat, wie Sie dieses Prinzip umsetzen können?
Obwohl ich dachte, dass das Schreiben von Abnahmetestfällen einfach sein würde, war ich von jeder Entscheidung, die ich treffen musste, überwältigt (FYI: Ich bin ein Entwickler und kein professioneller Tester). Meine Hauptfrage lautet also: Welche Schritte oder Ratschläge haben Sie, um wartbare Abnahmetestfälle für komplexe Anwendungen zu schreiben? Vielen Dank.
Bearbeiten : Um meine Frage zu klären: Ich bin mir bewusst, dass Abnahmetests von der Anforderung ausgehen und die gesamte Anwendung als Black Box betrachten sollten. Meine Frage bezieht sich auf die praktischen Schritte zum Schreiben des Testdokuments, Identifizieren der Testfälle, Behandeln von Abhängigkeiten zwischen Tests ... für komplexe Webanwendungen
Die widersprüchlichen Informationen können frustrierend sein und sind schwer zu verallgemeinern und auf Ihre spezifische Situation anzuwenden. Ergo müssen Sie möglicherweise das tun, was in Ihrem Kontext am besten funktioniert.
Ich bin kein großer Fan von langen Testdokumenten und habe Visuals für einige kleinere Projekte recht effektiv eingesetzt. Versuch das? Wie ein Flussdiagramm (oder ein anderes UML-Diagramm wie ein Zustandsdiagramm usw.), anstatt nur Text zu verwenden? Geben Sie Eingaben, Ausgaben, Bedingungen, Schleifen, Spuren, Zustände, Interaktionen mit anderen Komponenten usw. an und geben Sie dann an, ob sie erfolgreich sind, fehlgeschlagen sind, übertragen wurden oder andere (?), Basierend auf Ihren Kriterien.
Könnte am Anfang ein bisschen Arbeit sein, kann aber auf lange Sicht dazu beitragen, dass du gesund bleibst. Für welche Methode Sie sich auch entscheiden, je mehr Sie damit arbeiten, desto besser werden Sie damit umgehen.
HTH und viel Glück!
KM
quelle
Ich denke, Sie haben bereits einige gute Kriterien festgelegt. Ihr zweiter Punkt ist eine gute Möglichkeit, die Gültigkeitsbereiche für Ihre Tests zu definieren, und ich schlage vor, auch auf Fehlerzustände und Bufixe zu prüfen (ich empfehle, dass jede Fehlerbehebung mindestens einen neuen Komponententest enthält). Es mag jetzt überwältigend erscheinen, aber tauchen Sie einfach ein und nachdem Sie ein wenig Erfahrung gesammelt haben, wird es einfacher, zu erkennen, was für gute Tests ausmacht.
quelle