Was ist dynamisches Testen? Typen, Techniken & Beispiel

Inhaltsverzeichnis:

Anonim

Dynamisches Testen

Dynamisches Testen ist eine Softwaretestmethode, mit der das dynamische Verhalten von Softwarecode getestet wird. Der Hauptzweck des dynamischen Testens besteht darin, das Softwareverhalten mit dynamischen oder nicht konstanten Variablen zu testen und Schwachstellen in der Software-Laufzeitumgebung zu finden. Der Code muss ausgeführt werden, um das dynamische Verhalten zu testen.

Wir alle wissen, dass das Testen eine Verifizierung und Validierung ist, und es dauert 2 Vs, um das Testen abzuschließen. Von den 2 Vs wird die Verifizierung als statischer Test bezeichnet, und das andere "V", die Validierung, wird als dynamischer Test bezeichnet.

Beispiel für ein dynamisches Testen

Lassen Sie uns anhand eines Beispiels verstehen, wie dynamische Tests durchgeführt werden:

Angenommen, wir testen eine Anmeldeseite, auf der zwei Felder "Benutzername" und "Kennwort" angezeigt werden und der Benutzername auf Alphanumerisch beschränkt ist.

Wenn der Benutzer den Benutzernamen als "Guru99" eingibt, akzeptiert das System diesen. Wenn der Benutzer als Guru99 @ 123 eingibt, gibt die Anwendung eine Fehlermeldung aus. Dieses Ergebnis zeigt, dass der Code basierend auf den Benutzereingaben dynamisch wirkt .

Dynamisches Testen ist, wenn Sie mit dem tatsächlichen System arbeiten, indem Sie eine Eingabe bereitstellen und das tatsächliche Verhalten der Anwendung mit dem erwarteten Verhalten vergleichen. Mit anderen Worten, mit dem System arbeiten, um Fehler zu finden.

Basierend auf den obigen Aussagen können wir also sagen oder schließen, dass dynamisches Testen ein Prozess zur Validierung von Softwareanwendungen als Endbenutzer in verschiedenen Umgebungen ist, um die richtige Software zu erstellen.

Was macht dynamisches Testen?

Das Hauptziel der dynamischen Tests besteht darin, sicherzustellen, dass die Software während und nach der Installation der Software ordnungsgemäß funktioniert, um eine stabile Anwendung ohne größere Fehler zu gewährleisten (diese Aussage wird getroffen, da keine Software fehlerfrei ist. Tests können nur das Vorhandensein von Fehlern und Fehlern anzeigen keine Abwesenheit)

Der Hauptzweck des dynamischen Tests besteht darin, die Konsistenz der Software sicherzustellen. Lassen Sie uns dies anhand eines Beispiels diskutieren.

In einer Bankanwendung finden wir verschiedene Bildschirme wie "Meine Konten", "Überweisung", "Rechnungszahlung" usw. Alle diese Bildschirme enthalten ein Betragsfeld, in dem einige Zeichen akzeptiert werden.

Angenommen, das Feld "Meine Konten" zeigt den Betrag als 25.000 und die Überweisung als 25.000 US-Dollar und den Bildschirm " Rechnungszahlung" als 25.000 US- Dollar an. Obwohl der Betrag derselbe ist, ist die Art und Weise, wie der Betrag angezeigt wird, nicht derselbe, wodurch die Software nicht konsistent wird.

Die Konsistenz ist nicht nur auf die Funktionalität beschränkt, sondern bezieht sich auch auf verschiedene Standards wie Leistung, Benutzerfreundlichkeit, Kompatibilität usw. Daher ist es sehr wichtig, dynamische Tests durchzuführen.

Arten von dynamischen Tests

Dynamisches Testen wird in zwei Kategorien eingeteilt

  • White-Box-Test
  • Black-Box-Test

Die folgende bildliche Darstellung gibt uns einen Überblick über Arten von dynamischen Tests, Teststufen usw.

