Was ist die Affentestmethode für die Softwareüberprüfung?

Wenn der Name Affentest Überflutet Ihr Gehirn mit Neugier, dann wird dieser Artikel Ihnen sehr helfen, alles zu beruhigen. Wir werden Ihnen alles über diesen Prozess erzählen, der darauf abzielt, verschiedene Software zu testen, um mögliche Fehler zu finden, die in ihnen vorhanden sein können. Das einfache Prinzip dieses Prozesses lautet: Mach, was immer du willst; automatisch.

Diese Tests sind sporadischer und beinhalten Zufälligkeiten bei der Dateneingabe. Manchmal wird es auch als Fuzz-Test bezeichnet. Der Inhalt dieses Artikels zeigt die gesamte Dynamik dieser Softwaretestmethode. Fangen wir an.


Was bedeutet Affentest?

Dies ist eine Methode zum Testen von Software, bei der ein Tester zufällige Einträge in die Anwendungssoftware eingibt, ohne vordefinierte Überprüfungen des Systemverhaltens und der Testfälle. Dieser gesamte Zweck dient dazu, mithilfe von Erkundungstechniken alle Fehler / Fehler herauszufinden, die möglicherweise in der Software vorhanden sind. Es wird durchgeführt, um das Verhalten der Software zu überprüfen und ob irgendetwas zum Absturz führen kann und was.

Einige dieser Dynamiken werden Ihnen helfen, die Funktionsweise dieser Methode besser zu verstehen:

  • Der Tester oder Entwickler, der die Operation ausführt, wird als Affe bezeichnet.
  • Es gibt keine festgelegten Kontrollen oder Regeln, die bei der Durchführung der Programmierung eingehalten werden müssen. Es basiert auf individueller Wahl.
  • Diese Technik funktioniert hauptsächlich im automatisierten Modus, in dem zufällige Eingaben von jedem Skript / Programm vorgenommen werden, mit dem sie gespeist wird.
  • Die Methode eignet sich am besten für Belastungs- / Belastungstests, wenn Sie das Brechen der Anwendung testen möchten, indem Sie Eingaben ohne Unterbrechung oder in großen Mengen eingeben.
  • Wenn der Affe den PC benutzt, führt er die Aufgabe basierend auf persönlichem Verständnis aus.
  • Einige Fälle von Affentests gelten auch für GUI-Tests oder Unit-Tests.
Was bedeutet Affentest?

PS: Wenn Sie nach dem suchen beste Android Nachrichtenwiederherstellungs-App oder die Spitze Android root Software.Klicken Sie hier, um es zu versuchen.


Wie kam es zu Affentests?

Die erste Anwendung der Affentester-Technik wurde 1983 auf einem Mac durchgeführt, um MacPaint und MacWrite zu überprüfen. Der ursprüngliche Macintosh wurde mit einem Speicher von 128 KByte geliefert, der nur 90 KB für die anderen Anwendungen einsparen konnte, nachdem der erforderliche Speicher für die Systemdateien reserviert wurde. MacPaint und MacWrite verwendeten für den Betrieb Off-Screen-Puffer, die dreimal so groß waren wie der Bildschirm.

Wie sind die Affentests entstanden?

Dies führte dazu, dass überprüft werden musste, ob diese beiden Apps unter weniger Speicherbedingungen ausgeführt werden und ob sie abstürzen. Es war jedoch nicht einfach, dieselben Bedingungen erneut zu generieren, um die Absturzprüfung erneut auszuführen.

Nun ein Programm namens „Der Affe“ wurde vom Team von Steve Capps verwendet, um dieses Problem zu lösen. Dieses Programm verwendet zufällige Daten, die für die Apps MacPaint und MacWrite eingegeben wurden. Eine gute Sache an diesem Programm war, dass es gleichzeitig oder parallel zu anderen Operationen auf dem PC betrieben werden konnte, Daten nahm und alle Aktionen ausführte, ohne einen anderen laufenden Betrieb zu stören.

Der Affe lief schneller als jedes normale benutzerbasierte Programm. All dies fühlte sich an wie ein Affe, der zufällig die Tasten drückt und die Maus herumwirbelt, um irgendwo auf den Bildschirm zu klicken.

