Gibt es eine Checkliste, die der Entwickler durchgehen muss, bevor er seine Arbeit an Tester weitergibt?
Auf welche Bedingungen / Fälle muss der Entwickler achten?
Gibt es eine Checkliste, die der Entwickler durchgehen muss, bevor er seine Arbeit an Tester weitergibt?
Auf welche Bedingungen / Fälle muss der Entwickler achten?
Antworten:
Gibt es eine Checkliste, die der Entwickler durchgehen muss, bevor er seine Arbeit an Tester weitergibt?
Absolut. Im Idealfall besteht diese Checkliste aus zwei Elementen:
Die eigentliche Checkliste verbirgt sich hinter Ihrer Strategie der kontinuierlichen Integration. Da diese Liste zentral verwaltet und vollständig automatisiert wird, können einzelne Entwickler ihren Code nicht über die Mauer werfen, um die Qualitätssicherung zu "vergessen", um etwas Wichtiges zu überprüfen, bevor sie ihre Arbeit an das Qualitätssicherungsteam senden. Sie wissen, dass Entwickler unter Zeitdruck oft "vergesslich" werden, oder?
Das kontinuierliche Integrationssystem muss einen Build ausführen und alle Unit- und Integrationstests ausführen. Es versteht sich von selbst, dass Entwickler dem kontinuierlichen Integrationssystem neue Komponententests zur Verfügung stellen müssen, wenn sie neue Funktionen entwickeln und Fehler beheben.
Entwickler sollten nicht anfassen, was aus dem kontinuierlichen Integrationssystem herauskommt, bevor sie es der Qualitätssicherung übergeben, und es nicht einmal installieren und schnell ausprobieren. Wenn die Qualitätssicherung angibt, dass der Build nicht installiert wurde, müssen Sie Ihren kontinuierlichen Integrationszyklus korrigieren, um sicherzustellen, dass keine nicht installierbaren oder nicht funktionierenden Artefakte ausgespuckt werden.
Der zweite Schritt ist angenehm (Markieren eines behobenen Fehlers oder eines vollständigen Features), sodass Entwickler selten, wenn überhaupt, vergessen, dies zu tun.
Kommt darauf an. Es gibt verschiedene Philosophien:
Das Testniveau, das jeder Partner durchführt, hängt also von Ihrem Projekt und Ihrer Organisation ab. Es ist wichtig, dass Sie sich vorher auf dieser Ebene einig sind. Natürlich sollte der Code zumindest kompiliert und ausgeführt werden, ohne Fehler auszulösen.
Tut es das, wofür es entwickelt wurde? Wirft es die entsprechenden Ausnahmen aus, wenn schlechte Eingaben gemacht werden? Ist es verwendbar? (Dies gilt sowohl für APIs als auch für Benutzeroberflächen.)
Ihr Code sollte nach bestem Wissen fehlerfrei sein, bevor Sie ihn an Tester weitergeben. Sie sollten alle Tests durchführen, die Sie durchführen müssen, um sich mit der Qualität Ihres eigenen Codes wohl zu fühlen.
Alles, was Sie können , damit die Qualitätssicherung Ihnen nicht antwortet und Ihr Manager sagt: "Sie haben dieses Ergebnis eindeutig nicht getestet." Sie können über Unit-, Integrations-, System- und manuelle (dh Sie) Tests verfügen. Wenn Sie dies nicht tun, verschwenden Sie nur die Zeit der Qualitätssicherung.
Ein QS-Mitarbeiter, der für mich arbeitete, bat um den "Beweis", dass die Entwickler das Ergebnis getestet hatten. Dies können xUnit-Ergebnisse, Ausgaben von Skripten oder sogar eine papierbasierte Checkliste sein. Es genügt zu sagen, dass dies Entwickler davon abgehalten hat, ihm nur die Build-Ausgabe weiterzuleiten.
Aus Testersicht besteht der größte Fehler eines Entwicklers darin, einen Code bereitzustellen, der nicht kompiliert werden kann.