Wir machen das in unserer Firma nicht, aber einer meiner Freunde sagt, dass sein Projektmanager jeden Entwickler gebeten hat, vorsätzliche Fehler hinzuzufügen, bevor das Produkt an die Qualitätssicherung geht. So funktioniert es:
- Kurz bevor das Produkt an die Qualitätssicherung geht, fügt das Entwicklungsteam an zufälligen Stellen im Code einige absichtliche Fehler hinzu. Sie sichern den ursprünglichen Arbeitscode ordnungsgemäß, um sicherzustellen, dass diese Fehler nicht mit dem Endprodukt geliefert werden.
- Hierüber werden auch die Tester informiert. Deshalb werden sie hart testen, weil sie wissen, dass es Fehler gibt und dass das Nichtfinden als Zeichen von Inkompetenz angesehen werden kann.
- Wenn ein Fehler (absichtlich oder auf andere Weise) gefunden wurde, wird dieser gemeldet, damit das Entwicklungsteam ihn beheben kann. Das Entwicklungsteam fügt dann einen weiteren absichtlichen Fehler in einen verwandten Abschnitt des Codes ein, bevor das Produkt zur QS der zweiten Ebene übergeht. Der Projektmanager sagt, ein Tester sollte wie ein Entwickler denken und in Abschnitten, in denen Änderungen vorgenommen wurden, mit neuen Fehlern rechnen.
Nun, so geht es. Sie sagen, dass dieser Ansatz folgende Vorteile hat.
- Tester werden immer auf Trab sein und sie werden wie verrückt testen. Das hilft ihnen, versteckte (unbeabsichtigte) Fehler zu finden, damit Entwickler sie beheben können.
- Tester ernähren sich von Fehlern. Wenn keine Bugs gefunden werden, wirkt sich dies auf die Moral aus. Wenn Sie ihnen also eine leicht zu findende geben, hilft dies ihrer Moral.
Wenn Sie das Szenario ignorieren, in dem einer dieser absichtlichen Fehler mit dem Endprodukt ausgeliefert wird, welche weiteren Nachteile sollten wir berücksichtigen, bevor wir überhaupt daran denken, diesen Ansatz zu übernehmen?
Einige Klarstellungen:
- Sie sichern ordnungsgemäß den ursprünglichen Code in der Quellcodeverwaltung.
- Wenn ein Tester den beabsichtigten Fehler findet, ignoriert das Entwicklungsteam ihn einfach. Wenn der Tester einen unbeabsichtigten (ursprünglichen) Fehler feststellt, prüft das Entwicklungsteam zunächst, ob er durch einen der beabsichtigten Fehler verursacht wurde. Das heißt, das Entwicklungsteam versucht zunächst, diesen Fehler im ursprünglichen Arbeitscode zu reproduzieren und zu beheben, wenn dies möglich ist.
- Ignorieren Sie einfach die Beziehungsprobleme zwischen QS und Entwicklungsteam. Ich habe diese Frage speziell für Programmierer gestellt , nicht für The Workplace . Bedenken Sie, dass es ein gutes Verhältnis zwischen der Qualitätssicherung und dem Entwicklungsteam gibt und dass sie nach der Arbeitszeit zusammen feiern. Der Projektmanager ist ein netter, alter Herr, der immer bereit ist, beide Teams zu unterstützen (Godsend).