Testtrends im Jahr 2020


Artikelautor : Dmitry Shadrin



Einführung


Ich möchte meine Top-Test-Tools vorstellen, die mir wöchentlich helfen, effektiv zu arbeiten und meine Leistung zu verbessern.

Ich mache ausgelagerte Tests und muss mit verschiedenen Arten von Produkten arbeiten: mobile Anwendungen und Spiele, Web, ernsthafte Kryptowährungsprojekte für Desktop usw. In diesem Artikel möchte ich die bequemsten und aussagekräftigsten Tools auswählen, mit denen ich meine Arbeit beim Testen mobiler Anwendungen optimieren kann.

Mobile Anwendungen


Das Wichtigste, was beim Testen einer mobilen Anwendung hervorgehoben werden muss, ist das Testen der Funktion . Wenn Sie entschieden haben, für wen Ihr Produkt hergestellt wurde, wer der Endverbraucher ist, können Sie nur dann kompetente End-to-End-Tests für Ihre Anwendung durchführen.

Wir beginnen immer mit dem Testen unter Einhaltung der Anforderungen und des Designs der Anwendung. Eine gute Qualitätssicherung sollte die Anforderungen für das zu testende Produkt kennen, und eine ausgezeichnete sollte mit dem Design befreundet sein. Dies bedeutet nicht nur, dass Sie sich mit Figma, Invision oder Zeplin befassen können, sondern auch verstehen, wie die Benutzeroberfläche / UX der Anwendung funktioniert.
Um alle Benutzerbewegungen über Anwendungsbildschirme hinweg genauer zu konsolidieren, wird normalerweise eine Mindmap erstellt. Von den bequemsten für mich kann ich xMind, Mindomo und MindMeister herausgreifen.

Mit dem Aufkommen und Aktualisieren der Mind Map wird es einfacher, Anwendungen zu testen. Besonders praktisch ist es, die Testdokumentation zu aktualisieren und aufzufüllen (z. B. Checkliste).

Eine gute Checkliste basiert auf den Projektanforderungen, der Dokumentation der Funktionen und Aufgaben, die dem Team in der aktuellen Implementierung zugewiesen wurden. Die Mind Map ermöglicht es Ihnen, nicht alle Nuancen zu vergessen und zu berücksichtigen, wodurch Sie einen hervorragenden Boden für End-to-End-Tests schaffen. Ein Service, mit dem Sie sowohl vorgefertigte Checklisten finden als auch Ihre eigenen aktualisieren können: https://checkvist.com/checklists/476089


Tools, die zur Überprüfung der oben genannten Fälle benötigt werden:

Charles oder Fiddler schnüffeln als die bislang beliebtesten Tools zur Analyse des Netzwerkverkehrs. Mit ihnen können Sie Fälle auf einen Netzwerkausfall und ein schwaches Internet überprüfen, ausgehende Anfragen anzeigen und Antworten erhalten. Sie ermöglichen es Ihnen auch, einige Situationen zu simulieren, die in realen Fällen schwer zu reproduzieren sind.

Daten von Sniffern werden beim weiteren Testen der API nützlich sein. Für die Arbeit mit der API empfehle ich Ihnen jedoch, spezielle Tools zu verwenden: Swagger UI, Postman. Beide Tools lösen zwei Probleme: Dokumentation von Anfragen und deren interaktive Überprüfung.

Es lohnt sich, über die Automatisierung des Testprozesses nachzudenken. Eine der häufigsten Lösungen zur Automatisierung des UI-Tests mobiler Anwendungen istAppium . Eine relativ einfache Einstiegsschwelle und eine Fülle von Dokumentationen sowie eine riesige Basis von QS-Spezialisten, die immer bei der Beantwortung von Fragen helfen.

Appium ist ein kostenloses plattformübergreifendes Open-Source-Tool, mit dem Anwendungen für Android und iOS automatisiert werden können. Es ist eines der am häufigsten verwendeten Tools zum Erstellen automatischer Tests für Smartphones und Tablets.

Die unbestrittenen Vorteile von Appium sind die einfache Bedienung sowie die Unterstützung vieler Programmiersprachen: Java, Ruby, Python, C #, PHP.

Bevor Sie mit Appium arbeiten können, müssen Sie die Umgebung aus den folgenden Komponenten konfigurieren:



Nach der Installation der Software können Sie sich um die Anwendung kümmern. Sie benötigen .apk-entweder eine IPA-Datei für iOS für eine Android-Anwendung, damit diese Anwendung beim Ausführen von Tests auf dem ausgewählten Gerät installiert werden kann. Wenn die Anwendung nicht auf dem Gerät installiert wurde, wird sie vom Testcode installiert und die Tests selbst ausgeführt.