Der Hauptzweck des Programms bestand darin, unter allen zufälligen Einträgen einen festgelegten Prozentsatz von Fensterereignissen, Menüklicks und Befehlen usw. zu generieren, damit die Tests den Anforderungen entsprechend ausgerichtet werden konnten. Als Testgerät erwies sich das Programm als sehr effizient. Die Zeichnungen wurden sehr erstaunlich hergestellt, aber die Schrift war Kauderwelsch.

Das Programm zeigte eine gute Leistung beim Absturz der Zielanwendungen. Der Nachteil war jedoch, dass das Programm nach Behebung des Hauptfehlers die anderen Nebenfehler nicht finden oder die vorherigen nicht wiederfinden konnte.

Außerdem ist hier Das Beste Online Android Emulator, das beste anonyme Chat-App als Referenz und erfahren Sie, wie Sie das Problem beheben können Android App nicht installiert mit Leichtigkeit.


Was ist für diesen Test erforderlich?

Wenn Sie Web-App-Software auf die Welt bringen, setzen Sie sie einer großen Anzahl von Benutzern in verschiedenen Kategorien aus. Einige der Benutzer sind gut, aber Sie können die Möglichkeit der bösen nicht ausräumen. Die bösen Benutzer sind zahlreich und verhalten sich wie die Affen, die mit der Software herumspielen, indem sie sperrige oder zufällige Eingaben zum Absturz der Anwendung eingeben.

Diesem Prinzip wird auch hier gefolgt. Die Tester verhalten sich beim Denken wie ein Affe und folgen der Regel der Zufälligkeit, um die Sicherheit der Anwendung vor den anderen bösen Affen zu testen.


Was sind die Vorteile von Affentests?

Das Befolgen dieser Methode bietet den Testern bestimmte Vorteile gegenüber den anderen:

  • 1. Dies ist die beste Technik, wenn Sie offen für die Idee bleiben möchten, neue und einzigartige Fehler zu entdecken. Die Tester können für die Implementierung der Tests eine Reihe erfahrener Prüfungen und Szenarien verwenden. Dies kann dazu führen, dass sie eindeutige Fehler finden, an die niemand denken kann und die negative Auswirkungen haben können.
  • 2. Dies ist eine gute Methode zum Testen der Zuverlässigkeit und Glaubwürdigkeit der Software.
  • 3. Die Methode ist einfach auszuführen, da zufällige Daten besser dazu beitragen, zufällige Tests durchzuführen, mit denen sich jedes System auf einfache Weise überprüfen lässt.
  • 4. Normalerweise kann dieser Test mit Hilfe der weniger erfahrenen Tester durchgeführt werden, aber das ist nicht immer der Fall.
  • 5. Das Testen erweist sich aufgrund der kostengünstigen Anforderungen an Einrichtung und Ausführung als weniger kostspielig.
  • 6. Bestimmte Tools helfen beim Testen von Affen, automatisiert zu laufen, was einwandfrei funktioniert.
  • 7. Eine weitere großartige Sache ist, dass diese Tests sowohl für den Desktop als auch für Mobilgeräte und alle Webanwendungen durchgeführt werden können.
  • 8. Die vorkompilierten und zufälligen Daten können zum Testen eingegeben werden, um nach Problemen im Zusammenhang mit OWASP zu suchen.
  • 9. Damit ist auch ein Datenbanktest möglich, indem eine Transaktion durchgeführt, zufällige Daten registriert und zufällige Aktionen verwendet werden. Anschließend kann der Tester einen Rollback durchführen, um festzustellen, ob die Datenbank abgestürzt ist oder eine Beschädigung vorliegt.

Welche Nachteile sind mit Affentests verbunden?

Es gibt jedoch bestimmte Lücken im System, die dazu führen, dass es einen Schritt zurückfällt:

  • 1. Der Hauptnachteil ist, dass jeder Fehler einmal erzeugt wird; Es kann nicht neu generiert werden, da die für den Test eingegebenen Zufallsdaten dies nicht zulassen.
  • 2. Aufgrund der Zufälligkeit werden die genauen Testvorgänge nicht angegeben, was die Genauigkeit der Testergebnisse beeinträchtigt.
  • 3. Wir wissen, dass das Testen von Affen nicht unbedingt qualifizierte Affen erfordert. Um jedoch kompromisslos genaue Ergebnisse zu erzielen, müssen mehr qualifizierte Techniker in der Domäne eingesetzt werden.
  • 4. Wenn keine vorherigen Standardprüfungen durchgeführt wurden, dauert der Test länger und nimmt dem Benutzer mehr Zeit in Anspruch. Die Ergebnisse sind auch nicht sehr zufriedenstellend, da die Anzahl der generierten Fehler im Vergleich zur benötigten Zeit sehr gering ist.
  • 5. Abgesehen von den Fehlern werden beim Testen manchmal unerwartete Ergebnisse generiert, die relativ schwer zu analysieren sind und noch mehr Zeit in Anspruch nehmen.

