Manuell vs. Automatisiert: So testen Sie Ihre App richtig

Veröffentlicht: 2022-02-24
testen

Wenn Sie eine App veröffentlichen, müssen Sie sich zu 100 % sicher sein, dass sie reibungslos und fehlerfrei funktioniert. Und natürlich sollte es auch die Erwartungen Ihrer Nutzer erfüllen! Andernfalls kann Ihr Projekt scheitern, was nicht das gewünschte Ergebnis ist, oder? Daher müssen Sie den Tests der App-Qualitätssicherung (QA) gebührende Aufmerksamkeit schenken.

Aber was ist der richtige Ansatz zum Testen Ihrer Plattform? Welche Techniken wählen? Lohnt es sich, die Produktleistung manuell oder automatisiert zu überprüfen? Oder vielleicht beide Optionen gleichzeitig wählen?

In der Qualitätssicherung (QA) ist die Testautomatisierung einer der größten Verfechter der Geschwindigkeit. Aber wenn es um Funktionalität und den ersten Eindruck geht, gibt es keinen Ersatz für manuelles Testen. Tatsache ist, dass das manuelle Testen mobiler Apps immer noch eine große Rolle bei der Auslieferung hochwertiger Anwendungen spielt, selbst wenn die automatisierte Testsoftware immer ausgefeilter wird.

Beide Kategorien des Testens mobiler Apps haben unterschiedliche Vor- und Nachteile, aber es ist besonders wichtig für Unternehmen, die mobile Apps entwickeln, manuelles Testen zu praktizieren, um ein außergewöhnliches Benutzererlebnis zu bieten.

App-Ranking-Service von ASO World
Klicken Sie auf „Mehr erfahren“, um Ihr Geschäft mit Apps und Spielen jetzt mit dem App-Promotion-Service von ASO World voranzutreiben.

Grundlagen zum Testen mobiler Apps

Im weitesten Sinne gibt es zwei Ansätze zum Testen einer mobilen Anwendung. Sie können Menschen die Anwendung in verschiedenen Situationen verwenden lassen, um zu sehen, wie sie reagiert, oder Sie können eine Anwendung die Software an interessante Orte fahren lassen und nach erwarteten Ergebnissen suchen.

Dieser zweite Begriff wird allgemein als „Testautomatisierung“ oder vielleicht „automatisiertes Testen“ bezeichnet. Es könnte genauer sein, es als „automatisierte Testausführung und -auswertung“ oder „automatisierte Überprüfung“ zu bezeichnen, aber die früheren Begriffe haben sich durchgesetzt.

Beide Ansätze können unter verschiedenen Umständen gültig sein, und diese Gültigkeit kann sich im Laufe der Zeit in verschiedenen Momenten des Lebenszyklus einer App ändern. In der Praxis verwenden die meisten Organisationen eine Mischung aus beidem, indem sie vielleicht einige der menschlichen Erkundungen an die Kunden weitergeben.

Was ist automatisiertes und manuelles Testen?

Die Sicherstellung qualitativ hochwertiger Software ist ein komplexer Prozess, der viel Zeit in Anspruch nimmt und einiges an Geld kostet. Allerdings lassen sich solche Ausgaben nicht vermeiden (vorausgesetzt man will langfristig erfolgreich sein).

Es ist wichtig, eine kompetente Teststrategie zu entwickeln, die es Ihnen ermöglicht, mit minimalem Aufwand die maximale Wirkung zu erzielen und zu verstehen, ob die Website oder Anwendung die festgelegten Anforderungen erfüllt.

Manuelles Testen

Automatisiertes Testen ist der Prozess, bei dem vorgefertigte Tests für eine App ausgeführt werden, bevor sie für die Produktion freigegeben wird. Automatisierte Tests helfen Ihnen, Schwachstellen in Ihrer App schneller zu finden. Die Testautomatisierung kann verwendet werden, um sich wiederholende Tests auszuführen, die regelmäßig ausgeführt werden müssen und die Ihnen helfen können, Fehler in den frühen Stadien zu finden.

