Software Testing Übersicht


Advertisements

software Testing ist die Evaluierung der Software mit den Anforderungen der Anwender und Systemspezifikationen versammelt. Die Prüfung erfolgt an der Phasen Ebene in der Software-Entwicklungs-Lebenszyklus oder auf Modulebene in Programmcode durchgeführt. Software-Test besteht aus Validierung und Verifizierung.

Software Validierung

Die Validierung ist dabei zu prüfen, ob die Software die Anforderungen der Nutzer erfüllt. Es wird am Ende des SDLC geführt. Wenn die Software passt Anforderungen, für die es gemacht wurde, wird sie validiert.

  • Validierung stellt sicher, das Produkt in der Entwicklung ist nach den Anforderungen der Anwender.

  • Validierung beantwortet die Frage -. "Sind wir die Entwicklung des Produkts, die alle Bedürfnisse der Nutzer, dass die von dieser Software versucht".

  • Validierung unterstreicht den Anforderungen des Anwenders.

Software Verifikation

Verifikation ist der Prozess der Bestätigung, wenn die Software, die den Geschäftsanforderungen und ist mit den richtigen Spezifikationen und Methoden anhaftenden entwickelt.

  • Verifikation gewährleistet das Produkt entwickelt wird nach Design-Vorgaben.

  • Verifikation beantwortet das fraglich "Sind wir der Entwicklung dieses Produkts durch festes folgenden alle Konstruktionsvorgaben?"

  • Verifikation konzentriert sich auf die Konstruktion und Systemspezifikationen.

Ziel des Tests -

  • Fehler - Diese sind tatsächliche Codierung Fehler, die von Entwicklern gemacht. Darüber hinaus gibt es einen Unterschied in der Leistung von Software und gewünschte Ausgabe wird als Fehler betrachtet.

  • Verschulden - Wenn Fehler vorhanden Fehler auftritt. Eine Störung, die auch als Fehler bezeichnet, ist eine durch einen Fehler, die dazu führen können System zu scheitern.

  • Ausfall - Ausfall wird gesagt, der Unfähigkeit des Systems, um die gewünschte Aufgabe durchführen zu können. Fehler auftritt, wenn Fehler im System vorhanden ist.

Manuelle Vs Automatisiertes Testen

Die Prüfung kann entweder manuell oder mit Hilfe eines automatisierten Testwerkzeug durchgeführt werden:

  • Handbuch - Diese Prüfung ist ohne die Hilfe von automatisierten Test-Tools durchgeführt. Die Software-Tester bereitet Testfälle für verschiedene Sektionen und Ebenen des Codes führt die Tests und meldet das Ergebnis an den Manager.

    Handbuch testen ist zeitaufwändig und ressourcen. Der Tester muss, um zu bestätigen, ob rechts von Testfällen verwendet werden. Großteil der Tests beinhaltet die manuelle Prüfung.

  • Automatische - Diese Tests ist ein Testverfahren mit Hilfe von automatisierten Test-Tools durchgeführt. Die Beschränkungen, die mit manuellen Tests können mit automatisierten Testwerkzeugen überwunden werden.

Ein Test muss überprüfen, ob eine Webseite in Internet Explorer geöffnet werden. Dies kann leicht mit Handprüfung erfolgen. Aber um zu überprüfen, ob der Web-Server die Last von 1 Millionen Nutzer nehmen, ist es ganz unmöglich, manuell zu testen.

Es gibt Software-und Hardware-Tools, die Tester bei der Durchführung von Lasttests, Stresstests, Regressionstests hilft.

Testing Ansätze

Tests basierend auf zwei Ansätze durchgeführt werden -

  • Testen der Funktionalität,
  • Umsetzung Prüfung

Wenn Funktionalität wird ohne die tatsächliche Umsetzung in Sorge es wird als Black-Box-Tests bekannt getestet. Die andere Seite wird als White-Box-Tests, wo nicht nur Funktionalität getestet, aber die Art, wie sie umgesetzt wird, wird auch untersucht, bekannt.

Ausführliche Tests sind die am besten gewünschte Methode für eine perfekte Test. Jeden möglichen Wert in dem Bereich der Eingangs und Ausgangswerte getestet. Es ist nicht möglich, jeden einzelnen Wert in der realen Welt Szenario zu testen, ob der Wertebereich ist groß.

Black-Box-Testen

Es wird darauf Test Funktionalität des Programms durchgeführt. Es wird auch als "Behavioral 'Tests genannt. Der Tester in diesem Fall hat eine Gruppe von Eingabewerten und entsprechenden gewünschten Ergebnisse. Auf die Bereitstellung von Input, wenn die Ausgabe mit den gewünschten Ergebnissen übereinstimmt, wird das Programm getestet, OK ', und sonst problematisch.