Was sind die verschiedenen Arten von Affentests?

Es gibt verschiedene Methoden zur Implementierung dieses Tests, die eine Unterteilung in drei verschiedene Kategorien erfordern. Sie sind:

Dumb-Affe-Test

Beginnen wir mit einigen der Eigenschaften eines dummen Affentesters

  • Der Tester weiß nichts über das Konzept der Anwendung oder des Produkts.
  • Sie wissen nicht, ob die eingegebenen Eingaben überhaupt gültig sind oder nicht. Sie sind auch der Funktionalität und der Benutzeroberfläche unbekannt.
  • Und sie können auch als "unwissende Affen. "

Für diesen Test muss der Testleiter einen Tester zum Testen des Produkts zuweisen, ohne überhaupt darüber Bescheid zu wissen. Der Tester testet die App intuitiv, indem er zufällige Eingaben entsprechend der Angemessenheit eingibt, die er für angemessen hält. In gewisser Weise ist der Tester überhaupt nicht technisch versiert, sondern probiert nur die Anwendungssoftware aus.

Die Daten, die der Tester eingibt, sind möglicherweise nicht gültig. Das Verhalten der Anwendung wird dann notiert, wenn sie den Erwartungen entspricht. Der Vorteil des dummen Affentests besteht darin, dass die Verwendung von naiven Testern die Ausgabe unerwartet hält. Die bewussten Tester geben möglicherweise nur die gültigen Daten richtig ein, wodurch andere als die ihnen bekannten Bedingungen möglicherweise nicht getestet werden.

Smart-Affe-Test

Ein intelligenter Affe kann charakterisiert werden als:

  • Der Tester verfügt über ausreichende oder kurze Kenntnisse über das Produkt oder die Systemanwendung.
  • Sie sind sich der Funktionalität des Produkts bewusst. Sie wissen, wohin die Seite umgeleitet wird, und kennen alle Schaltflächen und das Menü.
  • Und sie geben die gültigen Daten für die Durchführung der Tests ein. Sie eignen sich für sperrige Tests oder Stresstests.
  • Ihr Hauptaugenmerk liegt darauf, die App-Software zu bearbeiten oder zu beschädigen.
  • Sie melden den Fehler, wenn sie auf einen signifikanten Fehler stoßen.

Hier setzt der Task-Manager einen gut informierten Tester ein, um jede Anwendung zum Absturz zu bringen. Sie werden zufällige ungültige Daten intelligent nutzen, um die Zielanwendung durch zufällige Aktionen zu testen. Dies macht das Testen schneller. Es wird sichergestellt, dass die ungültigen Daten ordnungsgemäß behandelt werden und die Anwendung ordnungsgemäß in erwarteten ungültigen Situationen ausgeführt wird.

Brillanter Affentest

Die brillanten Affen haben folgende Eigenschaften:

  • Die brillanten Tester haben einiges an Wissen darüber, wie Menschen ein Produkt verwenden können.
  • Sie kennen alle Dynamiken des Benutzerverhaltens und können auch auf die Möglichkeit eines Fehlers hinweisen.

Ein solcher bewusster Tester wird vom Manager mit der Durchführung der Operation beauftragt. Diese sind jederzeit besser als die dummen. Die Endbenutzer aus dem wirklichen Leben können sich als nützlicher erweisen, da sie möglicherweise einen anderen Datensatz in verschiedenen Sequenzen verwenden. Sie verwenden Perspektiven aus der realen Domäne, um die App zu testen. Der Tester kann eingesetzt werden, um in dem spezifischen Bereich seines Fachwissens zu arbeiten.


Wie analysiert man die Ergebnisse von Affentests?

