Das Vertrauen in eine Testsuite hängt letztlich von einigen Dingen ab:
- Entgehen der Testsuite eventuell wichtige Probleme, die man hätte finden können?
- Meldet die Testsuite Fehler, die eigentlich keine sind? (False Positives)
- Liefert die Testsuite nützliche Informationen? (Dies ist meiner Meinung nach der wichtigste Faktor.)
Code-Reviews in der Entwicklung können hilfreich sein, sind aber wahrscheinlich nicht besser oder schlechter als Code-Reviews im Team – ein Teil dessen, wonach ihr sucht, ist eine automatisierte Testsuite, die regelmäßig läuft, zuverlässig ist und nützliche Informationen liefert. Was genau diese Faktoren ausmacht, hängt von der jeweiligen Organisation und dem Team ab.
Einige Dinge, die ihr vielleicht berücksichtigen solltet:
- Wie schwierig/einfach ist es, neue Tests hinzuzufügen? Können Sie jedes Mal, wenn den Kunden ein Fehler unterläuft, neue Tests zu euren Regressionsuites hinzufügen, ohne lächerliche Mengen an Zeit für die Programmierung aufwenden zu müssen? (wenn ihr das mit ein paar Zeilen Daten in einer Testdatendatei schafft, umso besser für euch)
- Wie schwierig/einfach ist es, die Tests zu aktualisieren, wenn sich die grafische Benutzeroberfläche der Anwendung ändert? Wenn ihr eure Tests jedes Mal neu erstellen müsst, wenn jemand die Reihenfolge der Registerkarten ändert, werden ihr sehr wahrscheinlich keine zuverlässige Testsuite haben.
- Wie schwer/einfach ist es, die Tests zu aktualisieren, wenn sich der Prozessablauf in der Anwendung ändert? Wenn dies schnell und einfach möglich ist, ist die Wahrscheinlichkeit groß, dass eure Testsuite zuverlässiger ist als bei einer umfassenden Neufassung.
- Welche Daten kommuniziert eure Testsuite und an wen? Neben der Anzahl der durchgeführten/bestandenen/gescheiterten Tests solltet ihr auch bekannte Fehler (bei denen etwas gemeldet, aber noch nicht behoben wurde), Abdeckungsstatistiken (die für eure Anwendung nützlich sein könnten oder auch nicht) und eine Gesamtzusammenfassung der durchgeführten/bestandenen/gescheiterten Tests im Laufe der Zeit in Betracht ziehen (eine ständig wachsende Anzahl von Tests, die überwiegend bestanden werden, schafft Vertrauen).
- Welche Daten übermittelt ihr und an wen? Unabhängig davon, wie gut Ihre Testautomatisierung ist, werden die Menschen zuerst Sie (und/oder Ihr Team, je nach Struktur Ihres Unternehmens) betrachten und Vertrauen auf der Grundlage des Vertrauens in die Informationen, die Sie ihnen geben, unterstellen
Nichts davon bedeutet „das müssen ihr tun“ – es ist ein Denkanstoß. Jede Methode zum Aufbau von Vertrauen, die ihr euch ausdenkt, wird einzigartig für euch, euer Team und euer Unternehmen sein.
Neueste Kommentare