Die Wahrheit ist, dass die Tests schlecht sind. Die Realität ist, dass ein Unternehmen, das nicht bereit ist, in ein QS-Team zu investieren, schlechte Tests haben wird. Gute Tests sind teuer und brauchen Zeit. Das Unternehmen hat das Risiko in Kauf genommen, indem es die Zeit und das Geld nicht genehmigt hat.
Selbst ein QA-Team kann nicht garantieren, dass jede Möglichkeit getestet wird, weil die möglichen Wege durch ein komplexes Programm im Grunde unendlich sind. Sie werden Sie jedoch viel näher bringen, als Sie es im Moment sind. Ein Grund dafür ist, dass es für einen Entwickler unmöglich ist, seinen eigenen Code angemessen zu testen. Sie wissen, was er tut, also neigen sie dazu, Tests um das herum zu entwerfen, was sie glauben, dass er tun soll. Sie übersehen Randfälle, sie übersehen dumme Dinge, die Benutzer tun, die ein Entwickler niemals tun würde, weil sie wissen, wie es funktioniert, sie interpretieren manchmal die Anforderung falsch, aber alle ihre Tests werden ihre ursprüngliche falsche Interpretation widerspiegeln. Sie übersehen oft Fehler in der Anforderung und tun das, was von ihnen verlangt wird, nicht das, was sie hätten tun sollen (dies ist die Ursache für eine große Anzahl von Fehlern, die erst gefunden werden, nachdem die tatsächlichen Benutzer [die allzu oft nicht bei der Definition der Anforderung konsultiert werden] versuchen, die Software zu benutzen). Sie übersehen Auswirkungen auf Teile der Anwendung, an denen sie nie Grund hatten zu arbeiten, insbesondere auf Teile, die von Spezialisten durchgeführt werden (wie z.B. eine Tabellenänderung, die für die Anwendung sinnvoll ist, aber einen automatisierten Importprozess oder einen Bericht unterbricht)
Wenn er eine höhere Qualität wünscht, muss er dafür Zeit und Geld bezahlen. Selbst mit vollständiger QA kann man nicht zu 100% erreichen, obwohl die NASA und ihre Auftragnehmer sicherlich nahe dran sind. Sie geben auch ein großes Geschäft mehr Geld aus, als Ihr Unternehmen ausgibt. Selbst dann haben sie es einmal geschafft, MARS komplett zu verpassen.
Wenn er die Gewissheit haben will, dass ihm keine Probleme mit den Kunden schaden, dann sprechen Sie über Ihren Prozess für die Tests (Zeigen Sie ihm die Liste der Tests, die Sie durchgeführt haben.), darüber, was Ihrer Meinung nach betroffen wäre und wie Sie das überprüft haben, über Ihren Prozess, wie Sie einen schlechten Push rückgängig machen würden und über Ihren Prozess für die Protokollierung von Fehlern, so dass Sie sie sehen, bevor die meisten Kunden sie bemerken. Geben Sie ihm das Vertrauen, dass selbst wenn es ein Problem gibt, es behoben werden kann. Sprechen Sie darüber, wie wertvoll es ist, den Code (neue Funktion oder Fehlerbehebung) schnell herauszubekommen, anstatt die zusätzliche Zeit, die ein gründlicherer Test erfordern würde, in Kauf zu nehmen. Sie können ihn auch bitten, bei jeder Änderung einen gründlichen Regressionstest des Systems durchzuführen, da es für einen Entwickler nicht möglich ist, seine eigene Arbeit vollständig zu testen (Sie wissen, was Ihre Annahmen waren, wenn sie nicht richtig sind, würden Sie nie darauf testen). Stellen Sie sicher, dass er weiß, dass er jede einzelne Seite der Anwendung und jede einzelne Sache, die auf einer Seite gemacht werden könnte, in jeder möglichen Reihenfolge testen muss. Oh ja, testen Sie auch alle Importe/Exporte, Berichte, automatisierte Jobs. Und alle verwandten Anwendungen, die davon betroffen sein könnten. Wenn er einmal versucht hat, das System gründlich zu üben, wird ihm klar werden, warum Sie diese Zusicherung nicht machen können.
Eine andere Sache, die Sie versuchen sollten, ist, ihm von vornherein zu sagen, dass Sie diese Zusicherung nicht machen können, aber wenn er X Teststunden genehmigt, können Sie näher an diese Zusicherung herankommen. Geben Sie ihm eine aufgeschlüsselte Liste der zusätzlichen Tests und der Stunden, die es dauern würde, jeden einzelnen Test zu entwerfen und durchzuführen. Sagen Sie ihm, wie viel Prozent des Vertrauens Sie nach der Durchführung all dieser Tests haben würden und wie viel Prozent des Vertrauens Sie im Moment haben.
Sagen Sie ihm auch, wie lange es dauern würde, nur alle aktuellen Einheitstests durchzuführen, die Sie haben, unabhängig davon, ob sie mit diesem Thema zu tun haben oder nicht. Wenn Sie also derzeit 1000 Unit-Tests haben und jeder einzelne fünf Minuten für die Einrichtung, Durchführung und Auswertung der Ergebnisse benötigt, wären das 83 Stunden. Bitten Sie ihn um die Genehmigung, diese Zeit in Anspruch zu nehmen.