when opt automation testing
Sollten wir Automatisierungstests für ein Projekt in Betracht ziehen? Wann sollten wir uns für Automatisierungstests entscheiden?
Es werden Tests durchgeführt, um dem Endbenutzer qualitativ hochwertige Ergebnisse zu liefern. Testphase ist einer der Hauptaspekte von STLC .
Jedes Unternehmen konzentriert sich mehr auf Softwaretests, da seine Qualität zu einer optimalen Kundenzufriedenheit führt. Viele von ihnen haben jedoch immer noch Schwierigkeiten, die Art der durchzuführenden Tests entweder mit automatisierten oder manuellen Tests durchzuführen.
Dieser Artikel hilft dem Leser zu verstehen, was Automatisierungstests sind, wann und vor allem, wann nicht. Lernen Sie auch die optimale Nutzung von Automatisierungstools zum Testen .
Was auch immer getan wird, es sollte effektiv durchgeführt werden und muss auch kostengünstig sein. Darüber hinaus sollte es sinnvoll sein, dass sich der Kunde über die Ergebnisse freut.
Was du lernen wirst:
- Softwaretests und Kostenvorteile
- Intelligenz hinter Softwaretests
- Automatisierung - ist es wirklich wichtig?
- Warum Automatisierung?
- Risikofaktor
- Wann sollte die Automatisierung nicht bevorzugt werden?
- Kosten gegen ROI für die Automatisierung
- Wo kann die Automatisierung die REDUZIERUNG auf ein Minimum reduzieren?
- Fazit
- Literatur-Empfehlungen
Softwaretests und Kostenvorteile
Der Softwaretest wird normalerweise von einem Software-Tester durchgeführt. Der Unterschied zwischen einem Tester und einem echten Benutzer besteht darin, dass dieser nur eine teilweise Verwendung der Software kennt, die für sein Geschäft oder seine Aufgaben verwendet wird, und die Software nicht vollständig kennt. Andererseits kennt ein Tester alle technischen und funktionalen Anforderungen der Software. Basierend auf den Anforderungen des Kunden müssen Testpläne und Testfälle erstellt werden.
Ein Testplan ist nichts anderes als ein detaillierter Plan, wie der Testprozess durchgeführt werden soll. Hier finden Sie vollständige Informationen über die Anzahl der Ressourcen und Quellen, die am Testen beteiligt sind, was zu tun ist und wann zu tun ist, was nicht zu tun ist und in welcher Umgebung es ausgeführt wird usw.
Testfälle sollten nach einem klaren Verständnis des funktionalen und technischen Aspekts der Software erstellt werden. Der Tester muss über eine ausgeprägte Beobachtungskapazität und umfassende Kenntnisse der Software verfügen.
Darüber hinaus spielen hier die Kosten eine effektive Rolle. Kunden bevorzugen es, Software mit maximaler Qualität zu minimalen Kosten zu akzeptieren. Wenn wir manuell testen, ist der Prozess langwieriger und zeitaufwändiger, da alles manuell von einem Tester durchgeführt wird.
Zum Beispiel , wenn wir 'n' Anzahl von Testern benötigen Regressionstest ausführen Es kann fast 50 Stunden dauern, bis alle Testfälle ausgeführt sind. Und basierend auf der Ressourcenverfügbarkeit werden die Testfälle ausgeführt. Mit weniger Zeit für automatisierte Tests wird jedoch eine optimale Ressourcennutzung bei maximaler Abdeckung von Testfällen im Vergleich zu manuellen Tests durchgeführt.
Intelligenz hinter Softwaretests
Für jedes Unternehmen ist es sehr wichtig zu wissen, wann der Testprozess gestartet und wann er beendet werden muss. Wir sollten wissen, wann mit dem Testen begonnen werden muss, da es sinnlos ist, mit dem Testen zu beginnen, wenn die Entwicklungsphase abgeschlossen ist und die erforderlichen Kriterien nicht erfüllt sind. Es ist immer eine bewährte Methode, mit der Testdesignphase zu beginnen, während die Entwicklung läuft.
Nachstehend sind die Kriterien für den Ein- und Ausstieg von Softwaretests aufgeführt:
Aufnahmekriterien
Nach der Unterzeichnung des Konstruktionsdokuments müssen die Testpläne in der Planungsphase erstellt werden. Ein Testplan spielt eine wichtige Rolle. Die erforderliche Hardware muss ordnungsgemäß installiert und konfiguriert sein und die Funktionalität der Hardware muss überprüft werden. Die funktionalen Anforderungen müssen klar und genehmigt sein. Der entwickelte Code muss von den Entwicklern getestet und abgemeldet werden.
Testfälle und Testdaten müssen vorbereitet und genehmigt werden. Testdaten und Anwendung sollten verfügbar sein. Der Tester muss über fundierte und ausreichende Kenntnisse der Anwendung verfügen. Die Ressourcen sollten in Bezug auf Werkzeuge gut geschult sein und mit allen erforderlichen Funktionen geklärt werden.
Der Tester muss verfügbar sein. Wenn eines der Kriterien nicht erreicht wird, werden die Einreisekriterien für Tests zurückgehalten.
(Hinweis: Klicken Sie auf ein Bild für eine vergrößerte Ansicht)
Abbruchkriterium
Nur wenn mindestens 95% der obligatorischen Testfälle mit einem „Bestanden“ -Ergebnis abgeschlossen sind, können wir die Testphase für das Produkt beenden. Es ist jedoch nicht so einfach festzustellen, wann Softwaretests gestoppt werden können oder ob sie noch ausgeführt werden müssen. Und diese Art von Situation tritt häufig auch auf.
Die Hauptkriterien sind unten angegeben:
- Wenn alle Fehler behoben sind.
- Wenn die Frist erreicht ist.
- Wenn das Budget erschöpft oder erschöpft ist.
- Wenn alle Testfälle bestanden sind.
- Wenn die Vereinbarung unterzeichnet ist.
- Wenn ein bestimmter Prozentsatz der Tests durchgeführt wird.
- Wenn die Alpha und Beta-Tests endet.
Die Ausstiegskriterien können ausschließlich auf der Grundlage von Faktoren wie Risiko, Kosten usw. abgeleitet werden. Wenn das Testen der Hauptfunktionsanforderung erreicht wurde, wird das Testen normalerweise abgebrochen und es wird nie nach kleineren Fehlern gesucht, die zu Problemen im Internet führen spätere Perioden.
Beispiel:: Software ABC befindet sich in einer Entwurfsphase. Die Entwicklungs- und Testkonstruktion erfolgt in der Regel gleichzeitig. Nachdem das Design eingefroren wurde, beginnt die Entwicklung der Software. Der vereinbarte Abschluss der Softwareentwicklung gibt die Einstiegskriterien an. Die hier erbrachten Leistungen stammen vom Entwicklungsteam. Es enthält Versionshinweise und bekannte Probleme.
Nach wenigen Testiterationen wird dies als Beendigungskriterium bezeichnet, wenn keine Haupt- / Blocker- / Show-Stopper zur Lösung anstehen und 95% der Tests zu einem Bestehen geführt haben.
Automatisierung - ist es wirklich wichtig?
Wenn wir uns entscheiden müssen, ob wir es brauchen Automatisierte Testtechnik oder nicht, hier stellt sich die Frage nach den verfügbaren Ressourcen. Die Gründe für die Automatisierung liegen in der Überprüfung, ob der Datenfluss und die entwickelten Funktionen ohne manuelles Eingreifen erwartungsgemäß funktionieren oder nicht. Es wird hauptsächlich an Orten verwendet, an denen die Software Änderungen in Form mehrerer Releases / Zyklen usw. aufweist.
beste kostenlose Backup-Software für Windows 10 2017
Am Ende der Entwicklung jedes Zyklus wird die aktuell hinzugefügte Funktionalität getestet. Zusätzlich wird die alte Funktionalität getestet, um sicherzustellen, dass die alten Funktionen nicht beschädigt werden. Dies ist der Hauptteil, der den Spielraum für die Automatisierung bietet.
Bei der Überprüfung der codegesteuerten Logik und der GUI-Anforderungen kann man sich für automatisierte Tests entscheiden, sofern der Risikofaktor hoch ist.
Beispiel: Für die Software ABC gibt es häufige Upgrades, Updates werden vom Client gesucht und von den Entwicklern bereitgestellt. Daher wird im Rahmen des Testens eine Regression für die Software durchgeführt, die bereits in der Produktion aktiv ist. Unabhängig von der Anzahl der Releases, Upgrades und Updates ist die aktuelle Version gültig.
Angenommen, es sind 10 Tage manuelle Anstrengungen erforderlich, um die Abdeckung durch Regressionstests abzudecken, und dann muss die größte Sorgfalt für deren Automatisierung angewendet werden. Dies spart mindestens 60% Aufwand und 10 * 8 = 80 Stunden Handarbeit.
Die Automatisierung kann nur 80/24 = 3,33 Tage dauern. Dies spart ungefähr 6,67.
Warum Automatisierung?
Automatisierung kann nur gewählt werden, wenn:
- Die Anwendung hat einen sehr großen Bereich mit einem hohen Investitionsaufwand für die Regression.
- Die Kostenoptimierung erfolgte aufgrund manueller Fehler.
- Die Software verfügt über mehrere Versionen und Releases.
- Es ist auf lange Sicht kostengünstig.
- Der Risikofaktor ist für einen breiteren Bereich der Testausführung höher.
- Kostenangaben und mathematische Berechnungen sind in der Softwarefunktionalität enthalten.
- Das Ausführungstempo, die Effizienz und die Softwarequalität werden stärker erhöht.
- Selbst für Softwaretests mit hohem Risiko ist die Bearbeitungszeit kürzer.
Risikofaktor
Der Risikofaktor ist in Unternehmen, in denen viele Abhängigkeiten vom Zeitfaktor bestehen, überwiegend verbreitet. Für die Software, die auf den Transaktionssystemen basiert und über mehrere Anwendungen hinweg funktioniert, muss die Software gemäß dem Software-Design optimal funktionieren. In diesem Fall besteht ein hohes Risiko, dass das richtige Funktionsverhalten aufgezeichnet wird.
Hier ist die Automatisierung sehr hilfreich, um die funktionalen Transaktionen gemäß dem Softwaremechanismus schneller auszuführen.
Zum Beispiel Im Fall eines Forex-Marktindikators ist der Zeitfaktor sehr wichtig und kritisch. Die Veränderungen der Bestände und Rohstoffe erfolgen zeitlich, manchmal weniger als Sekunden. Hier kann die Automatisierung beim Testen solcher Software mit hohem Risiko helfen.
Beispiel: Software ABC verfügt über mehrere Updates und Upgrades. Um manuellen Aufwand zu sparen und die Bearbeitungszeit für die Testphase zu verkürzen, kann die Basisversion oder die alten Funktionen automatisiert werden. Dies kann nur gültig werden, wenn die Basisfunktionalitäten unverändert bleiben.
Der Vorteil der Automatisierung besteht darin, dass sie ohne manuellen Eingriff ausgeführt werden können. Auch dies kann parallel zum Testen neuerer Funktionen durchgeführt werden. Daher spart die Automatisierung viel Aufwand und Zeit.
Wann sollte die Automatisierung nicht bevorzugt werden?
Bei mehreren Organisationen stellt sich die Frage: Warum ist eine 100% ige Automatisierung nicht möglich?
Die Antwort von Experten lautet UNTERLASSEN SIE weil qualifizierte Benutzer automatisierte Tests durchführen müssen und auch gut geschult sein müssen. Die Automatisierung kann in der Anfangsphase der Kriterien nicht durchgeführt werden, und die Anforderungen der Anwendungen sind nicht klar.
Normalerweise wird die Automatisierung ab der zweiten Iteration einer Softwareversion bevorzugt. Die Benutzeroberfläche kann geändert werden, was teurer ist, und die Skriptwartung ist auch teurer. Wenn die für das Automatisierungstool erforderlichen Kosten das Budget des Projekts überschreiten, können wir Nein sagen.
Beispiel:: Software XYZ ist eine Art E-Commerce-Site, bei der die Kundenanforderungen nicht eingefroren werden und sich bei Bedarf der Kunden ständig ändern.
In diesem Fall kann die Automatisierung der Regression nicht helfen. Dies liegt daran, dass die alten Funktionen, die nicht gültig sind, nicht getestet werden sollten und daher manuell ausgeführt werden müssen. Beispielsweise muss ein Client alle Listenfelder in der Basissoftware haben, um als Dropdown-Felder geändert zu werden.
Kosten gegen ROI für die Automatisierung
Der ROI ist sehr niedrig, wenn wir uns zunächst für die Automatisierung entscheiden, da die Automatisierung zum ersten Mal teuer ist. Der ROI steigt ständig, da der manuelle Aufwand beim Testen der Software gegenüber den Iterationen der zweiten Version abnimmt. Wir müssen das erwartete Ergebnis eines Testfalls vor der Automatisierung kennen.
Berücksichtigen Sie das Design der Testfälle bei der Auswahl der Automatisierung und eines Tools, um sicherzustellen, dass die Kosten nicht steigen.
Wo kann die Automatisierung die REDUZIERUNG auf ein Minimum reduzieren?
Sogar Automatisierungskosten, da das zum Testen erforderliche Tool gekauft werden muss. Die Ressourcen müssen mit dem jeweiligen Tool geschult werden. Das ausgewählte Tool muss möglich sein, um alle Bereiche der Software zu testen.
Daher sollte die Werkzeugauswahl von den Experten für Automatisierungstests sorgfältig durchgeführt werden.
Beispiel:: Betrachten Sie das Produkt XYZ, das sich mit Versicherungen befasst. Um den Kostenfaktor zu reduzieren, verwendete das Unternehmen nur manuelle Tests. Wenn es jedoch um Versicherungen geht, ist der Risikofaktor hoch und kann das Unternehmen Geld kosten, wenn eine der Prämienberechnungen schief geht. Der gesamte Verlust wird entweder dem Management zugute kommen oder an den Endbenutzer. Der Endverbraucher trägt keinen Verlust, während das Unternehmen dies tun muss.
Wenn der berechnete Prämienbetrag nicht mit der ursprünglichen Prämie übereinstimmt (d. H. Wenn sich die Berechnung der Front-End- und Back-End-Prämie unterscheidet), tritt ein großes Problem zwischen dem Kunden und dem Produktverkäufer auf. Es kann viele Module wie Automobile, Heim und andere enthalten.
Wenn etwas schief geht, ist es ein völliger Verlust. Der Unterschied in der Berechnung kann für den Tester sinnvoll sein und Fehler verursachen. In diesem Projekt wurde die manuelle Prüfung kann für die grundlegende Benutzeroberfläche durchgeführt werden, z. B. zum Überprüfen der TIN-Nummer, der sozialen ID und anderer Informationen in Bezug auf das Benutzerportfolio, und kann daher manuell getestet werden, wenn der Risikofaktor niedrig ist. Sie Je mehr das Unternehmen davon profitieren würde, desto mehr bevorzugen sie die Automatisierung zum Testen ihrer Software.
Fazit
Sowohl die Automatisierung als auch das manuelle Testen haben Vor- und Nachteile. Nur wenn wir uns über die Konzepte und Anforderungen im Klaren sind, können wir entscheiden, welche Art von Tests durchgeführt werden sollen.
Kein Projekt kann allein mit manuellen oder automatisierten Tests getestet werden. Dies hängt vom Design, der Plattform und der Technologie ab, mit der die Software entwickelt wurde. Wenn man eine Entscheidung trifft, muss man bei der Auswahl der Testmethode vorsichtig sein und den Rat von Experten befolgen.
Im obigen Artikel haben wir möglicherweise einige Faktoren übersehen. Teilen Sie uns bitte die Faktoren mit, die Sie für wichtig halten, wenn Sie sich für die Automatisierung oder sogar für Tools für die Automatisierung entscheiden.
In der Zwischenzeit können Sie gerne Ihre Kommentare / Vorschläge zu diesem Artikel teilen.
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Herausforderungen beim manuellen und automatischen Testen
- Top 10+ Best Software Testing Books (Handbuch und Handbuch für Automatisierungstests)
- Software Testing QA Assistant Job
- 11 besten Automatisierungstools zum Testen von Android-Anwendungen (Android App Testing Tools)
- Sind Sie ein Experte für manuelle oder Automatisierungstests? Teilzeit für uns arbeiten!
- Softwaretestkurs: An welchem Softwaretestinstitut soll ich teilnehmen?
- Wählen Sie Software-Tests als Ihre Karriere