static testing dynamic testing difference between these two important testing techniques
Testen ist Verifizierung und Validierung . Wir alle wissen, dass es 2 Vs dauert, um den Test abzuschließen.
Im heutigen Artikel werden wir etwas Licht ins Dunkel bringen Statische Prüfung . Es wird auch als Verifikation bezeichnet. Wir werden alles darüber lernen und besonders darauf achten, weil Dynamisches Testen erhält oft maximale Aufmerksamkeit und hat unzählige Artikel, die es detailliert beschreiben.
Eine Diskussion über statische Tests wäre jedoch nicht vollständig, ohne zu erklären, was das Gegenstück, das dynamische Testen, bedeutet. Dynamisches Testen ist Validierung, das andere „V“.
Dynamisches Testen ist, wenn Sie mit dem tatsächlichen System arbeiten (nicht mit einem Artefakt oder Modell, das dies darstellt das System), eine Eingabe bereitstellen, eine Ausgabe empfangen und die Ausgabe mit dem erwarteten Verhalten vergleichen. Es ist eine praktische Arbeit mit dem System, um Fehler zu finden.
Während dieses Prozesses werden wir verstehen, dass die folgenden zwei häufigen Missverständnisse über das Testen nicht zutreffen:
- Testen ist eine Aktivität, die am Ende steht
- Es wird nur von Testern durchgeführt und der Rest von ihnen hat nichts zu tun
Beginnen wir mit einem kurzen Verweis auf die V-Modell ::
- Auf der links des V-Modells haben wir Aktivitäten, die nicht vom QS-Team durchgeführt werden.
- Auf der rechte Seite Wir haben einige davon, die vom Entwicklerteam betreut werden, einige von den Testern und einige von Benutzern.
Lass uns beginnen mit - Erfassung von Anforderungen . Es wird vom Business Analyst und anderen übergeordneten Managements durchgeführt. Das Ausgabedokument für diese Phase ist das Business Requirement Document (BRD).
wie man Array-Index außerhalb der Grenzen Ausnahme in Java löst
Die nächste Stufe ist die System-Design . Das Systemdesign ist eine Phase, in der die Geschäftsanforderungen in die funktionalen Anforderungen im FRD (Functional Requirements Document) übersetzt werden.
Wenn die Übersetzung stattfindet, wird das Entwicklerteam (der in diesem Schritt der Hauptdarsteller ist) das BRD-Dokument Schritt für Schritt, Seite für Seite und Zeile für Zeile durchgehen. Obwohl das Hauptziel darin besteht, die Geschäftsanforderungen für die Übersetzung zu nutzen, wird das BRD-Dokument der Reihe nach überprüft.
Ein Beispiel:: Angenommen, dies ist die BRD für eine Bankenseite, die viel Wert auf Sicherheit legt. In der BRD gibt es einen Abschnitt, in dem die Kennwortregeln für die verschiedenen Benutzer erläutert werden, die ein Konto bei der Online-Banking-Website erstellen. Eine der Regeln ist: Ein Benutzer kann kein Kennwort verwenden, das er für andere Konten verwendet.
Dies ist nicht machbar. Da eine Site lediglich vorschlagen kann, wie der Benutzer Anmeldeinformationen festlegen soll, dies jedoch nicht möglich ist, kann diese Einschränkung auferlegt werden. Diese Anforderung ist also nicht realisierbar - mit anderen Worten, sie kann nicht über die Software erfüllt werden.
Betrachten wir nun die folgenden Punkte anhand dieses Beispiels:
- Wie wird festgestellt, dass diese Anforderung nicht baubar ist und daher nicht getestet werden kann (mit anderen Worten, nicht realisierbar)? Haben wir die Website der Bank und legen wir dann den Login und das Passwort fest - und stellen dann fest, dass dies nicht möglich ist? Nein, wir stützen uns einfach auf unsere Überprüfung der BRD und natürlich auf einen gesunden Menschenverstand.
- Testen wir diese Anforderung? Sicher, aber rein basierend auf dem theoretischen, konzeptuellen Sinn, aber nicht auf dem tatsächlichen AUT (Application under Test).
- Was ist die physikalische Form dieses Tests? - Eine einfache Lektüre oder eine formelle Überprüfung der BRD oder eine noch formellere Durchführbarkeitsanalyse der Geschäftsanforderungen.
Zurück zu unseren Missverständnissen:
- Wer führt diese Überprüfung der BRD durch? - Meistens das Entwicklerteam und andere technische Teams, die für die Erstellung des Produkts verantwortlich sind. Keine Tester.
- Wird diese Überprüfung am Ende der Produkterstellung durchgeführt? Nein, in der Anfangsphase der Projektentwicklung. Daher nicht nur das Ende.
Statische Testtechniken:
Zusammenfassend ist das statische Testen der Verifikationsteil des Softwaretests, der den folgenden Methoden folgt:
- Dokumentprüfungen
- Komplettlösungen
- Inspektion
- Machbarkeitsanalyse oder jede andere Form der Analyse, um festzustellen, ob die Software so ist, wie sie sein sollte oder nicht
- Code-Review
Um den CSTE CBOK zu zitieren, 'Die Überprüfung beantwortet die Frage:' Haben wir das richtige System gebaut? ' Während die Validierung lautet: 'Haben wir das System richtig aufgebaut?'
Im Folgenden sind alle statischen Testaktivitäten aufgeführt, die auf der linken Seite des V-Modells ausgeführt werden.
SDLC-Stufe | Ausgabe | Überprüft | Schauspieler |
---|---|---|---|
Sammeln von Geschäftsanforderungen | BRD (Business Requirement Document) | Scope-Dokument (falls vorhanden) | |
Systemanforderungsdesign | FRD (Functional Requirement Document) | Überprüft / überprüft die BRD | Entwickler, technische Teams |
Design der technischen Anforderungen | TDD (Technical Design Document) | Überprüft / überprüft die FRD | Entwickler, technische Teams |
Design-Code) | Code | Überprüft / überprüft die TDD. Codeüberprüfung durch das Entwicklerteam auf Vollständigkeit, Format usw. | Entwickler, technische Teams |
Hinweis: Diese Informationen können für Projekte nach Entwicklungsmethoden extrapoliert werden, da die Schritte mehr oder weniger ähnlich sein werden.
Auf der rechten Seite des V-Modells befindet sich die Validierung.
Dynamische Testtechniken:
- Unit Testing
- Integrationstests
- Systemtests
In den Phasen Unit, Integration, System und UAT geht es darum, Tests zu erstellen, die auf dem AUT in verschiedenen Phasen seiner Entwicklung durchgeführt werden sollen. Obwohl die Tests darauf abzielen, verschiedene Arten von Anforderungen zu validieren, sind sie alle gleich.
Jede Form von Test, bei der ein Test auf einem AUT und dessen Ausgabe ausgeführt werden muss, ist erforderlich, um das Ergebnis des Tests zu bestimmen (erfolgreich oder nicht) - es handelt sich um eine Validierung.
Wäre es nun in Ordnung zu verallgemeinern, dass auf der rechten Seite (RHS) des V-Modells überhaupt keine Überprüfung erfolgt? Die Antwort ist nein.
Alle Tests, die in jeder Phase der RHS erstellt werden, werden während der Testerstellung / -abschlussphase mehrmals überprüft. Der detaillierte Prozess der Überprüfung der Testdokumentation ist bei https://www.softwaretestinghelp.com/test-documentation-reviews/
Auf der rechten Seite:
- Tests und Code werden in den Testphasen Unit / Integration von den Entwicklern überprüft.
- Systemtests werden während ihrer Dokumentation einer Peer-Review unterzogen und nach Abschluss einer Überprüfung durch das Entwicklerteam und den Business-Analysten unterzogen.
- UAT-Tests werden vor Beginn der UAT vom QA-Team sowie den Benutzern überprüft.
Fazit
Zusammenfassend ist das statische Testen eine wichtige Testtechnik, die in Form von Geschäftsanforderungsüberprüfung, Funktionsanforderungsüberprüfung, Entwurfsüberprüfungen, Code-exemplarischen Vorgehensweisen und Überprüfung der Testdokumentation erfolgt. Es ist eine kontinuierliche Aktivität und wird nicht nur von Testern durchgeführt.
Bei der Validierung ist der dynamische Testteil praktischer und erfolgt auf dem Produkt selbst und nicht auf einem Artefakt oder einer Darstellung des Produkts. Ein viel formaler Prozess der Identifizierung von Testfällen / -zuständen, Überlegungen zur Abdeckung, Ausführung und Fehlerberichterstattung kennzeichnen die dynamischen Testmethoden.
Über den Autor: Dieser Artikel wurde vom STH-Teammitglied Swati S. verfasst.
Bitte teilen Sie Ihre Kommentare, Fragen und Erfahrungen zum Thema statische und dynamische Tests mit.
Literatur-Empfehlungen
- Unterschied zwischen Desktop-, Client Server-Tests und Web-Tests
- Agile Schätztechniken: Eine echte Schätzung in einem agilen Projekt
- Black-Box-Test: Ein ausführliches Tutorial mit Beispielen und Techniken
- Was ist Konformitätstest (Konformitätstest)?
- Was ist der Unterschied zwischen SIT und UAT-Tests?
- Alpha-Tests und Beta-Tests (eine vollständige Anleitung)
- Hauptunterschiede zwischen Black-Box-Tests und White-Box-Tests
- Die Unterschiede zwischen Unit Testing, Integration Testing und Functional Testing