Während das Ziel des manuellen Testens darin besteht, die sogenannte „User Experience“ zu testen, zielt das automatisierte Testen darauf ab, alle Funktionalitäten zu testen, die eine App auszeichnen.

Sechzehn Jahre, nachdem mir zum ersten Mal gesagt wurde, dass menschliche Tests „verschwinden“ würden, und fast ein Jahrzehnt, nachdem ich zum ersten Mal menschliche Entdecker als „Dinosaurier“ bezeichnet hatte, bleibt manuelles Testen der häufigste Testansatz für mobile und Desktop-Anwendungen.

Mit manuellem Testen meine ich einen Menschen, der die Anwendung tatsächlich über das Frontend verwendet. Es gibt eine Vielzahl von Orten, an denen diese manuellen Tests durchgeführt werden können. Die meisten Programmierer simulieren zumindest eine Anwendung, wenn sie sie nicht auf ein Telefon übertragen, bevor sie sie zum Testen an jemand anderen weitergeben. Einige Unternehmen beschäftigen Tester, um tiefer zu gehen und über den glücklichen Weg hinaus oder in verschiedene Gerätemodelle zu schauen.

Wenn die Software intern ist, kann das Unternehmen die Leute, die die Software verwenden werden, tatsächlich Benutzerakzeptanztests durchführen lassen, die sich mehr darauf konzentrieren, „kann ich meine Arbeit mit dieser Software erledigen“. Einige Unternehmen geben die Software frühzeitig für „Beta“-Tester frei, bei denen es sich möglicherweise um Mitarbeiter handelt, die ein Tool wie Microsoft AppCenter verwenden.

Schließlich gibt es Unternehmen wie Applause und Testio, die diese „Beta“-Version nehmen und sie per Crowdsourcing beschaffen, wodurch Dutzende bis Tausende von Augäpfeln bereitgestellt werden, um sich die Software in einer Vielzahl von Konfigurationen über einen kurzen Zeitraum anzusehen.

Unabhängig davon, wer wie oder wann Sie manuell testen, erhalten Sie das echte Gefühl, wie es ist, die Anwendung tatsächlich zu verwenden. Manuelle Tests können sehen, ob die Schaltflächen an der richtigen Position sind, ob sie groß genug sind, ob sie sich überlappen, ob die Farben zusammen gut aussehen usw. Computer erweisen sich als besonders schlecht darin, zu beurteilen, ob ein Bild auf einem Bildschirm "richtig aussieht".

Es gibt jedoch einige Aktionen, auf die Computer leicht testen können. Wenn Sie beispielsweise Benutzername und Passwort eingeben und absenden, sollten Sie zu einem Bildschirm gehen, der Ihren Namen anzeigt und dass Sie angemeldet sind, und wenn Sie das Passwort falsch lassen, sollte ein bestimmter Fehlertext ausgegeben werden.

Die Herausforderung beim mobilen Testen besteht wahrscheinlich weniger darin, welches der beiden Paradigmen akzeptiert werden soll, sondern wie viel, wann und wer.

Warum brauche ich manuelle Tests?

Manuelles Testen liefert Feedback zur Benutzerfreundlichkeit und zum Erscheinungsbild sowie zur Funktionalität. Der Tester spielt die Rolle eines Benutzers, der alles in dieser Anwendung ausprobiert und typische Aktionen ausführt, die ein Benutzer tun würde, um zu sehen, ob oder wann die App abstürzt. Bei manuellen Tests erhalten Sie oft früh genug Feedback zu Leistung, Batterieentladung oder Überhitzung, um diese vor der Veröffentlichung zu beheben. Das Feedback ist oft "kostenlos", nur weil der Tester aufgepasst hat.

Wie viele Geräte benötige ich zum Testen?

