Arten von Softwaretests

In diesem Artikel finden Sie viele nützliche Informationen zu Softwaretesttypen und -tools, die während der Implementierung verwendet werden.

Was ist ein Softwaretesttyp?

Heutzutage gibt es keine allgemein anerkannte Definition für die Art des Softwaretests. Es ist nicht ungewöhnlich, wenn Methoden, Ebenen oder sogar Testdesigntechniken als Testtyp definiert werden. Beispielsweise werden manchmal White-Box-Tests, Integrationstests oder sogar Grenzwerttests als Testtypen betrachtet.

Es ist notwendig, auf offizielle Quellen zu verweisen, um mehrdeutige Auslegungen zu vermeiden. Das International Software Testing Qualifications Board (ISTQB) ist eine angesehene internationale Organisation, die weltweit anerkannte Zertifizierungen für Softwaretests anbietet.

Laut ISTQB-Definition sind dies Testtypen„Mittel zur klaren Definition des Ziels einer bestimmten Ebene für ein Programm oder Projekt“. Der Tester konzentriert sich während der Testfallausführung auf ein bestimmtes Testziel. Abhängig von den Zielen gibt es vier Arten von Softwaretests:

  • Funktionsprüfung
  • Nichtfunktionale Prüfung
  • Strukturprüfung
  • Ändern Sie verwandte Tests

Natürlich gibt es viele Untertypen von Tests. Sie können sie auf dem Bild unten sehen:Software-TesttypenLassen Sie uns also mehr über alle Testtypen erfahren.

Funktionsprüfung

Durch Funktionstests wird überprüft, ob jede Funktion der Softwareanwendung mit der Anforderungsspezifikation übereinstimmt. Funktionstests zeigen„Was das System macht“. Ziel dieser Prüfung ist es zu überprüfen, ob das System funktionsfähig ist. Bei der Funktionsprüfung sind fünf Schritte zu beachten:

  • Vorbereitung der Testdaten auf der Grundlage der Spezifikationen der Funktionen
  • Geschäftsanforderungen sind die Eingaben für Funktionstests
  • Finden Sie die Ausgabe der Funktionen anhand der Funktionsspezifikationen heraus.
  • Die Ausführung von Testfällen
  • Beobachten Sie die tatsächlichen und erwarteten Leistungen.

Es gibt zwei Perspektiven, in denen die Testfunktionalität anhand von Anforderungsbasierten Tests und

Geschäftsprozessbasierten Tests durchgeführt werden kann.

Anforderungsbasiertes Testen wird in strikter Übereinstimmung mit den definierten Anforderungen durchgeführt.

Geschäftsprozessbasiertes Testen wird in Übereinstimmung mit den Kenntnissen durchgeführt, die auf dem täglichen Geschäftsgebrauch des Systems basieren.

Funktionsprüfungsvorteile:

  • Funktionstests simulieren die tatsächliche Systemnutzung.
  • Sie wird zu den Bedingungen ausgeführt, die denen des Kunden nahe kommen.
  • Während des Funktionstests werden keine Systemstrukturannahmen getroffen.
  • Manuelle Tests sind einfach durchzuführen.

Funktionstest Einschränkungen:

  • Es besteht die hohe Wahrscheinlichkeit einer redundanten Prüfung.
  • Logische Fehler in der Software können bei der Durchführung von Funktionstests übersehen werden.

Es ist einfach, Tools für Funktionstests zu finden und zu verwenden. Die bekanntesten sind: Selenium (sowohl Web- als auch Desktop-Anwendung), Robotium (Android App), Linux-Testprojekt, JUnit, Sprinter von Hewlett Packard Entreprise (manuelle Prüfung), Browserstack (sowohl automatisiertes als auch manuelles Testen), Usersnap (manuelle Prüfung).

Nichtfunktionale Testtypen

Nichtfunktionale Testtypenbefassen sich mit den nicht-funktionalen Anforderungen. Nicht-funktionale Tests helfen dabei, die Bereitschaft eines Systems anhand der verschiedenen Kriterien abzuschätzen, die nicht durch funktionale Tests abgedeckt werden. Im Gegensatz zu Funktionstests zeigt es„Wie gut das System funktioniert“.

Betrachten wir die Vielzahl der Untertypen nichtfunktionaler Tests.

Testen der Benutzeroberfläche soll sicherstellen, dass die grafische Benutzeroberfläche der Anwendung den Spezifikationen entspricht. Auf diese Weise können Sie Gestaltungselemente wie Layout, Farben, Schriftarten, Schriftgrößen, Beschriftungen, Textfelder, Textformatierungen, Beschriftungen, Schaltflächen, Listen, Symbole, Links und Inhalte bewerten.

