Monkey-Testing: Was es ist und wann es sich lohnt

Ihr Team kann jede geplante Funktion testen und trotzdem eine App veröffentlichen, die abstürzt, sobald jemand drei Schaltflächen zu schnell hintereinander antippt. Mit Monkey-Testing finden Sie genau diese Art von Absturz frühzeitig: Ein Tool bedient Ihre App nach dem Zufallsprinzip, feuert Tausende Taps, Wischgesten und Tastatureingaben ab und meldet jeden Absturz und jedes Einfrieren, das es dabei auslöst.

Der Name geht auf das Bild eines Affen (englisch „monkey“) zurück, der auf eine Tastatur einhämmert. Das klingt nach einem Scherz, doch die Technik hat eine lange Geschichte, und unter Android gehört ein passendes Tool zur Standardausstattung. Da ein Programm das Tippen übernimmt, ist Monkey-Testing eine Form des automatisierten Testens.

Dieser Leitfaden erklärt, was ein Monkey-Test macht, wie sich Smart Monkeys und Dumb Monkeys unterscheiden und warum Monkey-Testing oft mit explorativem Testen verwechselt wird. Außerdem erfahren Sie, welche Tools einen Versuch wert sind und wann sich ein Monkey-Test für Sie lohnt.

Was macht ein Monkey-Test eigentlich?

Bei einem Monkey-Test übergeben Sie Ihre App an ein Tool, das sich wie ein unachtsamer Nutzer verhält, der nie müde wird. Das Programm tippt irgendwo auf den Bildschirm, gibt Kauderwelsch ein, wischt und drückt die Zurück-Taste in beliebiger Reihenfolge. Es weiß nicht, wofür ein Bedienelement da ist, und versucht nie, eine Aufgabe abzuschließen. Anders als ein menschlicher Tester hält es das über Tausende Aktionen ohne Pause durch. Es prüft nur eines: ob die App überlebt.

Wenn etwas kaputtgeht, zeichnet das Tool auf, was passiert ist. Die gefundenen Probleme lassen sich in drei Gruppen einteilen:

  • Abstürze: Die App schließt sich ohne Vorwarnung
  • Einfrieren: Die App reagiert nicht mehr auf Eingaben (unter Android erscheint nach fünf Sekunden die Meldung „Application Not Responding“)
  • Sicherheitsfehler: Die App versucht etwas, wofür ihr die Berechtigung fehlt, etwa geschützte Dateien zu öffnen oder die Kamera zu nutzen

Negativtests, ein enger Verwandter, füttern eine App absichtlich mit fehlerhaften Eingaben, während ein Monkey-Test seine Eingaben dem Zufall überlässt.

Die Idee reicht bis ins Jahr 1983 zurück. Laut einem Bericht aus erster Hand vom ursprünglichen Macintosh-Team baute Steve Capps ein Tool namens The Monkey, um MacWrite und MacPaint zu testen. Seine zufälligen Eingaben lösten mühelos Abstürze bei knappem Arbeitsspeicher aus, die das Team von Hand nur schwer reproduzieren konnte. Die Technik von damals ist längst Geschichte, doch moderne Monkey-Tools arbeiten noch immer nach demselben Prinzip.

Google Play zeigt deutlich, warum es wichtig ist, Abstürze vor dem Release zu finden. Die Plattform stuft eine App als problematisch ein, wenn mindestens 1,09 % der täglichen Nutzer einen Absturz erleben, gerechnet über alle Geräte, oder 8 % auf einem einzelnen Smartphone-Modell. Für das Einfrieren liegt der Grenzwert noch niedriger, bei 0,47 %. Apps oberhalb dieser Werte werden voraussichtlich schwerer auffindbar, und manche erhalten einen Warnhinweis auf ihrer Store-Seite.

Smart-Monkey- vs. Dumb-Monkey-Testing: Worin liegt der Unterschied?