Black-box Testing

In diesem Testverfahren, das Design und die Struktur des Codes sind nicht zum Tester bekannt und testen Ingenieure und Anwender führen diesen Test auf der Software.

Black-Box-Testtechniken:

  • Äquivalenzklassen - Die Eingabe wird in ähnliche Klassen eingeteilt. Wenn ein Element einer Klasse den Test besteht, wird davon ausgegangen, dass alle die Klasse übergeben.

  • Randwerte - Die Eingabe wird in höhere und niedrigere Endwerte unterteilt. Wenn diese Werte den Test, wird davon ausgegangen, dass alle Werte dazwischen kann auch passieren.

  • Ursache-Wirkung-Grafik - In beiden bisherigen Verfahren nur einen Eingabewert zu einem Zeitpunkt getestet wird. Ursache (Eingang) -. Effect (Ausgang) ist ein Testverfahren, bei dem Kombinationen der Eingangswerte werden in einer systematischen Art und Weise getestet.

  • Paarweise Testen - Das Verhalten der Software hängt von mehreren Parametern. In paarweise Tests, werden die mehrere Parameter paarweise für ihre verschiedenen Werte getestet.

  • State-basierte Tests - Das System ändert den Zustand über die Bereitstellung von Input. Diese Systeme werden auf der Grundlage ihrer Staaten und Eingangs getestet.

White-Box-Testen

Es wird durchgeführt, um Programm und seine Durchführung zu testen, um Code-Effizienz oder die Struktur zu verbessern. Es wird auch als Test "strukturellen" bekannt.

White-box testing

In diesem Testverfahren werden das Design und die Struktur des Codes an den Tester bekannt. Programmierer des Codes führen diesen Test auf dem Code.

Die unten sind einige White-Box-Testtechniken:

  • kontroll Flow-Testen - Der Zweck der Steuerflusstests, Testfälle, die alle Aussagen und Verzweigungsbedingungen deckt einrichten. Die Zweigbedingungen sind für beide sind wahr und falsch, so dass alle Aussagen abgedeckt werden getestet.

  • Data-Flow-Test - Diese Testtechnik Schwerpunkt, um alle Daten Variablen im Programm enthalten sind. Es testet, wo die Variablen wurden erklärt und definiert und wo sie verwendet oder verändert wurden.

Teststufen

Prüfung selbst kann auf verschiedenen Ebenen der SDLC definiert werden. Der Testprozess verläuft parallel zur Software-Entwicklung. Vor dem Sprung auf die nächste Stufe wird eine Bühne getestet, validiert und verifiziert.

Testing getrennt wird getan um sicherzustellen, dass es keine versteckten Fehler oder Probleme in der Software überlassen. Software wird auf verschiedenen Ebenen getestet -

Unit Testen

Während Codierung, führt der Programmierer einige Tests auf dieser Einheit von Programm wissen, ob es fehlerfrei ist. Die Prüfung erfolgt unter White-Box-Testansatz durchgeführt. Unit-Tests können Entwickler entscheiden, dass einzelne Einheiten des Programms werden je nach Anforderung arbeiten und sind fehlerfrei.

Integration Testen

Auch wenn die Einheiten der Software werden feine individuell arbeiten, gibt es eine Notwendigkeit, um herauszufinden, ob die Geräte, wenn sie zusammen integriert würde auch ohne Fehler zu arbeiten. Zum Beispiel, Argumentübergabe und Daten updation etc.

System Testen

Die Software wird als Produkt gesammelt und dann wird sie als Ganzes getestet. Dies kann mit einer oder mehreren der folgenden Tests durchgeführt werden:

  • Testen der Funktionalität, - Testet alle Funktionalitäten der Software gegen die Anforderung.

  • Leistungsprüfung - Dieser Test beweist, wie effizient die Software ist. Es prüft die Wirksamkeit und die durchschnittliche Zeit, die von der Software übernommen, um die gewünschte Aufgabe zu tun. Performance-Tests wird durch Lasttests und Stresstests, wo die Software unter Hoch Benutzer und Datenlast unter verschiedenen Umweltbedingungen gesetzt getan.

  • Sicherheit & Wahrscheinlichkeit - Diese Tests werden durchgeführt, wenn die Software soll auf verschiedenen Plattformen arbeiten und nach der Anzahl der Personen zugänglich.

Acceptance Testen