Ansätze für das Testen der Benutzeroberfläche: manuell, aufzeichnen und beantworten, modellbasiert.

Die beliebtesten Spezialwerkzeuge und Frameworks für das Testen der Benutzeroberfläche:FitNesse, iMacros, Codierte Benutzeroberfläche, Jubula, LoadUI.

Testen der Benutzererfahrung (UX)dient der Überprüfung der Kundeninteraktion mit den Produkten und Dienstleistungen des Unternehmens. Tatsächlich ist UX viel mehr als die visuelle Oberfläche Ihres Produkts. Es beinhaltet:

  • Die Eindrücke, die der Kunde von der Interaktion mit dem Produkt oder der Dienstleistung mitnimmt.
  • Der Prozesskunde sollte das Produkt oder die Dienstleistung des Unternehmens entdecken.
  • Die Reihenfolge der Aktionen, die der Kunde ausführt, während er mit der Benutzeroberfläche interagiert.

Die speziellen Tools und Frameworks für das Testen von UX: Usabilla, Omnigraffle, Visual Web Optimizer, UXPin, Verrücktes Ei.

Lagertests Überprüft die getestete App, speichert die relevanten Daten in den richtigen Verzeichnissen und verfügt über ausreichend Speicherplatz, um eine unerwartete Beendigung aufgrund unzureichenden Speicherplatzes zu verhindern. Mithilfe dieser Funktion können Sie feststellen, ob die Anwendung mehr Arbeitsspeicher verwendet als angenommen, da das Ausfüllen des Festplattenspeichers zu erheblichen Ausfallzeiten führen kann.

Die Tools werden häufig für Speichertests verwendet :HCIbench, Iometer, Festplatten-Dienstprogramm.

Funktionsprüfung ist darauf ausgerichtet, ein System oder eine Komponente in seiner Betriebsumgebung zu bewerten. Auf diese Weise können wir die System- und Komponentenkompatibilität in der Standardbetriebsumgebung der Anwendung sicherstellen.

Betriebstests betreffen das Systemimplementierungsverhalten. Diese Tests konzentrieren sich hauptsächlich auf die Betriebsbereitschaft des Systems, das die Produktionsumgebung nachahmen soll.

Sicherheitsprüfung soll sicherstellen, dass das Informationssystem die Daten schützt und die Funktionalität wie vorgesehen beibehält.Penetrationstests und Vulnerability-Tests sind die Arten von Sicherheitstests.

Penetrationstests ist die böswillige Quellangriffssimulation, mit der die Sicherheit eines Computersystems oder Netzwerks bewertet werden kann.

Schwachstellentest soll die Anzahl der mit dem System verbundenen Risiken bewerten, um die Wahrscheinlichkeit des Ereignisses zu verringern. Es hilft, Probleme zu vermeiden, die die Integrität und Stabilität der Anwendung beeinträchtigen können.

Die Werkzeuge mögen Retina CS Gemeinschaft, OWASP Zed Attack Proxy, Veracode, Google Nogotofail, und SQL Map werden häufig für Sicherheitstests verwendet.

Konfigurationstests durchgeführt, um das System mit jeder der unterstützten Software- und Hardwarekonfigurationen zu überprüfen:

  • Betriebssystemkonfiguration – Win 7 32-Bit / 64-Bit, Win 8 32-Bit / 64-Bit, Win 7 32-Bit / 64-Bit, Win 8 32-Bit / 64-Bit.
  • Datenbankkonfiguration – Oracle, DB2, MySQL, MSSQL Server, Sybase.
  • Browserkonfiguration – IE 10, IE 11, Mozilla Firefox, Google Chrome.

Es gibt verschiedene Arten von Konfigurationstests, z Konvertierungstests, Cross-Browser-Tests, Binärportabilitätstests, und Plattformübergreifendes Testen.

Konversionstests sorgt für die richtige Datenkonvertierung aus vorhandenen Systemen für den Einsatz in Ersatzsystemen.

Browserübergreifendes Testen wird durchgeführt, um die korrekte Arbeit der Anwendung oder des Systems in verschiedenen Browserkonfigurationen zu überprüfen: Mozilla Firefox, Google Chrome, Internet Explorer und Opera usw.

Plattformübergreifendes Testen soll die Arbeit der Anwendung in verschiedenen Betriebssystemen bewerten: Windows, iOS / Mac OS, Linux, Android und BlackBerry usw.

Testen der Binärportabilität Hilft bei der Bewertung der Portabilität der Software, indem die Software auf verschiedenen Plattformen und in verschiedenen Umgebungen ausgeführt wird. Es wird zur Bestätigung einer ABI-Spezifikation (Application Binary Interface) verwendet.

Die wichtigsten Tools, die häufig für alle Arten von Konfigurationstests verwendet werden: BrowserStack, CrossBrowserTesting von Smart Bear, LackmusBrowsera, Rational Clearcase von IBM,  Ghostlab.