Ein Dumb Monkey weiß nichts über Ihre App. Er erkennt nicht, auf welchem Bildschirm er sich befindet oder was eine Schaltfläche bewirkt, daher ist jede Aktion reiner Zufall. Ein Smart Monkey hat eine grobe Karte der App dabei: welche Bildschirme es gibt, wie sie zusammenhängen und wo er bereits war. Mit dieser Karte kann er gezielt Bereiche ansteuern, die er noch nicht ausprobiert hat, und Sackgassen vermeiden.

Jeder Typ hat seine eigene Stärke und seinen eigenen Preis:

  • Dumb Monkeys: Sie sind in wenigen Minuten eingerichtet und stoßen gern auf Randfälle, die kein Tester einplanen würde. Ihre Schwäche: Sie verbringen viel Zeit damit, immer wieder dieselben wenigen Bildschirme zu durchlaufen.
  • Smart Monkeys: Sie gelangen zu tiefer liegenden Bildschirmen, etwa zu einer Checkout-Seite, die drei Schritte tief in einem Ablauf liegt. Allerdings dauern Einrichtung und Ausführung länger, weil das Tool seine Karte erst beim Erkunden aufbauen muss.

Ältere Daten deuten darauf hin, dass die Dumb-Monkey-Variante stärker ist, als sie klingt. In einer Studie aus dem Jahr 2015 mit 68 Android-Apps verglichen Forscher sieben Testtools und erklärten Googles einfachen Zufalls-Monkey zum klaren Sieger. Im Durchschnitt erreichte der Monkey einen größeren Teil des Codes jeder App als die anderen Tools, meldete die meisten Fehler und gehörte zu den am einfachsten zu bedienenden. Die Arbeit ist mehr als zehn Jahre alt und älter als die meisten heute verfügbaren smarten Alternativen. Sie zeigt weiterhin, dass einfaches Zufallstesten funktioniert, verrät aber nicht, welches Tool heute das beste ist.

Moderne Smart Monkeys behalten diese Zufallsengine oft bei und ergänzen sie um eine Steuerung. Forscher setzen inzwischen KI-Sprachmodelle ein, um das Tool aus Bildschirmen herauszuholen, in denen es häufig hängen bleibt. In einer Studie aus dem Jahr 2026 mit 12 beliebten Apps steigerte diese zusätzliche Hilfe den Anteil des Codes jeder App, den Googles Monkey erreichte, im Durchschnitt um 44,1 %. Die KI-gestützte Variante fand außerdem mehr eindeutige Abstürze als die Standardtools, mit denen sie verglichen wurde.

Ist Monkey-Testing dasselbe wie exploratives Testen?

Beide Ansätze testen ohne festes Skript, deshalb werden sie oft verwechselt. Der Unterschied liegt darin, wer die Kontrolle hat. Ein Monkey-Test ist ein Programm, das zufällig handelt und keine Ahnung hat, wofür die App gedacht ist. Exploratives Testen bedeutet, dass ein erfahrener Tester die App gezielt durcharbeitet, eine Vermutung entwickelt, wo sie versagen könnte, und dieser nachgeht.

Stellen Sie sich einen Rabattcode vor, der sich im Checkout zweimal anwenden lässt. Ein explorativer Tester bemerkt das vielleicht und verbringt eine Stunde damit, herauszufinden, wann es passiert. Ein Monkey würde einfach daran vorbeilaufen, denn ein falscher Preis bringt nichts zum Absturz. Andererseits kämen nur wenige Tester auf die Idee, mitten in einer Zahlung die App zu wechseln und dabei immer wieder die Zurück-Taste zu drücken.

In der Praxis funktionieren Monkey-Testing und exploratives Testen am besten im Zusammenspiel. Der Monkey findet den Absturz, und ein Tester ermittelt die Schritte dahinter und prüft, was in der Nähe sonst noch defekt sein könnte.

Zwei weitere Techniken werden ebenfalls mit Monkey-Testing verwechselt. So unterscheiden sich alle vier:

