Software testing is a process of verifying that our application or software is working without any defects. Software testing is used to make our application/software more user friendly and prevent any defects in the software at later point of time.
Arten von Softwaretests,
Funktionstest:
Unit-Tests: Beim Unit-Test testen wir kleinere Einheiten von Modulen der Anwendung. Wird auch als „Komponententest“ bezeichnet.
Es wird hauptsächlich von Entwicklern durchgeführt, die den White-Box-Ansatz verwenden.
Das Ziel des Unit-Tests besteht darin, Fehler in einem früheren Entwicklungsstadium zu beseitigen.
Beispiel:
In einer Bankanwendung wird eine Einheit der Anwendung wie die Anmeldeseite mit verschiedenen Testfällen getestet, z. B. mit gültigem Benutzernamen/Passwort, ungültigem Benutzernamen und Passwort usw.
Integrationstests: Beim Integrationstest integrieren wir die einzelnen Einheiten und testen die kollektive Funktionalität.
Es wird von Testern auf Testservern durchgeführt.
Der Zweck des Integrationstests besteht darin, Fehler bei der Interaktion zwischen den einzelnen Einheiten aufzudecken.
Arten nichtfunktionaler Tests:
Leistungstests: Bei diesen Tests überprüfen wir die Leistung und Stabilität der Software unter unterschiedlichen Arbeitslasten. Der Umfang der Leistungstests umfasst das Testen der Geschwindigkeit, Skalierbarkeit, Stabilität und Zuverlässigkeit (Produkt ist sicher oder nicht) der Software.
Beispiel: Die Reaktionszeit einer Bankanwendung beträgt normalerweise 60 Sekunden für die Anmeldeseite und diese Reaktionszeit ändert sich nicht, wenn 10.000 Benutzer gleichzeitig versuchen, auf die Anmeldeseite zuzugreifen.
Auslastungstests: Bei Auslastungstests testen wir, ob die Software große Transaktionen oder einen Anstieg der Auslastung verarbeiten kann. Lasttests werden hauptsächlich von Endbenutzern durchgeführt. Beispiel: Wenn eine große Transaktionslast an eine Bankanwendung übergeben wird.
Volumentests: Beim Volumentest testen wir die Software, indem wir große Mengen auf einmal durchlaufen und die Reaktionszeit des Systems überprüfen. Beispiel: Wenn große Datenmengen an das System übergeben werden, um die Reaktionszeit von Bankanwendungen zu überprüfen.
Lebenszyklus der Softwareentwicklung und Softwaretests:
Wir müssen wissen, was der Lebenszyklus der Softwareentwicklung und der Softwaretest sowie die verschiedenen darin enthaltenen Tests sind, um zu verstehen, welche verschiedenen Arten von Softwaretests wie Unit-Tests, Integrationstests und Systemtests existieren und welcher Typ für eine bestimmte Situation am besten geeignet ist Testfall. Für einen Tester ist es außerdem wichtig zu wissen, wie man Testfälle für ein bestimmtes Szenario schreibt und diese dann ausführt. Nachfolgend sind die wichtigsten Schritte im Softwaretest-Lebenszyklus aufgeführt:
1.Anforderungsanalyse
Dies ist die allererste Phase von STLC, in der die Tester die Projektanforderungen analysieren, indem sie sie mit verschiedenen Stakeholdern besprechen und das RTM vorbereiten (Requirement Traceability Matrix ist ein Dokument, in dem wir die Anforderungen den entsprechenden Testfällen zuordnen).
2.Testplanung
In dieser Phase legt der Testmanager den Testplan oder die Teststrategie, die Auswahl des Testtools, die Testarten im Umfang, die Kostenschätzung, die Ressourcenplanung, die erforderlichen Schulungen usw. fest.
3.Testfallentwicklung
In der Testfall-Entwicklungsphase werden die Testfälle, Skripte und Daten erstellt.
4. Einrichtung der Testumgebung
In dieser Phase wird die Testumgebung auf der Grundlage der Software- und Hardwareanforderungen eingerichtet. In dieser Phase werden Rauchtests durchgeführt.
5.Testausführung
In dieser Phase werden Testfälle und Skripte ausgeführt und die Ergebnisse dokumentiert. Die Fehler/Mängel werden ebenfalls gemeldet und sobald der Fehler behoben ist, werden in dieser Phase auch erneute Tests durchgeführt.
6.Verschluss testen
Dies ist die letzte Phase von STLC, in der die Tester die Testergebnisse und Testabschlussmetriken melden. In dieser Phase wird auch der EOTR (End of Testing Report) von den Testern erstellt und eingereicht.
Bedeutung von Softwaretests
Kostenersparnis: Da wir die Software häufig testen, können unnötige Korrekturen zu einem späteren Zeitpunkt vermieden werden.
Gute Produktqualität und Sicherheit: Softwaretests helfen auch bei der Wartung unseres Produkts und der Vermeidung von Sicherheitsverletzungen
Kundenzufriedenheit: Softwaretests tragen auch dazu bei, Kundenzufriedenheit zu erreichen und Feedback zur Anwendung einzuholen.
Die Risikominderung kann durch die frühzeitige Identifizierung von Problemen erfolgen und verhindert kritische Probleme in späteren Phasen der Entwicklung und nach der Veröffentlichung.
Überprüfung, ob die Software die angegebenen Anforderungen erfüllt und die beabsichtigten Funktionen ausführt.
Eine Verbesserung der Sicherheit kann durch die Erkennung von Schwachstellen und den Schutz der Software vor Sicherheitsbedrohungen und -verstößen erreicht werden.
Softwaretests sind wichtig für die Identifizierung von Problemen und Mängeln im geschriebenen Code im Projekt, sodass diese vor der Auslieferung des Softwareprodukts korrigiert oder behoben werden können, und verbessern außerdem die Produktqualität beim Kunden. Das Testen eines Systems hilft, Lücken, Fehler oder fehlende Anforderungen jeglicher Art zu identifizieren, die von den tatsächlichen Anforderungen abweichen.
Das obige ist der detaillierte Inhalt von#Einführung in das Softwaretesten#. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!