Lokalisierungstests durchgeführt, um eine globalisierte Anwendung an eine bestimmte Kultur / ein bestimmtes Gebietsschema anzupassen. Bei diesem Vorgang werden alle muttersprachlichen Zeichenfolgen in die Zielsprache übersetzt und die Benutzeroberfläche so angepasst, dass sie für den Zielmarkt geeignet ist. Globalisierungstests und Internationalisierungstests sind eine seiner Arten.

Globalisierungstests prüft die ordnungsgemäße Funktionalität des Produkts mit einer der Kultur- / Gebietsschemaeinstellungen unter Verwendung aller möglichen Arten von internationalen Eingaben.

Internationalisierungstests prüft die richtige inhaltliche Externalisierung in verschiedenen Sprachen und Orten.

Die Lokalisierung erfolgt in der Regel mithilfe einer Kombination aus internen Ressourcen, unabhängigen Auftragnehmern und umfassenden Services eines Lokalisierungsunternehmens. Hier einige Tools zum Testen der Lokalisierung:Aubergine, Babylon.NET von Redpin, undsmartCAT.

Leistungstest beabsichtigt zu bestimmen, wie ein System in Bezug auf Reaktionsfähigkeit und Stabilität unter einer bestimmten Last arbeitet. Die Arten von Leistungstests: Stresstests, Lasttests, Stabilitätstests, Volumentests, Nebenläufigkeitstests, Skalierbarkeitstests, Dauertests usw.

Stresstest-Schätzungen das Verhalten eines Systems an oder außerhalb der Grenzen seiner erwarteten Arbeitslast.

Belastungstest durchgeführt, um das Verhalten eines Systems bei zunehmender Arbeitsbelastung zu bewerten.

Stabilitätsprüfung soll überprüfen, ob die Anwendung innerhalb oder knapp über dem akzeptablen Zeitraum kontinuierlich gute Leistungen erbringen kann.

Volumenprüfung Ermöglicht die Analyse der Systemleistung durch Erhöhen des Datenvolumens in der Datenbank. Es wird überprüft, ob Werte im Laufe der Zeit groß werden können (wie akkumulierte Zählungen, Protokolle und Datendateien), vom Programm berücksichtigt werden können und nicht dazu führen, dass das Programm nicht mehr funktioniert oder seinen Betrieb beeinträchtigt.

Parallelitätstests wird ausgeführt, um die Fehler in einer Anwendung zu identifizieren, wenn sich mehrere Benutzer bei der Anwendung anmelden. Mithilfe dieser Funktion können wir Probleme in Bezug auf Systemparameter wie Reaktionszeit, Durchsatz, Sperren / Deadlocks oder andere Probleme im Zusammenhang mit der Parallelität identifizieren und messen.

Skalierbarkeitstests Bewertet die Fähigkeit des Systems, durch Erhöhen der verschiedenen Indikatoren, z. B. der Arbeitslast pro Benutzer, der Anzahl gleichzeitiger Benutzer oder der Größe einer Datenbank, zu wachsen.

Ausdauertests Definiert Probleme, die bei längerer Ausführung auftreten können. Es wertet das Verhalten eines Systems aus, wenn kontinuierlich eine erhebliche Arbeitsbelastung auftritt.

Rampentests ist die Art des Dauertests, bei dem ein Eingangssignal kontinuierlich angehoben wird, bis das System ausfällt. Apache JMeter, HP LoadRunner, Silk Performer von Micro Focus, WebLOAD, und Gatling werden häufig für verschiedene Arten von Leistungstests verwendet.

Wiederherstellungstests soll die Systemfähigkeit für die Wiederherstellung nach Abstürzen, Hardwarefehlern oder anderen katastrophalen Problemen bewerten. Es wird von den Testteams durchgeführt.TestDisk, Recuva von Piriform, Wise Data Recovery von WiseCleaner und Restaurierung von Softonic sind die wichtigsten Spezialwerkzeuge für Recovery-Tests.

Kompatibilitätsprüfung Überprüft die Kompatibilität der Anwendung in verschiedenen Umgebungen: Hardware, Software, Betriebssystem, Netzwerkumgebung. Es gibt zwei Arten dieser Art von Tests:Rückwärtskompatibilität, Vorwärtskompatibilität testen.

Rückwärtskompatibilität Das Testen stellt sicher, dass eine neue Version des Produkts weiterhin mit dem älteren Produkt funktioniert.

Vorwärtskompatibilität Das Testen stellt die Verbindung mit der zukünftigen Version des Produkts her.

Browserschüsse und MultiBrowser kann kostenlos zum Testen der Kompatibilität verwendet werden.