Sie könnten versuchen, jedes unterstützte Gerät mit jeder unterstützten Betriebssystemversion manuell zu testen. Als wir das letzte Mal vor drei Jahren nachgesehen haben, gab es über 24.000 verschiedene Android-Geräte, und wir haben aufgehört zu zählen. Realistischerweise testen die meisten Organisationen mit der neuesten unterstützten Version, einer Version zurück und der ältesten unterstützten Version. Zwischen Android und iOS, Tablet und Telefon haben die meisten mittelständischen und größeren Unternehmen, mit denen wir zusammenarbeiten, ein Testlabor mit 10 bis 20 Geräten.

Automatisiertes Testen

Was ist automatisiertes Testen?

Wenn Leute den Ausdruck automatisiertes Testen verwenden, meinen sie im Allgemeinen, dass ein Tool wie Selenium oder Appium die Benutzeroberfläche der Anwendung steuert und dabei die erwarteten Ergebnisse überprüft.

Diese Überprüfung erfolgt aus einer Reihe von Befehlen und Inspektionspunkten, die entweder in einer Art Tabellenkalkulation oder wahrscheinlicher in einem tatsächlichen Computerprogramm gespeichert werden können.

Daher sind die Tests vorprogrammiert; Jeder Test könnte ein Computerprogramm sein. Jeder Test kann ein Dutzend Mal klicken oder tippen und ein weiteres Dutzend Verifizierungspunkte haben. Sobald die Tests vorhanden sind und sich das Anwendungsverhalten nicht geändert hat, können automatisierte Tests Fehler in der Anwendung sehr schnell finden, normalerweise innerhalb von Minuten nach der Übergabe an die Versionskontrolle.

Testautomatisierung kann verwendet werden, um Tests durchzuführen, die sich wiederholen, die kein menschliches Urteilsvermögen erfordern, die regelmäßig ausgeführt werden müssen und die Ihnen helfen können, Fehler in frühen Stadien zu finden. Während das Ziel des manuellen Testens darin besteht, die „Benutzererfahrung“ zu testen, zielt das automatisierte Testen darauf ab, alle Funktionen zu testen, die eine App auszeichnen.

Automatisiertes Testen klickt auf die Schaltfläche, die „falsch aussieht“ und sich an der falschen Stelle befindet, und registriert kein Problem (es sei denn, Sie haben daran gedacht, dies im Voraus zu überprüfen) – es ist wahrscheinlicher, dass Fehler, falsche Suchergebnisse usw. gefunden werden.

Warum benötige ich automatisierte Tests?

Wenn die Anwendung wächst, wächst auch die Zeit zum Testen. Automatisierte Tests verkürzen diese Zeit für häufige Freigaben. Aus diesem Grund ist automatisiertes Testen der Schlüssel zur Beschleunigung des Testprozesses, zur Senkung der Kosten und zur radikalen Verkürzung der Zeit bis zur Rückmeldung bei schwerwiegenden Fehlern von Tagen auf Minuten. Testautomatisierung ermöglicht Ihnen:

Testen Sie Funktionalitäten, die sich wiederholen und daher fehleranfällig sind, wenn sie manuell ausgeführt werden; Testfälle mit vorhersagbarem Ergebnis;

Einfaches Einrichten und Ausführen komplizierter und langwieriger Testszenarien

Das Wichtigste: Sie können auf einer höheren Anzahl mobiler Geräte gleichzeitig testen und so Zeit sparen. Mit Simulatoren oder der Cloud können Sie dies tun, ohne die Geräte zu kaufen oder zu verwalten!

Wie viele Testfälle benötige ich für einen Basistestsatz?

Dies hängt stark von der Anwendung ab und davon, wie groß der "Testfall" ist. Wenn Testfälle einfache Dom-zu-Datenbank-Tests sind, die eine logische Operation überprüfen, dann kann eine typische Funktion vier bis zehn Tests haben und eine typische Anwendung könnte vier bis zehn Features haben.

Wenn die Anwendung mit zwei verschiedenen Programmiersprachen codiert ist, eine für iOs und eine für Android, müssen Sie diese möglicherweise verdoppeln oder eine Abstraktionsschicht schreiben und einen Satz von Geschäftsszenarien und zwei Implementierungen haben, die je nach Betriebssystem variieren.

