Für den Erfolg eines Projekts ist die Testschätzung und ordnungsgemäße Ausführung ebenso wichtig wie der Entwicklungszyklus. Das Festhalten an der Schätzung ist sehr wichtig, um einen guten Ruf beim Kunden aufzubauen.
Erfahrung spielt eine große Rolle bei der Abschätzung des „Software-Testaufwands“. Die Arbeit an verschiedenen Projekten hilft uns, eine genaue Schätzung des Testzyklus zu erstellen.
Offensichtlich kann man nicht einfach blind eine bestimmte Anzahl von Tagen für eine Testaufgabe festlegen. Die Testschätzung sollte realistisch und genau sein.
Dieses Tutorial enthält einige wichtige Hinweise, die sehr hilfreich sein werden, um eine genaue Testschätzung auf sehr einfache Weise vorzubereiten.
Test Estimation Process
„Schätzung ist der Prozess des Findens einer Schätzung oder Annäherung, die ein Wert ist, der für einen bestimmten Zweck verwendet werden kann, auch wenn Eingabedaten unvollständig, unsicher oder instabil sein können.“
Wir alle stoßen in unserem Leben als Profis auf unterschiedliche Aufgaben, Pflichten und Fristen, jetzt gibt es zwei Ansätze, um die Lösung eines Problems zu finden.
Der erste Ansatz ist ein reaktiver Ansatz, bei dem wir versuchen, eine Lösung für das vorliegende Problem erst zu finden, nachdem es eingetroffen ist.
Beim zweiten Ansatz, der als proaktiver Ansatz bezeichnet werden kann, bereiten wir uns zunächst gut vor, bevor das Problem mit unseren bisherigen Erfahrungen eintrifft, und versuchen dann mit unseren bisherigen Erfahrungen, eine Lösung für die Herausforderung zu finden, wenn sie eintrifft.
Schätzung kann somit als eine Technik betrachtet werden, die angewendet wird, wenn wir das Problem proaktiv angehen.
Somit lässt sich mit Hilfe der Schätzung vorhersagen, wie viel Aufwand in Bezug auf Zeit und Kosten erforderlich wäre, um eine definierte Aufgabe zu erledigen. Sobald das Testteam in der Lage ist, eine Schätzung des vorliegenden Problems vorzunehmen, ist es für es einfacher, eine Lösung zu finden, die für das vorliegende Problem optimal ist.
Die Praxis der Schätzung kann dann formeller als eine ungefähre Berechnung der wahrscheinlichen Kosten einer Arbeit definiert werden.
Lesen Sie auch => 7 Faktoren, die die Testschätzung des Selenium Automation-Projekts beeinflussen
Grundvoraussetzungen
Im Folgenden sind die Grundvoraussetzungen für den Testschätzungsprozess aufgeführt.
#1) Erkenntnisse aus der Arbeit mit früheren Erfahrungen: Es ist immer eine gute Praxis, einige Zeit damit zu verbringen, sich an vergangene Projekte zu erinnern, die ähnliche Herausforderungen stellten wie das aktuelle Unterfangen.
#2) Die verfügbaren Dokumente oder Artefakte: Die Testmanagement-Repository-Tools sind in solchen Szenarien nützlich, da sie die Anforderungen und Klärungsdokumente speichern. Diese Dokumente können vom Testteam herangezogen werden, um den Umfang des Projekts klar zu definieren.
# 3) Annahmen über die Art der Arbeit: Frühere Arbeitserfahrung hilft dabei, Annahmen über das Projekt zu treffen. Hier ist die Einstellung erfahrener Fachkräfte am wichtigsten. Testmanager können die Gehirne dieser Personen auswählen, um die gewünschten Ergebnisse zu erzielen.
#4) Berechnung potenzieller Risiken und Bedrohungen: Das Testteam muss auch die potenziellen Risiken und Bedrohungen und Fallstricke visualisieren, die für das Team in Zukunft liegen können.
#5) Bestimmen, ob die Dokumente Baselined wurden: Das Testteam muss auch feststellen, ob die Anforderungen Baselined wurden oder nicht. Wenn die Dokumente nicht baselined sind, ist es wichtig, die Häufigkeit der Änderungen zu bestimmen.
# 6) Alle Verantwortlichkeiten und Abhängigkeiten sollten klar sein: Die Organisation sollte die Rollen und Verantwortlichkeiten für alle, die den Schätzprozess durchführen würden, klar definieren.
# 7) Dokumentation und Verfolgung der Schätzungsaufzeichnungen: Alle für den Schätzungsprozess relevanten Informationen sollten dokumentiert werden.
#8) Während des Testschätzungsprozesses durchzuführende Aktivitäten:
- Organisieren Sie ein Team, das Schätzungen durchführt.
- Zerlegen Sie das Projekt in Projektphasen und nachfolgende konstituierende Aktivitäten.
- Berechnen Sie die Schätzung basierend auf früheren Projekten und Berufserfahrung.
- Priorisieren Sie mögliche Bedrohungen und entwickeln Sie Ansätze zur Minderung dieser Risiken.
- Überprüfen und dokumentieren Sie die relevanten Teile der Arbeit.
- Reichen Sie die Arbeit bei den relevanten Interessengruppen ein.
Bekannteste Testschätzungstechniken
Einige der wichtigsten Techniken zur Testschätzung sind:
- Testpunktschätzung
- Arbeitsphasenbasierte Schätzung
- Use Case Punktschätzung
Wie und wo setzen wir diese Techniken ein:
#1) Die Testpunktschätzung ist eine einfache und leicht verständliche Schätztechnik, die im gesamten Softwaretestspektrum weit verbreitet ist. Iterative Phasen und Einfachheit sind die wichtigsten Merkmale dieser speziellen Technik.
# 2) Arbeitsphasenbasierte Schätzung ist die Schätztechnik, bei der eine Vermutungsschätzung für eine bestimmte Phase (normalerweise die kürzeste und einfachste der Phasen) vorgenommen wird und das Testteam dann schrittweise andere Phasen hinzufügt in die anfängliche Schätzung und kommt schließlich zu einer geeigneten Schätzung.
# 3) Use-Case Point estimation technique ist die Schätzung der Anwendungsfälle, in denen die nicht angepassten Akteursgewichte und die nicht angepassten Anwendungsfallgewichte verwendet werden, um die Softwaretestschätzung zu bestimmen.
Details der Testpunktschätzungstechnik
Die Testpunktschätzungstechnik wird durch Befolgen der unten aufgeführten Schritte ausgeführt:
( Die folgenden Gewichte, die von Projekt zu Projekt variieren können, könnten unter diesem Paradigma betrachtet werden – Einige dieser Gewichte sind die Gewichte für die Programmiersprache basierend auf der Komplexität des Codes, Anwendungsgewicht basierend auf der Art der Anwendung und Testgewichte, die basierend auf den verschiedenen Phasen des Softwaretests zugewiesen werden.)
Unverarbeitete Testpunkte werden mit CWF multipliziert, um die Testgröße in der Größe des Testpunkts zu erhalten.
Der Produktivitätsfaktor gibt die Zeit an, die ein Testingenieur benötigt, um die Prüfung eines Testpunkts abzuschließen.
Der Testaufwand in Personenstunden wird berechnet, indem die Testpunktgröße mit dem Produktivitätsfaktor multipliziert wird.
Für die Berechnung der Testpunktschätzungstechnik berücksichtigen wir die folgenden Variablen.
- Komplexität der Testanforderungen
- Schnittstelle zu anderen Anforderungen
- Gesamtzahl der Prüfpunkte
- Baseline-Testdaten
Wir müssen dann Gewichtsvektoren für jede der Datenvariablen berücksichtigen und sie auf folgende Weise organisieren.
Adjustment factor = Mittelwert aus (Produkt aus Komplexitätsgewicht und Faktorgewicht) / 30
Adjustment Test Point for Test case design = Total Test Point X (1 + Adjustment Factor for Test Case design)
Adjusted Test Point for Test case execution = Total Test Point X (1 + Adjustment factor for Test Case execution)
Gesamttestpunkt (normalisiert) X (1 + Anpassungsfaktor für Testfalldesign / -ausführung) = Angepasster Testpunkt für Testfalldesign / -ausführung
Gesamtaufwand in Personenstunden (PH) = Anzahl normalisierter Testpunkte / Produktivität (in normalisierten Testpunkten pro Personenstunden)
Testschätzungsbeispiele
Versuchen wir, die obige Formulierung auf eine andere praktische Anwendung anzuwenden.
Angenommen, wir haben eine Testanforderung, bei der wir 5 Testszenarien testen müssen.
Nehmen wir nun an, Testszenario 1 hat 5 erwartete Testergebnisse, Testszenario 2 hat 6 erwartete Testergebnisse, Testszenario 3 nur 2 erwartete Testergebnisse, Testszenario 4 9 erwartete Testergebnisse, Testszenario 5 auch 9 erwartete Testergebnisse.
Wir klassifizieren die Testszenarien in drei Klassen, d. H. Komplex, einfach und moderat, basierend auf der Gesamtzahl der erwarteten Ergebnisse in diesen drei Klassen.
Komplexe Klassen haben mehr als 7 erwartete Ergebnisse, während die einfachen aus weniger als 5 erwarteten Ergebnissen bestehen und die moderaten Szenarien aus 4 bis 7 erwarteten Ergebnissen bestehen.
Wir klassifizieren daher Testszenario 1 und Testszenario 2 als moderate Szenarien, Szenario 5 und Szenario 6 als komplexe und Testszenario 3 als einfache.
Wir werden nun Testpunkte auf alle diese Szenarien anwenden. Wir haben 5 Testpunkte für komplexe Klassen, 3 für moderate und 2 für die einfachen Szenarien angewendet.
Wir multiplizieren die angenommenen Testpunkte mit der Gesamtzahl der erwarteten Ergebnisse in all diesen Testszenarien. Wir erhalten also die folgenden Annäherungen:
Szenario 1: 3 Testpunkte * 5 erwartete Testergebnisse = Angepasste Testpunkte = 25
Szenario 2: 3 Testpunkte * 6 erwartete Testergebnisse = Angepasste Testpunkte = 30
Szenario 3: 2 testpunkte * 2 test erwartete Ergebnisse = Angepasste Testpunkte = 4
Szenario 4: 5 Testpunkte * 9 Test erwartete Ergebnisse = Angepasste Testpunkte = 45
Szenario 5: 5 Testpunkte * 9 Test erwartete Ergebnisse = Angepasste Testpunkte = 45
Wenn wir also bedenken, dass wir für jeden angepassten Testpunkt beispielsweise 5 Personenstunden beantragen müssen, erhalten wir das folgende ungefähre Ergebnis.
Testszenario 1: 25 angepasste Testpunkte * 5 Personenstunden = 125 Personenstunden
Testszenario 2: 30 angepasste Testpunkte * 5 Personenstunden = 150 Personenstunden
Testszenario 3: 4 angepasste Testpunkte * 5 Personenstunden = 20 Personenstunden
Testszenario 4: 45 angepasste Testpunkte * 5 Personenstunden = 225 Personenstunden
Testszenario 5: 45 angepasste Testpunkte * 5 Personenstunden = 225 Personenstunden
Die gesamten ungefähren Personenstunden betragen also: 745 Personenstunden
Use Case Point Estimation Method
Die Use Case Point-Methode basiert auf die Anwendungsfälle, in denen wir den gesamten Testschätzungsaufwand basierend auf den Anwendungsfällen oder den Anforderungen berechnen.
Unten ist ein detaillierter Prozess der Use-Case-Punktschätzmethode angegeben:
Ein Beispiel dafür ist, dass wir in einer bestimmten Anforderung 5 Anwendungsfälle haben, Anwendungsfall 1, Anwendungsfall 2, …, Anwendungsfall 5. Betrachten wir nun, dass Anwendungsfall 1 aus 6 Akteuren besteht, Anwendungsfall 2 aus 15 Akteuren, Anwendungsfälle 3, 4 und 5, 3, 4 bzw. 5 Akteure.
Wir betrachten jeden Anwendungsfall, bei dem die Gesamtzahl der Akteure kleiner als 5 ist, als negativ, jeden Anwendungsfall, bei dem die Gesamtzahl der Akteure gleich oder größer als 5 und kleiner oder gleich 10 ist, als positiv und jeden Anwendungsfall mit mehr als 10 Akteuren als außergewöhnlich.
Wir haben uns entschieden, 2 Punkte für die außergewöhnlichen Anwendungsfälle zu vergeben, 1 für die positiven und -1 für die negativen.
Daher kategorisieren wir die Use Cases 1 und 5 als positiv, Use Case 2 als außergewöhnlich und Use Case 3, 4 als negativ basierend auf unseren oben genannten Annahmen.
Also die unverarbeiteten Akteurgewichte = Anwendungsfall 1 = (Gesamtzahl der Akteure) 5 * 1 (der zugewiesene Punkt) = 5. In ähnlicher Weise
Anwendungsfall 2 = 15 * 2 = 30 .
Wenn wir den Vorgang für die restlichen Anwendungsfälle wiederholen, erhalten wir die unverarbeiteten Akteursgewichte = 33
Unverarbeitetes Anwendungsfallgewicht = Gesamtnummer. der Anwendungsfälle = 5
Unverarbeiteter Anwendungsfallpunkt = Nicht angepasste Akteursgewichte + Nicht angepasstes Anwendungsfallgewicht = 33 + 5 = 38
Verarbeiteter Anwendungsfallpunkt = 38 * = 26.7 oder 28 Personenstunden ungefähr
Arbeitsphasenabbautechnik
Die Arbeitsphasenabbautechnik kann in den folgenden Schritten beschrieben werden.
- Gliedern Sie die Gesamtarbeit in Phasen.
- Beginnen Sie mit der einfachsten Phase und weisen Sie ihr einen ungefähren Schätzwert zu.
- Identifizieren Sie dann die nächste mögliche Phase, die nach Abschluss dieser Phase begonnen werden kann.
- Leiten Sie einen möglichen Satz von Approximationswerten ab, die auf diese Phase angewendet werden könnten, und wählen Sie den Maximalwert unter allen abgeleiteten Approximationswerten aus.
- Summieren Sie den angenäherten Schätzwert, indem Sie den aktuellen Schätzwert für den Phasenaufwand zu dem bereits vorhandenen Wert addieren.
- Fahren Sie mit den Schritten 3 bis 5 fort, bis alle im ersten Schritt identifizierten Phasen erschöpft sind.
- Akzeptieren Sie den endgültigen ungefähren Schätzwert als ultimativ.
Angenommen, in einer Anforderung gibt es 5 erforderliche Phasen. In der Anfangsphase 1 gehen wir davon aus, dass der Gesamtaufwand 35 Personenstunden beträgt, und beginnen dann mit der nächsten Phase 2, für die wir 4 Vergleichsannahmen von 35, 45, 55 bzw. 65 haben.
Wir betrachten die 65 Personenstunden, die hier der maximale Wert ist. In Phase 3 , 4 ,5 erstellen wir Schätzungen (12 , 33, 43 , 54) , (15 , 10 , 7 , 8) und (2, 16 , 5 , 13) jeweils. Durch die Anwendung des genannten Prinzips erhalten wir jeweils 185 Personenstunden.
Ich stelle Informationen zur Schätzung des Testaufwands für jede Testaufgabe bereit, die ich aus meiner Erfahrung gelernt habe.
9 Allgemeine Tipps zur genauen Schätzung der Testzeit
Faktoren, die die Schätzung von Softwaretests beeinflussen, und allgemeine Tipps zur genauen Schätzung:
#1) Denken Sie an eine Pufferzeit: Die Schätzung sollte einen Puffer enthalten. Fügen Sie jedoch keinen Puffer hinzu, was nicht realistisch ist. Ein Puffer in der Schätzung ermöglicht es uns, auftretende Verzögerungen zu bewältigen. Ein Puffer hilft auch, eine maximale Testabdeckung zu gewährleisten.
# 2) Betrachten Sie den Fehlerzyklus: Die Testschätzung enthält auch den Fehlerzyklus. Der tatsächliche Testzyklus kann mehr Tage dauern als geschätzt.
Um dies zu vermeiden, sollten wir berücksichtigen, dass der Testzyklus von der Stabilität des Builds abhängt. Wenn der Build nicht stabil ist, benötigen Entwickler möglicherweise mehr Zeit, um das Problem zu beheben, und der Testzyklus wird natürlich automatisch verlängert.
#3) Verfügbarkeit aller Ressourcen für den geschätzten Zeitraum: Die Testschätzung sollte alle von den Teammitgliedern geplanten Blätter (in der Regel lange Blätter) in den nächsten Wochen oder Monaten berücksichtigen. Dadurch wird sichergestellt, dass die Schätzungen realistisch sind.
Die Schätzung sollte eine feste Anzahl von Ressourcen für einen Testzyklus berücksichtigen. Wenn sich die Anzahl der Ressourcen verringert, sollte die Schätzung erneut besucht und entsprechend aktualisiert werden.
# 4) Können wir parallel testen? Haben Sie frühere Versionen desselben Produkts, damit Sie die Ausgabe vergleichen können? Wenn ja, kann dies Ihre Testaufgabe etwas erleichtern. Sie sollten über die Schätzung basierend auf Ihrer Produktversion nachdenken.
# 5) Schätzungen können schief gehen – Besuchen Sie die Schätzungen daher häufig in der Anfangsphase, bevor Sie sie festschreiben: In der Anfangsphase sollten wir die Testschätzungen häufig erneut besuchen und bei Bedarf Änderungen vornehmen. Wir sollten die Schätzung nicht verlängern, sobald wir sie einfrieren, es sei denn, die Anforderungen ändern sich erheblich.
# 6) Denken Sie an Ihre früheren Erfahrungen, um Urteile zu fällen! Erfahrungen aus vergangenen Projekten spielen bei der Erstellung von Zeitschätzungen eine entscheidende Rolle. Wir können versuchen, alle Schwierigkeiten oder Probleme zu vermeiden, die in früheren Projekten aufgetreten sind. Wir können analysieren, wie die vorherigen Schätzungen waren und wie sehr sie dazu beigetragen haben, das Produkt pünktlich zu liefern.
# 7) Betrachten Sie den Umfang des Projekts: Wissen Sie, was das Endziel des Projekts ist, und listen Sie alle endgültigen Ergebnisse auf. Die Faktoren, die bei kleinen und großen Projekten zu berücksichtigen sind, unterscheiden sich stark. Große Projekte umfassen in der Regel das Einrichten eines Testbeds, das Generieren von Testdaten, Testskripten usw.
Daher sollten die Schätzungen auf all diesen Faktoren basieren. Bei kleinen Projekten umfasst der Testzyklus in der Regel das Schreiben, Ausführen und die Regression von Testfällen.
# 8) Werden Sie Lasttests durchführen? Wenn Sie viel Zeit in Leistungstests investieren müssen, schätzen Sie entsprechend. Schätzungen für Projekte, die Lasttests beinhalten, sollten anders betrachtet werden.
#9) Kennen Sie Ihr Team? Wenn Sie die Stärken und Schwächen der Personen kennen, die in Ihrem Team arbeiten, können Sie die Testaufgaben genauer abschätzen. Bei der Schätzung sollte berücksichtigt werden, dass nicht alle Ressourcen das gleiche Produktivitätsniveau aufweisen.
Manche Leute können im Vergleich zu anderen schneller ausführen. Obwohl dies kein wesentlicher Faktor ist, summiert es sich zur Gesamtverzögerung der Ergebnisse.
Fazit
Die Schätzung von Softwaretests ist eine Praxis, die die Einbeziehung erfahrener Fachleute sowie die Einführung branchenweiter Best Practices wie Testfallpunkt- und Anwendungsfallpunktmethoden erfordert.
Es ist auch wichtig, offen für die Anpassung der erforderlichen Prozesse zu sein. Die erfolgreiche Implementierung dieser Prozesse führt zu einer allgemeinen Verbesserung des Testprozesses.
Dies ist ein Gastbeitrag des Autors „N. Sandhya Rani“.
Zuletzt aktualisiert: 29.November 2021