Adhoc-Tests werden in der Regel durchgeführt, um das System auf unkonventionelle Weise zu brechen. Das verblüffendste Merkmal von Adhoc-Tests ist, dass es keine Testentwurfstechnik zur Erstellung von Testfällen gibt.
Der Prozess wird normalerweise durchgeführt, um Lücken in einer Software zu finden. Da Adhoc-Tests keine Testfälle haben, werden sie oft ohne jegliche Dokumentation durchgeführt.
Schauen Sie sich den Prozess im Detail an
Ad-Hoc-Tests sind eine Technik, die unter die Kategorie „Unstrukturierte Tests“ fällt.
- Was ist strukturiertes und unstrukturiertes Testen?
- Strukturiertes Testen
- Unstrukturiertes Testen
- Was ist Adhoc-Testen?
- Typen von Adhoc-Tests
- 1) Buddy Testing
- 2) Monkey Testing
- 3) Pair Testing
- Merkmale von Ad-hoc-Tests
- Beispiele für Adhoc-Tests
- Wann werden Ad-hoc-Tests durchgeführt
- Welche Vorteile haben Ad-hoc-Tests?
- Was sind die Nachteile von Adhoc-Tests?
- Best Practices für die Durchführung von Ad-hoc-Tests
- 1) Gute Softwarekenntnisse
- 2) Finde fehleranfällige Bereiche heraus
- 3) Priorisierung der Testbereiche
- 4) Den Testplan grob planen
- 5) Tools
Was ist strukturiertes und unstrukturiertes Testen?
Strukturiertes Testen
Bei diesem Ansatz ist jede Aktivität, die während des Testverfahrens auftritt, von der Erstellung der Testfälle bis zu ihrer sequenziellen Ausführung, alles in einem Skript festgehalten. Die Tester folgen diesem Skript und führen die Tests entsprechend durch.
Unstrukturiertes Testen
Bei diesem Ansatz erfolgt das Testen üblicherweise durch Fehlerraten, wobei die Tester die Testfälle während des Testprozesses selbst erstellen.
Was ist Adhoc-Testen?
Wie oben beschrieben, handelt es sich um einen unstrukturierten Testansatz, bei dem vor Beginn des Testprozesses kein organisierter Plan erstellt wird.
Daher wird vor dem Testen keine Anforderungsdokumentation oder Testfallplanung und -gestaltung durchgeführt.
Ad-Hoc-Tests werden in der Regel von einem Tester durchgeführt, der die zu testende Software sehr gut kennt und weiß, was sie tut und wie sie funktioniert.
Diese Tests werden durch zufällige Erstellung von Testfällen durch Erraten von Fehlern und deren Ausführung durchgeführt, ohne dass die Anforderungen für den Test beachtet werden.
Ein wichtiger Teil dieses Testens ist es, die potentiellen Bereiche der Software herauszufinden, in denen Fehler vorhanden sein könnten.
Deshalb wird es auch manchmal als Monkey Testing oder Random Testing bezeichnet. Deshalb ist es wichtig, dass nur Tester, die sich mit der Software gut auskennen, diesen Test durchführen.
Ein Vorteil von Ad-Hoc-Tests ist, dass sie sehr viel Zeit sparen, die sonst in die Erstellung von Dokumenten wie Testanforderungen, Testfallplanung, Design usw. fließt.
Sie werden auch in der Regel durchgeführt, nachdem die strukturierten Tests bereits durchgeführt wurden. Dies geschieht, um ungewöhnliche Fehler in der Software zu finden, die durch die vorher geschriebenen Testfälle nicht entdeckt werden konnten.
Typen von Adhoc-Tests
1) Buddy Testing
Bei dieser Art von Ad-Hoc-Tests werden die Tests mit der Teamarbeit von mindestens zwei Personen durchgeführt. Dieses Team besteht in der Regel aus mindestens einem Softwaretester und einem Softwareentwickler.
Diese Art des Testens findet statt, nachdem die Durchführung der Einheitstests eines Moduls abgeschlossen ist.
Das Team der beiden „Buddies“ arbeitet gemeinsam an diesem Modul, um gültige Testfälle zu erstellen.
Dies geschieht, damit der Tester nicht am Ende Fehler meldet, die durch ungültige Testfälle erzeugt wurden. Diese Art des Testens kann auch als eine Kombination von Unit- und Systemtests angesehen werden.
2) Monkey Testing
Die Zufälligkeit des Ansatzes, der bei diesem Testen verwendet wird, ist der Grund, warum es als „Monkey Testing“ bezeichnet wird.
Die zu testende Software wird mit zufälligen Eingaben versehen, für die die entsprechenden Ausgaben beobachtet werden.
Auf der Grundlage der erhaltenen Ausgaben wird das Auftreten von Fehlern, Inkonsistenzen oder Systemabstürzen festgestellt.
3) Pair Testing
Dieses Testen ist ähnlich wie Buddy Testing. Allerdings arbeitet hier nur ein Paar von Testern gemeinsam an den zu testenden Modulen.
Sie arbeiten zusammen, um Ideen, Meinungen und Wissen über dieselbe Maschine auszutauschen, um Fehler und Mängel zu identifizieren.
Die Tester werden je nach ihrem Wissensstand und ihrer Erfahrung gepaart, um einen anderen Einblick in ein Problem zu erhalten.
Merkmale von Ad-hoc-Tests
- Diese Tests werden durchgeführt, nachdem bereits formale Testverfahren für die Software durchgeführt wurden. Der Grund dafür ist, dass Ad-hoc-Tests durchgeführt werden, um die Anomalien in der Anwendung herauszufinden, die vor dem Testen nicht vorhergesagt werden können.
- Diese Tests können nur von denjenigen Testern durchgeführt werden, die ein gutes und gründliches Wissen über die Funktionsweise der Anwendung haben. Das liegt daran, dass eine effektive „Fehlersuche“ nur möglich ist, wenn der Tester weiß, was die Anwendung tut und wie sie funktioniert.
- Die Ad-hoc-Testtechnik eignet sich am besten zum Auffinden von Fehlern und Inkonsistenzen, die zu kritischen Lücken in einer Anwendung führen. Solche Fehler sind in der Regel sehr schwer aufzudecken.
- Dieses Testen benötigt vergleichsweise weniger Zeit als andere Testtechniken. Das liegt daran, dass sie ohne vorherige Planung, Gestaltung und Strukturierung durchgeführt werden.
- Ad-Hoc-Tests werden nur einmal durchgeführt, da alle gefundenen Fehler erneut getestet werden müssen.
Beispiele für Adhoc-Tests
- Testen der ordnungsgemäßen Funktionsweise einer Anwendung, wenn die Browsereinstellungen unterschiedlich sind. Zum Beispiel die Identifizierung von Fehlern, die auftreten, wenn die Option für JavaScript in verschiedenen Browsern deaktiviert ist, usw.
- Testen der Anwendung auf verschiedenen Plattformen. Es ist wichtig zu prüfen, ob die entwickelte Anwendung auf verschiedenen Betriebssystemen oder Browsern flüssig läuft.
- Eingaben in das System, die außerhalb des Bereichs der gültigen Eingaben liegen, um zu prüfen, ob die daraus resultierende Aktion der Anwendung angemessen ist oder nicht.
- Kopieren der URL der Anwendung und Manipulieren der URL, um sie in einem anderen Browser auszuführen. Dies geschieht, um sicherzustellen, dass nicht autorisierte Benutzer keinen unautorisierten Zugriff auf das System erhalten können.
- Durchlaufen einer Reihe von zufälligen Schritten oder zufälliges Navigieren durch die Anwendung, um die Ergebnisse zu überprüfen, die durch eine bestimmte Kombination ungewöhnlicher Eingaben erzielt werden.
Wann werden Ad-hoc-Tests durchgeführt
In der Regel werden Ad-hoc-Tests durchgeführt, wenn nicht genügend Zeit für ausführliche und gründliche Tests zur Verfügung steht, die die Erstellung von Testanforderungsdokumenten, Testfällen und Testfalldesigns umfassen.
Der ideale Zeitpunkt für die Durchführung dieser Art von Tests ist nach Abschluss der formalen Testverfahren.
Allerdings können Ad-hoc-Tests auch mitten in der Entwicklung der Software durchgeführt werden.
Sie können nach der vollständigen Entwicklung der Software oder sogar nach der Entwicklung einiger Module durchgeführt werden.
Sie können auch während des Prozesses der formalen Testmethoden durchgeführt werden.
Es gibt jedoch einige Situationen, in denen diese Tests nicht durchgeführt werden dürfen. Daher muss jeder Tester wissen, wann er diese Tests vermeiden sollte.
Im Folgenden werden einige Bedingungen genannt, unter denen Ad-hoc-Tests nicht durchgeführt werden dürfen:
- Ad-hoc-Tests dürfen nicht durchgeführt werden, wenn Beta-Tests durchgeführt werden. Das liegt daran, dass beim Beta-Test die Kunden die entwickelte Software testen, um Vorschläge für neue Funktionen zu machen, die hinzugefügt werden müssen, oder um die Anforderungen an die Software zu ändern.
- Dieser Test sollte auch nicht in Testfällen durchgeführt werden, die bereits Fehler enthalten. Die Fehler müssen zunächst ordnungsgemäß dokumentiert werden, bevor sie aus dem System entfernt werden. Nachdem sie behoben sind, müssen die Testfälle erneut getestet werden, um sicherzustellen, dass sie ordnungsgemäß funktionieren.
Welche Vorteile haben Ad-hoc-Tests?
- Ein Vorteil von Ad-hoc-Tests ist, dass viele Fehler, die normalerweise unentdeckt bleiben, wenn nur formale Testmethoden verwendet werden, durch zufälliges Testen der Anwendung gefunden werden können.
- Die Tester können die Anwendung frei erkunden, entsprechend ihrer Intuition und ihrem Verständnis der Anwendung. Sie können dann die Tests nach und nach durchführen, was ihnen hilft, Fehler während dieses Prozesses zu finden.
- Tester wie auch die Entwickler der Anwendung können die Anwendung leicht testen, da keine Testfälle geplant und entworfen werden müssen. Dies hilft den Entwicklern, auf einfache Weise effektivere und fehlerfreie Codes zu erzeugen.
- Dieses Testen kann auch bei der Erstellung einzigartiger Testfälle helfen, die Fehler ineffektiv erkennen können. Daher können solche Testfälle zusammen mit anderen geplanten Testfällen zu den formalen Tests hinzugefügt werden.
- Ad-Hoc-Tests können zu jedem beliebigen Zeitpunkt während des Lebenszyklus der Softwareentwicklung durchgeführt werden, da sie keinem formalen Prozess folgen.
- Es kann mit anderen Testtechniken kombiniert und ausgeführt werden, um informativere und effektivere Ergebnisse zu erzielen.
Was sind die Nachteile von Adhoc-Tests?
- Da der Testprozess nicht dokumentiert ist und kein bestimmter Testfall befolgt wird, ist es für den Tester sehr schwierig, einen Fehler zu regenerieren. Dies liegt daran, dass der Tester sich an die genauen Schritte erinnern muss, die er befolgt hat, um den Fehler zu erhalten, was nicht jedes Mal möglich ist.
- Manchmal werden aufgrund der Ausführung ungültiger Testfälle, die vom Tester zufällig entwickelt wurden, ungültige Fehler gemeldet, was bei den nachfolgenden Fehlerbehebungsprozessen zu einem Problem wird.
- Wenn die Tester keine Vorkenntnisse über die Funktionsweise der zu testenden Anwendung haben, können durch Ad-hoc-Tests nicht viele Fehler aufgedeckt werden. Dies liegt daran, dass die Tester durch Fehlervermutung arbeiten und intuitiv Testfälle an Ort und Stelle erstellen und ausführen müssen.
- Ad-hoc-Tests bieten keine Sicherheit, dass Fehler gefunden werden. Die proaktive Fehlersuche beim Testen hängt vollständig von den Fähigkeiten und Kenntnissen des Testers ab.
- Da es keine zuvor erstellten und dokumentierten Testfälle gibt, bleibt der Zeit- und Arbeitsaufwand für dieses Testen ungewiss. Manchmal kann die Suche nach nur einem Fehler sehr viel Zeit in Anspruch nehmen.
Best Practices für die Durchführung von Ad-hoc-Tests
Für die effektive Durchführung von Ad-hoc-Tests ist es wichtig, die effektivsten und effizientesten Methoden zu kennen.
Denn wenn die Tests nicht ordnungsgemäß durchgeführt werden, sind die Bemühungen und die Zeit, die in die Tests investiert wurden, umsonst.
Um diese Art von Tests durchzuführen, muss man daher die besten Praktiken kennen, die zu einem umfassenderen Testansatz beitragen können:
1) Gute Softwarekenntnisse
Stellen Sie sicher, dass der Tester, der für das Testen der Anwendung im Rahmen des Ad-hoc-Ansatzes eingesetzt wird, die Anwendung gut kennt.
Der Tester muss mit allen Funktionen der Anwendung vertraut sein, um eine bessere „Fehlersuche“ in der Anwendung zu ermöglichen.
Mit ausreichenden Kenntnissen, die den Testprozess des Testers unterstützen, wird es einfacher, mehr Fehler, Bugs und Inkonsistenzen zu finden.
2) Finde fehleranfällige Bereiche heraus
Wenn Tester, wie mit der Anwendung nicht vertraut sind, dann sollten sie ihren Testprozess am besten damit beginnen, den Teil der Anwendung zu überprüfen, in dem die meisten Fehler liegen.
Die Auswahl solcher sensiblen Bereiche für die Durchführung von Ad-hoc-Tests kann ihnen helfen, Fehler leichter zu finden.
3) Priorisierung der Testbereiche
Es ist immer besser, mit den Tests in den Bereichen der Anwendung zu beginnen, die von den Endbenutzern oder Kunden am meisten genutzt werden. Dies hilft bei der Sicherung der wichtigen Funktionen und bei der vorherigen Meldung von Fehlern.
4) Den Testplan grob planen
Obwohl Adhoc-Tests keine vorherige Planung oder Dokumentation erfordern, erweist es sich als sehr nützlich und effizient, wenn vorher ein grober Plan erstellt wird.
Ein einfaches Notieren der wichtigsten Hinweise und Bereiche, die getestet werden müssen, kann den Testern helfen, den maximalen Teil der Anwendung in kurzer Zeit abzudecken.
5) Tools
Es ist wichtig, die richtige Art von Tools wie Debugger, Task-Monitore und Profiler zu verwenden, um den Testprozess zu erleichtern.
Das liegt daran, dass es Zeiten gibt, in denen bestimmte Fehler und Ausnahmen nicht gesehen werden können und beim Testen nicht abgefangen werden.
Die Verwendung der richtigen Tools kann jedoch helfen, den Fehler in kurzer Zeit zu isolieren.
Adhoc Testen vs. Exploratives Testen
Adhoc Testen | Exploratives Testen |
Tester müssen eine klare Vorstellung über den Workflow der Anwendung haben | Tester lernen die Anwendung kennen |
Mehr über die Perfektionierung des Testprozesses | Es ist eine Lernmethode, um etwas über die Anwendung zu erfahren |
Eine Form des positiven Testens | Eine Form des negativen Systems |
Es gibt keinen Plan | Ein auf einer Charta basierender Plan wird verwendet |
Es gibt kein vorgeschlagenes Zeitlimit | Zeitrahmen/Zeichenvektor |
Kann vom Softwaretestingenieur ausgeführt werden | Muss vom Experten durchgeführt werden |
Der Schwerpunkt liegt auf dem Anwendungsprozess | Dateneingabebereiche werden im Vordergrund stehen |
Die Komplexität der Tests wird bei diesem Prozess keine große Rolle spielen | Die damit verbundenen Herausforderungen |