Manuelle Tests für mobile Apps

Vorteile des manuellen Testens

  • Testen der Benutzeroberfläche genau und schnell
  • Erleben und testen Sie die App als echter Benutzer, um die endgültige Erfahrung zu replizieren
  • Einfaches Identifizieren und Reproduzieren gemeldeter Probleme
  • Bewältigung komplizierter Probleme und Anwendungsfälle
  • Kleine Änderungen und Projekte schneller und kostengünstiger testen

Nachteile des manuellen Testens

  • Der menschliche Fehler beeinflusst die Genauigkeit
  • Tests müssen jedes Mal manuell wiederholt werden
  • Langwierige Testaufgaben sind viel schwieriger
  • Eine große Abdeckung erfordert viele Ressourcen, wie z. B. die Anzahl der Tester und den Zugriff auf eine Vielzahl von Geräten

Manuelles Testen in mobilen Apps wird verwendet für:

  • Exploratives Testen: Als Ansatz bewertet exploratives Testen den Tester als integralen Bestandteil des Testprozesses. Dies erfordert einen manuellen Tester, der von seiner Einsicht, Kreativität und seinem Wissen profitiert.
  • Ad-hoc-Tests: Per Definition ist Ad-hoc ein informeller Testtyp. Es zielt darauf ab, das System zu durchbrechen, daher kann es nicht auf geplante Weise durchgeführt werden. Es braucht einen Tester, der sich unregelmäßig verhält, um zu versuchen, das System zu brechen.
  • Usability-Tests: Der manuelle Tester kann ein Gefühl für die endgültige Benutzererfahrung bekommen. Die Verwendung der App so, wie sie für die Verwendung entwickelt wurde, hilft dabei, festzustellen, wie benutzerfreundlich die App ist, und menschliche Eingaben sind dabei entscheidend.

Automatisierte Tests für mobile Apps

Vorteile automatisierter Tests

  • Langwierige und anspruchsvolle Tests schneller durchführen
  • Testen vieler Geräte
  • Automatisierte Tests können wiederholt verwendet werden
  • Schnelle, effiziente und genaue Ergebnisse
  • Es können mehrere automatisierte Tests gleichzeitig durchgeführt werden
  • Bei großen mobilen Apps sind automatisierte Tests kosteneffizienter

Nachteile des automatisierten Testens

  • Kein Einblick in die Benutzererfahrung aus visueller Sicht
  • Die Kosten, um automatisierte Tests zum Laufen zu bringen, sind aufgrund des erforderlichen Codes hoch
  • Verschwenderisch in kleineren Situationen
  • Immer noch einige menschliche Fehler, da der Automatisierungstest von einem Menschen programmiert wird und seine eigenen Tests erfordert
  • Benötigt spezifische Konfigurationen und Code für jede mobile App

Automatisiertes Testen in mobilen Apps wird verwendet für:

  • Regressionstests: Eine der größten Stärken des automatisierten Testens ist die Fähigkeit, jederzeit ein Testskript ausführen zu können. Eine der besten Möglichkeiten, automatisierte Tests zu nutzen, sind ständige kleine Änderungen, wenn Sie sicherstellen möchten, dass sie keine negativen Auswirkungen haben.
  • Performance-Tests: Im Gegensatz zu Usability-Tests ist Performance eher ein Zahlenspiel. Das Testen, wie schnell, reaktionsschnell und stabil eine App auf verschiedenen Geräten oder unter verschiedenen Bedingungen ist, ist etwas, bei dem automatisierte Tests erfolgreich ausgeführt werden. Der Umfang und die Genauigkeit der Ergebnisse machen automatisierte Tests für Leistungstests unerlässlich.
  • Wiederholtes Testen: Nach anfänglichen Kosten für die Codierung und Konfiguration eines Testskripts werden automatisierte Tests auf lange Sicht sehr kosteneffizient. Die Möglichkeit, Tests ohne zusätzliche Ressourcenkosten für Tester zu wiederholen, macht es viel einfacher, zu testen und Ergebnisse zu erzielen.