Testbewertung: Wie berechnet man die genaue Zeit zum Testen des Systems oder "Wann sind die Tests fertig ?!"

Bild

Guten Tag allerseits! Mein Name ist Denis, ich bin der Leiter des Testdienstes bei der BARS Group. Dies ist mein erster Beitrag auf Habré.

Nachdem ich viele interessante Artikel gelesen und von dort viele nützliche Informationen erhalten hatte, wollte ich etwas zurückgeben. Dann begann ich, die Themen zu analysieren: Einige wurden bereits geäußert, andere waren zu einfach ("Wie betrete ich die IT?"). PS Ich wollte niemanden verletzen :)

So berechnen Sie die Zeit für Tests - Problem und Lösung


Als Leiter des Dienstes stoße ich ständig auf die Frage von Managern: „Wann wird es fertig sein?“ oder "Wie lange dauert der Test?" Es scheint, dass dies kompliziert ist, nehmen Sie eine Bewertung des vorherigen Projekts und plus oder minus das gleiche ... aber nein. Mir wurde klar, dass die Aufgabe nicht trivial ist und detaillierte Studien erfordert. Und ich möchte ihre Entscheidung teilen.

Unser Unternehmen verfügt über viele Geschäftszentren und jedes hat seinen eigenen Entwicklungsansatz - hauptsächlich Kanban und Scrum. Aus diesem Grund wurden Teams automatisierter Tester ausgewählt, die mit ihrer Methodik mit dem Entwicklungsteam synchronisiert sind.

Aufgrund unterschiedlicher Ansätze für das Entwicklungsmanagement treten Schwierigkeiten bei der Einheitlichkeit der Aufgabenbildung und -planung auf. Die Verwendung von Kanban und Scrum in seiner reinen Form gab keine Antwort darauf, wie lange der Test dauern würde. Bei Entwurfsentscheidungen ist es jedes Mal erforderlich, die neue Funktionalität zu bewerten und mit Tests abzudecken. Ich habe viel Zeit gebraucht, um zu rechnen. Daher habe ich mich entschlossen, die Methoden zur Schätzung der Zeitkosten für die Softwareentwicklung (zum Testen der Automatisierung) als Grundlage zu nehmen und sie an meine Realität anzupassen. Grundlage war das Prinzip der gewichteten Durchschnittsbewertung und -berechnung auf der Grundlage der Typisierung. Die Schätzungen sind vorübergehende Indikatoren für die Automatisierung typischer Elemente des Systems, und das Niveau der Fachausbildung wird als Gewicht verwendet. Bei der Bildung der Werte der Gewichte habe ich die Genauigkeit der Bewertung bei der Ausführung der Aufgabe gewählt, d. H. Je erfahrener der Spezialist ist,je kleiner der Schätzfehler ist. Die folgenden Werte wurden erhalten:

  • "Senior" - 95% Genauigkeit, Faktor 1,05
  • "Mittel +" - 80% Genauigkeit, Faktor 1,2
  • "Mittel" - 70% Genauigkeit, Koeffizient 1.3
  • "Junior +" - 60% Genauigkeit, Koeffizient 1,4
  • Junior - 50% Genauigkeit, Faktor 1,5

Als nächstes müssen wir die Zeitschätzung t n mit dem entsprechenden Koeffizienten W n multiplizieren . Unsere Berechnungsmethode wird nach der Formel durchgeführt, bei der die Summe der Gewichte ungleich 1 (100%) ist.

Bild

W avg = (w 1 · t 1 + w 2 · t 2 ... + w n · t n ) / (w 1 + w 2 + ... + w n )

Zur Berechnung habe ich zwei Tests durchgeführt - Funktions- und UI-Tests, da sie insgesamt etwa 85% betragen.

Um das Endergebnis zu erhalten, müssen wir eine gewichtete Durchschnittsbewertung für jedes Element in einem größeren Objekt für Berechnungen sammeln - einer Kategorie.

UI-Tests


Beim Testen der Benutzeroberfläche müssen Sie die Arbeit des Benutzers über das Selenium.Webdriver-Framework emulieren. Bei Verwendung dieses Ansatzes ist es schwierig, Elemente in Formularen zu erstellen: Registerkarten, Dokumente mit Online-Bearbeitung, große Raster mit Linien, eine Baumstruktur usw. Zusätzlich zu diesen Elementen gibt es auch Faktoren, die die Testentwicklungszeit beeinflussen:

  • Struktur von Formularen (typischer Konstruktor oder Brauch)
  • AJAX-Anfragen (ihre Nummer)

Auf dieser Grundlage wurden 3 Kategorien von UI-Formularen durch ihre Schwierigkeit bei der Durchführung von Tests unterschieden:

1 Kategorie



2 Kategorie



3 Kategorie



Als Ergebnis erhielt ich die folgenden Ergebnisse, die in der Tabelle dargestellt sind:



Funktionsprüfung


Bei Funktionstests ist die Situation ähnlich wie bei der Benutzeroberfläche - Kategorien für die Systematisierung von Fällen werden hervorgehoben. Zusätzlich zu den REST-Diensten ist SOAP erwähnenswert, da es den drei Kategorien von REST ähnlich sein wird.

Beim Integrationstest werden mehrere Methoden in einem Service getestet. Für eine ungefähre Bewertung wurden 5 Methoden pro Service verwendet.

1 Kategorie



2 Kategorie



3 Kategorie



Ähnlich wie in der UI-Tabelle:



Integrationstests überprüfen den Betrieb von Diensten, die sowohl auf REST als auch auf SOAP basieren. Beim Entwerfen eines Dienstes kann die Anzahl der darin verwendeten Methoden variieren. Für die Berechnungen haben wir durchschnittlich 5 Methoden verwendet.



Mit dieser Berechnung der für das Projekt aufgewendeten Zeit betrug der Prozentsatz der Aufnahme in diese Schätzung 81.

Anstelle einer Schlussfolgerung


Es dauerte eine Woche harter Arbeit, um das erste Mal zu zählen. Daher habe ich die Bewertung nach dem Testen durchgeführt und dann die Ergebnisse mit den Echtzeitkosten verglichen.

Es reicht aus, die Hauptarbeit einmal zu erledigen und sie dann nach der vorgefertigten „Formel“ zu betrachten. Sie müssen jedoch die Tatsache berücksichtigen, dass das Niveau der Mitarbeiter wächst, und Sie müssen das Gewicht jedes Mitarbeiters verstehen, um zu wissen, ob Indikatoren neu berechnet werden müssen.
All dies ist meine Erfahrung und erhebt keinen Anspruch auf Wahrheit.

All Articles