Tutorial zum Testen von iOS-Apps: Manuell und automatisiert

Was ist iOS-App-Testen?

Testen von iOS-Apps ist ein Testprozess, bei dem eine iOS-Anwendung auf echten Apple-Geräten getestet wird, um zu überprüfen, ob sie bei bestimmten Benutzeraktionen wie Installationszeit, Benutzeroberfläche, Benutzererfahrung, Erscheinungsbild, Verhalten, Funktionalität, Ladezeit, Leistung und App wie erwartet funktioniert oder nicht Store-Eintrag, Unterstützung der Betriebssystemversion usw.

Warum iOS-App-Tests?

Testen von iOS-Apps ist erforderlich, da iOS Apples Plattform für mobile Anwendungen ist, die am 29. Juni 2007 veröffentlicht wurde. Im Gegensatz dazu Android, Apple lizenziert iOS nicht für die Installation auf Nicht-Apple-Hardware. iOS und iOS-Anwendungen können nur auf Apple-Geräten installiert werden. Daher muss Ihre iOS-App mit iOS-Versionen und iOS-Geräten kompatibel sein.

IOS-App-Tests

Dies ist die häufigste Frage, wenn Entwickler eine iOS-Anwendung erstellen.

IOS-App-Tests

Es spielt keine Rolle, wie viel Zeit Sie in Design und Implementierung investieren, Fehler sind unvermeidlich und Bugs werden auftreten. Es gibt einige häufige Fehler in der iOS-Anwendung. Wie in der folgenden Abbildung gezeigt.

IOS-App-Tests

Anwendung stürzt ab

Eines der frustrierendsten Probleme bei der Verwendung von Apple-Geräten besteht darin, dass eine Anwendung während der Ausführung häufig abstürzen kann. Oftmals stürzt die App ab, weil in den Apps Fehler oder Speicherverluste vorliegen.

Anwendungsinkompatibilitäten

Ihre iOS-Anwendung läuft möglicherweise perfekt auf der aktuellen iOS-Version, aber wenn iOS das ist upgraded, es kann aufgrund von Inkompatibilitätsproblemen nicht funktionieren.

Sicherheitslücke

Eine Sicherheitslücke in iOS ermöglicht es dem Hacker, Ihre iOS-Geräte anzugreifen und Ihre privaten Daten zu stehlen. Bisher wurden in verschiedenen iOS-Versionen schwerwiegende iPhone-Sicherheitslücken entdeckt.

Speicherlecks

Speicherlecks sind Blöcke des zugewiesenen Speichers, die das Programm nicht mehr verwendet. Speicherlecks führen zum Absturz Ihrer iOS-Anwendung.
Es handelt sich um Fehler, die immer behoben werden sollten.

iOS testet MindMap

IOS testet MindMap

Wie in der obigen Abbildung gezeigt, iOS Testen MindMap zeigt alle Elemente, die Tester beim Testen unter iOS berücksichtigen sollten.

Checkliste zum Testen von iOS-Anwendungen