Wenn die Software bereit an den Kunden muss es durch letzte Phase der Prüfung, wo es für Benutzer-Interaktion und Reaktion getestet zu Hand gehen. Dies ist wichtig, denn auch wenn die Software entspricht allen Anforderungen der Nutzer und wenn der Benutzer nicht die Art, wie es scheint, oder Werke, abgelehnt werden können.

  • Alpha testen - Das Team der Entwickler selbst Alpha-Test durchführen, indem Sie das System, als ob es in Arbeitsumgebung verwendet. Sie versuchen, herauszufinden, wie Benutzer auf eine Aktion in der Software und wie das System auf Eingaben reagieren reagieren würde.

  • Beta testen - Nachdem die Software intern getestet wird, wird es über die Nutzer übergeben, um es unter ihre Produktionsumgebung nur für Testzwecke zu verwenden. Dies ist noch nicht die gelieferte Ware. Entwickler erwarten, dass die Benutzer in dieser Phase wird Minute Probleme, die übersprungen wurden zur Teilnahme zu bringen.

Regression Testen

mmer, wenn ein Software-Produkt ist mit neuen Code-Funktion oder Funktionalität aktualisiert, es wird gründlich getestet, um festzustellen, ob es irgendwelche negativen Auswirkungen der Mehr Code. Dies wird als Regressionstests bekannt.

Test Dokumentation

Testing-Dokumente werden in verschiedenen Phasen vorbereitet -

Vor der Prüfung

Test beginnt mit Testfällen Generation. Folgende Unterlagen sind für die Referenz benötigt.

  • SRS-Dokument - Functional Requirements Dokument.

  • Testrichtliniendokument - Dieser beschreibt, wie weit Test sollte vor der Freigabe des Produkts nehmen.

  • Teststrategie Dokument - Dieses Detail erwähnt Aspekte des Testteams, Verantwortung Matrix und Rechte / Verantwortung der Testmanager und Testingenieur.

  • Traceability Matrix Dokument - Dies ist SDLC-Dokument, das auf Anforderung von Treffen verbunden ist. Als neue Anforderungen kommen, werden sie in dieser Matrix zugesetzt. Diese Matrizen helfen Tester wissen, die Quelle der Anforderung. Sie können vorwärts und rückwärts zurückverfolgt werden.

Während getestet

Die folgenden Dokumente erforderlich sein, während Test gestartet und wird getan:

  • Testfall-Dokument - Dieses Dokument enthält eine Liste der erforderlichen Tests durchgeführt werden. Es enthält Unit-Test-Plan, Testplan Integration, Systemtest und Abnahmetest Plan Plan.

  • Test beschreibung - Dieses Dokument ist eine ausführliche Beschreibung aller Testfälle und Verfahren, um sie auszuführen.

  • Testfallbericht - Dieses Dokument enthält Testfall Bericht als Ergebnis des Tests.

  • Testprotokolle - Dieses Dokument enthält Testprotokolle für jeden Testfall Bericht.

Nach Prüfung

Die folgenden Dokumente können nach der Prüfung generiert werden:

  • Test Zusammenfassung - Dieser Test Zusammenfassung ist kollektive Analyse aller Berichte und Protokolle. Er fasst und kommt zu dem Schluss, wenn die Software ist bereit, ins Leben gerufen werden. Die Software wird unter Versionskontrollsystem freigegeben, wenn sie bereit ist, zu starten ist.

Testen vs Qualitätskontrolle, Qualitätssicherung und Prüfung

Wir müssen verstehen, dass Software-Tests unterscheidet sich von Software-Qualitätssicherung, Software-Qualitätssicherung und Software-Auditing.

  • Software Qualitätssicherung - Dies sind Software-Entwicklungsprozess Überwachungseinrichtung, durch die sichergestellt ist, dass alle Maßnahmen werden gemäß den Standards der Organisation übernommen. Diese Überwachung wird getan, um sicherzustellen, dass die richtige Software-Entwicklungsmethoden wurden befolgt.

  • Software Qualitätskontrolle - Dies ist ein System, um die Qualität von Software-Produkt halten. Es kann funktionale und nicht-funktionale Aspekte der Software-Produkt, das den guten Willen der Organisation zu verbessern sind. Dieses System stellt sicher, dass der Kunde erhält Qualitätsprodukt für ihren Bedarf und das Produkt als "fit für die Anwendung" zertifiziert.

  • Software audit - Dies ist eine Überprüfung der Verfahren von der Organisation verwendet werden, um die Software zu entwickeln. Ein Team von Wirtschaftsprüfern, unabhängig von Entwicklungsteam untersucht die Software-Prozess, Verfahren, Anforderungen und andere Aspekte der SDLC. Der Zweck von Software-Audits ist es, dass die Software und deren Entwicklungsprozess zu überprüfen, sowohl entsprechen Standards, Regeln und Vorschriften.

Advertisements