Wie kann ich entscheiden, was manuell getestet werden soll und was den automatisierten Tests zutrauen soll? [geschlossen]

8

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?

    
bhazzard 14.04.2010, 16:44
quelle

6 Antworten

7

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.

    
Jim Kiley 14.04.2010, 16:50
quelle
6

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.

    
Bryan Oakley 14.04.2010 16:54
quelle
5

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.

    
Paul Tevis 14.04.2010 21:26
quelle
4

+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:

  1. Sehen Sie sich die Fehlerberichte für frühere Versionen an, insbesondere die von Kunden gemeldeten Fehler, wenn Sie Zugriff darauf haben. Ein paar spezifische Funktionsbereiche machen oft einen Großteil der Fehler aus.
  2. Verwenden Sie ein Tool zur Codeabdeckung, wenn Sie Ihre vorhandenen automatisierten Tests ausführen und Bereiche mit geringer oder keiner Abdeckung zur Kenntnis nehmen.
gareth_bowles 14.04.2010 19:03
quelle
4

Das manuelle Testen kann im Gegensatz zum automatisierten Testen Folgendes tun:

  • GUI-Test
  • Usability-Test
  • Explorative Tests
  • Verwenden Sie Variationen beim Ausführen von Tests
  • Finde neue, keine Regressionsfehler
  • Das menschliche Auge kann alle Probleme bemerken. Ein Auto-Test überprüft nur ein paar Dinge.

Das automatisierte Testen kann im Gegensatz zum manuellen Testen Folgendes tun:

  • Belastungs- / Belastungstest
  • Sie können sogar eine automatisierte Testsuite verwenden, um die Leistung zu testen
  • Konfigurationstest (IMHO ist das der größte Vorteil). Einmal geschrieben, können Sie denselben Test über verschiedene Umgebungen mit verschiedenen Einstellungen ausführen und versteckte Abhängigkeiten aufdecken, an die Sie noch nie gedacht haben.
  • Sie können denselben Test über Tausende von Eingabedaten ausführen. Bei manuellen Tests müssen Sie den minimalen Satz von Eingabedaten mit verschiedenen Techniken auswählen.

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.

    
katmoon 12.06.2010 17:01
quelle
1

Es wird nicht schaden, neue Funktionen manuell zu testen, um sicherzustellen, dass sie der Anforderung entsprechen, und sie dann zur Regression in die Automatisierungssuite hinzuzufügen. (Oder ist es zu traditionell?)

    
Chanakya 27.04.2010 20:31
quelle