Vielleicht haben Programmierer ihre eigenen Unit-Tests, vielleicht als Ergebnis der testgesteuerten Entwicklung. Sie führen diese Tests sehr häufig durch, vielleicht alle paar Minuten, aber mindestens ein paar Mal am Tag.

Meiner Erfahrung nach neigen die automatisierten Tests der Qualitätssicherung dazu, größere Teile der Funktionalität zu prüfen und sind daher langsamer und in der Regel weniger zuverlässig als die Unit-Tests der Programmierer. Dennoch ist es von großem Wert, die Ergebnisse dieser Tests so schnell wie möglich in die Hände der Programmierer zu bekommen.

  • Sollte die QA darauf drängen, dass die Programmierer die automatisierten Tests der QA ausführen?
  • Sollte die QA darauf bestehen, dass alle ihre automatisierten Tests vor dem Einchecken erfolgreich sind?
  • Sollte der nächtliche Build-Prozess einen Durchlauf der automatisierten Tests der QA beinhalten?

Aber ich würde auch sagen, dass es wahrscheinlich produktiver ist, herauszufinden, warum die Programmierer nicht wollen, bevor sie mehr Druck machen.

  • Was hindert sie daran?
  • Zugang zu proprietären Test-Tools?
  • Schwierige Einrichtung in der Entwicklungsumgebung?
  • Die Ergebnisse sind nicht aussagekräftig oder leicht zu lesen?
  • Zu langsam in der Ausführung?
  • Zu spröde?

Meiner Erfahrung nach sollten Entwickler ... Ausführen, JA. Beibehalten NEIN.

Ich denke, dass es eine inhärente Motivation gibt, die Tester (sogar engagierte Software-Ingenieure im Test) haben, die Entwickler nicht haben, und das ist, dass das Schreiben, Ausführen und Warten von Tests einen Mehrwert für die Arbeit eines Testers darstellt, d.h. es kann ihre manuelle Testarbeit reduzieren, und je besser sie läuft, desto mehr Zeit haben sie für andere "Testaufgaben".

Für Programmierer ist es nur eine weitere Aufgabe, die sie erledigen müssen und die sie davon abhält, neue Funktionen hinzuzufügen.

Im Idealfall sollten die Tester ausgebildete Entwickler sein, und es ist Teil des täglichen Build- und Testprozesses, dass Sie die QA dazu bringen können, diesen durchzuführen. Es liegt in ihrem Interesse, dass dieser Prozess so reibungslos wie möglich abläuft.

Wenn die Entwickler Tests durchführen wollen, können sie das natürlich tun, aber die Tester sollten dafür in erster Linie zuständig sein.