Sondierungstests sind eine spezielle Art von Softwaretests, die viele Vorteile für eine Anwendung mit sich bringen und es ihr ermöglichen, ihr volles Potenzial auszuschöpfen.
Die Art und Weise, wie ein Team explorative Tests in seine Routineprüfungen integriert, kann sogar ausschlaggebend dafür sein, wie gut die Software funktioniert, zumal dies die Testverfahren auf neue und unerwartete Weise angeht. Dies hilft den Testern, Probleme in der Anwendung aufzudecken, die sonst bis zur Einführung unbemerkt bleiben und dazu führen können, dass wichtige Funktionen nicht funktionieren.
Wenn Sie die Prozesse, Arten und Ansätze des explorativen Testens verstehen, können Sie der Organisation und ihren Testteams zeigen, wie sie diese in ihre üblichen Prüfungen einbeziehen können.
Es gibt auch eine Reihe kostenloser Tools, die das Team nutzen kann, um diese Inspektionen zu erleichtern und Probleme zu erkennen, bevor sie zu einem Hindernis für die Entwicklung werden können.
In diesem Leitfaden stellen wir die Vorteile von Sondierungstests sowie die wichtigsten Überlegungen vor, die ein Team vor der Implementierung anstellen sollte.
Was sind explorative Tests?
Beim explorativen Testen werden die Phasen des Testentwurfs und der Testdurchführung miteinander kombiniert, so dass der Tester völlige Handlungsfreiheit hat und seine Arbeit kontinuierlich optimieren kann.
Bei der Überprüfung der Software werden diese Teams wahrscheinlich neue Komponenten entdecken, die einer gründlichen Inspektion bedürfen, und sie können leicht neue Tests entwickeln, die der Anwendung zugute kommen würden.
Das explorative Testen ähnelt dem Ad-hoc-Testen, folgt aber einer viel strengeren Dokumentation und beinhaltet auch einen aktiveren Lernprozess.
Der weniger strukturierte Ansatz hilft den Testern herauszufinden, wie eine Anwendung wahrscheinlich auf realistische Szenarien und Testfälle reagieren wird, und dient als wichtige Ergänzung zu skriptbasierten Tests.
Die Qualität der Sondierungstests eines Teams hängt oft von den Fähigkeiten der einzelnen Tester ab, da die Prüfungen Kreativität und ein gründliches Verständnis der Software erfordern. Dies ist ein Prozess der kontinuierlichen Entdeckung – ein Prozess, bei dem die Tester deduktive Überlegungen anstellen, um ihre gesamte Technik zu steuern.
Explorative Tests sind besonders hilfreich, da sie widerspiegeln, wie die Benutzer die Software verwenden könnten. Die meisten Benutzer finden Fehler und Probleme zufällig, so dass diese ungeskripteten Prozesse den Testern helfen können, Probleme zu finden, die durch vorher festgelegte Prüfungen möglicherweise nicht aufgedeckt werden.
Es ist auch möglich, dass ein Team dieses Verfahren automatisiert, um ein höheres Maß an Effizienz zu gewährleisten.
1. Wann müssen Sie explorative Tests durchführen?
Exploratives Testen ist im Allgemeinen für fast jeden Softwaretestprozess nützlich, eignet sich aber besonders gut, um schnelles Feedback über eine Anwendung zu erhalten.
Das Team könnte diese Prüfungen auch einbauen, wenn es keine geskripteten Tests mehr gibt. Ohne eine klare Richtung für ihre Softwareinspektionen können Sondierungstests dazu beitragen, Probleme aufzudecken, die nicht in die Standardprüfungen passen.
Die Durchführung verschiedener Testverfahren ermöglicht es den Testern, die Software in jeder Phase auf einer viel tieferen Ebene zu verstehen, aber eine frühzeitige Durchführung könnte mehr Vorteile bieten.
Es ist möglich, dass Teams zu einem späteren Zeitpunkt erneut Sondierungstests durchführen, um zusätzliche Sicherheit zu erhalten.
2. Wenn Sie keine Erkundungstests durchführen müssen
Es gibt einige wenige Szenarien, in denen exploratives Testen keinen Nutzen bringt, obwohl es für Tester sinnvoller sein kann, zu warten, bis die Software ihre Kernfunktionalität hat.
Die Funktionen einer Anwendung überschneiden sich in der Regel oder interagieren miteinander, was bedeutet, dass Sondierungstests für eine Funktion überflüssig sein können, sobald das Entwicklungsteam weitere Funktionen zu dieser Software hinzufügt.
Es ist auch möglich, diese Tests parallel zu skriptbasierten Prüfungen durchzuführen, vorausgesetzt, die Tester können ein hohes Maß an Dokumentation sicherstellen, um Verwechslungen zu vermeiden.
Sondierungstests sind im Vergleich zu anderen Testarten sehr vielseitig, so dass diese Prüfungen sehr gut anwendbar sind.
3. Wer ist an Sondierungstests beteiligt?
An den Sondierungstests sind in gewisser Weise viele Mitarbeiter beteiligt, unter anderem:
– Softwaretester aller Qualifikationsstufen können diese Tests durchführen, wobei Teammitglieder mit einem besseren Verständnis der Software eine größere Vielfalt an Prüfungen entwickeln können.
Die Erfahrung kann sich auch auf ihre Fähigkeit auswirken, die nützlichsten Tests zu bestimmen.
– Softwareentwickler, die die Ergebnisse dieser Tests zur Kenntnis nehmen, werden alle Vorschläge umsetzen und oft ihre eigene Lösung für das Problem entwickeln.
Ihre Reaktion auf die Tests ermöglicht es der Anwendung, einen Zustand zu erreichen, der eine erfolgreiche Freigabe ermöglicht.
– Projektleiter, die diesen gesamten Prozess überwachen und sogar entscheiden können, welche Testarten die Teams einsetzen.
Sie können auch für die Beschaffung von Software für die Teams verantwortlich sein, mit der Tests rationalisiert oder sogar automatisiert werden können.
Lebenszyklus von Erkundungstests
Der explorative Testprozess hat einen starken Schwerpunkt auf der Freiheit des Testers, folgt aber dennoch einer bestimmten Struktur.
Die drei wichtigsten Phasen dieses Ansatzes sind:
Stufe 1: Lernen
Tester beginnen damit, ein umfassendes Verständnis der Software und ihrer Funktionen zu entwickeln und sie kritisch zu analysieren, um festzustellen, wie sie zusammenpassen.
Auf diese Weise kann der Tester die üblichen Eingaben herausfinden, die ein Benutzer machen könnte, obwohl er die Anwendung und ihre Funktionsweise vielleicht schon kennt.
In der Lernphase kann sogar ein Tutorium für die Bedienung der Software erforderlich sein. Dies ist die Erkundungsphase, in der der Prüfer alle Informationen erhält, die er benötigt, um eine breite Palette nützlicher Tests zu entwickeln.
Stufe 2: Testentwurf
Das explorative Testdesign beinhaltet zwar verschiedene Regeln und Parameter, bietet aber im Vergleich zu skriptgesteuerten Tests, deren Einzelheiten bereits vor Testbeginn bekannt sind, deutlich mehr Freiheit.
Der Tester kann Prüfungen ausarbeiten, die seiner Meinung nach genauer auf die Anwendung zugeschnitten sind, und möglicherweise wertvolle Daten für das Entwicklungsteam aufdecken, einschließlich bemerkenswerter Fehler, die dieses beheben kann.
Die Testteams nutzen diese Phase, um herauszufinden, welcher Ansatz verfolgt werden soll und wie die Arbeit zwischen den verschiedenen Testern so aufgeteilt werden kann, dass deren Stärken zum Tragen kommen.
Stufe 3: Ausführung
Nach dem Entwurf der zu verwendenden Prüfungen können die Tester nun die Anwendung auf die Art und Weise prüfen, die sie für am effektivsten halten – sie können dies unmittelbar nach der Ausarbeitung des spezifischen Tests durchführen.
Dies ist die Phase, in der die Tester aktiv nach Problemen suchen und herausfinden, wie die von ihnen aufgedeckten Probleme in andere Merkmale und Funktionen einfließen könnten.
Die Durchführung explorativer Tests erfordert zwar ein gewisses Maß an Intuition, folgt aber dennoch festgelegten Prozessen und Zielen, so dass ein flüssiger Test möglich ist, der sich leicht an die spezifischen Testziele anpassen lässt.
Exploratives Testen vs. Skripted Testing
Exploratives Testen ist praktisch das Gegenteil von skriptbasierten Tests, obwohl beide wichtig sein können, um sicherzustellen, dass eine Anwendung für die Veröffentlichung bereit ist. Letztere sind in der Regel formaler und strukturierter und umfassen viele breit angelegte Tests im Vergleich zu Sondierungsprüfungen, die oft spezifischer auf die Funktionalität der Anwendung ausgerichtet sind.
Dazu gehört auch, dass explorative Tests wesentlich anpassungsfähiger sind, während geskriptete Tests bei größeren Änderungen an der Software Probleme bereiten können. Durch explorative Tests können Fehler schneller aufgedeckt und behoben werden, so dass erstere besonders nützlich sind, wenn schnelles Feedback von größter Bedeutung ist.
1. Aktive Erkundungstests
Beim aktiven Sondierungstest entwirft ein Tester ein automatisiertes Skript für seine Prüfungen, das ein anderer Tester ausführt. Diese Skripte berücksichtigen die vorangegangenen Tests, falls zutreffend.
Die beiden Prüfer wechseln in der Regel während des gesamten Prüfverfahrens die Rollen, um die Zuverlässigkeit dieser Skripte und Prozesse zu überprüfen.
Aktive Tests haben einen breiteren Abdeckungsbereich, ohne dass die Markenspezifität von Sondierungsprüfungen geopfert wird. Diese Skripte ermöglichen auch eine bessere Dokumentation und erleichtern die Reproduktion von Problemen, die die Tester finden.
Die Dokumentation ist ein wesentlicher Bestandteil aktiver Tests, da sie den Beteiligten auch hilft, den Gesamtfortschritt der Anwendung zu erkennen.
2. Passive Erkundungstests
Für passive Sondierungstests ist nur ein Tester erforderlich, wobei die Arbeit zu zweit den Prozess noch weiter straffen kann.
Bei diesem Ansatz wird eine spezielle Software eingesetzt, die die Handlungen der Tester aufzeichnet und ihnen einfache Schritte zur Replizierung eines von ihnen entdeckten Problems an die Hand gibt. Dies geschieht in der Regel in Form eines Videos, in dem der Tester seine Handlungen Schritt für Schritt erläutert.
Die Aufzeichnung des Testprozesses gibt auch Aufschluss über die Leistung der Anwendung, z. B. wie schnell sie auf Eingabeanforderungen reagiert.
Passive Tests liefern sowohl den Testern als auch dem Entwicklungsteam eine Fülle von detaillierten Informationen über die Funktionsweise der Software.
Explorative Testtechniken
Exploratives Testen erfolgt in der Regel in Form einer “Tour”, bei der ein Tester die Software auf möglichst effiziente Weise erkundet.
Es gibt verschiedene Touren, die das Team wählen kann, unter anderem:
– Reiseführer-Touren
Bei diesem Ansatz werden die hervorgehobenen Funktionen der Anwendung in den Vordergrund gestellt, so dass die Art und Weise, wie ein durchschnittlicher Benutzer mit der Software umgeht, genau nachgebildet wird und Probleme aufgedeckt werden, die er auf natürliche Weise finden würde.
– Historische Touren
Bei dieser Tour werden die ältesten Funktionen der Anwendung überprüft, um sicherzustellen, dass sie noch funktionieren. Dies ist besonders wichtig, wenn die Entwickler neue Funktionen hinzugefügt haben, die mit der Anwendung in Konflikt stehen.
– Geld-Tour
Dieser explorative Test prüft die kritischen Anwendungsfunktionen, insbesondere diejenigen, für deren Nutzung Kunden und Klienten Geld bezahlen – diese haben in der Regel die höchste Priorität für das Testteam.
– Tour der Verbrechensbekämpfung
Tester arbeiten manchmal aktiv daran, eine Anwendung zu brechen oder negative Szenarien zu erzeugen, indem sie beispielsweise ungültige Informationen eingeben und untersuchen, wie die Anwendung darauf reagiert.
– Tour durch Hinterhöfe
Dieser Prozess umfasst Funktionen, die wahrscheinlich von weniger Kunden genutzt werden; diese sind für jeden Testansatz ebenso wichtig, zumal sie mit anderen Funktionen interagieren werden.
– Intellektuelle Führung
Bei dieser Tour wird die Anwendung weiter erprobt, indem die kompliziertesten Funktionen mit höheren (manchmal maximalen) Werten getestet werden, um die Verarbeitungsgeschwindigkeit der Software zu ermitteln.
Explorative Testansätze
Es gibt zwei Hauptansätze für Sondierungstests:
1. Sitzungsbasierte Sondierungstests
Dabei handelt es sich um eine zeitbasierte Technik, die darauf abzielt, den Testprozess zu quantifizieren, indem er in “Sitzungen” mit zwei Komponenten unterteilt wird: Aufträge und Aufgaben.
Die Mission ist der Zweck und die Dauer der jeweiligen Sitzung, die dem Sondierungstester einen klaren Fokus gibt.
Eine Charta legt den Umfang jeder Sitzung fest und beschreibt alle spezifischen Ziele, die der Tester erreichen will. Dies führt zu einem höheren Maß an Verantwortlichkeit (und Dokumentation), da diese Prüfungen in besser handhabbare Komponenten aufgeteilt werden.
Sitzungsbasierte Tests verbessern auch die Produktivität und liefern dem Tester klare Metriken und Informationen zur Fehlersuche.
2. Paarbasierte Sondierungstests
Das paarweise Testen ähnelt dem aktiven explorativen Testen, da es in erster Linie darum geht, in Paaren zu arbeiten – in der Regel auf demselben Gerät – um die Anwendung kontinuierlich und gleichzeitig zu prüfen. Dabei schlägt ein Tester eine Reihe von Testfällen vor und macht sich Notizen zum Fortschritt, während der andere die Software testet.
Die Kommunikation ist während des paarweisen Testens von entscheidender Bedeutung, da sie sicherstellt, dass beide Tester über die Prüfungen und deren Zweck informiert sind.
Wenn Sie diese Paare selbst zuweisen, sollten Sie darauf achten, dass Sie die Stärken und Schwächen jedes Testers berücksichtigen, denn so können Sie stärkere explorative Testprozesse aufbauen.
Welche Faktoren beeinflussen Exploratory Testing?
Zu den Faktoren, die sich auf die Qualität der Sondierungstests eines Teams auswirken können, gehören:
– Das übergreifende Ziel und die Kernfunktionalität der Software.
– Die spezifischen Testziele für die aktuelle Phase einer Anwendung.
– Die individuellen Rollen und Fähigkeiten jedes Testers im Team.
– Die verfügbaren Werkzeuge, wie z. B. kostenlose Software zur Automatisierung von Tests.
– Die Unterstützung, die Tester von Kollegen oder dem Management erhalten.
– Die Wünsche des Kunden und die allgemeinen Trends des Marktes.
– Die Benutzerfreundlichkeit der Anwendung, z. B. die Flüssigkeit der Schnittstelle.
– Die Zeit, die den Testern zur Verfügung steht, um die Testphase abzuschließen.
– Die Eingaben und andere Daten, die die Prüfer verwenden wollen.
– Die Funktionen, die die Entwickler der Software im Laufe der Zeit hinzufügen.
Arten von Erkundungstests
Die drei wichtigsten Arten von Sondierungstests, die ein Team durchführen kann, sind:
1. Freestyle-Sondierungstests
Freestyle-Testing umfasst den Ad-hoc-Ansatz zur Überprüfung einer Anwendung. Dabei sind nur wenige Regeln zu berücksichtigen, so dass die Wirksamkeit variieren kann; einige Software und Komponenten rechtfertigen eine robustere Methodik.
Diese Prüfungen können dennoch von großem Nutzen sein, da sie den Testern helfen, sich mit dieser Anwendung vertraut zu machen und die Arbeit eines früheren Testers zu validieren.
Auch ohne strenge Regeln können erfahrene und geübte Prüfer dieses Format leicht zu ihrem Vorteil nutzen. Sie können sich mühelos durch jeden Aspekt der Software bewegen – in manchen Situationen sind die Testregeln restriktiv und können die Ergebnisse des Teams ungewollt einschränken.
2. Szenariobasierte Erkundungstests
Beim szenariobasierten Testen werden realistische Situationen als Grundlage für jeden Test verwendet, z. B. durch die Überprüfung von Eingaben, die Benutzer während des typischen Betriebs dieser Software wahrscheinlich machen werden.
Tester arbeiten hart, um sicherzustellen, dass jedes Szenario, das sie entwerfen, mit der Art und Weise übereinstimmt, wie ein Benutzer mit der Anwendung umgeht.
Die Zeit könnte ein Hindernis sein, da das Team so viele Szenarien wie möglich testen will; je nach den anstehenden Fristen wird es wahrscheinlich nicht möglich sein, alle Möglichkeiten zu berücksichtigen.
Die Prüfer sollten eine breite Palette von Tests in verschiedenen Kategorien durchführen.
3. Strategiegestützte Erkundungstests
Die strategiebasierte Prüfung umfasst eine breite Palette spezifischer Methoden, darunter Grenzwerttests, Äquivalenztechniken, risikobasierte Techniken und andere. Dabei werden in der Regel Tester bevorzugt, die bereits mit der Anwendung vertraut sind, da sie maßgeschneiderte Strategien entwickeln können, die diese einzelnen Methoden einbeziehen.
Ein strategieorientierter Ansatz konzentriert sich in erster Linie auf die Funktionalität (und das Innenleben) der Software, ohne die möglichen Szenarien zu berücksichtigen, die dazu führen könnten, dass ein Benutzer auf die auftretenden Probleme stößt. Dies könnte zu einer umfassenderen Analyse einer Anwendung und ihrer verschiedenen Merkmale führen, die möglicherweise tiefer geht als verschiedene andere Ansätze.
Manuelle oder automatisierte Sondierungstests?
Testteams können Sondierungsprüfungen entweder manuell durchführen oder sie automatisieren. Beide Optionen können enorme Vorteile bieten; welche Option die richtige ist, hängt oft von den Besonderheiten des jeweiligen Projekts ab.
Manuelle Erkundungstests
Manuelle Sondierungstests ermöglichen eine größere Bandbreite an maßgeschneiderten Prüfungen. Dies kann zwar länger dauern, da menschliche Tester langsamer sind als Computer, aber die manuelle Prüfung kann bei der Ermittlung der Benutzerfreundlichkeit hilfreich sein.
Ein Tester stellt nicht nur sicher, dass alle Funktionen einer Anwendung ordnungsgemäß funktionieren, sondern auch, dass die Benutzer die Anwendung problemlos bedienen können. Dies ist vielleicht die gängigste Form des explorativen Testens – was sie aber nicht unbedingt zur effektivsten macht.
1. Vorteile der manuellen Durchführung von Sondierungstests
Zu den Vorteilen der manuellen Sondierungstests gehören:
Stärkere Konzentration auf die Benutzerfreundlichkeit
Automatisierte Sondierungstests können zwar Unstimmigkeiten in der Software feststellen, sind aber möglicherweise nicht in der Lage, diese Probleme auf die gleiche Weise zu interpretieren wie ein menschlicher Tester.
Dazu gehört auch, dass man versteht, wie die Benutzer der Software wahrscheinlich navigieren oder mit der Anwendung interagieren werden, was bei der Automatisierung nicht berücksichtigt werden kann.
Manuelle Sondierungstester können ein umfassenderes Feedback geben, einschließlich spezifischer Details darüber, wie sich die von ihnen gefundenen Probleme auf die gesamte Software oder die allgemeine Erfahrung auswirken.
Kann Änderungen in Echtzeit vornehmen
Eine der Hauptstärken des explorativen Testens ist, dass es möglich ist, den Bedarf für einen Test zu ermitteln und ihn relativ schnell durchzuführen, bevor die notwendigen Verbesserungen versteigert werden.
Automatisierte Tests sind in der Regel viel schneller, aber die Tester müssen warten, bis alles vollständig ist, bevor sie Änderungen vornehmen – manuelle Tester können dies tun, während der Sondierungsprozess noch im Gange ist.
Dies ist jedoch oft nur bei Fehlern möglich, die kleinere Teile der Software betreffen.
Größere Aufmerksamkeit für Details
Beim explorativen Testen geht es vor allem darum, neue Wege zu entdecken, um eine Anwendung zu testen und sie gleichzeitig zu verstehen; das kann manchmal bedeuten, dass ein Test zu einem anderen führt, indem er dem Tester Ideen liefert.
Automatisierte Tests berücksichtigen dies möglicherweise nicht, da sie dem Testteam relativ wenig Arbeit abverlangen. Manuelle Tester verbessern ständig ihr Wissen über die Software und entwickeln neue, aber ebenso wichtige Tests – aber das kann schwierig sein, wenn Software von Drittanbietern sie automatisiert.
Kann Fehler außerhalb des Codes finden
Manuelle Sondierungsprüfungen ermöglichen es den Testern, jede Facette der Anwendung und der Software zu untersuchen, auch über den eigentlichen Code hinaus.
Viele automatisierte Ansätze beschränken sich auf den Code und seine Funktionsweise, was dazu führen kann, dass Testteams Probleme, die in anderen Teilen der Anwendung auftreten könnten, nicht bemerken.
Dies hängt vor allem von der Automatisierungssoftware ab, die Sie einsetzen, da einige Lösungen einen breiteren Ansatz für explorative Tests bieten können.
Sichert die Qualität des gesamten Projekts
Automatisierte Sondierungsprüfungen suchen nur nach Fehlern und Metriken innerhalb der Anwendung; manuelle Tester könnten stattdessen die Software inspizieren und ihr eigenes umfassendes Feedback geben.
So können sie beispielsweise den Code testen und feststellen, dass er zu komplex ist – was besonders wichtig ist, da toter Code die Leistung verlangsamen kann, aber von automatisierten Prozessen praktisch unentdeckt bleiben würde.
Die Kenntnisse eines Testers über die Software können bei der Diagnose von Problemen, die in anderen Testphasen auftreten, von Nutzen sein.
2. Herausforderungen bei manuellen Sondierungstests
Zu den Herausforderungen manueller Sondierungstests gehören:
Möglichkeit menschlicher Fehler
Automatisierte Sondierungstests können genau dieselbe Prüfung so oft wie nötig durchführen, ohne dass sich der genaue Ablauf ändert, wodurch Konsistenz und zuverlässige Ergebnisse gewährleistet werden.
Manuelle Sondierungstests sind anfällig für menschliche Fehler, d. h. der Tester kann einen falschen Wert eingeben. In der Regel ist es möglich, diese Tests noch einmal zu überprüfen und eventuelle Unstimmigkeiten zu beheben, da sie schon auf den ersten Blick offensichtlich sind.
Die Wiederholung eines Tests, nachdem man einen Fehler bemerkt hat, kann jedoch mehr Zeit in Anspruch nehmen.
Im Allgemeinen zeitaufwändiger
Selbst wenn die Tester jede explorative Prüfung korrekt und ohne menschliche Fehler durchführen, nimmt dieser Gesamtprozess im Vergleich zu automatisierter Software, die die Tests viel schneller berechnen kann, sehr viel Zeit in Anspruch.
Dies könnte einen Unterschied von mindestens mehreren Stunden ausmachen; Zeit, die die Tester mit Teilen der Anwendung verbringen könnten, die keinen Nutzen aus der Automatisierung ziehen würden.
Explorative Tests erfordern außerdem eine ständige Überwachung, während die Automatisierung es ermöglicht, Tests über Nacht laufen zu lassen.
Langwieriger Dokumentationsprozess
In ähnlicher Weise kann die manuelle Dokumentation während und nach den manuellen Tests eine unnötige Belastung für den explorativen Testprozess darstellen.
Dies erschwert die Nachverfolgung von Änderungen und Software-Bearbeitungen im Laufe der Zeit – automatisierte Software ist normalerweise in der Lage, dies bei der Durchführung von Tests intuitiv zu berücksichtigen.
Dies ist ein weiteres administratives Problem, das Zeit und Energie von anderen Angelegenheiten abzieht, was den Umfang und die Breite des gesamten Softwaretestverfahrens effektiv reduziert.
Muss die Software genau kennen
Manuelle Tester aller Qualifikationsstufen können die Anwendung inspizieren und gründlich testen. Der Grund dafür ist die Arbeit, die sie in das Verständnis der Software investieren – die erste Stufe des Erkundungsprozesses.
Wenn ein Tester jedoch Schwierigkeiten hat oder vernachlässigt, die Funktionsweise dieser Anwendung zu erlernen, wird es ihm wahrscheinlich schwer fallen, eine geeignete Reihe von Tests zu entwickeln und durchzuführen.
Wenn man die Software gut kennt, können die Tester über die üblichen Testparameter hinausgehen.
Kostenintensiv in der Wartung
Wenn man sich auf manuelle Sondierungstests verlässt, ist in der Regel ein größeres Testteam erforderlich, was langfristig zu höheren Kosten im Vergleich zu automatisierten Prüfungen führen kann. Die Software von Drittanbietern, mit der diese Sondierungstests durchgeführt werden, kann einen enormen Wert haben oder sogar völlig kostenlos sein.
Je nach Komplexität der Aufgaben kann ein Unternehmen hochqualifizierte Tester mit jahrelanger Erfahrung benötigen, um die Anwendung vollständig zu prüfen. Dies kann die Testkosten im Vergleich zur Verwendung kostenloser Automatisierungssoftware erheblich erhöhen.
3. Wann manuelle Sondierungstests eingesetzt werden sollten
Manuelle Sondierungstests sind oft mit einigen Herausforderungen verbunden, sind aber dennoch ein wichtiger Bestandteil gründlicher Softwaretests. Das liegt daran, dass es Aspekte der Software gibt, die von der Automatisierung nicht vollständig erfasst werden können und die ebenfalls einen starken Fokus erfordern.
So kann Software beispielsweise kein zuverlässiges Feedback zu Benutzeroberflächen oder Benutzererfahrungstests liefern. Die Tester können sich nur dann ein gutes Bild davon machen, wie eine Anwendung in der Praxis funktioniert, wenn sie sie manuell testen. Dies bedeutet, dass sowohl Entwickler als auch Testteams zumindest ein gewisses Maß an manuellen Sondierungstests in ihre Prüfungen integrieren müssen.
Automatisierte Erkundungstests
Bei automatisierten Tests wird Software von Drittanbietern verwendet, um bestimmte Prüfungen zu automatisieren – die Tester können dies in der Regel so anpassen, dass praktisch jeder Test möglich ist.
Dies erfordert jedoch im Allgemeinen, dass das Team die Prüfung mindestens einmal manuell durchführt, um die Automatisierung zu kalibrieren. Dies kann den Prozess sowohl für die Test- als auch für die Entwicklungsteams erheblich rationalisieren.
Auch wenn die Automatisierung von Sondierungstests eher ungewöhnlich ist, bietet sie doch einige klare Vorteile für Ihre Anwendung und deren Leistung.
1. Vorteile der Automatisierung von Sondierungstests
Zu den wichtigsten Vorteilen der Automatisierung von Sondierungstests gehören:
Konsistente Testdurchführung
Menschliches Versagen kann leicht zu Testfehlern führen, deren Behebung sowohl Zeit als auch Geld kostet; automatisierte Sondierungsprüfungen ermöglichen es den Testteams, dieses Problem zu umgehen.
Die Tester bringen der Automatisierungssoftware bei, wie sie einen Test korrekt ausführt, und stellen sicher, dass sie diesen jedes Mal identisch durchführt. Dadurch wird die Zuverlässigkeit der Tests insgesamt verbessert und die Zeit, die die Entwickler auf die Ergebnisse warten müssen, verkürzt – zumal die Tester die Tests problemlos über Nacht laufen lassen können.
Zeitersparnis für alle
Dank automatisierter Tests können die Entwickler viel schneller mit der Behebung von Problemen beginnen, während die Tester gleichzeitig eine breitere Palette von Sondierungsprüfungen durchführen können. Es gibt nur eine bestimmte Anzahl von Szenarien, die das Team unabhängig von der Frist berücksichtigen kann, d. h. es ist wichtig, dass die Tester so viele Prüfungen wie möglich in den vorgegebenen Zeitrahmen einbauen.
Die Automatisierung hilft, indem sie diese explorativen Tests viel schneller durchführt als manuelle Tester.
Ein kosteneffizienter Ansatz
Je nachdem, für welche Software sich das Team entscheidet, kann die Automatisierung weitaus kostengünstiger sein als manuelle Tests – sie könnte sogar kostenlos sein.
Zwar ist es nach wie vor wichtig, manuelle Tester einzustellen, und einige von ihnen werden für die Kalibrierung der Automatisierungsverfahren zuständig sein, aber die Automatisierung möglichst vieler explorativer Tests bietet dem Unternehmen die Chance, die Personalkosten zu senken.
Sobald das Team die Automatisierungssoftware verstanden hat, kann es sie an eine Vielzahl von Aufgaben anpassen.
Anpassbar für mehrere Geräte
Für manuelle Tests werden Mitarbeiter benötigt, die Erfahrung mit verschiedenen Geräten haben, z. B. Kenntnisse über verschiedene Telefonbetriebssysteme wie Android und iOS, wenn eine mobile Anwendung entwickelt wird.
Automatisierte Software kann dies berücksichtigen und über mehrere Geräte hinweg testen, um sicherzustellen, dass die Anwendung konsistent gute Leistungen erbringen kann. Testteams, die sich mit diesen Geräten auskennen, können den Prozess als langwierig empfinden; die Automatisierung ist wiederum in der Lage, die üblichen explorativen Testprozesse zu rationalisieren und jede Iteration gleichzeitig zu testen.
Wiederverwendbare Skripte
Wenn das Team mehrere Versionen derselben Software oder sogar mehrere Produkte mit ähnlicher Architektur oder ähnlichen Funktionen testet, ist es möglich, Skripte von einem Testzyklus zum nächsten wiederzuverwenden.
Wenn Anpassungen erforderlich sind, um die Kompatibilität zu gewährleisten, können manuelle Tester diese viel schneller vornehmen, als ein neues Skript zu schreiben.
Die Automatisierung optimiert praktisch jede Phase des explorativen Testprozesses und lässt sich leicht für unterschiedliche Softwarekonfigurationen einrichten.
2. Herausforderungen bei der Automatisierung von Sondierungstests
Dieser Prozess bringt auch verschiedene Herausforderungen mit sich, wie zum Beispiel:
Stellt nur eine Seite der Prüfung dar
Es ist weder praktisch noch ratsam, jede Prüfung beim Testen der Anwendung zu automatisieren, da es einige Aspekte gibt, zu denen nur ein manueller Tester zuverlässig Feedback geben kann.
Dies gilt auch für die Nutzererfahrung, obwohl es je nach gewählter Software möglich sein kann, gründliche Leistungs- und Lasttest-Analysen durch Automatisierung zu erhalten.
Bei der Automatisierung von Erkundungstests fehlt es an menschlichem Urteilsvermögen, so dass sie am besten neben einem manuellen Tester für einige Prüfungen eingesetzt werden kann.
Unrealistische Erwartungen an die Fähigkeiten
In ähnlicher Weise können automatisierte explorative Testverfahren enorme Vorteile für eine Anwendung und das gesamte Projekt bieten.
Dieser Ansatz ist jedoch nicht immer die Lösung. Unternehmen, die sich in jeder Phase stark auf Automatisierung verlassen, können eine unvollständige Sicht auf die Software haben.
Die Automatisierung identifiziert Probleme, aber die Test- und Entwicklungsteams sind für deren Behebung verantwortlich. Es ist wichtig, eine übergreifende Automatisierungsstrategie zu definieren, damit alle Projektbeteiligten die Möglichkeiten und Grenzen der Automatisierung verstehen.
Höhere Qualifikationsanforderungen
Bei der Automatisierung geht es in der Regel darum, zu wissen, wie man komplexe Prüfungen durchführt, und gleichzeitig zu wissen, wie man sie programmiert und tatsächlich automatisiert. Dies erfordert oft jahrelange Erfahrung in der Skripterstellung, obwohl Automatisierungssoftware bei der Optimierung dieser Prozesse erheblich helfen kann.
Es ist von entscheidender Bedeutung, dass das Unternehmen Tester mit unterschiedlichen und soliden Fähigkeiten einstellt, um eine effektive Automatisierung zu ermöglichen.
Prüfer mit Erfahrung in der Automatisierung wissen auch, welche Funktionen bei der Auswahl der verfügbaren Softwareoptionen von Drittanbietern zu priorisieren sind, um sicherzustellen, dass das Team ein gutes Produkt erhält.
Ungeeignete Strategien und Kommunikation
Die Kommunikation einer kohärenten Strategie ist für eine erfolgreiche Automatisierung von entscheidender Bedeutung; Entwickler, Tester und sogar Projektmanager müssen während des gesamten Tests auf derselben Seite stehen.
Die Teams müssen zusammenarbeiten, um den Umfang und den Zeitplan ihrer bevorstehenden Verfahren festzulegen. Dies gilt für jeden Testprozess, ist aber aufgrund der zusätzlichen Komplexität der Automatisierung besonders wichtig. Bessere Kommunikationswege und das Fehlen von Informationssilos ermöglichen Ihren Teams eine effizientere Durchführung ihrer Tests.
Auswahl der richtigen Automatisierungssoftware
Zur Automatisierung gehört in der Regel die Auswahl einer Drittanbieteranwendung, die mit den Testzielen des Teams kompatibel ist. Jede Option hat unterschiedliche Preispläne und Funktionen. Dies kann auf lange Sicht erhebliche Kosten verursachen, selbst wenn die Software erfolgreich automatisierte Tests durchführt und dabei einen erheblichen Mehrwert bietet.
Es gibt eine Reihe von kostenlosen Optionen, die eine beeindruckende Funktionalität bieten, die mit Premium-Alternativen vergleichbar ist. Es ist wichtig, dass das Prüfteam alle verfügbaren Optionen untersucht, einschließlich kostenloser Software.
Schlussfolgerung: Explorative Testautomatisierung vs. manuelle explorative Tests
Es gibt nur wenige Projekte, die entweder vollständig manuell oder vollständig automatisiert getestet werden, da Anwendungen aller Art mit einer Kombination aus beidem besser funktionieren.
Während automatisierte Tests den Prozess für die Entwicklungs- und Qualitätssicherungs-Teams optimieren können, erfordern einige Aspekte des Designs manuelle Erkundungstests; dies ist die einzige Möglichkeit, benutzerorientiertes Feedback zu erhalten.
Im Laufe der Zeit arbeiten immer mehr Unternehmen an der Implementierung von Hyperautomatisierung, einem Prozess, der darauf abzielt, die Automatisierung auf intelligente Weise zu maximieren und sicherzustellen, dass das Unternehmen über eine effiziente Strategie verfügt – diese könnte weiterhin neben manuellen Tests bestehen.
Dank der zunehmenden Verbreitung von Automatisierungssoftware wird automatisiertes Testen für Unternehmen immer zugänglicher, zumal mehrere kostenlose Optionen mit zahlreichen Funktionen verfügbar sind. Dies erleichtert es den Unternehmen, einen kombinierten Ansatz aus manuellen und automatisierten Sondierungstests anzuwenden.
Die wachsende Popularität von Agile (eine Projektmanagementtechnik, die sich auf schrittweise, aber signifikante Fortschritte konzentriert) in der Entwicklung ist ebenfalls ein Faktor, da sie kurze Testzyklen erfordert. Eine kombinierte Teststrategie könnte diese und verschiedene andere Entwicklungsstrategien berücksichtigen, wie z. B. die kontinuierliche Integration, die ebenfalls wiederholte Tests erfordert, um den Erfolg über viele Iterationen derselben Software sicherzustellen.
Was Sie für die Durchführung von Sondierungstests benötigen
Die Voraussetzungen für Sondierungstests sind:
1. Klare Testziele
Obwohl exploratives Testen gleichbedeutend mit Freiheit ist und manchmal mit Ad-hoc-Tests verwechselt wird, folgt es dennoch bestimmten Regeln oder definierbaren Zielen. Die einzige Möglichkeit für ein QA-Team, sich erfolgreich in fast jeder Teststruktur zurechtzufinden, ist die Kenntnis des erwarteten Ergebnisses jedes Tests, zumal die Tester diese Prüfungen in der Regel selbst entwerfen.
2. Kreative, intuitive Tester
Exploratives Testen konzentriert sich auf die Entwicklung neuer und kreativer Tests, die Probleme mit einer Anwendung aufdecken können. Selbst Tester mit wenig Erfahrung können dies tun, vorausgesetzt, sie verstehen die Software.
Es ist wichtig, dass die Tester die Anwendung und ihre Funktionsweise verstehen; so können sie intuitiv eine Reihe nützlicher Prüfungen entwickeln.
3. Kohärente Dokumentation
Jede Art von Test muss genau dokumentiert werden, um sicherzustellen, dass jedes Teammitglied den erwarteten Testplan einhält und dass niemand versehentlich eine Prüfung wiederholt.
Dies ist ein wichtiger Aspekt der Kommunikation innerhalb einer einzelnen Abteilung und über mehrere Abteilungen hinweg, z. B. wenn Entwickler regelmäßige Test-Updates benötigen, um herauszufinden, wie sie Probleme beheben können.
4. Die Perspektive des Kunden
Exploratives Testen umfasst viele Strategien und Szenarien, darunter auch solche, die widerspiegeln, wie die Benutzer in der Praxis mit der Anwendung umgehen werden. Es ist wichtig, dass die Testteams dies bei ihren Prüfungen berücksichtigen, auch wenn sie keine szenariobasierten Tests durchführen.
Dadurch kann ein Prüfer das Testen aus verschiedenen Blickwinkeln betrachten und die Qualität dieser Prüfungen verbessern.
5. Automatisierte Prüfsoftware
Da das Team wahrscheinlich einen großen Teil der von ihm entworfenen Tests automatisieren kann, ist es wichtig, dass es vor der Ausführungsphase hochwertige Software für automatisierte Tests beschaffen kann.
Die Entwickler und das Testteam können ihr Verständnis des Projekts nutzen, um die Anwendung eines Drittanbieters zu bestimmen, die ihren eigenen Anforderungen entspricht.
Prozess der explorativen Prüfung
Die spezifischen Schritte für Sondierungstests sind wie folgt:
1. Klassifizierung des Prüfverfahrens
Der erste Schritt des explorativen Testens besteht darin, dass sich die betreffenden Teammitglieder darüber klar werden, wie sie an diese Prüfungen herangehen können, indem sie beispielsweise häufige Fehler klassifizieren und eine Ursachenanalyse durchführen.
Hier entwickeln die Tester ihre Ideen für die Tests selbst; je nach ihrer genauen Methodik können sie auch eine Testcharta entwerfen.
Darin sind der Umfang und die Tests für diese Sitzung oder diesen Arbeitstag festgelegt.
2. Beginnen Sie die Tests
Während die genauen Parameter (wie z. B. die Zeit für jeden Test oder eine Gesamtsitzung) von den eigenen Präferenzen des Teams und den Anforderungen des Projekts abhängen, haben alle Sondierungen gewisse Gemeinsamkeiten.
Nach der Einstufung der entsprechenden Prüfungen beginnen die Qualitätssicherungsmitarbeiter mit der Durchführung der Tests und der Aufzeichnung der Ergebnisse.
Wenn die Kontrollen automatisiert werden müssen, können die Prüfer dies für die Nacht einrichten oder tagsüber selbst überwachen.
3. Überprüfung der Ergebnisse
In der nächsten Phase werden die Ergebnisse überprüft und mit den Standard- und erwarteten Ergebnissen verglichen. Ergeben sich bei diesen Tests erhebliche unerwartete Abweichungen irgendeiner Art, könnten die Prüfer die Prüfung wiederholen oder sofort mit der Suche nach Abhilfemaßnahmen beginnen. Die Vorschläge, die sie den Entwicklern machen, können bei der Festlegung des richtigen Ansatzes hilfreich sein – und ihre Fehlerberichte können dies im Detail darlegen.
4. Die Testnachbesprechung
Nach der Versteigerung der Testergebnisse beginnt das Qualitätssicherungs-Team mit der Überprüfung des Testverfahrens selbst und nutzt dies, um festzustellen, ob ihr explorativer Testansatz geeignet war.
Dieser zusammenfassende Prüfbericht könnte sogar zu dem Schluss kommen, dass bei den Prüfungen Betriebsfehler aufgetreten sind, die eine erneute Prüfung erfordern. Das Testteam kann die Anwendung auch erneut überprüfen, sobald die Entwickler diese Probleme behoben haben, um festzustellen, ob sie erfolgreich waren.
Bewährte Verfahren für Exploratory Testing
Zu den effektivsten Verfahren für Sondierungstests gehören:
1. Zusammenstellung von Testpersonen
Bei vielen Formen des explorativen Testens ist es von Vorteil, wenn die Tester zusammenarbeiten – das strafft den Prozess weiter und ermöglicht es, dieselben Prüfungen aus mehreren Perspektiven zu betrachten.
Paarweises Testen vermeidet auch die Möglichkeit eines Tunnelblicks und fördert eine kreativere Testgestaltung.
Wenn mehrere Personen an denselben Tests arbeiten, kann dies zu einer höheren Genauigkeit führen, und die Aufteilung der Arbeitslast trägt auch dazu bei, dass die Tests für das gesamte Team viel schneller durchgeführt werden können.
2. Manuelle und automatisierte Tests mischen
Einige Unternehmen tun sich immer noch schwer mit der Automatisierung, während andere sie übermäßig nutzen, selbst wenn manuelle Perspektiven vorteilhafter sein könnten. Durch die Ausgewogenheit dieser Prüfungen kann das Testteam mehr Bereiche abdecken und die Qualität der gesamten Anwendung sicherstellen, auch für eher subjektive Aspekte wie die Software-Schnittstelle.
Die gemeinsame Durchführung von manuellen und automatisierten Tests ist die einzige Möglichkeit, eine vollständige Testabdeckung für jedes Merkmal oder jede Funktion zu gewährleisten.
3. Den Markt verstehen
Es ist wichtig, dass die Tester sowohl ihre Zielgruppe als auch ihre Konkurrenten während des Testprozesses kennen; so können sie besser einschätzen, wie die Menschen wahrscheinlich auf die aktuelle Funktionalität der Anwendung reagieren werden.
Bestimmte Funktionen werden stark nachgefragt, und das Testteam kann davon profitieren, wenn es diesen bei den Prüfungen Priorität einräumt. Allerdings müssen sie auch eine breite Testabdeckung gewährleisten. Dies könnte neben dem potenziellen Erfolg der Software bei der Markteinführung auch die Richtung der Tests bestimmen.
4. Echte Geräte für Tests verwenden
Softwaretestteams können zur Erleichterung ihrer Sondierungsprüfungen auf Emulatoren zurückgreifen; dies kann nützlich sein, spiegelt aber selten eine praktische Benutzerumgebung wider.
Echte Geräte tragen dazu bei, die Zuverlässigkeit von Sondierungstests zu verbessern, indem sie eine realistischere Erfahrung erzeugen – Emulatoren sind unvollkommen und können Fehler aufweisen, die bei Kunden nicht vorhanden sind.
Die Emulation ist ein schneller Weg, um mehrere Plattformen zu testen, aber sie ist kein Ersatz für die tatsächlichen Geräte.
Arten von Ergebnissen eines Sondierungstests
Es gibt verschiedene Ergebnisse, die die Prüfer nach der Durchführung einer Prüfung erhalten können, darunter:
1. Testergebnisse
Die Ergebnisse selbst nehmen viele Formen an, da Sondierungstests Hunderte von einzelnen Tests umfassen können. Diese Ergebnisse machen den größten Teil der Ausgaben einer Testroutine aus und liefern wichtige Informationen über den Zustand der Anwendung und ihre Fähigkeit, die Anforderungen der Benutzer zu erfüllen.
Die Prüfer könnten das System erneut überprüfen und die Informationen nach Erhalt dieser Ergebnisse validieren, um ihr weiteres Vorgehen festzulegen.
2. Testprotokolle
In den Protokollen einer Anwendung werden oft Fehler und Probleme während des Testprozesses aufgedeckt; diese liefern die besten Anhaltspunkte dafür, warum die Software einen Test nicht bestanden hat. Erfahrene Tester sind besonders versiert in der Interpretation von Anwendungsprotokollen und können so die Ursache komplizierter Probleme ermitteln.
Je mehr Informationen die Tester aus diesen Protokollen gewinnen, desto mehr können sie den Entwicklern helfen.
3. Prüfberichte
Je nach Automatisierungsverfahren des Teams können die Ergebnisse automatisch einen Fehlerbericht erzeugen. Hier werden alle in einer Anwendung auftretenden Fehler, möglicherweise einschließlich ihrer Ursachen, und alle anderen für Entwickler relevanten Daten aufgeführt.
Die Tester können dies nutzen, um ihre eigene Meinung darüber abzugeben, ob die Software bereit für die Einführung ist, was allgemein als “Go/No-Go”-Entscheidung bekannt ist.
Beispiele für Erkundungstests
Hier sind drei Beispiele dafür, wie ein Unternehmen Sondierungstests einsetzen könnte:
1. Eine mobile Spiele-App
Wenn ein Spieleunternehmen ein größeres Update für eine mobile Anwendung herausbringen möchte, können Sondierungstester sowohl alte als auch neue Funktionen überprüfen, um festzustellen, ob die Anwendung noch stabil ist. Dies kann die Komplexität der Software so weit erhöhen, dass sie auf bestimmten Geräten nicht mehr funktioniert.
Die Tester arbeiten daran, diese Auswirkungen zu minimieren und gleichzeitig die Benutzerfreundlichkeit auf möglichst vielen Plattformen zu gewährleisten.
Erkundungstester prüfen das Spiel und seine vielen komplizierten Szenarien gründlich, um sicherzustellen, dass jede Funktion wie beabsichtigt funktioniert; dieser Prozess erfordert in der Regel einen manuellen Tester.
2. Die Website eines Dienstanbieters
Websites werden auch Sondierungstests unterzogen, um sicherzustellen, dass sie sowohl für die Benutzer als auch für die Mitarbeiter funktionieren, so dass sich die Tester zunächst auf der Website anmelden können. Dies testet die Fähigkeit der Website, neue Benutzerprofile zu erstellen, und überprüft, ob die Benutzer auf die Verwaltungsfunktionen zugreifen können.
Die Tester gehen dann dazu über, den Dienst zu prüfen, indem sie einen Termin buchen oder eine Bestellung aufgeben. Sie schließen dann den Kauf ab, um sich zu vergewissern, dass die Kasse ordnungsgemäß funktioniert, und sehen sich anschließend die E-Mail-Bestätigung der Bestellung und den Verlauf des Kontos an.
3. Das Managementsystem eines Krankenhauses
Anwendungen und Systeme aller Art können von Sondierungstests profitieren. Bei Krankenhausmanagementsystemen könnte ein Prüfer untersuchen, wie das Zahlungsmodul mit anderen Funktionen zusammenwirkt.
Ein höheres Maß an Integration kann ohne strenge Tests zu erheblichen Fehlern führen. Diese Prüfungen könnten ein Architekturdiagramm beinhalten, das die vielen Komponenten des Systems und deren Zusammenspiel aufzeigt.
Die Tester befassen sich auch mit den Problemen, die in früheren Iterationen des Systems aufgetreten sind, und prüfen gezielt, ob diese immer noch vorhanden sind, und ergreifen sofortige Maßnahmen, wenn sie Fehler entdecken.
Arten von Fehlern und Bugs, die durch Exploratory Testing entdeckt werden
Zu den Fehlern, die Tester bei Sondierungstests aufdecken können, gehören:
1. Inkompatible Merkmale
Bestimmte Funktionen in der Anwendung interagieren möglicherweise nicht wie erwartet miteinander, was dazu führen kann, dass die Nutzer nicht in der Lage sind, Einkäufe abzuschließen oder die Anwendung zu nutzen. Die Tester prüfen die Funktionen einzeln und im Zusammenspiel, um sicherzustellen, dass alles zusammenpasst.
2. Ungeeignetes UI-Design
Die Benutzeroberfläche einer Anwendung bestimmt genau, wie jemand die Software benutzt. Wenn beispielsweise wichtige Funktionen für die Kunden nicht ersichtlich sind, bemerken sie möglicherweise nicht, dass es diese Funktionen gibt, was ihre Freude an der Anwendung einschränkt.
Manuelle UI-Tests identifizieren und korrigieren ein benutzerunfreundliches Design.
3. Authentifizierungsfehler
Viele Anwendungen und Websites ermöglichen die Erstellung eines Benutzerprofils mit bestimmten Berechtigungen. Es ist von entscheidender Bedeutung, dass die Tester prüfen, ob durchschnittliche Benutzer auf irgendeine Weise auf sensible Daten oder sogar Verwaltungsfunktionen zugreifen können, während sie die Software auf unerwartete Weise nutzen.
4. Toter Code
Die Tester könnten veralteten Code finden, der noch in der Anwendung vorhanden ist und sogar die Ursache für bemerkenswerte Leistungsprobleme sein kann. Toter Code verkompliziert das Innenleben der Anwendung zu sehr und kann zu vermeidbaren Fehlern führen. Durch die Identifizierung und Optimierung dieser Faktoren wird die Software für Mitarbeiter und Nutzer reaktionsschneller.
Gemeinsame Metriken für Exploratory Testing
Zu den üblichen Metriken, auf die Tester während ihrer Sondierungstests stoßen können, gehören:
1. Metriken für Leistungstests
Sondierungstests, die die allgemeine Leistung einer Anwendung untersuchen, können ein breites Spektrum an Messwerten liefern. Dies kann minimale, durchschnittliche und maximale Antwortzeiten sowie Ausfall- und Erfolgsraten umfassen, um die Stabilität zu bestimmen.
2. Metriken zur Testabdeckung
Die Testabdeckung ist wichtig, denn sie bestimmt, wie viele Kategorien und Facetten einer Anwendung die Tests umfassen. Der Prozentsatz der Anforderungsabdeckung bewertet zum Beispiel, ob es Funktionen gibt, die weitere Testrunden erfordern.
3. Allgemeine Testeffizienz
Die Verfolgung der Anzahl erfolgreicher und fehlgeschlagener Prüfungen hilft den Testern, den allgemeinen Zustand einer Anwendung zu ermitteln. Darüber hinaus kann das Team verfolgen, wie viele der entdeckten Fehler kritisch sind.
4. Verteilung der Mängel
In ähnlicher Weise zeigt die Überprüfung der Fehlerverteilung, welche Komponenten oder Funktionen am fehleranfälligsten sind. Dabei kann es sich um Teile der Anwendung handeln, die häufig mit anderen interagieren, so dass es wichtig ist, diese Tests zu priorisieren.
5. Regressionsmetriken
Bei explorativen Regressionstests können die Tester sehen, wie sich verschiedene Iterationen derselben Software verhalten und wie sich dies auf die Leistung auswirken kann.
Defect Injection Rate und Defects per Build sind die spezifischen Metriken, die dabei helfen.
Klärung einiger Unklarheiten: Explorative Tests vs. Ad-hoc-Tests
Da der Schwerpunkt auf der Freiheit des Testers liegt, verwechseln manche Leute exploratives Testen häufig mit Ad-hoc-Tests. Die beiden Formate haben einige wichtige Gemeinsamkeiten, dienen aber letztlich unterschiedlichen Zwecken.
1. Was sind Ad-hoc-Tests?
Ad-hoc-Tests sind ein völlig unstrukturierter Ansatz, der mit dem konventionellen Testdesign bricht, um Fehler zu finden, die sonst vielleicht nicht auftauchen würden.
Diese Form des Testens beinhaltet in der Regel keine Dokumentation, was es schwierig macht, Probleme zu reproduzieren, es sei denn, der Tester ist sich der Ursache absolut sicher.
Ein Beispiel hierfür ist das “Monkey Testing”, eine Prüfung, bei der zufällige Eingaben gemacht werden und die letztlich darauf abzielt, das System zu zerstören.
Ähnlich wie bei explorativen Tests arbeiten viele Ad-hoc-Tester bei der Durchführung dieser Prüfungen paarweise zusammen, was ihre Zuverlässigkeit erhöht. Ein Ad-hoc-Ansatz kann nach der formalen Testdurchführung nützlich sein, um sicherzustellen, dass die Prüfungen alle Möglichkeiten berücksichtigen; dies ist auch hilfreich, wenn nur wenig Zeit für weitere Tests zur Verfügung steht. Bei richtiger Durchführung sind Ad-hoc-Tests von großem Nutzen.
2. Unterschiede zwischen Sondierungstests und Ad-hoc-Tests
Ad-hoc-Tests beinhalten im Allgemeinen keine formale Dokumentation. Dies steht in krassem Gegensatz zu Sondierungsprüfungen, bei denen die Aufzeichnung aufgrund des improvisierten Charakters dieser Kontrollen noch wichtiger ist.
Bei explorativen Tests wird eine größere Vielfalt an formalen Testtechniken eingesetzt, während Ad-hoc-Prüfungen dies vermeiden, indem sie sich außerhalb der konventionellen Test-Etikette bewegen. Dies hilft ihnen, Fehler zu entdecken, die die Tester sonst nie finden würden.
Exploratives Testen hat klare Ziele und Grenzen, erlaubt den Teammitgliedern aber dennoch, kreative Tests durchzuführen. Ad-hoc-Tests haben in der Regel kein definierbares Endziel, das darüber hinausgeht, die Software so weit zu bringen, wie sie kann. Ad-hoc-Tests setzen oft auch ein bereits vorhandenes Wissen über die Software und ihre Funktionen voraus, während beim explorativen Testen das Erlernen der Anwendung in die üblichen Prozesse integriert wird.
Exploratives Testen in Agile
Die agile Methodik fördert in hohem Maße die kontinuierliche Verbesserung. Das bedeutet, dass es sich gut mit explorativen Tests kombinieren lässt, insbesondere wenn die Nachfrage nach häufigen Software-Updates steigt.
Die Kombination von explorativem Testen mit Agile kann Teammitgliedern eine stärkere Teststruktur bieten, indem sie die Release-Planung und die Sprint-Ausführung in ihre Zeitpläne integrieren. Ein Unternehmen, das sich agile Techniken zu eigen macht, könnte dies sogar noch weiter ausbauen, indem es es mit explorativen Tests kombiniert; dies ist eine hervorragende Möglichkeit, jede einzelne Softwarekomponente einer Anwendung zu testen. Da die Tester explorative Prüfungen ohne Skripte durchführen können, sparen sowohl die Qualitätssicherungsmitarbeiter als auch die Entwickler viel wertvolle Zeit.
Automatisierte Sondierungstests tragen zu diesen Einsparungen bei und helfen den Unternehmen, die letzten Iterationen ihrer Anwendungen viel schneller zu überprüfen, möglicherweise über Nacht. Sondierungsprüfungen liefern schnelle, brauchbare Ergebnisse, und die Entwickler können im Rahmen des nächsten Sprints die notwendigen Änderungen vornehmen.
Manuelle Sondierungstests bieten in Verbindung mit Agile immer noch viele Vorteile, da sie Probleme aufdecken können, die bei einem automatisierten Ansatz übersehen werden könnten. Andere Formen des Testens dauern einfach zu lange oder bieten zu wenig Nutzen, um bequem in den agilen Rahmen zu passen. Sondierungsprüfungen können sicherstellen, dass jede Agile-Phase die Software und ihre Funktionalität deutlich verbessert.
7 zu vermeidende Fehler und Fallstricke bei der Implementierung von Exploratory Tests
Im Folgenden finden Sie sieben häufige Fehler, die Unternehmen bei der Durchführung von Sondierungstests machen, sowie Hinweise, wie sie diese Probleme vermeiden können:
1. Unausgewogene manuelle/automatische Prüfung
Herauszufinden, welche Tests am besten mit manuellen Prüfungen funktionieren und welche von einer Automatisierung profitieren würden, kostet zwar Zeit, ermöglicht es den Teams aber, viel effizienter zu testen.
Wenn zu viele Tests automatisiert werden, kann dies zu einer Anwendung führen, die aufgrund des Fehlens eines menschlichen Testers unhandlich oder nicht benutzerfreundlich ist.
2. Zeitliche Zwänge
Sondierungstests sind schneller als viele andere Formen des Testens, aber die Realität der Projektfristen bedeutet, dass es immer noch Grenzen gibt, wie viele Tests das Team durchführen kann.
Zeitmanagement und ein Engagement für die Testabdeckung helfen dem Testteam, so viele Prüfungen wie möglich in vielen verschiedenen Kategorien durchzuführen.
3. Unflexible Prüfer
Obwohl Sondierungstester keine Vorkenntnisse über die Software oder besonders tiefgreifende Fähigkeiten benötigen, sind die Prüfungen dennoch auf die Fähigkeiten und die Initiative der einzelnen Teammitglieder angewiesen.
Der Projektleiter muss diese Testaufgaben mit Bedacht zuweisen und sie gegebenenfalls den kreativeren und intuitiveren Teammitgliedern vorbehalten.
4. Schwierigkeiten bei der Replikation von Fehlern
Es ist nicht immer ersichtlich, welche Aktionen zu einem Testfehler beitragen; es kann auch unklar sein, welche Aspekte der Anwendung schuld daran sind.
Aus diesem Grund werden bei vielen Sondierungsansätzen Tester zu zweit eingesetzt oder sogar der Bildschirm eines Testers direkt aufgezeichnet, um ein besseres Verständnis der Probleme und ihrer genauen Ursachen zu erhalten.
5. Unklare Dokumentation
Ob es sich um einen automatisierten Fehlerbericht oder eine manuelle Aufzeichnung der abgeschlossenen Tests handelt, eine gute Dokumentation erleichtert es den Entwicklern, auf die Ergebnisse des Testteams zu reagieren.
Das Prüfteam muss sich verpflichten, bei jeder einzelnen Prüfung eine qualitativ hochwertige Aufzeichnung zu führen und jeden Bericht so detailliert wie möglich zu gestalten.
6. Hohe Erwartungen
Exploratives Testen ist für fast jedes Softwareprojekt von Vorteil, hat aber nur einen begrenzten Anwendungsbereich – es funktioniert am besten in Verbindung mit anderen Testmethoden.
Die Testteams müssen diese Prüfungen zusätzlich zu den üblichen geskripteten Tests durchführen; nur so können die Qualitätssicherungsabteilungen eine durchgängig breite Testabdeckung gewährleisten.
7. Unsachgemäße Automatisierung
Es ist wichtig, dass das Testteam und der Projektleiter wissen, welche Automatisierungssoftware für die jeweilige Anwendung den größten Nutzen bringt.
Verschiedene Optionen von Drittanbietern bieten ihre eigenen einzigartigen Funktionen, so dass die Auswahl des Teams über den Erfolg ihrer robotergestützten Prozessautomatisierung entscheiden kann; sie müssen alle Optionen in Betracht ziehen, die ihnen zur Verfügung stehen.
5 beste kostenlose Tools für Sondierungstests
Zu den fünf besten Tools für explorative Tests, die Qualitätssicherungs-Teams kostenlos nutzen können, gehören:
1. ZAPTEST FREE Ausgabe
ZAPTEST Free bietet Premium-Funktionalität zum absoluten Nulltarif, so dass jedes Unternehmen von der einfachen Implementierung explorativer Tests profitieren kann.
Diese Anwendung kann jede Plattform, jedes Gerät und jeden Browser mit der innovativen 1SCRIPT-Technologie automatisieren.
ZAPTEST bietet auch eine flexible RPA-Automatisierung, die Sie mit einem manuellen Ansatz kombinieren können.
2. XRAY Exploratory App
Mit XEA können Benutzer umfassende Testchartas erstellen und ihren Fortschritt auf einfache Weise aufzeichnen, wodurch die Fehlerberichtsphase der Sondierungstests rationalisiert wird.
Diese Option konzentriert sich ganz auf die Nutzerperspektive und bietet eine zentrale Ergebnisdrehscheibe zur Aktualisierung anderer Tester.
Allerdings verfügt XRAY derzeit nicht über eine integrierte Automatisierung, was seine langfristige Wirksamkeit einschränken könnte.
3. Käfermagnet
Bug Magnet ist eine Browsererweiterung, die gründliche explorative Tests bietet und es den Testern ermöglicht, Randfälle und andere problematische Werte zu überprüfen.
Diese Erweiterung ermöglicht auch die einfache Integration von Blindtext, E-Mail-Adressen und mehreren Zeichensätzen.
Diese Funktion ist jedoch nur für Firefox- und Chrome-basierte Browser verfügbar, was sie weniger vielseitig macht als ihre Konkurrenten.
4. Azure-Testpläne
Azure Test Plans ist ein wichtiger Bestandteil der Azure-Plattform von Microsoft und ermöglicht Testern die Erfassung umfangreicher Daten in vielen Szenarien.
Diese Option eignet sich sowohl für Desktop- als auch für webbasierte Anwendungen und bietet zudem eine durchgängige Rückverfolgbarkeit, die die Entwicklung der Software eindeutig nachweist.
Dieser Ansatz erfordert jedoch häufig eine tiefere Integration in Azure und geht daher auf Kosten der Flexibilität.
5. Testiny
Testiny ist auf manuelle Sondierungstests spezialisiert und bietet einen intelligenten Editor, mit dem die Tester Prüfungen in einer Baumstruktur entwerfen können, um maximale Flexibilität zu erreichen.
Jede Änderung an einem Lauf oder Testfall bleibt in der Anwendungshistorie erhalten, um eine vollständige Nachvollziehbarkeit und Rückverfolgbarkeit zu gewährleisten.
Dies ist jedoch nur für kleine Teams und Open-Source-Projekte kostenlos.
Wann sollten Sie Enterprise-Tools und wann kostenlose Tools für explorative Tests verwenden?
Obwohl explorative Tests eine lohnende Investition sind und Premium-Anwendungen in der Regel mehr Funktionen bieten, gibt es viele kostenlose Optionen, die mehr als genug Funktionen bieten.
Sondierungstests können erhebliche Betriebskosten verursachen, wenn Sie sich für ein Premium-Modell entscheiden, aber nicht jedes Softwareentwicklungsunternehmen oder -team hat das Geld dafür. Die Auswahl der besten Drittanbietersoftware hängt oft von den spezifischen Anforderungen des Unternehmens ab.
Eine kostenpflichtige Lösung kann die einzige Möglichkeit sein, die Anforderungen des Projekts zu erfüllen; das Team muss die verschiedenen Möglichkeiten untersuchen, bevor es sich auf eine Anwendung festlegt.
Unternehmen mit kleineren Teams können am meisten von kostenlosen Testwerkzeugen profitieren, da viele der Optionen für eine begrenzte Anzahl von Benutzern kostenlos sind.
Alternativ können sie auch Optionen ohne diese Einschränkung wählen, die dem Umfang des Prüfteams gerecht werden. Dadurch könnte es noch praktikabler werden, Sondierungstester zu Paaren zusammenzufassen, um genauere Ergebnisse zu erzielen – das Team wird natürlich weniger Nutzerprofile benötigen.
Viele Dienste bieten eine kostenlose Testversion ihrer Software an, damit Unternehmen sehen können, ob sie ihren Anforderungen entspricht; diese dauert in der Regel nur ein paar Wochen.
Checkliste, Tipps und Tricks für Sondierungstests
Es gibt viele zusätzliche Tipps, die Tester zu Beginn ihrer Erkundungstests berücksichtigen können, darunter:
1. Unterteilen Sie die Merkmale und Module angemessen
Um Missverständnisse zu vermeiden, sollten die Testteams eine klare Liste mit allen Funktionen und den geplanten Prüfungen erstellen. Dazu gehört auch, dass die Tests angemessen auf die Softwarefunktionen verteilt sind.
Um optimale Ergebnisse zu erzielen, ist es von größter Bedeutung, dass das Testteam aushandelt, welche Mitglieder die einzelnen Tests auf der Grundlage ihrer jeweiligen Fähigkeiten und Stärken durchführen.
2. Arbeiten, um die Software zu verstehen
Die Lernphase ist ein entscheidender Teil des Sondierungstests. Das bedeutet, dass die Tester sich aktiv mit der Software auseinandersetzen und herausfinden müssen, wie sie funktioniert, bevor sie Tests entwickeln können.
Das Erlernen der inneren Funktionsweise dieser Software kann ein gemeinschaftlicher Prozess sein, der ein besseres Verständnis im gesamten Team gewährleistet. So können die Tester bessere Prüfungen und Testfälle entwickeln.
3. Problematische Bereiche herausfinden
Jede Anwendung hat Funktionen oder Komponenten, die sich mit anderen überschneiden. Je komplexer eine Software wird, desto wahrscheinlicher ist es, dass sie Fehler entwickelt; dies könnte mehr Tests erfordern. Das Team muss aktiv daran arbeiten, herauszufinden, welche Komponenten zusätzliche Hilfe benötigen.
Sie können spezifische Testtouren einsetzen, die den Bedürfnissen der Anwendung und den allgemeinen Testprioritäten des Teams am besten entsprechen.
4. Beginnen Sie mit grundlegenden Benutzerszenarien
Qualitätssicherungs-Teams können explorative Tests bei Bedarf in beliebiger Reihenfolge durchführen, aber es könnte hilfreicher sein, mit einfacheren Prüfungen zu beginnen, bevor man sich mit komplizierteren Funktionen beschäftigt.
Dies ermöglicht eine sanfte Progression der Komplexität und gibt den Testern die Möglichkeit, die Software zu verstehen. Es hilft auch zu testen, ob die Grundfunktionen wie erwartet funktionieren.
5. Paare von Prüfern zusammenstellen
Gepaarte Sondierungstests rationalisieren und validieren die Qualitätssicherungsphase, so dass die Tester bei jeder Prüfung mit absolutem Vertrauen arbeiten können. Die Zusammenarbeit macht jede Form des Testens effektiver, da jedes Teammitglied besser mit der Software vertraut ist.
Außerdem können sie aufgrund ihrer individuellen Sichtweise Fehlerberichte mit weitaus größerer Tiefe liefern, so dass die Entwickler mit mehr Informationen arbeiten können.
6. Mehrere Tests durchführen
Die Fähigkeit des Teams, einen Antrag erneut zu prüfen, hängt von dem Zeitplan und den Fristen ab, die vor ihnen liegen. Wenn es jedoch möglich ist, kann es sinnvoll sein, besonders problematische Komponenten doppelt zu prüfen.
Darüber hinaus kann durch wiederholte Tests überprüft werden, ob ein zuvor entdecktes Problem nun behoben ist und die Software nicht weiter beeinträchtigt. Diese Sorgfalt ist manchmal notwendig, um sicherzustellen, dass die Tests erfolgreich verlaufen.
Schlussfolgerung
Exploratives Testen hat Softwareentwicklungsunternehmen aller Art viel zu bieten, da es eine Ergänzung zu skriptbasierten Tests und vielen anderen Prüfungen darstellt.
Mit Hilfe von Sondierungstests können Qualitätssicherungs-Teams Anwendungen nach einem höheren Standard testen, die Qualität der endgültigen Software verbessern und den Entwicklern helfen, eventuelle Fehler zu beheben.
Eine Kombination aus manuellen und automatisierten Sondierungstests kann den größten Nutzen bringen, da alle Softwarekomponenten gleichermaßen berücksichtigt werden können.
Wenn Ihr Unternehmen eine explorative Automatisierungssoftware benötigt, bietet die ZAPTEST FREE Edition einen viel größeren und flexibleren Funktionsumfang als andere Premium-Anwendungen, so dass die Tester diese Prüfungen problemlos optimieren können.
FAQs und Ressourcen
1. Die besten Kurse zur Automatisierung von Sondierungstests
Sowohl neue als auch erfahrene Sondierungstester könnten von Kursen zur Verbesserung ihrer Fähigkeiten profitieren. Dazu gehört auch, herauszufinden, wie man an neue Software herangeht.
Zu den nützlichen Kursen, die dabei helfen können, gehören:
– Udemy’s Complete 2023 Software Testing Bootcamp; hier wird in 28 Stunden ein breites Spektrum an Software-Tests vermittelt.
– Exploratory Testing von Coveros; hier geht es um die Entwicklung von Chartas und die Anwendung explorativer Tests auf APIs.
– Polteqs zweitägiges Exploratory-Testing-Training; hier wird untersucht, wie explorative Tests in einem agilen Kontext funktionieren.
– LinkedIn’s Exploratory Testing; dies zeigt, wie modernes Softwaretesten explorative Prüfungen umfasst.
– Coursera’s Introduction to Software Testing; dies hilft Ersttestern, die typischen Verfahren zu verstehen.
2. Welches sind die 5 wichtigsten Interviewfragen zu Exploratory Testing?
Bei Vorstellungsgesprächen für Stellen im Bereich Sondierungstests ist es wichtig, dass Personalverantwortliche gute Fragen stellen, um die Fähigkeiten und Erfahrungen eines Bewerbers genau zu beurteilen.
Die fünf wichtigsten Fragen, die Sie sich stellen sollten, sind:
– Was sind die Hauptunterschiede zwischen geskripteten und explorativen Tests, einschließlich ihrer Eignung?
– Welchen Herausforderungen sind Sie als Sondierungstester begegnet und wie haben Sie sie gemeistert?
– Nennen Sie Beispiele für Sondierungstests, die am meisten von der Automatisierung von Roboterprozessen profitieren würden.
– Was ist Ihrer Meinung nach die wichtigste Fähigkeit (technisch oder anderweitig) für einen Sondierungstester?
– Welchen Rat würden Sie einem Tester geben, der Schwierigkeiten hat, die Software zu verstehen und sie zu prüfen?
3. Die besten YouTube-Tutorials zu explorativen Tests
Auf Video-Sharing-Websites wie YouTube gibt es viele kostenlose Tutorials, die angehenden Testern helfen können, die Grundprinzipien zu verstehen. Einige sind Teil einer Serie, andere sind einzelne Videos, die das Thema vertiefen.
Zu den Kanälen, die diese Tutorials anbieten, gehören:
– Die Testing Academy bietet Hunderte von Videos zu jedem Aspekt des Softwaretestens.
– Software Testing Mentor, der ebenfalls umfangreiche Videos zu den Grundlagen des Softwaretestens anbietet.
– QAFox, das auch Beispiele aus der Praxis und Live-Projekte anbietet, um alle Videos zu ergänzen.
– SDET-QA Automation Techie, die mehrere umfassende Videos zu verschiedenen Testansätzen enthält.
– GlitchITSystem, das verschiedene Websites mit explorativen Tests untersucht, um Pannen aufzudecken.
4. Wie kann man explorative Tests durchführen?
Gut durchgeführte Sondierungstests umfassen eine aussagekräftige Dokumentation, auf die Entwickler und zukünftige Tester bei neueren Iterationen der Software zurückgreifen können.
Bei umfangreichen Aktualisierungen einer Anwendung ist ein erneutes Testen der primären Funktionen erforderlich, um sicherzustellen, dass diese Ergänzungen keine negativen Auswirkungen auf bereits vorhandene Funktionen haben.
Nur so kann gewährleistet werden, dass die Sondierungsversuche langfristig erfolgreich bleiben. Es hilft auch, zukünftige Pläne, wie z. B. vorläufige Merkmale, bei der Gestaltung der ursprünglichen Anwendung und ihrer Prüfungen zu berücksichtigen.
Das QA-Personal muss diese Tests angemessen planen und herausfinden, wann die Anwendung erneut geprüft werden muss; automatisierte Testwerkzeuge können das Team dabei unterstützen.
5. Sind explorative Tests Blackbox-Tests?
Exploratives Testen ist dem Black-Box-Testing sehr ähnlich, bei dem eine Anwendung anhand ihrer Funktionen überprüft wird, ohne den Code direkt zu inspizieren.
Es gibt keine ausdrückliche Begrenzung für die Arten von Prüfungen, die unter explorative Tests fallen; dieser Ansatz kann jeden Aspekt der Software, einschließlich des Codes, umfassen.
Eine der wichtigsten Gemeinsamkeiten zwischen diesen beiden Testarten ist das fehlende Vorwissen des Testers. Blackbox-Tester sind in der Regel nicht mit der Software vertraut, bevor sie sie testen, und explorative Tester lernen im Rahmen ihrer ersten Untersuchung, wie die Software funktioniert.
Obwohl exploratives Testen im Allgemeinen nicht immer als Blackbox-Testing klassifiziert werden kann, gibt es tatsächlich eine erhebliche Überschneidung zwischen diesen beiden Ansätzen.