Verschiedene Arten von Tests (zB Unit, Funktional, Integration, etc.) Dokument [geschlossen]

7

Vor ein paar Jahren habe ich dieses großartige (PDF) Dokument von Google gesehen. Das Dokument erklärt auf einer einzigen Seite, was alle Arten von Softwaretests bedeuten (z. B. was trennt einen Funktionstest von einem Integrationstest von einem Komponententest von einem ...). Es war eine sehr nützliche Referenz, aber natürlich habe ich keinen Link darauf gespeichert, und jetzt kann ich es nicht finden, wenn ich danach google (oh die Ironie, ein Google-Dokument nicht googeln zu können).

Jetzt weiß ich, dass es für genau diese Frage großartige SO-Antworten gibt, aber ich war speziell auf der Suche nach einer einseitigen, druckformatierten Anleitung, die ich im Büro aufhängen konnte, anstatt einer SO-Antwort.

Kann mir jemand auf das Google-Dokument hinweisen, an das ich denke, oder auf andere gute Einseitendefinitionen von Softwaretests?

    
machineghost 14.03.2014, 19:31
quelle

2 Antworten

26

Softwaretestarten

Der Softwaretest-Lebenszyklus ist der Prozess, der den Ablauf der Tests erklärt, die an jedem Produkt durchgeführt werden müssen. Das V-Modell, d. H. Verifizierungs- und Validierungsmodell, ist ein perfektes Modell, das bei der Verbesserung des Softwareprojekts verwendet wird. Dieses Modell enthält den Lebenszyklus der Softwareentwicklung auf der einen Seite und den Lebenszyklus der Softwaretests auf der anderen Seite. Die Checklisten für den Software-Tester legen eine Basis fest, die ihn dazu bringt, die täglichen Aktivitäten weiterzuführen.

Black-Box-Test: Es erklärt den Prozess, der dem System die Eingabe gibt und die Ausgabe überprüft, ohne zu berücksichtigen, wie das System die Ausgabe generiert. Es ist auch als Verhaltenstest bekannt.

Funktionstest: Die Software wird auf die funktionalen Anforderungen getestet. Dies überprüft, ob sich die Anwendung gemäß der Spezifikation verhält.

Leistungstest: Bei diesem Test wird überprüft, ob das System gemäß den Anforderungen des Benutzers ordnungsgemäß funktioniert. Die Leistungsprüfung hängt vom Last- und Belastungstest ab, der intern oder extern auf das System angewendet wird. Belastungstest: Bei dieser Art von Leistungstest wird das System über die Grenzen hinaus angehoben, um die Leistung des Systems zu überprüfen, wenn höhere Lasten angewendet werden. Stresstests: Bei dieser Art von Leistungstests wird das System über die normalen Erwartungen oder die betriebliche Kapazität hinaus getestet. Usability Testing: Dies wird auch als "Testen auf Benutzerfreundlichkeit" bezeichnet. Es überprüft die Benutzerfreundlichkeit einer Anwendung.

Regressionstests: Regressionstests sind eine der wichtigsten Arten von Tests, bei denen überprüft wird, ob sich eine kleine Änderung in einer Komponente der Anwendung auf die unveränderten Komponenten auswirkt oder nicht. Dies geschieht durch erneutes Ausführen der vorherigen Versionen der Anwendung.

Smoke Testing: Es wird verwendet, um die Testbarkeit der Anwendung zu überprüfen, und wird auch als "Build Verification Testing oder Link Testing" bezeichnet. Das heißt, es prüft, ob die Anwendung für weitere Tests und Arbeiten bereit ist, ohne auf die feineren Details einzugehen.

Sanity Testing: Bei den Sanity-Tests wird das Verhalten des Systems überprüft. Dies wird auch Narrow Regression Testing genannt.

Paralleles Testen: Paralleles Testen wird durchgeführt, indem Ergebnisse von zwei verschiedenen Systemen wie alt gegen neu oder manuell gegen automatisiert verglichen werden.

Wiederherstellungstest: Wiederherstellungstests sind sehr wichtig, um zu überprüfen, wie schnell das System bei Hardwarefehlern, katastrophalen Problemen oder einem Systemabsturz wiederhergestellt werden kann.

Installationstest: Diese Art des Softwaretests identifiziert die Art und Weise, in der Installationsverfahren zu falschen Ergebnissen führt.

Kompatibilitätstest: Kompatibilitätstests bestimmen, ob eine Anwendung unter unterstützten Konfigurationen erwartungsgemäß mit verschiedenen Kombinationen von Hardware- und Softwarepaketen funktioniert.

Konfigurationstest: Dieser Test wird durchgeführt, um Kompatibilitätsprobleme zu testen. Es bestimmt die minimale und optimale Konfiguration von Hardware und Software und bestimmt die Auswirkung des Hinzufügens oder Änderns von Ressourcen wie Speicher, Festplattenlaufwerken und CPU.

Konformitätstest: Dies überprüft, ob das System in Übereinstimmung mit Standards, Verfahren und Richtlinien entwickelt wurde.

Fehlerbehandlungstest: Dies bestimmt die Fähigkeit des Systems, fehlerhafte Transaktionen ordnungsgemäß zu verarbeiten.

Test des manuellen Supports: Diese Art von Softwaretest ist eine Schnittstelle zwischen Personen und dem Anwendungssystem.

