7 Prinzipien des Softwaretests mit Beispielen
7 Prinzipien des Softwaretests
1) Eine umfassende Prüfung ist nicht möglich
2) Defekt ClusterIng.
3) Pestizid-Paradoxon
4) Tests zeigen das Vorhandensein von Defekten
5) Fehlen von Fehlern – Trugschluss
6) Frühes Testen
7) Das Testen ist kontextabhängig
Lernen wir die Testprinzipien mit den folgenden Video Beispiel-
Klicken Sie HIER wenn das Video nicht zugänglich ist
Hintergrund
Es ist wichtig, dass Sie beim Durchführen von Softwaretests optimale Testergebnisse erzielen, ohne vom Ziel abzuweichen. Aber wie stellen Sie fest, dass Sie beim Testen die richtige Strategie verfolgen? Dazu müssen Sie sich an einige grundlegende Testprinzipien halten. Hier sind die sieben gängigen Testprinzipien, die in der Softwarebranche weit verbreitet sind.
Um dies zu verstehen, stellen Sie sich ein Szenario vor, in dem Sie eine Datei von Ordner A in Ordner B verschieben.
Überlegen Sie, wie Sie dies testen können.
Neben den üblichen Szenarien können Sie auch die folgenden Bedingungen testen
- Ich versuche, die Datei zu verschieben, während sie geöffnet ist
- Sie verfügen nicht über die Sicherheitsrechte, um die Datei in Ordner B einzufügen
- Ordner B befindet sich auf einem freigegebenen Laufwerk und die Speicherkapazität ist voll.
- Ordner B enthält bereits eine Datei mit demselben Namen, die Liste ist tatsächlich endlos
- Oder nehmen Sie an, Sie müssen 15 Eingabefelder testen, von denen jedes 5 mögliche Werte hat. Die Anzahl der zu testenden Kombinationen wäre 5^15
Wenn Sie alle möglichen Kombinationen des Projekts testen würden, würden AUSFÜHRUNGSZEIT UND KOSTEN exponentiell ansteigen. Wir brauchen bestimmte Prinzipien und Strategien, um den Testaufwand zu optimieren
Hier sind die 7 Prinzipien:
1) Eine umfassende Prüfung ist nicht möglich
Ja! Eine umfassende Prüfung ist nicht möglich. Stattdessen benötigen wir den optimalen Testumfang basierend auf der Risikobewertung der Anwendung.
Und die Millionen-Dollar-Frage lautet: Wie ermittelt man dieses Risiko?
Um dies zu beantworten, machen wir eine Übung
Welche Operation wird Ihrer Meinung nach am wahrscheinlichsten Ihre OperaSystem zum Scheitern verurteilt?
Ich bin sicher, die meisten von Ihnen hätten es erraten: 10 verschiedene Anwendungen gleichzeitig zu öffnen.
Wenn Sie das also testen würden OperaWenn Sie das System testen, werden Sie erkennen, dass Fehler wahrscheinlich bei Multitasking-Aktivitäten auftreten und gründlich getestet werden müssen, was uns zu unserem nächsten Prinzip bringt Defekt ClusterIng.
2) Defekt ClusterIng.
Defekt Clustering, das besagt, dass eine kleine Anzahl von Modulen die meisten festgestellten Mängel aufweist. Dies ist die Anwendung des Pareto-Prinzips auf Softwaretests: Etwa 80 % der Probleme finden sich in 20 % der Module.
Durch Erfahrung können Sie solche riskanten Module identifizieren. Aber dieser Ansatz hat seine eigenen Probleme
Wenn dieselben Tests immer wieder wiederholt werden, werden dieselben Testfälle irgendwann keine neuen Fehler mehr finden.
3) Pestizid-Paradoxon
Der wiederholte Einsatz derselben Pestizidmischung zur Vernichtung von Insekten in der Landwirtschaft führt im Laufe der Zeit dazu, dass die Insekten eine Resistenz gegen das Pestizid entwickeln, wodurch Pestizide bei Insekten unwirksam werden. Gleiches gilt für Softwaretests. Wenn dieselben Wiederholungstests durchgeführt werden, ist die Methode für die Entdeckung neuer Fehler unbrauchbar.
Um dieses Problem zu lösen, müssen die Testfälle regelmäßig überprüft und überarbeitet werden, wobei neue und unterschiedliche Testfälle hinzugefügt werden, um mehr Fehler zu finden.
Tester können sich nicht einfach auf bestehende Testtechniken verlassen. Er muss ständig darauf achten, die bestehenden Methoden zu verbessern, um das Testen effektiver zu machen. Aber selbst nach all dem Schweiß und der harten Arbeit beim Testen können Sie nie behaupten, dass Ihr Produkt fehlerfrei ist. Um diesen Punkt zu verdeutlichen, sehen wir uns dieses Video der öffentlichen Einführung von an Windows 98
Glauben Sie, ein Unternehmen wie MICROSOFT hätte sein Betriebssystem nicht gründlich getestet und würde seinen Ruf aufs Spiel setzen, nur um bei der öffentlichen Einführung abstürzen zu sehen?
4) Die Prüfung zeigt das Vorhandensein von Mängeln
Daher besagt das Testprinzip, dass – Beim Testen geht es um das Vorhandensein von Defekten und nicht um die Abwesenheit von Defekten. d. h. Softwaretest verringert die Wahrscheinlichkeit, dass unentdeckte Mängel in der Software verbleiben, aber selbst wenn keine Mängel festgestellt werden, ist dies kein Beweis für die Korrektheit.
Aber was wäre, wenn Sie besonders hart arbeiten, alle Vorsichtsmaßnahmen treffen und Ihr Softwareprodukt zu 99 % fehlerfrei machen? Und die Software entspricht nicht den Bedürfnissen und Anforderungen der Kunden.
Dies führt uns zu unserem nächsten Prinzip, das besagt: Fehlerfreiheit
5) Fehlen von Fehlern – Trugschluss
Es ist möglich, dass Software, die zu 99 % fehlerfrei ist, dennoch unbrauchbar ist. Dies kann der Fall sein, wenn das System gründlich auf die falsche Anforderung getestet wird. Bei Softwaretests geht es nicht nur darum, Fehler zu finden, sondern auch darum, zu überprüfen, ob die Software den Geschäftsanforderungen entspricht. Das Fehlen von Fehlern ist ein Trugschluss, dh das Finden und Beheben von Fehlern hilft nicht, wenn der Systemaufbau unbrauchbar ist und die Bedürfnisse und Anforderungen des Benutzers nicht erfüllt.
Um dieses Problem zu lösen, lautet das nächste Prinzip des Testens: Frühes Testen
6) Frühes Testen
Frühes Testen – Das Testen sollte so früh wie möglich im Softwareentwicklungszyklus beginnen. So werden etwaige Mängel in der Anforderungs- oder Entwurfsphase frühzeitig erkannt. Es ist viel günstiger, einen Mangel in den frühen Testphasen zu beheben. Aber wie früh sollte man mit dem Testen beginnen? Es wird empfohlen, mit der Fehlersuche zu beginnen, sobald die Anforderungen definiert sind. Mehr zu diesem Prinzip in einem späteren Schulungstutorial.
7) Das Testen ist kontextabhängig
Das Testen ist kontextabhängig, was im Grunde bedeutet, dass die Art und Weise, wie Sie eine E-Commerce-Site testen, sich von der Art und Weise unterscheidet, wie Sie eine kommerzielle Standardanwendung testen. Nicht alle entwickelten Softwareprogramme sind identisch. Je nach Anwendungstyp können Sie einen anderen Ansatz, andere Methoden, Techniken und Testarten verwenden. Das Testen eines beliebigen Kassensystems in einem Einzelhandelsgeschäft unterscheidet sich beispielsweise vom Testen eines Geldautomaten.
Mythos: „Prinzipien dienen nur als Referenz. Ich werde sie in der Praxis nicht anwenden.“
Das ist so sehr unwahr. Testprinzipien helfen Ihnen dabei, einen effektiven Test zu erstellen Teststrategie und Entwurf von Testfällen zur Fehlererkennung.
Aber das Erlernen der Testprinzipien ist genauso wie das erste Mal Autofahren zu lernen.
Wenn Sie Autofahren lernen, achten Sie zunächst auf alles und jedes, wie Gangwechsel, Geschwindigkeit, Handhabung der Kupplung usw. Aber mit der Erfahrung konzentrieren Sie sich nur auf das Fahren, der Rest kommt von selbst. So können Sie sich sogar mit anderen Fahrgästen im Auto unterhalten.
Gleiches gilt für Testprinzipien. Erfahrene Tester haben diese Prinzipien so verinnerlicht, dass sie sie auch ohne nachzudenken anwenden. Daher ist der Mythos, dass die Grundsätze in der Praxis nicht angewendet werden, einfach nicht wahr.