Die generierten Fehler erfordern eine detaillierte Analyse, da die Reproduktion der Fehler nicht einfach ist und die Schritte dazu manchmal unbekannt sind. Die geeignete Zeit für die Verwendung dieser Testtechnik kann in den letzten Phasen des gesamten Betriebs des Testens aller Funktionen liegen, und sobald sich die App als effektiv erwiesen hat. Wenn dies zu Beginn erfolgt, besteht ein höheres Risiko. Die Verwendung eines Skripts oder Programms, das sowohl gültige als auch ungültige Zufallsdateneingaben verwendet, erleichtert die Analyse.


Was sind einige andere kompetente Tests für Affentests?

Gorilla-Tests

Dieser Software-Tester wird für ein Modul eines Programms verwendet, das wiederholt getestet wird, um sicherzustellen, dass es ordnungsgemäß funktioniert und fehlerfrei funktioniert. Tests können mehr als hundert Mal durch das Modul ausgeführt werden, und das jedes Mal auf ähnliche Weise. Dieser Test ist weder zufällig noch vordefiniert. Es kann nur für exklusive Module mit einigen Testprüfungen verwendet werden.

Ad-hoc-Tests

Affentests werden als Untertyp dieser Tests angesehen. Der Tester, der es ausführt, kennt die Software und sie funktioniert. Diese Tests werden ohne Vorbereitung und ohne Berücksichtigung von Testfällen oder SRS durchgeführt. Der Hauptzweck besteht darin, die Anwendung zufällig in Unterteile zu unterteilen und dann deren Funktion zu überprüfen, ob sie abstürzt oder nicht.


Gibt es Tools, die Affentests helfen?

Ja, es gibt eine Reihe von Tools, die Monkey-Tests automatisieren und ihnen helfen, effizient zu laufen. Sie generieren zufällige oder vorbelegte Daten und fügen sie dann in die Software ein. Sie führen auch zufällige Aktionen aus und beobachten das Ergebnis. Diese Tools benötigen einige Zeit zum Einrichten, aber wenn sie einmal fertig sind; Sie führen Tests sehr effizient durch. Dies ist der grundlegende Prozess, der bei der Verwendung eines solchen Tools zu befolgen ist:

  1. Wie bei jedem allgemeinen Tool besteht der Hauptschritt darin, die Software auf dem jeweiligen dedizierten Server zu registrieren.
  2. Sie müssen mit allen erforderlichen Referenzen bereit sein, um die Testsuite zu erstellen.
  3. Führen Sie dann den Testanzug aus.
  4. Eine Protokolldatei des Tests wird mit dem Namen „Affentest, ”, In dem alle generierten Testergebnisse aufgezeichnet werden.
  5. Sie müssen sich daran erinnern, dass der Test so lange ausgeführt wird, bis das System den Absturzpunkt erreicht. Hier wird die endgültige Aktion gemeldet und in der Protokolldatei gespeichert.
  6. Der letzte Schritt erfolgt, wenn der betroffene Tester den Abschlussbericht zur Beobachtung sieht. Diese Daten können für zukünftige Referenzzwecke gespeichert werden.

Monkey Testing Tools für Android

MonkeyRunner ist ein Tool, das zum Testen beliebiger . verwendet werden kann Android Anwendung. Mithilfe der Python-Programmierung kann das Tool beliebige Programme installieren und ausführen, Daten senden, Screenshots erstellen und auf dem PC speichern. Es ist für Funktions- und Rahmentests konzipiert und kann auch stichprobenartige Tests durchführen.

Monkey UI/Anwendungstrainer für Android

Es unterscheidet sich vom Tool und generiert Benutzer- und Systemereignisse für jeden zufälligen Pseudostream. Dieser Trainer befindet sich im Inneren des Emulators oder des Geräts in der ADB-Shell.


Fazit

Affentest ist in der Softwareindustrie noch nicht gut angekommen, da sie ein Neuling ist und immer noch mit den besseren und kostengünstigeren Testmethoden konkurriert. Es ist besser, andere Tests durchzuführen und die Anwendung zu stabilisieren, bevor Sie auf Affentests zurückgreifen. Es ist jedoch vorteilhaft, um neue Fehler und schlimmere Situationen zu entdecken und bessere Ergebnisse zu erzielen. Mit einer besseren Planung können bessere Ergebnisse erzielt werden.