Monkey-Testing im Vergleich mit explorativem Testen, Fuzz-Testing und Chaos-Testing
Technik
Wer führt es durch
Eingabe
Wonach gesucht wird
Am besten geeignet für
Technik

Monkey-Testing

Wer führt es durch

Tool

Eingabe

Zufällige Taps, Wischgesten und Tastatureingaben auf dem Bildschirm

Wonach gesucht wird

Abstürze, Einfrieren und Sicherheitsfehler

Am besten geeignet für

Apps und Spiele mit vielen Bildschirmen und Bedienelementen, vor dem Release

Technik

Exploratives Testen

Wer führt es durch

Erfahrener Tester

Eingabe

Gezielte Aktionen, geleitet vom Urteilsvermögen

Wonach gesucht wird

Jeder Fehler, auch falsche Ergebnisse und verwirrendes Design

Am besten geeignet für

Neue Funktionen und riskante Nutzerabläufe

Technik

Fuzz-Testing

Wer führt es durch

Tool

Eingabe

Zufällige oder fehlerhafte Daten, die in Dateien, Formulare oder Netzwerkanfragen eingespeist werden

Wonach gesucht wird

Abstürze und Sicherheitslücken

Am besten geeignet für

Software, die Uploads, Formulare oder Daten aus anderen Systemen entgegennimmt

Technik

Chaos-Testing

Wer führt es durch

Tool

Eingabe

Gezielt herbeigeführte Ausfälle in Servern und Cloud-Systemen

Wonach gesucht wird

Ob der Dienst weiterläuft

Am besten geeignet für

Große Onlinedienste

Chaos-Testing sorgt für die meiste Verwirrung, weil sein bekanntestes Tool der Chaos Monkey von Netflix ist. Dieses Programm fährt Server nach dem Zufallsprinzip herunter, um zu beweisen, dass der Dienst verfügbar bleibt. Chaos-Testing prüft die Systeme hinter einer App und berührt nie den Bildschirm.

Wo hilft Monkey-Testing am meisten?

Monkey-Testing funktioniert bei jeder Software, in der Menschen klicken, tippen oder etwas eingeben, von Websites bis zu Desktop-Programmen. Am meisten lohnt es sich in zwei Bereichen:

  • Mobile Apps: Smartphone-Nutzer wechseln ständig zwischen Apps, drücken Systemtasten und werden mitten in einer Aufgabe unterbrochen. Unter Android stellt Google das Tool selbst bereit. Der UI/Application Exerciser Monkey läuft auf einem Smartphone oder einem Emulator (einem virtuellen Smartphone auf einem Computer). Das Tool mischt zufällige Taps und Wischgesten mit genau diesen Systemereignissen. iOS hat kein integriertes Gegenstück. Als wir Logo Maker Shop auf den Start bei Google Play vorbereitet haben, deckten Tests auf 7 Geräten und 6 Android-Versionen zahlreiche Abstürze auf. Bei Unfold, einer Storytelling-App, die später von Squarespace übernommen wurde, bestand unsere Hauptaufgabe darin, herauszufinden, welche Nutzeraktionen sie unter Android und iOS zum Absturz brachten.
  • Stress- und Stabilitätstests: Ein Monkey kann stundenlang weiterlaufen und ist damit eine günstige Methode, um zu prüfen, ob Software langer, intensiver Nutzung standhält. In Googles eigener Dokumentation wird der Monkey als Stresstest beschrieben. Spiele sind ein typischer Fall, weil Spieler wild auf Tasten hämmern, mitten in Animationen pausieren und während Ladebildschirmen die App wechseln. Als wir das Städtebauspiel Highrise City vor dem Launch getestet haben, mussten wir für jeden von Spielern gemeldeten Absturz die jeweilige Konfiguration prüfen und nachvollziehen, was die Spieler kurz vor dem Ausfall des Spiels getan hatten. Zufällige Eingaben helfen beim zweiten Teil, weil sie Aktionsfolgen ausprobieren, die niemand planen würde. Für die skriptbasierte Seite der QA lesen Sie unseren Überblick über Tools zur Automatisierung von Spieletests.