Lassen Sie uns kurz jede Art von Test und ihren beabsichtigten Zweck besprechen

White-Box-Test - White-Box-Test ist eine Software-Testmethode, bei der die interne Struktur / das interne Design dem Tester bekannt ist. Das Hauptziel der White-Box-Tests besteht darin, anhand des Codes zu überprüfen, wie das System funktioniert. Es wird hauptsächlich von Entwicklern oder White-Box-Testern durchgeführt, die über Programmierkenntnisse verfügen.

Black-Box-Test - Black-Box-Test ist eine Testmethode, bei der die interne Struktur / der Code / das Design dem Tester NICHT bekannt ist. Das Hauptziel dieses Tests zur Überprüfung der Funktionalität des zu testenden Systems und dieser Art von Tests erfordert die Ausführung der gesamten Testsuite und wird hauptsächlich von den Testern durchgeführt, und es sind keine Programmierkenntnisse erforderlich.

Der Black-Box- Test wird erneut in zwei Typen eingeteilt.

Sie sind

  • Funktionsprüfung
  • Nichtfunktionale Tests

Funktionsprüfung:

Funktionstests werden durchgeführt, um zu überprüfen, ob alle entwickelten Funktionen den Funktionsspezifikationen entsprechen. Sie werden durchgeführt, indem die vom QS-Team verfassten Funktionstestfälle ausgeführt werden. In der Phase der Funktionstests wird das System getestet, indem Eingaben bereitgestellt, die Ausgabe überprüft und Vergleichen der tatsächlichen Ergebnisse mit den erwarteten Ergebnissen.

Es gibt verschiedene Ebenen von Funktionstests, von denen die wichtigsten sind

  • Unit Testing - Im Allgemeinen ist Unit ein kleiner Code, der getestet werden kann. Unit Testing wird an einzelnen Softwareeinheiten durchgeführt und von Entwicklern durchgeführt
  • Integrationstest - Integrationstest ist der Test, der nach dem Unit-Test durchgeführt wird und durch Kombinieren aller einzelnen Einheiten durchgeführt wird, die testbar sind und entweder von Entwicklern oder Testern durchgeführt werden
  • Systemtests - Systemtests werden durchgeführt, um sicherzustellen, dass das System den Anforderungen entspricht. Sie werden im Allgemeinen durchgeführt, wenn das gesamte System bereit ist. Sie werden von Testern durchgeführt, wenn der Build oder Code für das QA-Team freigegeben wird
  • Abnahmetests - Abnahmetests werden durchgeführt, um zu überprüfen, ob das System die Geschäftsanforderungen erfüllt und einsatzbereit oder bereit zur Bereitstellung ist und im Allgemeinen von den Endbenutzern durchgeführt wird.

Nichtfunktionale Tests : Nichtfunktionale Tests sind Testtechniken, die sich nicht auf funktionale Aspekte konzentrieren und sich hauptsächlich auf die nicht funktionalen Eigenschaften des Systems wie Speicherlecks, Leistung oder Robustheit des Systems konzentrieren. Nichtfunktionale Tests werden auf allen Teststufen durchgeführt.

Es gibt viele nichtfunktionale Testtechniken, von denen die wichtigsten sind

  • Leistungstests - Leistungstests werden durchgeführt, um zu überprüfen, ob die Antwortzeit des Systems gemäß den Anforderungen unter der gewünschten Netzwerklast normal ist.
  • Wiederherstellungstests - Wiederherstellungstests sind eine Methode, mit der überprüft wird, wie gut ein System nach Abstürzen und Hardwarefehlern wiederhergestellt werden kann.
  • Kompatibilitätstests - Kompatibilitätstests werden durchgeführt, um zu überprüfen, wie sich das System in verschiedenen Umgebungen verhält.
  • Sicherheitstests - Sicherheitstests werden durchgeführt, um die Robustheit der Anwendung zu überprüfen, dh um sicherzustellen, dass nur die autorisierten Benutzer / Rollen auf das System zugreifen
  • Usability-Tests - Usability-Tests sind eine Methode zum Überprüfen der Benutzerfreundlichkeit des Systems durch die Endbenutzer, um zu überprüfen, wie gut die Benutzer mit dem System vertraut sind.