Testing zwischen Systemen: Diese Methode ist eine Schnittstelle zwischen zwei oder mehr Anwendungssystemen.

Exploratives Testen: Das explorative Testen ähnelt dem Ad-hoc-Testen und wird durchgeführt, um die Softwarefunktionen zu erkunden.

Volume Testing: Dieser Test wird durchgeführt, wenn eine große Menge an Daten durch die Anwendung verarbeitet wird.

Szenariotest: Szenariotests bieten eine realistischere und sinnvollere Kombination von Funktionen als künstliche Kombinationen, die durch Domänen- oder kombinatorisches Testdesign erhalten werden.

Testen der Benutzeroberfläche: Diese Art von Tests wird durchgeführt, um zu überprüfen, wie benutzerfreundlich die Anwendung ist. Der Benutzer sollte in der Lage sein, die Anwendung ohne jegliche Unterstützung durch das Systempersonal zu benutzen.

Systemtest: Dieser Test wurde auf einem vollständigen, integrierten System durchgeführt, um die Einhaltung der spezifizierten Anforderungen durch das System zu bewerten.Dies wird durchgeführt, um zu überprüfen, ob das System seine funktionalen und nicht-funktionalen Anforderungen erfüllt, und es ist auch beabsichtigt, über die in den Software / Hardware-Anforderungsspezifikationen definierten Grenzen hinaus zu testen.

Benutzerakzeptanztest: Der Akzeptanztest wird durchgeführt, um zu überprüfen, ob das Produkt für den Kunden akzeptabel ist und ob es die spezifizierten Anforderungen dieses Kunden erfüllt. Diese Tests beinhalten Alpha- und Beta-Tests.

Alpha-Test: Der Alpha-Test wird vom Kunden in einer geschlossenen Umgebung vom Entwickler durchgeführt. Dies wird nach dem Systemtest durchgeführt.

Beta-Test: Dies geschieht beim Kunden in der offenen Umgebung. Die Anwesenheit des Entwicklers während der Durchführung dieser Tests ist nicht zwingend erforderlich. Dies wird als letzter Schritt im Softwareentwicklungszyklus angesehen, da das Produkt fast fertig ist.

White Box Testing: Es ist der Vorgang, dem System die Eingabe zu geben und zu überprüfen, wie das System die Eingabe verarbeitet, um die Ausgabe zu erzeugen. Es ist zwingend erforderlich, dass ein Tester den Quellcode kennt.

Komponententest: Komponententests werden auf der Website des Entwicklers durchgeführt, um zu prüfen, ob ein bestimmtes Teil / eine bestimmte Codeeinheit ordnungsgemäß funktioniert. Es testet die Einheit des Programms als Ganzes.

Statische und dynamische Analyse: Bei der statischen Analyse muss der Code durchlaufen werden, um einen möglichen Fehler im Code herauszufinden. In der dynamischen Analyse wird der Code für die Ausgabe ausgeführt und analysiert.

Aussage Abdeckung: Es stellt sicher, dass der Code so ausgeführt wird, dass jede Anweisung der Anwendung mindestens einmal ausgeführt wird.

Decision Coverage: Dies hilft bei der Entscheidungsfindung, indem die Anwendung mindestens einmal ausgeführt wird, um zu beurteilen, ob sie zu wahr oder falsch führt.

Condition Coverage: Bei dieser Art von Softwaretest wird jede Bedingung ausgeführt, indem sie mindestens einmal auf jede dieser Arten wahr und falsch gemacht wird.

Pfadabdeckung: Jeder Pfad innerhalb des Codes wird mindestens einmal ausgeführt, um eine vollständige Pfadabdeckung zu erhalten. Dies ist einer der wichtigen Bestandteile des White-Box-Tests.

Integrationstest: Integrationstests werden durchgeführt, wenn verschiedene Module miteinander zu einem Subsystem oder System verbunden werden. Dies konzentriert sich hauptsächlich auf das Design und die Konstruktion der Softwarearchitektur. Dies wird weiter in Bottom-Up-Integration und Top-Down-Integrationstests klassifiziert.

Bottom-up-Integrationstest: Hier werden zuerst die Komponenten der untersten Ebene getestet und dann werden die Komponenten der höheren Ebene mit "Treibern" getestet. Der gesamte Prozess wird wiederholt, bis alle Komponenten der höheren Ebene getestet sind.

Top-Down-Integrationstest: Dies ist völlig anders als der Bottom-up-Ansatz, da die obersten Module getestet werden und der Zweig der Module bis "Stubs" schrittweise getestet wird das zugehörige Modul endet.

Sicherheitstest: Testen, das bestätigt, wie gut sich ein System vor unbefugter interner oder externer oder vorsätzlicher Beschädigung des Codes schützt; bedeutet Sicherheitstests des Systems. Sicherheitstests stellen sicher, dass das Programm nur von autorisiertem Personal aufgerufen wird.

Mutationstest: Beim Mutationstest wird die Anwendung auf den Code getestet, der nach Behebung eines bestimmten Fehlers modifiziert wurde.

Verwenden Sie den folgenden Link, um das gedruckte Format zu erhalten Arten von Softwaretests

    
Arun 18.03.2014 03:46
quelle
3

Vielleicht kann folgendes helfen.

Ссылка

Ссылка

Ссылка

Ссылка

    
doptimusprime 18.03.2014 03:52
quelle

Tags und Links