Was ist Software-Testschätzung?
Die Testschätzung ist eine Verwaltungsaktivität, die ungefähr angibt, wie lange eine Aufgabe dauern würde. Die Schätzung des Testaufwands ist eine der wichtigsten und wichtigsten Aufgaben im Testmanagement .
Warum Testschätzung?
Zwei Fragen, die Sie von Ihren Kunden erwarten können, wenn Sie mögliche Testaufträge besprechen, sind:
Bei kleinen Projekten sind diese Fragen relativ einfach zu beantworten. Aber für das große Projekt wie das Testen der Guru99 Bank-Website müssen Sie sich überlegen, um diese Fragen zu beantworten.
In diesem Tutorial lernen Sie:
- Was ist Software-Testschätzung?
- Warum Testschätzung?
- Was ist zu schätzen?
- Wie schätze ich?
- Schritt 1) Teilen Sie die gesamte Projektaufgabe in Unteraufgaben auf
- Schritt 2) Ordnen Sie jede Aufgabe dem Teammitglied zu
- Schritt 3) Aufwandsschätzung für Aufgaben
- Methode 1) Funktionspunktmethode
- Methode 2) Dreipunktschätzung
- Schritt 4) Validieren Sie die Schätzung
- Best Practices für die Testschätzung
- Andere Techniken
Was ist zu schätzen?
- Ressourcen: Ressourcen werden benötigt, um Projektaufgaben auszuführen. Dies können Personen, Geräte, Einrichtungen, Finanzmittel oder andere definierbare Elemente sein, die für den Abschluss einer Projektaktivität erforderlich sind.
- Zeiten: Zeit ist die wertvollste Ressource in einem Projekt. Jedes Projekt hat eine Lieferfrist.
- Menschliche Fähigkeiten: Menschliche Fähigkeiten bedeuten das Wissen und die Erfahrung der Teammitglieder. Sie wirken sich auf Ihre Einschätzung aus. Beispielsweise benötigt ein Team, dessen Mitglieder über geringe Testfähigkeiten verfügen, mehr Zeit, um das Projekt abzuschließen, als ein Team mit hohen Testfähigkeiten.
- Kosten: Die Kosten sind das Projektbudget . Im Allgemeinen bedeutet dies, wie viel Geld erforderlich ist, um das Projekt abzuschließen.
Wie schätze ich?
Liste der Techniken zur Schätzung von Softwaretests
- Projektstrukturplan
- 3-Punkt-Softwaretest-Schätzungstechnik
- Breitband-Delphi-Technik
- Funktionspunkt- / Testpunktanalyse
- Use-Case-Point-Methode
- Prozentuale Verteilung
- Ad-hoc-Methode
Es folgt der 4-stufige Prozess, um eine Schätzung zu erhalten
Sie lernen, wie Sie diese Techniken kombinieren, um die Schätzung für die Fallstudie der Guru99 Bank zu finden.
Schritt 1) Teilen Sie die gesamte Projektaufgabe in Unteraufgaben auf
Aufgabe ist eine Arbeit, die jemandem gegeben wurde. Zu diesem Zweck können Sie die Work Breakdown Structure- Technik verwenden.
Bei dieser Technik wird ein komplexes Projekt in Module unterteilt. Die Module sind in Untermodule unterteilt. Jedes Untermodul ist weiter in Funktionen unterteilt. Dies bedeutet, dass die gesamte Projektaufgabe in die kleinsten Aufgaben unterteilt wird.
Verwenden Sie die Work Break Down-Struktur, um das Guru99 Bank-Projekt in 5 kleinere Aufgaben aufzuteilen.
Danach können Sie jede Aufgabe in die Unteraufgabe aufteilen. Der Zweck dieser Aktivität besteht darin, eine Aufgabe so detailliert wie möglich zu erstellen .
Aufgabe | Unteraufgabe |
---|---|
Analysieren Sie die Spezifikation der Softwareanforderungen | Untersuchen Sie die Soft-Anforderungsspezifikationen |
Interview mit dem Entwickler und anderen Stakeholdern, um mehr über die Website zu erfahren | |
Erstellen Sie die Testspezifikation | Entwerfen Sie Testszenarien |
Erstellen Sie Testfälle | |
Testfälle überprüfen und überarbeiten | |
Führen Sie die Testfälle aus | Bauen Sie die Testumgebung auf |
Führen Sie die Testfälle aus | |
Überprüfen Sie die Ergebnisse der Testausführung | |
Melden Sie die Mängel | |
Erstellen Sie die Fehlerberichte | |
Melden Sie die Mängel |
Schritt 2) Ordnen Sie jede Aufgabe dem Teammitglied zu
In diesem Schritt wird jede Aufgabe dem entsprechenden Mitglied im Projektteam zugewiesen . Sie können die Aufgabe wie folgt zuweisen
Aufgabe | Mitglieder |
---|---|
Analysieren Sie die Spezifikation der Softwareanforderungen | Alle Mitglieder |
Erstellen Sie die Testspezifikation | Tester / Test Analyst |
Bauen Sie die Testumgebung auf | Testadministrator |
Führen Sie die Testfälle aus | Tester, Testadministrator |
Mängel melden | Tester |
Schritt 3) Aufwandsschätzung für Aufgaben
Es gibt zwei Techniken, mit denen Sie den Aufwand für Aufgaben abschätzen können
- Funktionspunktmethode
- Drei-Punkte-Schätzung
Methode 1) Funktionspunktmethode
Bei dieser Methode schätzt der Testmanager Größe, Dauer und Kosten für die Aufgaben
Schritt A) Schätzen Sie die Größe für die Aufgabe
In Schritt 1 haben Sie bereits die gesamte Projektaufgabe mithilfe der PSP-Methode in kleine Aufgaben unterteilt. Jetzt schätzen Sie die Größe dieser Aufgaben. Lassen Sie uns mit einer bestimmten Aufgabe üben: „ Erstellen Sie die Testspezifikation “.
Die Größe dieser Aufgabe hängt von der Funktionsgröße des zu testenden Systems ab. Die Funktionsgröße spiegelt den Umfang der Funktionalität wider, der für den Benutzer relevant ist. Je mehr Anzahl der Funktionalität, desto komplexes System.
Bevor Sie mit dem eigentlichen Aufwand für die Schätzung von Aufgaben beginnen, werden die Funktionspunkte wie folgt in drei Gruppen unterteilt: Komplex , Mittel Einfach :
Basierend auf dem Komplex der Softwarefunktionen muss der Test Manager jedem Funktionspunkt genügend Gewicht geben . Zum Beispiel
Gruppe | Gewichtung |
---|---|
Komplex | 5 |
Mittel | 3 |
Einfach | 1 |
Nehmen wir eine einfache Beispielübung, um klarer zu werden:
Werfen Sie einen Blick auf die Softwarespezifikation der Website Guru99 Bank hier. Der Softwareentwickler hat die Softwaremodule bereits ausführlich beschrieben. Können Sie die Komplexität der Website-Funktionen bestimmen, indem Sie die Gewichtung für jedes Modul angeben?
Je komplexer der Funktionspunkt ist, desto größer ist der Aufwand, ihn zu testen. Die Website ist in 12 Funktionspunkte unterteilt . Sie können die Komplexität der einzelnen Funktionspunkte wie folgt bestimmen:
Nein. | Modulname | Anwendbare Rollen | Beschreibung | Gewichtung |
---|---|---|---|---|
1. | Kontostandsabfrage | Manager Kunde | Kunde: Ein Kunde kann mehrere Bankkonten haben. Er kann nur den Kontostand seiner Kunden anzeigen. Manager: Ein Manager kann den Kontostand aller Kunden anzeigen, die unter seiner Aufsicht stehen | 3 |
2. | Überweisung | Manager Kunde | Kunde: Ein Kunde kann Geld von seinem „eigenen“ Konto auf ein beliebiges Zielkonto überweisen lassen. Manager: Ein Manager kann Geld von jedem Quellbankkonto auf das Zielkonto überweisen | 5 |
3. | Mini Statement | Manager Kunde | Ein Mini-Kontoauszug zeigt die letzten 5 Transaktionen eines Kontos an. Kunde: Ein Kunde kann nur einen Mini-Kontoauszug seines „eigenen“ Kontos anzeigen. Manager: Ein Manager kann einen Mini-Kontoauszug eines beliebigen Kontos anzeigen | 3 |
4. | Kundenspezifische Erklärung | Manager Kunde | Mit einem benutzerdefinierten Kontoauszug können Sie Transaktionen in einem Konto basierend auf Datum und Transaktionswert filtern und anzeigen. Kunde: Ein Kunde kann den benutzerdefinierten Kontoauszug nur seiner „eigenen“ Konten anzeigen. Manager: Ein Manager kann die benutzerdefinierte Anweisung eines beliebigen Kontos anzeigen | 5 |
5. | Passwort ändern | Manager Kunde | Kunde: Ein Kunde kann das Passwort nur seines Kontos ändern. Manager: Ein Manager kann nur das Passwort seines Kontos ändern. Er kann die Passwörter seiner Kunden nicht ändern | 1 |
6. | Neukunde | Manager | Manager: Ein Manager kann einen neuen Kunden hinzufügen. Manager: Ein Manager kann Details wie Adresse, E-Mail, Telefon eines Kunden bearbeiten. | 3 |
7. | Neues Konto | Manager | Derzeit bietet das System zwei Arten von Konten
| 5 |
8. | Konto bearbeiten | Manager | Manager: Ein Manager kann Kontodetails für ein vorhandenes Konto bearbeiten | 1 |
9. | Konto löschen | Manager | Manager: Ein Manager kann ein Konto für einen Kunden löschen. | 1 |
10. | Kunden löschen | Manager | Ein Kunde kann nur gelöscht werden, wenn er keine aktiven aktuellen oder sparenden Konten hat. Manager: Ein Manager kann einen Kunden löschen. | 1 |
11. | Anzahlung | Manager | Manager: Ein Manager kann Geld auf jedes Konto einzahlen. Wird normalerweise durchgeführt, wenn Bargeld in einer Bankfiliale eingezahlt wird. | 3 |
12. | Rückzug | Manager | Manager: Ein Manager kann Geld von jedem Konto abheben. Wird normalerweise durchgeführt, wenn Bargeld in einer Bankfiliale abgehoben wird. | 3 |
SCHRITT B) Schätzen Sie die Dauer für die Aufgabe
Nachdem Sie die Komplexität der Funktionspunkte klassifiziert haben, müssen Sie die Dauer schätzen , um sie zu testen. Dauer bedeutet, wie viel Zeit benötigt wird, um die Aufgabe zu erledigen.
- Gesamtaufwand : Der Aufwand, alle Funktionen der Website vollständig zu testen
- Gesamtfunktionspunkte : Gesamtzahl der Module der Website
- Schätzung pro Funktionspunkt definiert : Der durchschnittliche Aufwand, um einen Funktionspunkt zu vervollständigen. Dieser Wert hängt von der Produktivität des Mitglieds ab, das diese Aufgabe übernimmt.
Angenommen, Ihr Projektteam hat die pro Funktionspunkt definierten Werte auf 5 Stunden / Punkte geschätzt . Sie können den Gesamtaufwand zum Testen aller Funktionen der Guru99 Bank wie folgt schätzen:
Gewichtung | Anzahl der Funktionspunkte | Gesamt | |
---|---|---|---|
Komplex | 5 | 3 | 15 |
Mittel | 3 | 5 | 15 |
Einfach | 1 | 4 | 4 |
Funktion Gesamtpunkte | 34 | ||
Schätzung definieren pro Punkt | 5 | ||
Geschätzter Gesamtaufwand (Personenstunden) | 170 |
Der Gesamtaufwand für die Ausführung der Aufgabe „Erstellen der Testspezifikation“ der Guru99 Bank beträgt also rund 170 Mannstunden
Sobald Sie den erforderlichen Aufwand verstanden haben, können Sie Ressourcen zuweisen, um zu bestimmen, wie lange die Aufgabe dauern wird (Dauer), und dann die Arbeits- und Nichtarbeitskosten schätzen.
Das obige Beispiel zeigt auch die Bedeutung des Mitglieds in Ihrem Team. Wenn Sie talentierte und erfahrene Mitglieder haben, können Sie die zugewiesene Aufgabe in kurzer Zeit erledigen , und Ihr Projekt wird zum Stichtag oder früher abgeschlossen.
SCHRITT C) Schätzen Sie die Kosten für die Aufgaben
Dieser Schritt hilft Ihnen bei der Beantwortung der letzten Frage des Kunden: " Wie viel kostet es?"
Angenommen, Ihr Teamgehalt beträgt durchschnittlich 5 USD pro Stunde. Die für die Aufgabe "Testspezifikationen erstellen" erforderliche Zeit beträgt 170 Stunden. Dementsprechend betragen die Kosten für die Aufgabe 5 * 170 = 850 USD. Jetzt können Sie das Budget für andere Aktivitäten im PSP berechnen und das Gesamtbudget für das Projekt ermitteln.
Als Projektmanager müssen Sie entscheiden, wie Sie die höchste Rendite für die Investition Ihres Unternehmens erzielen. Je genauer Ihre Schätzung der Projektkosten ist, desto besser können Sie das Budget Ihres Projekts verwalten.
Methode 2) Dreipunktschätzung
Die Dreipunktschätzung ist eine der Techniken, mit denen eine Aufgabe geschätzt werden kann. Die Einfachheit der Dreipunktschätzung macht sie zu einem sehr nützlichen Werkzeug für einen Projektmanager, der schätzen möchte.
Bei der Dreipunktschätzung werden zunächst drei Werte für jede Aufgabe auf der Grundlage vorheriger Erfahrungen oder bester Vermutungen wie folgt erstellt
Bei der Schätzung einer Aufgabe muss der Testmanager drei Werte angeben, wie oben angegeben. Die drei identifizierten Werte schätzen, was in einem optimalen Zustand passiert , was am wahrscheinlichsten ist oder was wir für den schlimmsten Fall halten .
Lassen Sie uns im folgenden Beispiel sehen, wie die obigen drei Werte verwendet werden
Können Sie für die Aufgabe „ Testspezifikation erstellen “ den Testaufwand abschätzen? Denken Sie daran, dass Sie alle Module der Guru99 Bank-Website abdecken müssen, wie in der Funktionspunktmethode beschrieben
Sie können wie folgt schätzen
- Der beste Fall , um diese Aufgabe zu erledigen, sind 120 Mannstunden (ca. 15 Tage). In diesem Fall haben Sie ein talentiertes Team, das die Aufgabe in kürzester Zeit erledigen kann.
- Der wahrscheinlichste Fall, um diese Aufgabe zu erledigen, sind 170 Mannstunden (ungefähr 21 Tage). Dies ist ein normaler Fall. Sie verfügen über genügend Ressourcen und Fähigkeiten, um die Aufgabe abzuschließen
- Der schlechteste Fall für diese Aufgabe sind 200 Mannstunden (ca. 25 Tage). Sie müssen viel mehr arbeiten, da Ihre Teammitglieder keine Erfahrung haben.
Weisen Sie nun jedem Parameter den Wert wie folgt zu
Der Aufwand zur Erledigung der Aufgabe kann unter Verwendung der doppelten Dreiecksverteilungsformel wie folgt berechnet werden:
In der obigen Formel ist Parameter E als gewichteter Durchschnitt bekannt. Es ist die Schätzung der Aufgabe „Testspezifikation erstellen“.
Aber Ihr Chef kann Sie fragen
Bei der obigen Schätzung bestimmen Sie nur einen möglichen und keinen bestimmten Wert. Wir müssen die Wahrscheinlichkeit kennen , mit der die Schätzung korrekt ist. Sie können die andere Formel verwenden:
In der obigen Formel, dem SD-Mittelwert der Standardabweichung, kann dieser Wert Informationen über die Wahrscheinlichkeit liefern, mit der die Schätzung korrekt ist.
Jetzt können Sie die Schätzung für die Aufgabe „Testspezifikation erstellen“ abschließen.
Um die Aufgabe „Erstellen der Testspezifikation“ auf der Guru99 Bank-Website abzuschließen, benötigen Sie 166,6 ± 13,33 Mannstunden (153,33 bis 179,99 Mannstunden).
Schritt 4) Validieren Sie die Schätzung
Sobald Sie eine aggregierte Schätzung für alle im PSP genannten Aufgaben erstellt haben, müssen Sie diese an die Geschäftsleitung weiterleiten , die sie überprüft und genehmigt .
Das Mitglied des Vorstands könnte aus dem CEO, dem Projektmanager und anderen Stakeholdern bestehen.
Der Vorstand wird Ihren Schätzplan prüfen und mit Ihnen besprechen. Sie können ihnen Ihre Schätzung logisch und vernünftig erklären, damit sie Ihren Schätzplan genehmigen können.
Best Practices für die Testschätzung
In diesem Thema werden allgemeine Tipps zum Schätzen der Testgenauigkeit vorgestellt.
- Fügen Sie etwas Pufferzeit hinzu: Viele unvorhersehbare Dinge können mit Ihrem Projekt passieren, z. B. dass ein talentiertes Teammitglied seinen Job plötzlich beendet, das Testen länger dauert als erwartet… usw. Aus diesem Grund müssen Sie etwas Puffer in Ihre Schätzung einbeziehen. Ein Puffer in der Schätzung ermöglicht es, eventuell auftretende Verzögerungen zu bewältigen.
- Account Ressourcenplanung in Schätzung: Was sollten Sie tun, wenn einige Mitglieder Ihres Teams lange Urlaubstage nehmen? Dies kann das Projekt verzögern. Die Ressourcenplanung bei der Schätzung spielt eine Schlüsselrolle. Die Verfügbarkeit von Ressourcen trägt dazu bei, dass die Schätzungen realistisch sind. Hier müssen Sie die Blätter für Ihr Teammitglied berücksichtigen, in der Regel lange Blätter.
- Verwenden Sie die Erfahrungen aus der Vergangenheit als Referenz: Erfahrungen aus früheren Projekten spielen eine wichtige Rolle bei der Erstellung der Zeitschätzungen. Da einige Projekte Ähnlichkeiten aufweisen können, können Sie die bisherige Schätzung wiederverwenden. Wenn Sie beispielsweise ein Projekt wie das Testen einer Website ausführen, können Sie aus dieser Erfahrung lernen und versuchen, alle Schwierigkeiten oder Probleme zu vermeiden, mit denen frühere Projekte konfrontiert waren.
- Halten Sie sich an Ihre Schätzung: Die Schätzung ist nur eine Schätzung, da sie möglicherweise schief geht. In frühen Phasen des Projekts sollten Sie die Testschätzungen regelmäßig überprüfen und bei Bedarf Änderungen vornehmen . Wir sollten die Schätzung nicht verlängern, nachdem wir sie behoben haben, es sei denn, es gibt wesentliche Änderungen der Anforderungen oder Sie müssen mit dem Kunden über die erneute Schätzung verhandeln
Software-Testschätzungsvorlage
Laden Sie das Software Test Estimation Excel (.xlsx) herunter.
Andere Techniken
Breitband-Delphi-Technik, Use-Case-Point-Methode, Prozentverteilung, Ad-hoc-Methode sind weitere Schätztechniken in der Softwareentwicklung.
Klicken Sie hier, wenn das Video nicht zugänglich ist
Video-Transkript- Lassen Sie uns eine Übung machen - für die Flugreservierungsanwendung erstellen Sie eine Projektstrukturplan der
- Verschiedene Testaufgaben wie - Überprüfen der Anmeldefunktionalität, Überprüfen der neuen Auftragsfunktionalität, Überprüfen der Faxfunktionalität und anderer ähnlicher Funktionen und Schätzen des zum Testen dieser Funktionen erforderlichen Aufwands
- Zum Beispiel kann die Anmeldefunktion in 2 Stunden getestet werden. Bereiten Sie ebenfalls eine Liste aller Aufgaben und des entsprechenden Aufwands vor. Unterbrechen Sie das Trainingstutorial und schließen Sie die Übung ab. Ich hoffe, Sie haben die erforderlichen Anstrengungen gut erraten
- Dies ist eine Bottom-Up-Strategie für die Testschätzung. Die Technik wird Bottom-up genannt, da Sie basierend auf den Aufgaben, die sich auf der untersten Ebene der Projektstrukturplanhierarchie befinden, die Dauer, Abhängigkeiten und Ressourcen schätzen.
- In der Bottom-Up-Strategie werden Schätzungen nicht von einer einzelnen Person vorgenommen, sondern von allen Stakeholdern, einzelnen Mitwirkenden, Experten und erfahrenen Mitarbeitern zusammen. Die Idee ist, auf die kollaborative Weisheit der Teammitglieder zurückzugreifen, um genaue Testschätzungen zu erhalten
- Jetzt haben Sie beträchtliche Erfahrung mit dem Flugreservierungssystem. Nutzen Sie diese Erfahrung, um den Aufwand für vollständige Funktionstests der Website abzuschätzen. - http://newtours.demoaut.com/
- Die Funktionsweise dieser Website ist identisch mit der Flugreservierungsanwendung, nur dass sie webbasiert ist. Unterbrechen Sie das Tutorial und machen Sie jetzt die Übung
- Ich hoffe, dass Sie aufgrund Ihrer Erfahrungen eine gute Schätzung des zum Testen der Website erforderlichen Aufwands vorgenommen haben
- Dies ist der Top-Down-Ansatz zur Schätzung, der auf Erfahrung basiert.
- Eine andere Technik besteht darin, Projekte anhand ihrer Größe und Komplexität zu klassifizieren und dann zu sehen, wie lange ein Projekt mit einer bestimmten Größe und Komplexität in der Vergangenheit gedauert hat.
- Ein anderer Ansatz besteht darin, den durchschnittlichen Aufwand pro Testfall in der Vergangenheit für ähnliche Projekte zu ermitteln und dann die geschätzten Testfälle des aktuellen Projekts zu verwenden und den Gesamtaufwand zu ermitteln
- Anspruchsvollere Schätzmodelle umfassen komplexe mathematische Modelle. In der Praxis verwenden die meisten Projekte einen Top-Down-Ansatz zur Schätzung.
- Testschätzungen können durch viele Faktoren wie Zeitdruck, Personenfaktoren, geografische Verteilung des Testteams usw. beeinflusst werden