Dynamische Testtechniken

Dynamische Testtechniken in STLC bestehen aus verschiedenen Aufgaben wie Anforderungsanalyse für die Tests, Testplanung, Design und Implementierung von Testfällen, Einrichtung der Testumgebung, Ausführung von Testfällen, Fehlerberichterstattung und schließlich Testabschluss. Alle Aufgaben in dynamischen Testtechniken hängen vom Abschluss der vorherigen Aufgabe im Testprozess ab.

In STLC können wir sagen, dass der eigentliche dynamische Testprozess vom Testfalldesign ausgeht. Lassen Sie uns jede Aktivität im Detail diskutieren.

Bevor Sie mit dem Prozess beginnen, besprechen Sie die Strategie, die für das dynamische Testen befolgt werden muss.

Die Teststrategie sollte sich hauptsächlich auf die verfügbaren Ressourcen und den Zeitrahmen konzentrieren. Basierend auf diesen Faktoren müssen das Ziel der Prüfung, der Umfang der Prüfung, die Phasen oder Zyklen der Prüfung, die Art der Umgebung, mögliche Annahmen oder Herausforderungen, Risiken usw. dokumentiert werden.

Sobald die Strategie definiert und vom Management akzeptiert ist, beginnt das eigentliche Design des Prozesstestfalls

Was ist Testdesign und -implementierung?

In dieser Phase identifizieren wir die,

  • Zu testende Funktionen
  • Leiten Sie die Testbedingungen ab
  • Leiten Sie die Deckungsgegenstände ab
  • Leiten Sie die Testfälle ab

Setup der Testumgebung

Wir müssen sicherstellen, dass die Testumgebung immer der Produktionsumgebung ähnelt. In dieser Phase müssen wir den Build installieren und die Testmaschinen verwalten.

Test Ausführung

In dieser Phase werden tatsächlich Testfälle ausgeführt.

Fehlerbericht erfasst

Basierend auf der Ausführung muss der Testfall als fehlgeschlagen markiert und ein Fehler protokolliert werden, wenn die erwarteten und tatsächlichen Ergebnisse nicht identisch sind.

Vorteile des dynamischen Testens

  • Dynamische Tests können aufgedeckte Mängel aufdecken, die als zu schwierig oder kompliziert angesehen werden und die nicht durch statische Analyse abgedeckt werden können
  • Beim dynamischen Testen führen wir die Software Ende-zu-Ende aus und stellen so eine fehlerfreie Software sicher, die wiederum die Qualität eines Produkts und eines Projekts erhöht.
  • Dynamisches Testen wird zu einem unverzichtbaren Werkzeug zum Erkennen von Sicherheitsbedrohungen

Nachteile des dynamischen Testens

  • Dynamisches Testen ist zeitaufwändig, da es die Anwendung / Software oder den Code ausführt, für die eine große Menge an Ressourcen erforderlich ist
  • Dynamisches Testen erhöht die Kosten für ein Projekt / Produkt, da es nicht früh im Software-Lebenszyklus beginnt und daher Probleme, die in späteren Phasen behoben werden, zu einer Erhöhung der Kosten führen können.

Fazit:

In der Softwareentwicklung sind Verifizierung und Validierung zwei Maßnahmen, mit denen überprüft wird, ob das Softwareprodukt die Anforderungsspezifikationen erfüllt. Statische Tests beinhalten eine Verifizierung, während dynamische Tests eine Validierung beinhalten. Zusammen tragen sie dazu bei, eine kostengünstige Qualitätssoftware bereitzustellen.

Dieser Artikel wurde von Radhika Renamala verfasst