Usability-Tests durchgeführt, um ein Produkt oder eine Dienstleistung durch Testen mit repräsentativen Benutzern zu bewerten. Es hilft, die Fähigkeit des Benutzers zu definieren, das Bedienen zu erlernen, Eingaben für ein System oder eine Komponente vorzubereiten und Ausgaben zu interpretieren.

Zugänglichkeitsprüfung ist die Art von Usability-Tests, mit denen das benutzerfreundliche Niveau eines Produkts für Menschen mit Behinderungen (taub, blind, geistig behindert) bestimmt wird. Die beliebtesten Tools zum Testen der Benutzerfreundlichkeit: Benutzerzoom, Reflektor, Schleife11.

Strukturprüfung

Strukturprüfung überprüft die Implementierung des Programms oder Codes durch Testen der Struktur des Softwaresystems oder seiner Komponenten. Der Tester konzentriert sich bei Strukturtests auf die Arbeit mit Software. Es kann auf allen Testebenen eingesetzt werden

.Die Hauptziele der Strukturprüfung:

  • Offensichtliche Unzulänglichkeiten Identifizierung
  • Ergänzung zu Funktionstests
  • Um zu verstehen, ob in unserer Testsuite etwas fehlt

Strukturprüfverfahren:

  • Anweisungsabdeckung überprüft, ob jede Anweisung in einem Programm während des Programmtests mindestens einmal ausgeführt wird.
  • Die Pfadabdeckung soll die Abdeckungskriterien für jeden logischen Pfad durch das Programm erfüllen.
  • Branch Coverage überprüft, ob jede Verzweigungsbedingung für das Programm wahre oder falsche Werte aufweist.
  • Die Zustandsabdeckung ähnelt der Zweigabdeckung. Der Hauptunterschied sind Bedingungsüberdeckungstests für bedingte und nicht bedingte Verzweigungen.

Vorteile der Strukturprüfung:

  • Beseitigung toter Codes
  • Es besteht die Möglichkeit, Fehler frühzeitig zu erkennen.
  • Es stellt die gründlicheren Software-Tests sicher.
  • Strukturprüfung ist nicht der zeitaufwändige Prozess.

Nachteile der Strukturprüfung:

  • Strukturprüfung ist teuer.
  • Es erfordert Kenntnisse des Codes.
  • Es erfordert die gründliche Kenntnis des zum Testen verwendeten Tools.

Die Spezialwerkzeuge für die Strukturprüfung: JBehave, Gurke,  JUnit, Cfix.

Ändern Sie verwandte Tests

Ändern Sie verwandte Tests Es wird bereitgestellt, um sicherzustellen, dass zuvor beseitigte Fehler behoben wurden, und um Fehler abzufangen, die möglicherweise versehentlich in einer neuen Version aufgetreten sind. Entsprechend diesen Zielen gibt es zwei Subtypen von Change-bezogenen Tests: Bestätigungstest (erneuter Test) und Regressionstests.

Sie verwechseln oft den Bestätigungstest mit dem Regressionstest. In der Regel müssen sie nacheinander abgehalten werden. Lassen Sie uns den Unterschied zwischen diesen Subtypen des Change-bezogenen Testens verdeutlichen.

Zunächst sollten Sie durchführen Bestätigungstest um sicherzustellen, dass der Fehler tatsächlich erfolgreich entfernt wurde. Einfach ausgedrückt, der Testfall, der den Fehler ursprünglich entdeckt hat, wird erneut ausgeführt, und diesmal sollte er problemlos verlaufen

Regressionstests besteht nicht nur aus den erkannten Fehlertestfällen. Es wird nicht nur zur Überprüfung der Fehlerbehebung durchgeführt, sondern auch, um sicherzustellen, dass nach den Änderungen keine neuen Fehler aufgetreten oder entdeckt wurden. Hoffe, das Bild unten hilft Ihnen dabei, den Testprozess im Zusammenhang mit Änderungen besser zu verstehen.Ändern Sie die zugehörigen Testtypen

Die Tools zum Testen von Änderungen: Selenium, HP Quick Test Professional,TestComplete, Probefahrt, SoapUI.

Jetzt haben Sie eine Vorstellung von vielen Testtypen. Einige von ihnen werden täglich von einer großen Anzahl von Spezialisten verwendet, andere werden sehr selten verwendet. Jedenfalls reicht das ganze Leben nicht aus, um jeden der Testtypen grundlegend zu lernen. Aber Übung ist der beste Weg, dies zu tun. Wir hoffen, dass die hier präsentierten Informationen Ihnen bei Ihrer zukünftigen Tätigkeit in der Qualitätssicherung helfen. Es wäre toll, wenn Sie Ihre Meinung zu Testtypen in den Kommentaren lesen würden.