Wir haben eine Menge Entwickler und nur ein paar QA-Leute. Die Entwickler haben sich während des gesamten Entwicklungsprozesses mehr und mehr mit qa beschäftigt, indem sie automatisierte Tests geschrieben haben, aber unsere QA-Praktiken sind meist manuell.
Was ich gerne hätte, wäre, wenn unsere Entwicklungspraktiken BDD und TDD wären und wir eine robuste Testsuite entwickelt hätten. Die Frage ist: Wie können wir beim Aufbau einer solchen Testsuite entscheiden, was wir den Tests anvertrauen können und was wir weiterhin manuell testen sollten?
Die erste Trennungslinie ist - was ist wesentlich einfacher , um manuell zu testen, und was ist wesentlich einfacher , um es automatisiert zu testen?
Das ist natürlich ziemlich einfach herauszufinden, und wahrscheinlich werden Sie mit einem großen Haufen von Guck in der Mitte verlassen werden.
Mein nächstes Sieb würde sein - Probleme mit der Benutzeroberfläche gehören zu den am schwierigsten zu testenden, obwohl einige Projekte es einfacher machen. Also überlasse ich diese für eine Weile den QA-Leuten und konzentriere Ihre automatisierten Tests auf kleine Einheiten von Backend-Code, die sich langsam auf größere Integrationstests über mehrere Einheiten und / oder mehrere Ebenen Ihrer Anwendung ausdehnen.
Mein Rat ist, automatisieren Sie alles, was Sie möglicherweise automatisieren können. Lass die Menschen tun, wozu sie gut sind, wie zum Beispiel die Frage "Sieht das richtig aus?" oder "Ist das verwendbar?". Für alles andere automatisieren.
Sieh dir Mike Cohns Artikel über die Test Automation Pyramid . Bedenken Sie insbesondere, welcher Teil der Benutzeroberfläche wirklich auf diese Weise getestet werden muss. Corner Cases zum Beispiel werden oft besser über die Serviceebene getestet.
+1 an Jim, um das manuelle Testen von UI-Elementen zu empfehlen; Es ist relativ einfach, ein UI-Automatisierungstool zum Erstellen von Tests zu verwenden, aber es bedarf einer Menge Überlegungen und Erwartungen, um ein Testframework zu entwickeln, das robust und umfassend genug ist, um die Wartung der Tests zu minimieren.
Wenn Sie Prioritäten setzen müssen, sind ein paar Techniken, die ich verwendet habe, um Nicht-UI-Bereiche zu identifizieren, die am meisten von zusätzlichen Tests profitieren würden:
Das manuelle Testen kann im Gegensatz zum automatisierten Testen Folgendes tun:
Das automatisierte Testen kann im Gegensatz zum manuellen Testen Folgendes tun:
Auch ist es bei manuellen Tests leichter und wahrscheinlicher, beim manuellen Testen einen Fehler zu machen. Ich empfehle Ihnen, die wertvollste Funktionalität zu automatisieren, aber dennoch die Tests (zumindest geistige Gesundheit) vor einer wichtigen Veröffentlichung manuell durchzuführen.
Tags und Links tdd qa automated-tests bdd manual-testing