Wenn Abstürze Ihre Bewertung bei Google Play nach unten ziehen, zeigt Android-App-Testing auf echten Geräten, welche Smartphones und Aktionen sie verursachen. Sobald die App live ist, behält eine Strategie zur Meldung von Abstürzen die Lage im Blick, während Menschen sie nutzen.

Welche Monkey-Testing-Tools sind einen Versuch wert?

Fertige Monkey-Testing-Tools gibt es vor allem für Android, und drei davon sind einen Versuch wert:

  • Der UI/Application Exerciser Monkey von Android: Googles integrierter Dumb Monkey. Er ist kostenlos, benötigt nur ein angeschlossenes Smartphone oder einen Emulator und ist meist der erste Schritt.
  • DroidBot: ein Open-Source-Smart-Monkey, der beim Durchlaufen ein Bild der App-Bildschirme aufbaut und es nutzt, um neue zu erreichen. Er wird weiterhin aktiv gepflegt.
  • Fastbot: der Open-Source-Smart-Monkey von ByteDance, entwickelt, um die eigenen Apps des Unternehmens zu testen. Er lernt aus früheren Durchläufen, welche Aktionen zu neuen Bereichen führen.

Für iOS-, Web- und Desktop-Apps gibt es derzeit keinen fertigen Monkey von der Stange. Die einst beliebten iOS-Tools SwiftMonkey und Fastbot for iOS werden nicht mehr gepflegt. Im Web hat gremlins.js, die bekannteste Option, seit 2020 kein neues Release mehr erhalten. Der praktikable Weg ist ein kurzes Skript, das zufällige Taps, Klicks und Tastatureingaben auf die App abfeuert, geschrieben in dem Automatisierungsframework, das Ihr Team bereits nutzt, etwa Apples XCUITest für iOS oder Microsofts Playwright für Browser.

Wann lohnt sich Monkey-Testing für Sie?

Ein Monkey-Test lohnt sich, wenn Abstürze das Risiko sind, das Ihnen die größten Sorgen bereitet. In diesen Situationen passt er gut:

  • Komplexe Apps: viele Bildschirme und Gesten, die auf eine Weise zusammenwirken, die niemand vollständig erfasst hat
  • Launches bei Google Play: Absturzraten beeinflussen, wie sichtbar die App ist
  • Nach einer Reihe von Absturzkorrekturen: eine schnelle Prüfung, dass nichts Neues kaputtgegangen ist
  • Stabilitätschecks über Nacht: stundenlange Zufallseingaben, ohne einen Tester zu binden

Monkey-Testing lässt sich außerdem früh und günstig starten. Ein Dumb Monkey kann auf einem Beta-Build laufen, sobald sich die App öffnen lässt, lange bevor jemand skriptbasierte Tests schreibt.

In diesen Fällen hilft die Technik deutlich weniger:

  • Ergebnisse prüfen: Sie müssen wissen, ob ein Preis, ein Kontostand oder ein Suchergebnis korrekt ist. Ein Monkey bemerkt nur, wenn die App kaputtgeht.
  • Logins und Paywalls: Ein Monkey kommt selten allein daran vorbei, denn zufälliges Tippen errät kein Passwort.
  • Exakte Fehlerberichte: Zufällige Sitzungen lassen sich oft schwer wiederholen. Ergebnisse, die sich bei jedem Versuch ändern, verhalten sich ähnlich wie Flaky Tests, die Entwicklerzeit verschwenden.

Betrachten Sie Monkey-Testing als zusätzliche Ebene über Ihren regulären Funktions- und Regressionstests. Zufällige Eingaben finden den Absturz, den niemand absichtlich herbeiführen würde, also genau die Art, die gern erst in der Produktion auftaucht. Ihre geplanten Prüfungen bestätigen derweil, dass die Ergebnisse tatsächlich korrekt sind.