Diese Checkliste wurde speziell zum Testen der Eigenschaften mobiler iOS-Anwendungen entwickelt. Offensichtlich werden nur allgemeine Anwendungsmerkmale und nicht deren Funktionalität getestet.

  • Überprüfen Sie die Installationszeit der Anwendung auf dem Gerät. Stellen Sie sicher, dass die Anwendung innerhalb einer akzeptablen Zeit installiert wird.
  • Überprüfen Sie nach der Installation der Anwendung, ob die Anwendung über ein App-Symbol und einen App-Namen verfügt. Stellen Sie außerdem sicher, dass sowohl das Symbol als auch der Name selbsterklärend sind und den Kernzweck der Anwendung widerspiegeln.
  • Starten Sie die Anwendung und prüfen Sie, ob der Begrüßungsbildschirm angezeigt wirdyed.
  • Überprüfen Sie das Zeitlimit für den Begrüßungsbildschirm und die zum Laden des Startbildschirms benötigte Zeit. Der Startbildschirm der Anwendung sollte innerhalb einer akzeptablen Zeit geladen werden. Wenn das Laden des Startbildschirms nur länger dauert, besteht für den Benutzer eine größere Chance, die Anwendung selbst zu beenden oder sogar zu deinstallieren. Überprüfen Sie außerdem, wie die Inhalte auf dem Startbildschirm geladen werden.
  • Die Hauptfunktion der Anwendung sollte sofort ersichtlich sein. Es sollte für sich selbst sprechen.
  • Prüfen Sie, ob die App sowohl Quer- als auch Hochformat unterstützt. Wenn ja, überprüfen Sie die App in beiden Ausrichtungen. Die Benutzeroberfläche der Anwendung sollte entsprechend eingestellt werden.
  • Starten Sie die Anwendung ohne Internetverbindung. Stellen Sie sicher, dass sich die App wie geplant/gewünscht verhält. Es besteht die Möglichkeit, dass die Anwendung beim Starten abstürzt oder nur einen leeren Bildschirm anzeigt.
  • Wenn die Anwendung Ortungsdienste verwendet, prüfen Sie, ob eine Warnung zur Standortberechtigung angezeigt wirdyed oder nicht. Diese Warnung sollte dem Benutzer nur einmal angezeigt werden.
  • Wenn die Anwendung Push-Benachrichtigungen sendet, prüfen Sie, ob die Berechtigungswarnung für Push-Benachrichtigungen angezeigt wirdyed oder nicht. Auch diese Warnung sollte dem Benutzer nur einmal angezeigt werden.
  • Starten Sie die Anwendung, beenden Sie sie und starten Sie sie erneut. Überprüfen Sie, ob sich die App wie geplant/gewünscht verhält
  • Schließen Sie die Anwendung, indem Sie auf die Home-Taste des Geräts tippen und die App erneut öffnen. Prüfen Sie, ob die App wie geplant/gewünscht funktioniert.
  • Überprüfen Sie nach der Installation, ob die App in der Einstellungs-App des iPhones aufgeführt ist.
  • Nachdem die Anwendung live geschaltet wurde, prüfen Sie, ob die Anwendung im „App Store“ zu finden ist. Für die Anwendung wird es eine unterstützte Betriebssystemversion geben. Stellen Sie daher sicher, dass die Anwendung im „App Store“ des Geräts mit der unterstützten Betriebssystemversion zu finden ist. Außerdem sollte die Anwendung nicht im „App Store“ des Geräts mit nicht unterstützter Betriebssystemversion aufgeführt sein.
  • Überprüfen Sie, ob die Anwendung in den Ruhemodus wechselt, wenn sie im Hintergrund ausgeführt wird, um eine Entladung der Batterie zu verhindern.
  • Wenn die Leistung der Anwendung langsam ist oder wenn Inhalte geladen werden, prüfen Sie, ob ein Fortschrittsstatussymbol („Laden…“) angezeigt wird, vorzugsweise mit einer bestimmten Meldung.
  • Suchen Sie die Anwendung anhand ihres Namens in der Gerätesuchleiste. Überprüfen Sie, ob die App aufgeführt ist
  • Überprüfen Sie, ob das Erscheinungsbild von Schaltflächen, die Standardaktionen ausführen, in der App nicht verändert wird (z. B. Aktualisieren, Organisieren, Papierkorb, Antworten, Zurück usw.).
  • Prüfen Sie, ob Standardtasten nicht für andere Funktionen als die, für die sie normalerweise verwendet werden, verwendet werden

iOS-Teststrategie

Die folgende Abbildung stellt einige gängige Arten von iOS-Teststrategien vor.

IOS-Teststrategie

Automatisiertes Testen

Automatisierte Tests sind die größten Vorteile von iOS-Tests. Es ermöglicht Ihnen, Fehler und Leistungsprobleme schnell zu erkennen. Die Vorteile des automatisierten Testens sind unten aufgeführt:

  • Automatisierte Tests können auf mehreren Geräten ausgeführt werden, was Ihnen Zeit spart
  • Automatisierte Tests können auf SDKs abzielen. Sie können Tests mit verschiedenen SDK-Versionen ausführen
  • Automatisierte Tests steigern Ihre Testproduktivität und senken Ihre Kosten für die Softwareentwicklung
  • Es gibt viele Open-Source-Testframeworks, die automatisierte Tests unter iOS unterstützen

Unit-Test mit OCUnit

Als das ursprüngliche iOS SDK veröffentlicht wurde, fehlte es Unit Tests Fähigkeiten. Also hat Apple das zurückgebracht OCUnit Unit-Test-Lösung in iOS SDK Version 2.2.

OCUnit ist ein Testframework für C-Objective unter Mac OS. Die größten Vorteile eines OCUnit-Frameworks sind die enge Integration in XCode Entwicklungsumgebung wie unten gezeigt.

Unit-Tests mit OCUnit

Einige der Vorteile von OCUnit sind in der folgenden Abbildung dargestellt.

Unit-Tests mit OCUnit

UI-Tests mit UIAutomation

UI-Tests mit UIAutomation

UI-Automatisierung ist eine JavaScript Von Apple Inc. bereitgestellte Bibliothek, mit der ein automatisierter Test auf realen Geräten und im iOS-Simulator durchgeführt werden kann. Dieses Framework wurde zu iOS SDK4.0 hinzugefügt. Mithilfe der UI-Automatisierung können Sie das Testen der Anwendung nicht nur auf dem Simulator, sondern auch auf dem realen Gerät automatisieren.