Beim Testen der Automatisierung stellt sich früher oder später die Frage: Testen auf realen Geräten oder Verwenden von Emulatoren. Wie die Praxis und rücksichtslose Statistiken zeigen, sind Emulatoren kein Allheilmittel. Situationen sind sehr häufig, wenn auf Emulatoren alles perfekt funktioniert und alle Tests bestanden sind. Auf einem realen Gerät wird die Anwendung jedoch durch ein Sicherheitssystem, den Betrieb einer anderen Anwendung oder einer benutzerdefinierten Firmware (Hallo Android!) Blockiert.
Meine Empfehlung ist, Gerätefarmen zu kombinieren und zu verwenden. Dienste wie BrowserStack, AWS Device Farm und Xamarin Test Cloud. Wenn Sie eine Verbindung zu realen Geräten herstellen, können Sie Ihre Autotests in diese Dienste integrieren und die Ergebnisse anzeigen. Es lohnt sich jedoch immer, Zielgeräte im Gerätepark sowie Geräte aus der oberen und unteren Leiste (das zulässige Minimum und Flaggschiff) zu haben.

Eine gute Alternative zu Appium ist codecept.io.
Wenn Sie JS als Sprache für die Entwicklung von Autotests bevorzugen, sind Sie bei CodeceptJS herzlich willkommen. Detaillierte Dokumentation, Tests nehmen nicht viel Platz auf dem Bildschirm ein (Sie werden verstehen, was ich meine) und die aktive Unterstützung aller modernen mobilen Betriebssysteme wird Sie dazu bringen, sich für dieses Tool zu entscheiden.

Nachdem Ihr Projekt eine beträchtliche Anzahl von Autotests durchgeführt hat, ist es hilfreich, deren Start jedes Mal zu automatisieren, wenn Sie einen neuen Build erstellen. Wenn Sie dies anpassen und konfigurieren, erhalten Sie moderne CI \ CD-Systeme. Persönlich bevorzuge ich Jenkins oder Teamcity, aber hier ist es Geschmackssache.

Ein weiteres Werkzeug zur Reduzierung und Optimierung von Regressionstests ist die Abhängigkeitsmatrix (sie ist auch eine Trace-Matrix). Kurz gesagt - dies ist eine Tabelle, in der die Abhängigkeiten der Elemente des Systems voneinander festgehalten werden. Um eine solche Matrix zu kompilieren, müssen Sie den Anwendungscode verstehen und sich an den Projektarchitekten wenden. Aber am Ende wird ein solches Tool die Zeit für Regressionstests erheblich verkürzen (in meinem Gedächtnis - bis zu 40%). Sie können mehr über die Matrix lesen.hier .

Hinweis


Hier sind meine nützlichen Tipps zum Ermitteln der maximalen Anzahl von Fehlern angesichts der Besonderheiten mobiler Anwendungen.

  • Überprüfen Sie die Hüllen immer auf Falten / Umkehren, Aufwachen aus dem Schlafmodus und Ein- / Ausschalten. Für Android gibt es eine Einstellung - Aktivitäten nicht beibehalten ( DNKA ). Achten Sie beim Testen mit dieser Einstellung darauf, diese Abkürzung in Fehlern anzugeben, damit der Entwickler sie leichter reproduzieren kann.
  • Benachrichtigungen / Benachrichtigungen - Es gibt lokale und Server-Benachrichtigungen (d. H. An eine Netzwerkverbindung gebunden). Es lohnt sich immer, sich an sie zu erinnern und ihre ordnungsgemäße Funktion zu überprüfen. Sie sollten immer zum Zielbildschirm führen. Oder Sie sollten sie aufgeben, bis die Entwickler den richtigen Weg zur Navigation gefunden haben.
  • Charles . .
  • , , . . , .
  • . iOS: ipa- . Android , , . .
  • , QA . .
  • . , . , . . . “ ” .
  • . , . 20% . , . , , “ QA”.
  • . .


In dieser Notiz wollte ich die grundlegenden Werkzeuge und Hinweise durchgehen, die ich in meiner täglichen Arbeit verwende. Weitere Informationen zu allen modernen Tools finden Sie in unserem Kurs zum mobilen Testen auf der OTUS-Schulungsplattform. Ich lade Sie auch zu einer kostenlosen Lektion ein, in deren Rahmen wir moderne Testpraktiken für mobile Android / iOS-Anwendungen ausführlicher diskutieren, über die erforderliche Testersuite im Jahr 2020 sprechen und das Thema der Automatisierung unserer Arbeit und Tests betrachten.

All Articles