Was Software Testing ist und was es alles beinhaltet

Was Software Testing ist und was es alles beinhaltet

  Das Testen von Software ist ein Prozess, der die Funktionalität einer Software-Anwendung evaluiert, mit der Absicht, herauszufinden, ob die entwickelte Software die spezifizierten Anforderungen erfüllt. Dabei werden auch Fehler identifiziert, denn nur ein fehlerfreies Produkt kann ultimativ zu einem Qualitätsprodukt führen. Definition Definition von Softwaretests gemäß der Norm ANSI/IEEE 1059. Darunter versteht man den

Anzeige

 

Das Testen von Software ist ein Prozess, der die Funktionalität einer Software-Anwendung evaluiert, mit der Absicht, herauszufinden, ob die entwickelte Software die spezifizierten Anforderungen erfüllt. Dabei werden auch Fehler identifiziert, denn nur ein fehlerfreies Produkt kann ultimativ zu einem Qualitätsprodukt führen.

Definition

Definition von Softwaretests gemäß der Norm ANSI/IEEE 1059. Darunter versteht man den Prozess der Analyse eines Software-Elements, um die Unterschiede zwischen bestehenden und erforderlichen Bedingungen (d. h. Fehler) zu erkennen und die Eigenschaften des Software-Elements zu bewerten.

Arten von Software-Tests

Manuelle Tests

Manuelles Testen ist der Prozess des praktischen Testens der Software, um mehr darüber zu erfahren, was funktioniert und was nicht. Dazu gehört gewöhnlich die Überprüfung aller in den Anforderungsdokumenten spezifizierten Funktionen. Dabei wird die Software auch aus der Sicht des Endbenutzers getestet. Manuelle Testpläne reichen von vollständig skriptgesteuerten Testfällen, die den Testern detaillierte Schritte und erwartete Ergebnisse liefern, bis hin zu hochrangigen Leitfäden, die explorative Testsitzungen steuern. Es gibt viele ausgeklügelte Werkzeuge auf dem Markt, die beim manuellen Testen helfen.

Automatisierung von Tests

Unter automatisiertem Testen versteht man den Prozess des Testens der Software mithilfe eines Automatisierungswerkzeugs, um die Fehler zu finden. Bei diesem Prozess führen die Tester die Testskripte durch und erzeugen die Testergebnisse automatisch mithilfe von Automatisierungswerkzeugen. Einige der berühmten Automatisierungstestwerkzeuge für Funktionstests sind QTP/UFT und Selen.

 Testmethoden

  • Statisches Testen
  • Dynamische Prüfung

Statisches Testen

Dieser Prozess ist auch als Verifikation der Software bekannt. Verifikation ist eine statische Methode zur Überprüfung von Dokumenten und Dateien. Verifikation ist der Prozess, um sicherzustellen, dass das Produkt richtig gebaut, d. h. die Anforderungen zu überprüfen, die an das Produkt gestellt werden, als auch um zu überprüfen, ob das Produkt entsprechend entwickelt wurde. Involvierte Aktivitäten sind:

  • Inspektionen
  • Reviews
  • Walkthroughs

Dynamische Prüfung

Diese Prüfung ist auch bei Software Testern und Software-Tester Freelancer als Validierung der Software bekannt. Validierung ist ein dynamischer Prozess des Testens des wirklichen Produkts. Validierung ist der Prozess, unabhängig davon, ob das richtige Produkt gebaut, d. h. ob das entwickelte Produkt für richtig gehalten wird.

Es gibt drei Arten von Software-Testansätzen

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

White-Box-Test

Diese Art des Testens wird auch als Glass-Box, Clear-Box oder Structural-Testing bezeichnet. White-Box-Testen basiert auf der internen Code-Struktur der Anwendung. Beim White-Box-Testen werden eine interne Perspektive des Systems sowie Programmierkenntnisse verwendet, um Testfälle zu entwerfen. Diese Tests werden gewöhnlich auf der Ebene der Einheit durchgeführt.

Black-Box-Test

Diese Art des Testens wird auch als verhaltens-/spezifikationsbasiertes/eingabe-ausgabebasiertes Testen bezeichnet. Black-Box-Testen ist eine Software-Testmethode, bei der Tester die Funktionalität der zu testenden Software bewertet, ohne sich die interne Code-Struktur anzusehen.

Grey-Box-Test

Grey-Box-Testing ist die Kombination von White-Box- und Black-Box-Testen. Der Tester, der an dieser Art von Tests arbeitet, muss Zugang zu Design-Dokumenten haben. Dies trägt dazu bei, bessere Testfälle in diesem Prozess zu erstellen.

Methoden

  • Einheit Testen
  • Integrationsprüfung
  • Systemprüfung
  • Abnahmeprüfung

Einheit Prüfung

Einheitstests werden durchgeführt, um zu überprüfen, ob die einzelnen Module des Quellcodes ordnungsgemäß funktionieren, d. h. jede einzelne Einheit der Anwendung wird vom Entwickler in seiner Umgebung separat getestet. Es handelt sich um AKA-Modul-Tests oder Komponententests.

Integrationstests

Integrationstests sind der Prozess des Testens der Konnektivität oder des Datentransfers zwischen getesteten Modulen. Es handelt sich um I&T-Tests oder String-Tests. Dieser Prozess ist unterteilt in den Top-Down-Ansatz, den Bottom-Up-Ansatz und den Sandwich-Ansatz (Kombination von Top-Down und Bottom-Up).

System Test (End-to-End-Test)

Bei dieser Art des Testens handelt sich um einen Black-Box-Test. Das Testen, der vollständig integrierten Anwendung wird auch als End-to-End-Szenario Test bezeichnet. Um sicherzustellen, dass die Software in allen vorgesehenen Zielsystemen funktioniert. Gründliches Testen jeder Eingabe in die Anwendung, um den gewünschten Output zu überprüfen. Diese Art des Testens zielt auf die Erfahrungen des Benutzers mit der Anwendung ab.

Akzeptanztests

Diese Art des Tests dient der Erlangung zur Kundenfreigabe, damit die Software ausgeliefert werden kann und Zahlungen einbringt.

Arten von Akzeptanztests sind Alpha-, Beta- und Gamma-Tests.

Arten von Black-Box-Tests

  • Prüfung der Funktionalität
  • Prüfung auf Nicht-Funktionalität

Funktionsprüfung

Mit einfachen Worten: Was das System tatsächlich tut, ist ein Funktionstest. Um zu verifizieren, dass sich jede Funktion der Software-Anwendung wie im Anforderungsdokument spezifiziert verhält. Das Testen aller Funktionalitäten durch Bereitstellung geeigneter Eingaben, um zu überprüfen, ob die tatsächliche Ausgabe mit der erwarteten Ausgabe übereinstimmt. Dies fällt in den Bereich des Black-Box-Tests; die Tester brauchen sich nicht um den Quellcode der Anwendung zu kümmern.

Nicht-funktionales Testen:

Mit einfachen Worten, ein nicht funktionales Testen zeigt, wie gut das System funktioniert. Nichtfunktionales Testen bezieht sich auf verschiedene Aspekte der Software wie:

  • Leistung
  • Belastung
  • Stress
  • Skalierbarkeit
  • Sicherheit
  • Kompatibilität usw.

 

Der Schwerpunkt liegt dabei auf der Verbesserung der Benutzererfahrung in Bezug darauf, wie schnell das System auf eine Anfrage reagiert.

Posts Carousel