Was sollten Entwickler testen, bevor sie ihre Arbeit an Tester senden? [geschlossen]

8

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?

Ramaguru N.
quelle

Antworten:

5

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:

  • Stellen Sie sicher, dass der kontinuierliche Integrationszyklus abgeschlossen ist, und
  • Nehmen Sie in einem Fehler- / Funktionsverfolgungssystem einen Eintrag für die Änderungen an der Qualitätssicherung vor

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.

dasblinkenlight
quelle
1
Was ist, wenn kein CI vorhanden ist?
dlp
3

Kommt darauf an. Es gibt verschiedene Philosophien:

  • Test Driven Development möchte, dass Sie Regression / Unit-Test schreiben, bevor Sie überhaupt mit dem Code beginnen.
  • Der Codierer kennt die kniffligen Teile des Codes und kann sie entsprechend testen
  • Ein unabhängiger Tester kann Fehler finden, an die der Entwickler nie gedacht hat. Außerdem ist der Tester möglicherweise besser mit dem Bereich vertraut, in dem die Software tatsächlich verwendet wird, und führt möglicherweise eine Validierung durch ("Erstellen Sie das Richtige?" Im Vergleich zur Überprüfung "Bauen Sie das Richtige?").

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.

ACNB
quelle
2

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.

Bryan Oakley
quelle
1

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.

JBRWilkinson
quelle
0

Aus Testersicht besteht der größte Fehler eines Entwicklers darin, einen Code bereitzustellen, der nicht kompiliert werden kann.

Mouviciel
quelle
2
Wenn der Code nicht in eine verwendbare ausführbare Datei kompiliert werden kann, ist er wahrscheinlich für niemanden sichtbar, geschweige denn für QA / Tester.
Joshin4colours