ad hoc testing how find defects without formal testing process
Der Begriff Ad-hoc impliziert den Mangel an Struktur oder etwas, das nicht methodisch ist. Wenn du darüber sprichst Ad-hoc-Tests bedeutet es, dass es eine Form von a ist schwarze Box oder Verhaltenstests, die ohne formellen Prozess durchgeführt wurden.
Der formale Prozess bedeutet hier, dass Unterlagen wie Anforderungsdokumente, Testpläne, Testfälle und eine ordnungsgemäße Testplanung in Bezug auf den Zeitplan und die Reihenfolge der durchgeführten Tests vorliegen. Außerdem werden Aktionen, die während des Tests ausgeführt werden, normalerweise nicht dokumentiert.
Dies geschieht hauptsächlich mit dem Ziel, Fehler oder Mängel aufzudecken, die nicht durch traditionelle oder formale Prozesse erfasst werden können, die während des Testzyklus befolgt werden.
Wie bereits verstanden, besteht das Wesentliche dieser Prüfung darin, keine formale oder strukturierte Art der Prüfung zu haben. Wenn solche zufälligen Testtechniken durchgeführt werden, ist es offensichtlich, dass Die Tester führen dies ohne besonderen Anwendungsfall durch, um das System zu beschädigen.
Daher ist es definitiv noch offensichtlicher, dass eine solche intuitive oder kreative Testmethode erforderlich ist Der Tester muss äußerst kompetent, fähig und mit fundiertem Know-how des Systems ausgestattet sein. Ad-hoc-Tests stellen sicher, dass die durchgeführten Tests abgeschlossen sind, und sind besonders nützlich, um die Wirksamkeit des Testbechers zu bestimmen.
Literatur-Empfehlungen=> Erkundungstests - Wie kann man über traditionelle Testgrenzen hinaus denken?
Was du lernen wirst:
- Beginnen wir mit einem Ad-hoc-Testbeispiel
- Wann führen wir Ad-hoc-Tests durch?
- Arten von Ad-hoc-Tests
- Vorteile von Ad-hoc-Tests
- Nachteile von Ad-hoc-Tests
- Best Practices, um diese Tests effektiver zu gestalten
- Fazit
- Literatur-Empfehlungen
Beginnen wir mit einem Ad-hoc-Testbeispiel
Hier ist ein Beispiel, wie wir diese Tests durchführen können, wenn es um den UI-Assistenten geht.
Angenommen, Sie müssen einen Plan oder eine Vorlage erstellen, damit eine Aufgabe mit diesem UI-Assistenten ausgeführt werden kann. Der Assistent besteht aus einer Reihe von Fenstern mit Benutzereingaben wie Name, Beschreibung usw.
Während der Assistent fortschreitet: In einem der Bereiche müssen Benutzerdaten eingegeben werden, bei denen der UI-Assistent ein Kontext-Popup-Feld auslöst, in dem die zugehörigen Daten hinzugefügt werden, um den Assistenten abzuschließen und den Assistenten bereitzustellen / zu aktivieren.
Um diesen Tester zu testen, führt er seine regelmäßigen Tests durch, z.
Es werden Python-Methoden aufgerufen, mit denen Elemente zu einer Liste hinzugefügt oder aus einer Liste gelöscht werden
- Schließen Sie den Assistenten erfolgreich mit allen gültigen Daten ab und erstellen Sie den Plan.
- Brechen Sie den Assistenten auf halbem Weg ab.
- Bearbeiten Sie einen erstellten Plan über den Assistenten.
- Löschen Sie den erstellten Plan und stellen Sie sicher, dass keine Rückstände davon vorhanden sind.
- Geben Sie im Assistenten einen negativen Wert ein und sehen Sie, ob die entsprechenden Fehlermeldungen angezeigt werden.
Nun zum obigen Beispiel Hier sind einige Testfälle für Ad-hoc-Tests das könnte durchgeführt werden um so viele Mängel wie möglich aufzudecken:
- Fügen Sie beim Versuch, negative Daten hinzuzufügen, bestimmte Sonderzeichen hinzu, die nicht eingeschränkt sind, um festzustellen, ob sie ordnungsgemäß behandelt werden. Zum Beispiel, Manchmal schränken Assistenten {oder (geschweifte Klammern nicht ein, aber in bestimmten Situationen kann dies zu Konflikten mit Code führen, der auf der Sprache basiert, in der er geschrieben ist, und zu sehr unzuverlässigem Verhalten führen.
- Ein weiterer Test bezieht sich speziell auf Popups. Ein Benutzer kann das Popup starten und dann versuchen, die Rücktaste auf der Tastatur zu drücken. Ich habe oft beobachtet, dass dadurch der Hintergrundassistent vollständig verschwindet und die gesamten Benutzerdaten, die bis zum Start des Popups eingegeben wurden, verloren gehen!
Merkmale von Ad-hoc-Tests:
Wenn Sie die obigen Szenarien beachten, werden Sie einige sehr unterschiedliche Merkmale dieser Art von Tests sehen.
Sie sind:
- Sie entsprechen immer dem Testziel. Es handelt sich jedoch um bestimmte drastische Tests, die mit der Absicht durchgeführt werden, das System zu beschädigen.
- Der Tester muss über umfassende Kenntnisse und Kenntnisse über das zu testende System verfügen. Das Ergebnis dieses Tests zeigt Fehler, die versuchen, die Lücken des Testprozesses hervorzuheben.
- Betrachtet man auch die beiden oben genannten Tests, so lautet die natürliche Reaktion darauf: Diese Art von Test kann nur einmal durchgeführt werden, da ein erneuter Test nur möglich ist, wenn ein Fehler vorliegt.
Wann führen wir Ad-hoc-Tests durch?
Eine Millionen-Dollar-Frage!
Die meisten Testteams der Zeit sind immer mit zu vielen Funktionen belastet, um innerhalb begrenzter Zeiträume zu testen. In dieser begrenzten Zeitspanne gibt es viele Testaktivitäten, die aus dem formalen Prozess abgeleitet werden und ebenfalls abgeschlossen werden müssen. In solchen Situationen sind Ad-hoc-Tests, die ihren Weg in die Tests finden, gering.
Nach meiner Erfahrung kann eine Ad-hoc-Testrunde jedoch Wunder für die Produktqualität bewirken und viele Designfragen aufwerfen.
Da Ad-hoc-Tests eher eine 'Wild-Child' -Testtechnik sind, die nicht strukturiert werden muss, wird generell empfohlen, dass sie nach der Ausführung des aktuellen Test-Buckets durchgeführt werden. Ein weiterer Gesichtspunkt ist, dass dies möglich ist, wenn detaillierte Tests aufgrund kürzerer Zeit nicht durchgeführt werden können.
Meiner Meinung nach würde ich das sagen Ad-hoc-Tests können fast jederzeit durchgeführt werden - am Anfang, in der Mitte und gegen Ende! Es findet einfach zu jeder Zeit seinen Platz. Wenn jedoch Ad-hoc-Tests durchgeführt werden müssen, um den maximalen Wert zu erzielen, wird dies am besten von einem erfahrenen Tester beurteilt, der über fundierte Kenntnisse über das zu testende System verfügt.
Wann nicht ausführen?
Wenn die vorherige Frage eine Million Dollar wert war, sollte dies eine Milliarde wert sein!
Während wir festgestellt haben, wie effektiv und fruchtbar Ad-hoc-Tests sein können, müssen wir als erfahrener und fähiger Tester auch entschlüsseln, wann wir nicht in diese Art von Tests investieren sollen. Obwohl es im Ermessen des Testers liegt, sind hier Einige Empfehlungen / Beispiele, wenn dies möglicherweise nicht erforderlich ist.
- Vermeiden Sie diesen Test, wenn ein Testfall vorliegt, für den ein Defekt vorliegt. In einer solchen Situation muss der Fehlerfall des Testfalls dokumentiert und der Fehler dann überprüft / erneut getestet werden, wenn er behoben ist. Daher ist es hier nicht anwendbar.
- Es kann auch bestimmte Szenarien geben, zu denen Kunden oder Kunden eingeladen werden können Testen Sie die Beta-Version der Software . In solchen Fällen sollten diese Tests nicht durchgeführt werden.
- Ein anderes Szenario ist, wenn ein sehr einfacher UI-Bildschirm hinzugefügt wird. Herkömmliche positive und negative Tests sollten hier ausreichen, um maximale Fehler hervorzuheben.
Arten von Ad-hoc-Tests
Ad-hoc-Tests können im Folgenden in drei Kategorien eingeteilt werden:
# 1) Buddy-Tests
Bei dieser Form des Testens gibt es ein Testmitglied und ein Entwicklungsmitglied, die ausgewählt werden, um an demselben Modul zu arbeiten. Kurz nach dem Der Entwickler schließt den Unit-Test ab , das Tester und Entwickler sitzen zusammen und am Modul arbeiten. Diese Art des Testens ermöglicht es, die Funktion für beide Parteien in einem breiteren Bereich anzuzeigen.
Der Entwickler erhält einen Überblick über die verschiedenen Tests, die der Tester ausführt, und der Tester erhält einen Überblick über das inhärente Design, wodurch er das Entwerfen ungültiger Szenarien vermeidet und so ungültige Fehler verhindert. Es wird einem helfen, wie der andere zu denken.
# 2) Paartests
Bei diesem Test arbeiten zwei Tester zusammen an einem Modul mit demselben Testaufbau, der von ihnen gemeinsam genutzt wird. Die Idee hinter dieser Form des Testens ist, dass die beiden Tester Ideen und Methoden für eine Reihe von Fehlern entwickeln. Beide können die Testarbeit teilen und alle gemachten Beobachtungen dokumentieren.
# 3) Affentests
Diese Prüfung wird hauptsächlich auf der Ebene der Einheitentests durchgeführt. Der Tester analysiert Daten oder Tests auf völlig zufällige Weise, um sicherzustellen, dass das System Abstürzen standhält. Diese Prüfung kann weiter in zwei Kategorien eingeteilt werden:
kostenloser Download der Zeitschaltuhr für Mitarbeiter
Vorteile von Ad-hoc-Tests
Das Testen garantiert dem Tester mit viel Kraft, so kreativ wie nötig zu sein.
Dies erhöht die Testqualität und -effizienz wie folgt:
- Der größte Vorteil, der auffällt, ist, dass ein Tester aufgrund der verschiedenen innovativen Methoden, die er zum Testen der Software anwenden kann, die Anzahl der Fehler ermitteln kann als beim herkömmlichen Testen.
- Diese Form des Testens kann überall im SDLC angewendet werden. Es ist nicht nur auf das Testteam beschränkt. Die Entwickler können diese Tests auch durchführen, um besser zu codieren und auch vorherzusagen, welche Probleme auftreten könnten.
- Es kann mit einem anderen Test gekoppelt werden, um die besten Ergebnisse zu erzielen, was manchmal die für die regulären Tests erforderliche Zeit verkürzt. Dies würde die Erzeugung von Testfällen mit besserer Qualität und insgesamt eine bessere Qualität des Produkts ermöglichen.
- Es ist keine Dokumentation erforderlich, die die zusätzliche Belastung des Testers verhindert. Ein Tester kann sich darauf konzentrieren, die zugrunde liegende Architektur tatsächlich zu verstehen.
- In Fällen, in denen nicht viel Zeit zum Testen zur Verfügung steht, kann sich dies als sehr wertvoll in Bezug auf Testabdeckung und Qualität erweisen.
Nachteile von Ad-hoc-Tests
Ad-hoc-Tests haben auch einige Nachteile. Werfen wir einen Blick auf einige der ausgeprägte Nachteile:
Da es nicht sehr gut organisiert ist und keine Dokumentation vorgeschrieben ist, besteht das offensichtlichste Problem darin, dass sich der Tester alle Details der Ad-hoc-Szenarien im Speicher merken und merken muss. Dies kann insbesondere in Szenarien, in denen zwischen verschiedenen Komponenten viel Interaktion besteht, noch schwieriger sein.
- Ab dem ersten Punkt würde dies auch dazu führen, dass Fehler in den nachfolgenden Versuchen nicht wiederhergestellt werden können, wenn nach Informationen gefragt wird.
- Eine weitere sehr wichtige Frage, die sich daraus ergibt, ist die Rechenschaftspflicht. Da dies nicht geplant / strukturiert ist, kann der Zeit- und Arbeitsaufwand für diese Art von Tests nicht berücksichtigt werden.
- Ad-hoc-Tests dürfen nur von einem sehr sachkundigen und erfahrenen Tester im Team durchgeführt werden, da dies proaktives und intuitives Handeln erfordert, um potenzielle fehlerbehaftete Bereiche vorherzusehen.
Best Practices, um diese Tests effektiver zu gestalten
Wir haben die Stärken und Schwächen dieser Tests ausführlich erörtert.
Im Idealfall sollten Ad-hoc-Tests ihren Platz im SDLC finden. Wenn sie jedoch nicht in angemessener Weise angegangen werden, kann dies sich als kostspielig und als Verschwendung wertvoller Testzeit erweisen. Im Folgenden finden Sie einige Hinweise, um Ad-hoc-Tests effektiv zu gestalten:
# 1) Identifizieren Sie fehleranfällige Bereiche:
Wenn Sie das Testen einer bestimmten Software gut beherrschen, stimmen Sie zu, dass bestimmte Funktionen fehleranfälliger sind als die anderen. Wenn Sie neu im System sind, überprüfen Sie die Funktionen, für die v / s-Fehler geöffnet wurden.
Die Anzahl der Fehler in einem bestimmten Feature zeigt Ihnen, dass es empfindlich ist, und Sie sollten genau diesen Bereich auswählen, um Ad-hoc-Tests durchzuführen. Dies erweist sich als sehr zeiteffiziente Methode, um einige schwerwiegende Mängel aufzudecken.
# 2) Aufbau von Fachwissen:
Zweifellos ist ein Tester mit mehr Erfahrung intuitiver und kann erraten, wo die Fehler liegen könnten, verglichen mit jemandem, der nicht viel Erfahrung hat. Ich würde sagen, ob erfahren oder nicht, es liegt an der Person, den Sprung zu wagen und Fachwissen über das zu testende System aufzubauen.
Ja, erfahrene Tester haben einen Vorteil, da sich ihre im Laufe der Jahre erworbenen Fähigkeiten als nützlich erweisen. Die neuen Tester sollten dies jedoch als Plattform nutzen, um so viel Wissen wie möglich zu erlangen und bessere Ad-hoc-Szenarien zu entwerfen.
# 3) Erstellen Sie Testkategorien:
Wenn Sie die Liste der zu testenden Funktionen kennen, nehmen Sie sich ein paar Minuten Zeit, um zu entscheiden, wie Sie diese Funktionen kategorisieren und testen möchten. Zum Beispiel, Sie sollten sich dafür entscheiden, Funktionen zu testen, die am sichtbarsten sind und vom Benutzer am häufigsten verwendet werden, da diese für den Erfolg der Software entscheidend erscheinen.
Dann könnten Sie sie nach Funktionalität / Priorität kategorisieren und sie segmentweise testen.
Ein weiteres Beispiel, bei dem dies besonders wichtig ist, ist die Integration zwischen Komponenten oder Modulen. In diesen Fällen können viele Anomalien auftreten. Die Verwendung der Kategorisierung würde dazu beitragen, diese Art von Test mindestens ein- oder zweimal zu berühren.
# 4) Haben Sie einen groben Plan:
Ja, ja, dieser Punkt könnte Sie ein wenig verwirren, da wir Ad-hoc-Tests als Tests beschrieben haben, für die es keine Planung oder Dokumentation geben sollte. Die Idee hier ist, sich an das Wesentliche des Ad-hoc-Testens zu halten, aber dennoch einige grobe Hinweise darauf zu geben, wie Sie testen möchten.
Ein sehr einfaches Beispiel ist, dass Sie sich manchmal einfach nicht an alle Tests erinnern können, die Sie durchführen möchten. Wenn Sie sie also aufschreiben, verpassen Sie nichts.
# 5) Werkzeuge:
Nehmen wir ein Beispiel, mit dem wir alle sehr häufig konfrontiert sind. Wenn Sie dies beobachten, ist das Testen der Funktionalität an sich häufig erfolgreich, ohne dass Diskrepanzen in ihrem Verhalten gemeldet werden. In den Protokollen hinter den Kulissen können jedoch einige Ausnahmen gemeldet werden, die von den Testern übersehen werden können, da dies das Testziel in keiner Weise beeinträchtigt.
Diese können sogar einen hohen Schweregrad haben. Daher ist es für uns sehr wichtig, zu lernen und Tools zu finden, mit denen wir dies sofort feststellen können.
# 6) Dokument für weitere Mängel:
Wieder verstehe ich, dass dies wieder einige Augenbrauen hochziehen kann. Die Dokumentation muss nicht detailliert sein, sondern nur ein kleiner Hinweis als Referenz für die verschiedenen abgedeckten Szenarien, Abweichungen bei den Schritten und Aufzeichnung dieser Fehler für die jeweilige Testfeature-Kategorie.
Dies hilft Ihnen auch dabei, den gesamten Testbereich zu verbessern, sodass Sie entscheiden können, wie vorhandene Testfälle improvisiert oder bei Bedarf weitere hinzugefügt werden sollen.
Fazit
Wir haben ausführlich über Ad-hoc-Testtechniken gesprochen - ihre Stärken, Schwächen und Situationen, in denen dies von Vorteil wäre und nicht.
Dies ist eine Testtechnik, die garantiert, dass die Kreativität eines Testers maximal berücksichtigt und befriedigt wird. In meinem ganzen Testkarriere Ich bin äußerst zufrieden mit Ad-hoc-Tests, da es keine Grenzen für Innovationen gibt und Sie am Ende nur besser informiert sind.
Trotzdem wäre die Hauptsache, die Sie von all den oben genannten Informationen zurücknehmen sollten, zu Bestimmen Sie, wie Sie die Stärken von Ad-hoc-Tests nutzen und den gesamten Testprozess und die Produktqualität aufwerten können.
Über den Autor: Dies ist ein Gastartikel von Sneha Nadig. Sie arbeitet als Testleiterin mit über 7 Jahren Erfahrung in manuellen und automatisierten Testprojekten.
Führen Sie Ad-hoc-Tests für Ihr Projekt durch? Was sind Ihre Vorschläge, um Ad-hoc-Tests erfolgreich zu machen?
Literatur-Empfehlungen
- Funktionstests gegen nichtfunktionale Tests
- Was ist Alpha-Test? Ein Frühalarm für Defekte
- Hauptunterschiede zwischen Black-Box-Tests und White-Box-Tests
- Die Unterschiede zwischen Unit Testing, Integration Testing und Functional Testing
- Leistungstests vs Lasttests vs Stresstests (Unterschied)
- Erkundungstests vs. Skript-Tests: Wer gewinnt?
- Was ist eine fehlerbasierte Testtechnik?
- B2B-Gateway-Testprozess (Business to Business)