UIAutomation bietet Ihnen diese Vorteile:

  • Reduzieren Sie den Aufwand Manuelle Prüfung
  • Beanspruchen Sie weniger Speicher, um alle Ihre Tests auszuführen
  • Vereinfachen Sie Ihr UI-Testverfahren (drücken Sie einfach eine oder drei Tasten und führen Sie Ihre Testsuiten vollständig aus)

Das UIAutomation-Instrument funktioniert mit Skripten, die in JavaScript geschrieben sind. Es simuliert Benutzerereignisse in der iOS-Zielanwendung.

UIAutomation Nachteile vs. Vorteile

Vorteile Nachteile
1. Gute Unterstützung für Gesten und Rotation Es handelt sich nicht um Open Source, daher gibt es weniger Unterstützung durch den Entwickler
2. Kann UIAutomation-Tests auf dem Gerät ausführen, nicht auf dem einzigen Simulator. Kann nicht besonders gut mit anderen Tools integriert werden
3. Es wurde von JavaScript entwickelt und ist eine beliebte Programmiersprache.

UI-Tests mit UIAutomation

Die obige Abbildung stellt einige gängige Klassen im UIAutomation-Framework dar.

  • Das UIAElement Klasse ist die Superklasse für alle Benutzeroberflächenelemente im Kontext der Automatisierung
  • Das UIAZiel Die Klasse stellt die übergeordneten Benutzeroberflächenelemente des zu testenden Systems dar
  • Das UIALogger Die Klasse stellt Test- und Fehlerinformationen zur Abruffunktion bereit
  • Das UIAActivityViewDie Klasse ermöglicht den Zugriff auf und die Steuerung von Aktivitätsansichten in Ihrer App.
  • Das UIAActionSheet Die Klasse ermöglicht den Zugriff auf und die Steuerung von Aktionsblättern in Ihrer App.
  • Mitglied Ereignisaktion
  • UISlider-Klasse
  • UIAButton-Klasse
  • UIAKey-Klasse
  • UIAKeyboard-Klasse

Andere automatisierte Test-Frameworks

  • Frank: Automatisiert Akzeptanztest Framework für iPhone und iPad
  • KIF : ist ein iOS Integrationstest Rahmen. Es ermöglicht eine einfache Automatisierung von iOS-Apps durch Nutzung der Barrierefreiheitsattribute, die das Betriebssystem für Menschen mit Sehbehinderungen zur Verfügung stellt.

Manuelle Prüfung

Versuchsforschung

Es handelt sich um einen Test ohne formellen Testplan. Exploratives Testen ist eine kostengünstige Testmethode, die jedoch potenzielle Fehler in Ihrer iOS-Anwendung übersehen kann.

Nachteile und Vorteile des explorativen Testens

Vorteile Nachteile
1. Es ist weniger Vorbereitung erforderlich, um schwerwiegende Fehler frühzeitig zu erkennen. Erfordert hohe Fähigkeiten des Testers
2. Brauche nicht Versuchsplan Beschleunigen Sie die Fehlererkennung. Die Testabdeckung ist gering. Es kann nicht garantiert werden, dass alle Ihre Anforderungen getestet werden.
3. Die meisten Fehler werden frühzeitig durch explorative Tests entdeckt Fehlende Testdokumentation

User Testing

Benutzertests sind eine Art manuelle Tests unter iOS. Der Zweck dieser Tests besteht nicht nur darin, bessere Apps zu erstellen Bug-frei Apps. Die folgende Abbildung zeigt vier Arten von Benutzertests

User Testing

Konzepttests

Bewerten Sie die Reaktion der Benutzer auf eine Anwendungsidee, bevor Sie sie auf den Markt bringen. Nachfolgend werden die Verfahren zum Testen von Konzepten unter iOS beschrieben

Konzeptprüfung

Usability-Tests

Usability-Tests ist ein Test, wie einfach Sie Ihre iOS-Anwendung verwenden können. Bei iOS-Tests könnte es sich um einen Usability-Test handeln aufgezeichnet zum Erinnern oder zum Teilen mit anderen.

Es gibt einige Tools, die Usability-Tests unter iOS unterstützen.

TryMyUI Mobile Benutzertest-Apps für Android und iOS.

Delight.ioMit diesem Tool können Sie echte Benutzerinteraktionen in Ihren iOS-Apps erfassen.

Betatest

Betatest ist das Integrationstests mit realen Daten, um endgültiges Feedback von Benutzern zu erhalten. Um Ihre Apps für Betatests zu verteilen, müssen Sie die folgenden Schritte ausführen.

