7 factors affecting test estimation selenium automation project selenium tutorial 32
In den letzten Selenium-Tutorials haben wir davon erfahren Automatisierungstests mit dem Gurken- und Selenwerkzeug . Wir haben auch über die Integration von Selenium WebDriver mit Cucumber .
In diesem Tutorial werden wir verschiedene diskutieren Faktoren, die die Aufwandsschätzung der Selenautomatisierung beeinflussen .
Planung und Schätzung sind zwei wichtige Aspekte eines Softwareentwicklungslebenszyklus.
Ich persönlich habe das Gefühl, dass es in der Softwareindustrie solche gibt Keine kugelsicheren Methoden irgendetwas zu tun. Da jedes Projekt exklusiv ist und unterschiedliche Komplexitäts- und Umweltfaktoren aufweist, sollte die Umsetzung der Schätz- und Planungsstrategie eine gemeinsame Anstrengung der einzelnen Teams mit angemessenen Interventionen von Senioren und Managementunterstützung sein.
Bevor Sie mit der Schätzung eines Projekts beginnen, ist es wichtig, jede Phase zu verstehen, die Ihr Projekt durchlaufen wird, damit Sie eine korrekte und begründete Schätzung abgeben können.
Die Schätzung kann nicht nur für den manuellen Testprozess durchgeführt werden, sondern in dieser Ära der Automatisierung werden Schätztechniken auch für die Testautomatisierung angewendet. Jetzt, da Selen an Dynamik und Popularität auf dem Markt gewinnt, versuche ich, über einige Faktoren zu schreiben, die bei der Schätzung eines Selen-Projekts berücksichtigt werden sollten.
Lasst uns beginnen!!
Ich gehe davon aus, dass wir die Automatisierungsinitiative von Grund auf neu starten und kein vorgefertigtes Framework zur Verfügung haben.
Was du lernen wirst:
- Faktoren, die die Abschätzung der Selenautomatisierung beeinflussen
- # 1 Umfang des Projekts
- # 2 Komplexität der Anwendung
- # 3 Verwendung unterstützender Tools / Technologien
- # 4 Implementierung des Frameworks
- # 5 Lernen & Training
- # 6 Umgebung einrichten
- # 7 Codierung / Skripterstellung und Überprüfung
- Fazit:
- Literatur-Empfehlungen
Faktoren, die die Abschätzung der Selenautomatisierung beeinflussen
Die verschiedenen Faktoren, die sich auswirken und die Sie bei der Schätzung des spezifischen Projekts „Selen“ berücksichtigen sollten, werden nachstehend erläutert:
# 1 Umfang des Projekts
Umfang bedeutet normalerweise, die richtigen Testfälle für die Automatisierung zu identifizieren. Wenden Sie die Strategie „Teilen & Regeln“ an, um dies zu erreichen. Teilen Sie Ihre Anwendung in kleine Teile oder Module auf und analysieren Sie sie, um die geeigneten Testfälle für die Automatisierung zu erhalten.
Die Schritte sind:
- Identifizieren Sie die verschiedenen Faktoren, die die Grundlage für die Identifizierung der Testfallkandidaten bilden.
- Teilen Sie die Anwendung in kleinere Module auf
- Analysieren Sie jedes Modul, um die Testkandidaten zu identifizieren
- Berechnen Sie den ROI
Weitere Einzelheiten zur Identifizierung des richtigen Testfalls finden Sie in meinem vorherigen Artikel: Auswahl der richtigen Testfälle für die Automatisierung
# 2 Komplexität der Anwendung
Hier sind folgende Schritte erforderlich:
- Bestimmen Sie die Größe der Anwendung anhand der Anzahl der Testfälle, die automatisiert werden müssen.
- Größenkomplexität durch Fibonacci-Serie.
- Identifizieren Sie den Verifizierungspunkt und den Kontrollpunkt für jeden Testfall
Hier müssen wir die Definition der großen / mittleren und kleinen Anwendung festlegen. Diese Definition unterscheidet sich aus Einzel- / Gruppenperspektive. Wie Sie Ihre Anwendung klassifizieren, hängt auch von der Anzahl der Testfälle ab.
Zum Beispiel:
Wenn Ihre Anwendung 300 bis 500 zu automatisierende Testfälle enthält, können Sie sie als kleine Anwendung betrachten. Wenn die Testfälle über 1500 liegen, kann dies als komplex eingestuft werden. Dieser Faktor kann für die verschiedenen Anwendungen unterschiedlich sein. Für einige können 1500 zu automatisierende Testfälle als klein / mittel skaliert betrachtet werden. Wenn Sie die genaue Anzahl der Testfälle ermittelt haben, skalieren Sie sie auf klein / mittel oder groß. Ihre Strategie zur Schätzung des Aufwands hängt stark von diesen Kriterien ab.
Sie müssen auch die verschiedenen Kontrollpunkte und Überprüfungspunkte für Ihren Testfall berücksichtigen. Ein Testfall kann mehr als einen Prüfpunkt haben
Es wird jedoch nur 1 Überprüfungspunkt vorhanden sein. Wenn Sie mehr als einen Überprüfungspunkt haben, wird empfohlen, diese in separate Testfälle aufzuteilen. Dies erleichtert auch die Wartung und Verbesserung Ihrer Testsuite.
# 3 Verwendung unterstützender Tools / Technologien
Hier sind folgende Schritte erforderlich:
- Identifizieren Sie die Framework- und Automatisierungsanforderungen
- Analysieren und identifizieren Sie anhand der Anforderungen die zu verwendenden Tools.
- Identifizieren Sie die Abhängigkeiten / Auswirkungen der Verwendung des Tools.
Selen allein reicht nicht aus, um ein Framework zu erstellen oder die Automatisierung abzuschließen. Selenium (Web-Treiber) schreibt nur den Testfall, es gibt aber auch andere Aufgaben, wie das Melden des Ergebnisses, das Verfolgen der Protokolle, das Aufnehmen von Screenshots usw.
Um dies zu erreichen, benötigen Sie separate Tools, die in Ihr Framework integriert werden. Daher ist es hier wichtig, diese unterstützenden Einheiten zu identifizieren, die Ihren Anforderungen am besten entsprechen und zu einem positiven ROI beitragen
# 4 Implementierung des Frameworks
Hier kommt der schwierige Teil J die Schritte sind !!
- Identifizieren Sie die Eingabe (Muster, in dem Daten in das Skript eingegeben werden) und Ausgabe (Berichte / Testergebnisse) Ihrer Automatisierungssuite.
- Entwerfen Sie Ihre Eingabedateien. Dies kann von einer einfachen Textdatei bis zu einer komplexen Excel-Datei reichen. Es ist im Grunde die Datei, die Ihre Testdaten enthält.
- Entwerfen Sie die Ordnerstruktur basierend auf Ihren Eingabeparametern und
- Implementieren Sie die Berichtsfunktion (entweder in einer Excel-Datei oder mit einem Tool wie ReportNG).
- Bestimmen / Implementieren des Loggers in Ihrem Framework
- Implementieren Sie das Build-Tool in Ihrem Framework
- Implementieren Sie das Unit Test Framework (Junit oder TestNG).
Abgesehen von der Skripterstellung in der Testautomatisierung mit Selenium gibt es viele andere Anforderungen, z. B. das Lesen der Daten aus einer Datei, das Berichten / Verfolgen der Testergebnisse, das Verfolgen von Protokollen, das Auslösen der Skripte basierend auf den Eingabebedingungen und der Umgebung usw. Wir benötigen also eine Struktur das wird sich um all diese Skripte kümmern. Diese Struktur ist nichts anderes als Ihr Framework.
Webanwendungen sind von Natur aus komplex, da viele unterstützende Tools und Technologien implementiert werden müssen. In ähnlicher Weise ist die Implementierung des Frameworks in Selen auch schwierig (ich werde nicht sagen komplex), da andere zu integrierende Tools erforderlich sind. Da wir wissen, dass Selenium KEIN Tool ist, sondern eine Sammlung / Gruppe von JAR-Dateien. Es ist konfiguriert und nicht „installiert“. Selenium selbst ist nicht stark genug, um ein komplexes Framework zu erstellen. Es erfordert eine Liste von Tools von Drittanbietern zum Erstellen eines Frameworks.
Wir müssen uns hier daran erinnern, dass es in Selen nichts „Fertig“ gibt. Für alles müssen wir codieren, daher sollten Bestimmungen in der Schätzung vorhanden sein, um die Fehler zu googeln und Fehler zu beheben.
Hier müssen wir verstehen, dass das Erstellen von Frameworks der wichtigste Aspekt Ihrer Automatisierungsbemühungen ist. Wenn Ihr Framework absolut solide ist, werden Wartung und Verbesserung vor allem im Zeitalter von Agile einfacher. Wenn Ihr Framework gut ist, können Sie Ihre Tests problemlos in alle Sprints integrieren.
Ich werde mich nicht irren, wenn ich sage, dass dieser besondere Faktor bei der Gestaltung des Frameworks der wichtigste Aspekt der Schätzung sein sollte. Bei Bedarf (wie bei komplexen Anwendungen) sollte dieser Faktor erneut in einen separaten PSP zerlegt und geschätzt werden.
# 5 Lernen & Training
Das Erlernen von Selen unterscheidet sich ein wenig vom Erlernen anderer Automatisierungstools. Im Grunde geht es darum, eine Programmiersprache zu lernen, die nicht nur eine Skriptsprache ist (obwohl die Skriptsprache beim Erstellen eines Frameworks hilfreich ist, wie Sie ein Skript schreiben möchten, das Ihre automatisierten Skripte aufruft, nachdem die Umgebungseinstellungen geändert wurden).
Wenn wir WebDriver mit Java kombinieren, würde ich sagen, wenn man sich mit Core Java gut auskennt, sind sie in einem sehr guten Zustand, um mit der Selenium-Automatisierung zu beginnen.
Neben dem Erlernen von Java sollten Vorkehrungen getroffen werden, um andere Technologien wie ANT / Maven (zum Erstellen), TestNG / jUnit (Unit-Test-Framework), Log4J (zum Protokollieren), Berichterstellung (zum Berichten) usw. zu erlernen. Diese Liste kann basierend darauf erweitert werden die Ebene des Rahmens. Je mehr diese Liste wächst, desto mehr Zeit würde es dauern.
Wenn sich das Management für Selen entschieden hat, können diese Lernaktivitäten parallel zur Planungsaktivität durchgeführt werden. Da dem Erlernen dieser Technologien keine Grenzen gesetzt sind, wird empfohlen, einen bestimmten Plan (Lehrplan) für das Team bereit zu halten, damit sie ihren Lernprozess in eine bestimmte Richtung einleiten können und alle auf derselben Seite sind.
In der Praxis sind wir Tester nicht sehr daran interessiert, eine vollwertige Programmiersprache zu lernen, und wir sind der Meinung, dass dies ein Kinderspiel für Entwickler ist. Aber jetzt müssen wir diese Mentalität ändern und sollten das Erlernen der Programmiersprache als ebenso wichtig betrachten wie das Erlernen des neuen Testprozesses. Dies erhöht nicht nur das Wissen des Testers über Sprache und Automatisierung, sondern gibt auch die Möglichkeit zu verstehen, wie die Anwendung intern funktioniert, was den Umfang der Suche nach neuen Fehlern erhöhen kann.
# 6 Umgebung einrichten
Umweltverträge befassen sich mit (nicht beschränkt auf): -
- Einrichten des Codes in der Testumgebung
- Einrichten von Code in der Produktionsumgebung
- Schreiben von Skripten zum Auslösen der automatisierten Tests.
- Entwicklung der Logik für die Berichterstellung
- Festlegen der Häufigkeit der Ausführung der Skripte und Entwickeln der Logik für deren Implementierung
- Erstellen von Text- / Excel-Dateien zur Eingabe der Testdaten und Testfälle
- Erstellen von Eigenschaftendateien zum Verfolgen der Umgebungen und Anmeldeinformationen
# 7 Codierung / Skripterstellung und Überprüfung
Bevor Sie mit dem Schreiben Ihrer Tests beginnen, müssen Sie zwei Voraussetzungen erfüllen:
- Kandidatentestfälle sollten praktisch sein
- Framework ist fertig
Identifizieren Sie verschiedene Aktionen, die Ihre Webanwendung ausführt. Es können einfache Aktionen wie Navigation, Klicken, Eingeben von Text sein; oder eine komplexe Aktion wie Herstellen einer Verbindung zu einer Datenbank, Behandeln von Flash oder Ajax. Nehmen Sie jeweils einen Testfall und identifizieren Sie alle Aktionen, die dieser bestimmte Testfall ausführt, und schätzen Sie die Stunden pro Testfall entsprechend. Die Summe aller Stunden für die gesamte Testsuite gibt Ihnen die genaue Anzahl.
Die Bereitstellung sollte auch zur Überprüfung vorhanden sein. Die Überprüfungen sind einfach die Codeüberprüfung, die entweder von einem Peer oder einem Entwickler durchgeführt werden kann. Paarprogrammierung ist die beste Option, die schnell ist. Wenn dies jedoch aufgrund der verfügbaren Ressourcen oder der Überprüfungsstrategie der Organisation nicht möglich ist, sollten Stunden dafür zugewiesen werden.
Weitere Details zu jedem Faktor, der die Schätzung beeinflusst:
Faktor 1: Geltungsbereich
Bedeutung : Identifizieren der Kandidaten-Testfälle für die Automatisierung über den ROI
Beteiligte Schritte:
- Identifizieren Sie die verschiedenen Faktoren, die die Grundlage für die Identifizierung der Testfallkandidaten bilden.
- Teilen Sie die Anwendung in kleinere Module auf
- Analysieren Sie jedes Modul, um die Testkandidaten zu identifizieren
- Berechnen Sie den ROI
Lieferbar: Liste der Testfälle, die automatisiert werden müssen.
Bemerkungen: Es ist wichtig, dass Sie Ihren Gültigkeitsbereich einfrieren, sobald Sie andere Schätzungsschritte ausführen.
Faktor 2: Komplexität
Bedeutung: Legen Sie die Definition einer einfachen und kleinen Anwendung fest.
Beteiligte Schritte:
- Passen Sie die Größe der Anwendung an die Anzahl der Testfälle an, die automatisiert werden müssen.
- Größenkomplexität durch Fibonacci-Serie.
- Identifizieren Sie den Verifizierungspunkt und den Kontrollpunkt für jeden Testfall.
Lieferbar: Größe der Anwendung - Klein, Mittel oder Groß.
Eine Reihe von Testfällen und ihr entsprechender Kontrollpunkt und Verifizierungspunkt.
Bemerkungen : Empfohlen - Ein Testfall kann mehrere Prüfpunkte, aber nur einen Überprüfungspunkt haben. Wenn ein Testfall mehr als einen Überprüfungspunkt hat, sollte er in einen separaten Testfall aufgeteilt werden.
Faktor 3: Unterstützende Werkzeuge
Bedeutung: Selen selbst ist nicht stark genug, um ein komplexes Gerüst aufzubauen. Es erfordert eine Liste von Framework-Tools zum Erstellen eines Frameworks.
Beteiligte Schritte:
- Finalisierte IDE
- Finalisiertes Unit-Test-Tool
- Finalisierter Logger
- Finalisiertes Reporting-Tool
- Finalisiertes Build-Tool
Lieferbar: Liste der Tools, die zum Erstellen des Frameworks benötigt werden.
Bemerkungen:
Beispiele:
- Eclipse / RAD - als IDE
- Ant / Maven - Als Build-Tool
- jUnit / TestNG - als Unit-Test-Framework
- Log4j - als Logger
- ReportiNG - als Reporting-Tool
- Textdateien - zum Verfolgen der Umgebungen / Anmeldeinformationen
- Excel-Dateien - zum Verfolgen der Testdaten
- Perl / Python - zum Einrichten einer Umgebung und zum Auslösen der Testskripte.
Faktor 4: Implementierungsframework
Bedeutung: Schaffung von Struktur
Beteiligte Schritte:
- Entwerfen Sie Ihre Eingabedateien.
- Entwerfen Sie die Ordnerstruktur
- Bestimmen / Implementieren des Loggers in Ihrem Rahmen
- Implementieren Sie das Build-Tool in Ihrem Framework
- Implementieren Sie das Unit-Test-Framework
Lieferbar:
- In der IDE erstellte Framework- und Ordnerstruktur.
- Excel-Tabellen mit Ihren Eingabedaten
- Eigenschaftendateien mit umgebungsbezogenen Daten und Anmeldeinformationen.
Bemerkungen: Dies ist der wichtigste Schritt. Es ist ratsam, beim Schätzen eine gewisse Pufferzeit einzubeziehen, da die Fehlerbehebung einige Zeit länger dauert als erwartet.
Faktor 5: Einrichtung der Umgebung
Was ist der beste Sprachwechsler?
Bedeutung: Beschäftigt sich mit dem Einrichten von Code und dem Herunterladen / Vorbereiten der Codebereitstellung
Beteiligte Schritte:
- Bereiten Sie die Eingabedatei und die Berichterstellung vor
- Erstellen Sie das auslösende Skript
Lieferbar: Umwelt bereit
Bemerkungen: Wir sollten versuchen, unser Framework so zu erstellen, dass unser Code mit dem geringsten Aufwand in der genannten Umgebung / Box bereitgestellt wird.
Ich sollte mich nicht irren, wenn ich sage, dass unser Code mit minimalen Einträgen in unsere Textdateien (die die URL und die Anmeldeinformationen enthalten) betriebsbereit sein und ROCK!
Faktor 6: Lernen & Training
Bedeutung: Erlernen einer Programmiersprache und anderer unterstützender Technologien
Beteiligte Schritte: Bereiten Sie einen Plan gemäß Ihren Automatisierungsanforderungen vor, teilen Sie ihn dem Team mit und ermutigen Sie es, gemäß dem Lehrplan zu lernen und fortzufahren.
Lieferbar: Trainingsplan und sein Tracker, der den Fortschritt des Teams verfolgt.
Bemerkungen: Der Schwerpunkt sollte auf dem Aufbau von Logik liegen, anstatt die Syntax zu lernen.
Faktor 7: Codierung / Skripterstellung und Überprüfung
Bedeutung: Schreiben Sie die eigentlichen Testskripte und überprüfen Sie sie
Beteiligte Schritte:
- Testfälle und Framework sind fertig.
- Nehmen / teilen Sie die Testfälle und konvertieren Sie sie in automatisierte Skripte und verfolgen Sie Ihren Fortschritt
Lieferbar: Automatisierte Testskripte
Bemerkungen: die Das gesamte Team sollte am Schreiben der Testskripte unter Verwendung des implementierten Frameworks teilnehmen. Bei der Schätzung sollten daher die Anstrengungen des gesamten Teams berücksichtigt werden.
Fazit ::
Vergessen Sie nach all diesen Punkten nicht, den Verwaltungsaufwand und einige Pufferzeiten in Ihre endgültige Schätzung der Selenium-Automatisierung einzubeziehen. Der beste und bewährte Weg, eine Schätzung vorzunehmen, besteht darin, dem PSP-Mechanismus (Work Breakdown Structure) zu folgen. Dies ist unkompliziert und dient dem Zweck, die Anforderungen an die Automatisierungsschätzung zu implementieren.
Die oben genannten Faktoren basieren auf meiner Erfahrung, aber es kann auch andere Einheiten geben, die die Strategie beeinflussen können.
Die Daumenregel hier ist „Identifizieren Sie bestimmte Kriterien, teilen Sie Ihre Module oder Testfälle nach diesen Kriterien auf. und skaliere es “. Basierend auf Ihrer skalierten Zahl können Sie zu einer genauen Schätzung kommen.
Nächstes Tutorial # 33 :: Wir werden unsere abschließen umfassendste Selenium Online-Schulung kostenlose Tutorials mit dem letzten Tutorial, d.h. Fragen zum Interview mit Selentests mit Antworten ”.
Lassen Sie uns wissen, wenn Sie weitere Tipps zur Aufwandsschätzung von Selen-Projekten haben.
Literatur-Empfehlungen
- Einführung in Selenium WebDriver - Selenium Tutorial # 8
- Effizientes Selenium-Scripting und Fehlerbehebungsszenarien - Selenium-Lernprogramm Nr. 27
- Debuggen von Selenium-Skripten mit Protokollen (Log4j Tutorial) - Selenium Tutorial # 26
- 30+ beste Selen-Tutorials: Lernen Sie Selen anhand realer Beispiele
- Cucumber Selenium Tutorial: Integration von Cucumber Java Selenium WebDriver
- So suchen Sie Elemente in Chrome- und IE-Browsern zum Erstellen von Selenium-Skripten - Selenium-Lernprogramm Nr. 7
- Die beliebtesten Testautomatisierungs-Frameworks mit Vor- und Nachteilen - Selenium Tutorial # 20
- Implementierung unseres ersten WebDriver-Skripts - Selenium WebDriver Tutorial # 10