Zu allererst Entwickler Tester ist eine gute Faustregel, aber es ist ein schlechtRegel.
Was Sie beachten müssen, ist, wie viele Anwendungsfälle Ihre Anwendung hat. Anwendungen, mit denen von Benutzern unkontrolliert interagiert wird (I. E. Web-Anwendungen oder Desktop-Anwendungen), benötigen mehr Tester als eine ähnliche Konsolenanwendung.
Eine Anwendung, die eine einzelne Datei verwendet und darin Regex-Muster erkennt, benötigt weniger Tester als ein neues Betriebssystem.
Während die allgemeinen Grundsätze sind, die praktische Ratschläge wäre irgendeine Art von Näherungsformel zu verwenden, auf der Grundlage dieser Faktoren
1) Wie viele (compartmentalized) Anwendungsfälle gibt es?
Ich sage unterteilte Anwendungsfälle, denn wenn Sie Zustandsänderungen und persistente Variablen einschließen, dann können scheinbar nicht verwandte Teile eines Programms zusammenhängen. I.E. 2 + 2 = 4 (1 Anwendungsfall) 2 * 2 = 4 (2. Anwendungsfall). Das sind zwei einfache Operatoren, also zwei Klassen von Anwendungsfällen.Wenn Sie jedoch können add
dann multiply
, dann können Sie nicht nur add
und multiply
einzeln überprüfen, müssen Sie sie in all ihren möglichen Permutationen überprüfen.
Wenn Sie die Anzahl der Anwendungsfälle untersuchen, stellen Sie sicher, dass Sie die Anwendungsfälle einschließen, die die Verkettung von Befehlen umfassen.
2) Wie lange dauert es, um jedes einzelne zu testen?
Dies bedeutet nicht (um die Metapher des Rechners zu erweitern) nur 2 + 2 hinzufügen und die Antwort betrachten. Sie müssen die Zeit angeben, die nach einem Absturz für die Wiederherstellung benötigt wird. Wenn die Antwort falsch ist, würden Sie erwarten, dass der Tester den Fehler mit einem Screenshot und spezifischen Anweisungen zum Erstellen des Fehlers protokolliert. Wenn Sie ihnen keine Zeit für diese Art von Verwaltungsarbeit geben, dann backen Sie in Ihren Plan die Annahme, dass Sie keine Fehler haben. Und wenn wir das übernehmen, dann warum Tester überhaupt haben;)
Ein komplexes Projekt wird sowohl eine hohe Anzahl von Anwendungsfällen als auch eine hohe Anzahl von Entwicklern haben, aber sie sind keine garantierte Korrelation. Sie sollten Ihre Anwendungsfälle gründlich untersuchen und eine fundierte Entscheidung darüber treffen, wie viele Tester benötigt werden.
Bonus hinzugefügt. Nachdem Sie die Anwendung gründlich analysiert haben, finden Sie möglicherweise Anwendungsfälle, die in der Entwurfsphase nicht berücksichtigt wurden, und beheben diese, bevor ein Tester sie findet.
Suchen Sie nach empirischen Daten oder nur unbestätigten Meinungen? –
Entweder in gewissem Umfang. Wenn Menschen es studiert haben und empirische Antworten/Berichte/etc. Liefern können, ist dies das Beste. Aber wenn nicht, könnte es einfach nützlich sein, einfach mehrere Antworten zu haben, die sagen "Wir haben X: Y und brauchen mehr/weniger für unsere Dev-Strategie". –
Ich stimme diese Frage als Off-Topic zu schließen, weil es am Arbeitsplatz oder PM gehört, nicht Stack-Überlauf. –