Beta-test

-Vorbedingung: Wenn Sie einen endgültigen Kandidaten für eine Veröffentlichung im Betatest testen, müssen Sie die App unbedingt validieren, bevor Sie sie an Tester verteilen.

-Tester über Service finden: Sie sammeln Geräte-IDs von Testern und fügen sie hinzu Mitgliederzentrum

-Erstellen Sie eine Ad-hoc-Verteilung: Durch die Ad-hoc-Verteilung kann der Tester Ihre App ohne Bedarf auf seinem Gerät ausführen Xcode. Dieser Schritt umfasst 2 Unterschritte

  • Erstellen Sie Vertriebszertifikate
  • Erstellen Sie Ad-hoc-Bereitstellungsprofile

-Bitten Sie den Tester um Feedback: Tester führen Tests durch und senden Ihnen Fehlerberichte. Nachdem Ihre App veröffentlicht wurde, können Sie die Berichte von abrufen iTunes zu verbinden.

A / B-Tests

A / B-Tests ist eine der wirkungsvollsten Methoden dazu Bewerten Sie die Wirksamkeit Ihrer iOS-App. Es benutzt randomisierte Experimente mit zwei Geräten, A und B.

A/B-Tests

A/B-Tests umfassen drei Hauptschritte

  • Konfigurieren Sie einen Test: Zwei Versionen Ihrer iOS-App (A und B) und Testmetrik vorbereitet
  • Test: Testen Sie die beiden oben genannten iOS-App-Versionen gleichzeitig auf Gerätenneogewöhnlich.
  • Analysieren: Messen Sie und wählen Sie eine bessere Version zur Veröffentlichung aus

Following Tools unterstützen A/B-Tests auf iOS.

  • Entstehen: A/B-Tests für iOS und Android. Es kann in Ihre iOS-App integriert werden und den Testprozess beschleunigen.

Best Practices für A/B-Tests

  • Definiere das Ziel Ihres Tests. Ohne ein Ziel ist jeder Test nutzlos.
  • Ansehen Endbenutzer nutzen Ihre App zum ersten Mal
  • Führen Sie dank One Nur pro Update testen. Es spart Ihnen Zeit bei der Durchführung von Tests
  • Überwachen Lesen Sie Ihren Test sorgfältig durch. Sie können aus Ihrem Test Erfahrungen lernen, indem Sie ihn überwachen.

Best Practice für iOS-Tests

Hier sind einige Tipps, die Sie kennen sollten, wenn Sie das Testen Ihrer iOS-Anwendung organisieren

  1. Testen Sie die Anwendung auf einem echtes Gerät um sich über die Leistung klar zu werden
  2. Verbessere Ihre Testmethoden, da herkömmliche Testmethoden nicht mehr ausreichen, um alle Tests beim iOS-Testen abzudecken
  3. Die richtigen Konsolenprotokoll um die iOS-Anwendung zu testen. Dies ist eine iOS-Funktion, die Informationen von jeder Anwendung auf dem Gerät enthält.
  4. Dokument Anwendungsfehler mit eingebauter Bildschirm kurz Befehl. Es hilft Entwicklern zu verstehen, wie die Fehler auftreten.
  5. Crash-Berichte ist ein nützliches Werkzeug zum Testen Ihrer Anwendung. Sie können Abstürze erkennen und Details protokollieren, sodass Sie die Fehler problemlos untersuchen können.

MYTHEN über iOS-Tests

In diesem Abschnitt werden einige beliebte Mythen und Realitäten zum iOS-Testen untersucht

Testanwendung auf iOS und Android sind das gleiche.

iOS und Android sind zwei Plattformen, die von Apple Inc. und Google entwickelt wurden. Sie sind völlig unterschiedlich. Usw. Testumgebungen, Testframeworks, Programmiersprachen.

Testanwendung am iOS-Simulator ist ausreichend.

iOS Simulator ist nicht strong reicht aus, um eine App zu testen. Da der iOS-Simulator einige Einschränkungen aufweist:

  • Hardwareeinschränkungen (Kamera, Mikrofoneingang, Sensor)
  • Die Benutzeroberfläche Ihrer App scheint möglicherweise schneller und flüssiger zu laufen als auf einem Gerät
  • API-Einschränkungen
  • Einige Frameworks werden nicht unterstützt (Media Player, Store Kit, Message UI...)

Jeder wird meine Apps im App Store herunterladen, weil sie viele Funktionen bieten

Je mehr Funktionen Ihre Anwendung hat, desto mehr Fehler können auftreten. Kein Benutzer wird Ihre Anwendung herunterladen, wenn sie noch viele Mängel aufweist.