Unsere QA-Engineers decken beide Seiten ab: Automatisierung für die sich wiederholenden Durchläufe und explorative Tester, die herausarbeiten, was jeder Fehler bedeutet. Wir können in jeder Phase einsteigen, ob Sie einen frühen Build haben oder ein Live-Produkt, bei dem sich die Absturzberichte stapeln. Hören Sie auf zu raten, wo Ihre App versagt, und vereinbaren Sie ein Gespräch mit unserem QA-Team.

FAQ

Was ist ein Monkey-Test beim Softwaretesten?

Ein Monkey-Test ist eine Methode, Abstürze zu finden, indem man Software mit zufälligen Nutzereingaben konfrontiert. Statt einem Skript zu folgen, führt ein Tool ungeplante Aktionen in einer App aus, etwa Tippen, Texteingaben und Wischen in beliebiger Reihenfolge, und protokolliert jeden Fehler, den es dabei auslöst. Der Name spielt auf einen Affen an, der auf eine Tastatur einhämmert. Die Methode eignet sich hervorragend, um Fehler zu finden, auf die kein skriptbasierter Test stoßen würde.

Ist Monkey-Testing dasselbe wie Random Testing?

Monkey-Testing ist eine Form des Random Testing. Random Testing, also zufallsbasiertes Testen, ist der übergeordnete Ansatz, Software mit zufällig gewählten Eingaben zu prüfen. Dieser Ansatz kann auf eine einzelne Funktion, eine API oder ein ganzes System abzielen. Monkey-Testing überträgt diese Idee auf die Benutzeroberfläche, daher sind seine zufälligen Eingaben die Aktionen, die ein Nutzer auf dem Bildschirm ausführen könnte, etwa Taps, Klicks und Tastatureingaben.

Was ist der Unterschied zwischen Monkey-Testing und Fuzz-Testing?

Beide setzen auf zufällige Eingaben, zielen aber auf unterschiedliche Ebenen der Software. Monkey-Testing verhält sich wie ein Nutzer und schickt unvorhersehbare Aktionen über die Benutzeroberfläche. Fuzz-Testing umgeht die Oberfläche und füttert ein Programm mit beschädigten oder unerwarteten Daten, etwa einer defekten Bilddatei oder einer verstümmelten Nachricht von einem Server. Sicherheitsteams setzen Fuzzing intensiv ein, weil die damit ausgelösten Abstürze ausnutzbare Schwachstellen aufdecken können.

Kann Monkey-Testing manuell durchgeführt werden?

Nur eingeschränkt. Monkey-Testing ist normalerweise automatisiert, aber ein Tester kann auch zufällig durch eine App klicken oder tippen. Ein paar Minuten zufälliges Tippen vor einem Release können einen offensichtlichen Absturz zutage fördern. Allerdings verfallen Menschen in Gewohnheiten und werden müde. Manuelles Zufallstesten eignet sich als schneller Plausibilitätscheck, während ein automatisiertes Tool die bessere Wahl für lange Sitzungen mit Tausenden Aktionen ist.

Ist Monkey-Testing ein Black-Box-Test?

Ja. Ein Monkey-Test arbeitet vollständig von außen, interagiert mit einer App so, wie es ein Nutzer tun würde, und beurteilt sie nur nach ihrem Verhalten. Er wirft nie einen Blick in den Quellcode. Smart Monkeys führen zwar eine Karte der besuchten Bildschirme, bauen sie aber durch Erkunden auf und gelten deshalb trotzdem als Black-Box-Tools.

Erfahren Sie, wie wir Unfold geholfen haben, zum Storytelling-Toolkit Nr. 1 weltweit mit einer Milliarde aktiver Nutzer zu werden

Bitte geben Sie Ihre Geschäfts-E-Mail ein ist keine Geschäfts-E-Mail