Empfohlenes Webinar: MISRA C++ 2023: Alles, was Sie wissen müssen | Zum Video

So wechseln Sie schnell von manuellen zu automatisierten Tests

Headshot von Renata Santillan, Produktstrategin bei Parasoft
29. Februar 2024
5 min lesen

Verabschieden Sie sich von den Zwängen manueller Tests und freuen Sie sich auf eine Zukunft, in der Ihr Team qualitativ hochwertige Software schneller liefert. Lesen Sie weiter, um mehr über praktische Lösungen zur Automatisierung von UI- und API-Tests zu erfahren, die die Produktivität steigern und die Testzeit verkürzen.

Das Streben nach einer effizienten DevOps-Pipeline mit nahtloser kontinuierlicher Integration und kontinuierlicher Bereitstellung (CI/CD) ist aktueller denn je. Stellen Sie sich ein Szenario vor, in dem Ihre Software-Organisation den manuellen Aufwand deutlich reduziert, die Kosten senkt und Software-Updates mit größerer Zuversicht veröffentlicht. Mit anderen Worten: Optimieren Sie Ihre CI/CD-Pipeline, indem Sie Web-UI- und API-Tests zusammenführen.

In diesem Blogbeitrag untersuchen wir eine Methode zur Automatisierung von Selenium-Tests und API-Szenario-Workflows mithilfe von Parasoft Selenic und SOAtest Das ermöglicht Ihrem Team:

  • Erhöhen Sie die Anzahl der Testsuiten.
  • Führen Sie Selbstheilungstests ein.
  • Beschleunigen Sie die Testerstellung.
  • Verschaffen Sie sich einen umfassenden Überblick über die Anwendungsqualität und -sicherheit.

Was ist mit all Ihren manuellen Tests?

Wie können Unternehmen ihre Automatisierungs- und CI/CD-Ziele erreichen, wenn ein Großteil ihrer Anwendungstests manuell durchgeführt wird? Manuelle Tests dominieren immer noch in vielen Organisationen mit manuellen Testplänen, denen ihre Tester Schritt für Schritt folgen, um die Funktionalität methodisch zu testen.

Tools wie Selenium kann diese manuellen Tests automatisieren. Während Selenium eine beliebte Technologie ist, um Organisationen auf ihrem Weg zur Automatisierung zu helfen, gibt es eine steile Lernkurve, um es zu verwenden, und die Testwartung (normalerweise das Korrigieren von Tests nach Änderungen der Benutzeroberfläche) ist zeitaufwändig.

Selbst diejenigen Organisationen, die eine ausgereifte Selen-Praxis haben, finden die Tests spröde und bruchanfällig. Die Kapitalrendite ist bei Selenium vorhanden, aber es erfordert eine konzertierte Anstrengung und Hingabe an das Tool, um die Vorteile zu nutzen.

Die Möglichkeit, das, was Sie bereits haben, wiederzuverwenden

Wäre es nicht großartig, wenn Sie einfach Ihre aktuellen manuellen Testpraktiken aufzeichnen und automatisch robuste Selenium-Tests erstellen könnten? Dann verwenden Sie diese Tests in einer vollautomatisierten Testsuite, die in Ihre CI/CD-Pipeline integriert ist?

In der Zwischenzeit könnten Sie auch die Testausführung und Selbstheilungstests im Auge behalten, die aufgrund unerwarteter UI-Änderungen Probleme haben könnten, und dafür sorgen, dass die Automatisierung reibungslos läuft. Die Antwort sollte ein klares „Ja“ sein! Aber lassen Sie uns das auf Eis legen und gleich darauf zurückkommen.

Die Komplexität von APIs

Anwendungen bestehen nicht einfach aus Web-UIs. Es gibt viele bewegliche Teile, die im Backend genutzt werden, um die gewünschte Funktionalität durch die Interaktion mit der Benutzeroberfläche zu erfüllen. Diese Komponenten oder API-Schichten können komplex sein, nicht nur an sich, sondern auch in der Art und Weise, wie sie miteinander interagieren, um die gewünschte Funktionalität bereitzustellen.

API-Tests sind notwendig, aber schwierig. Die Verantwortung für ihre Tiefentests wird oft QA-Gruppen überlassen, die ihre inneren Abläufe nicht verstehen oder nicht mit ihnen vertraut sind. Wenn etwas schief geht, kratzen sich QA-Gruppen leider am Kopf und fragen sich, wo das Problem liegt. Es ist oft irgendwo unten in den Eingeweiden einer der Dienstschichten.

Der Wert von API-Tests

API-Tests sind äußerst wertvoll weil es sowohl wesentliche einzelne Dienstschichten als auch komplexe Interaktionen zwischen Diensten verifiziert.

Wäre es nicht großartig, wenn Sie dieselbe Aufzeichnung Ihrer manuellen Tests, die Sie zum Erstellen und Automatisieren der Selenium-Tests verwenden, zum automatischen Erstellen automatisierter API-Tests verwenden könnten?

Dies würde effektiv alle komplexen Backend-Interaktionen in API-Serviceschichten erfassen.

Wäre es nicht auch großartig, diese API-Szenariotests als Teil Ihrer CI/CD-Pipeline einfach zu automatisieren?

Ihre Antworten sind wahrscheinlich nach wie vor ein klares „Ja!“

Erraten Sie, was? Sie können beides tun.

Von der Möglichkeit zur Realität: Erstellen Sie automatisch CI/CD-fähige Web-UI- und API-Tests mit aufgezeichneten manuellen Tests

Es ist jetzt möglich, Ihre aktuellen manuellen Testprozesse zu nutzen, um sowohl Selenium-Web-UI-Tests als auch API-Szenario-Workflow-Tests automatisch zu erstellen und sie schnell und einfach in Ihr CI/CD-Framework zu integrieren. So können Sie UI- und API-Tests automatisieren, während Sie das tun, was Sie bereits tun!

So erstellen Sie automatisch Selenium-Web-UI-Tests

Beginnen Sie mit der Durchführung Ihrer normalen manuellen UI-Tests für Ihre Anwendung, nachdem Sie den Parasoft Recorder gestartet haben.

Grafik, die den Jenkins CI/CD-Workflow zum automatischen Erstellen von Selenium-Web-UI-Tests zeigt.

Während Sie Ihre manuellen Tests durchführen, stellt Parasoft Selenic zeichnet die UI-Interaktionen auf über das Browser-Plugin Parasoft Recorder und erstellt automatisch voll funktionsfähige Selenium-Testskripte. Diese Aufzeichnungen verwenden das Seitenobjektmodell, um widerstandsfähiger gegenüber Änderungen der Benutzeroberfläche zu sein.

Wenn Parasoft Selenic außerdem während der Ausführung Ihrer Selenium CI/CD-Skripte Laufzeitfehler aufgrund von Locator- oder Wartezeitproblemen erkennt, verwendet es KI, um diese automatisch zu beheben.

Screenshot mit der Parasoft Selenic-Liste der erkannten Laufzeitfehler.

Im Allgemeinen ist für Selenium-Tests viel weniger Wartung erforderlich, wenn sie mit Parasoft Selenic automatisiert werden. Weitere Details werden bereitgestellt, damit Entwickler die automatische Testheilung überprüfen und bei Bedarf manuell eingreifen können. Sie können auch Laufzeitleistungsdaten anzeigen, um potenzielle Probleme frühzeitig zu erkennen.

So erstellen Sie Workflow-Tests für API-Szenarien automatisch

Während dieselben manuellen UI-Tests (oder automatisierte Selenium-Tests) durchgeführt werden, erfasst Parasoft SOAtest auch die zugrunde liegenden API-Interaktionen, um wiederverwendbare API-Testskripte zu erstellen, die den genauen Workflow der Backend-APIs modellieren. Die KI organisiert diese Testskripte automatisch in Szenarien, wodurch der manuelle Organisationsaufwand erheblich reduziert wird.

Grafik, die Selenic und SOAtest im CI/CD-Workflow zeigt.

Diese API-Szenarien können abgespielt, bearbeitet, geklont und wiederverwendet werden, um eine umfassende API-Testsuite zu bilden. Parasoft SOAtest erleichtert die Einführung, Verwendung und Wartung von API-Tests durch Automatisierung und KI-gestützte Entscheidungsfindung sowie seine Verwendbarkeit für die Validierung nichtfunktionaler Anforderungen. Dies erhöht die Gesamtqualität der Anwendung.

Warten Sie, es gibt noch mehr: Berichterstellung und Analysen

Die Implementierung eines automatisierten CI/CD-Workflows mit Parasoft ist eine große Belohnung. Währenddessen gesammelte Testergebnisse und Metriken bieten Transparenz und Rückverfolgbarkeit des Qualitätszustands Ihrer Anwendungen. Entscheidungen auf der Grundlage dieser Daten zu treffen, ist der Weg, um mit Zuversicht zu liefern. Ohne die Verfolgung von Testergebnissen und Test-/Codeabdeckung ist es äußerst schwierig zu sagen, ob Ihr Produkt wirklich bereit für die Veröffentlichung ist. Als Teil Ihres Wechsels zur Automatisierung ist die Analyse der Ergebnisse aus allen verschiedenen Automatisierungspunkten der Schlüssel, um sich ein klares Bild davon zu machen, wo Sie stehen.

Grafik, die Selenic und SOAtest im CI/CD-Workflow zeigt, wie Testergebnisse in Analysen und Berichte eingespeist werden.

Parasoft DTP bietet eine zentralisierte Sicht auf Qualität und Sicherheit Ihrer Softwareentwicklungsprojekte. Es bietet rollenbasierte Qualitäts- und Sicherheitsanalysen über anpassbare Dashboards je nach Rollenanwendungsfällen, wie Teamleiter vs. Entwickler vs. Tester.

Jedes Parasoft DTP-Dashboard verfügt über eine Reihe konfigurierbarer Widgets zum Verfolgen von Dingen wie Qualitätsanalysen und Richtlinienprüfungen für die verschiedenen Datenpunkte, die über alle Testpraktiken hinweg gesammelt wurden, wie statische Analyse, Komponententests, Codeabdeckung sowie UI- und API-Tests (wie wir gerade besprochen haben). oben) und vieles mehr.

Screenshot der grafischen Berichterstattung und Analyse von Parasoft DTP.

Zusammenfassung

Parasoft Selenic und Parasoft SOAtest sind wegweisend, um die Hindernisse für die Testautomatisierung zu beseitigen. Beide Lösungen bieten ein Mittel, um Teams in ihrem Bestreben schnell zu beschleunigen Automatisieren Sie manuelle UI-Tests und Bootstrapping-Teams, um komplexe funktionale API-Tests schnell zu automatisieren.

Der Vorstoß aller Organisationen in Richtung CI/CD ist real und hat gute Gründe. Manuelle Tests sind langsam, kostspielig und fehleranfällig. Die Versprechen von DevOps können nur erfüllt werden, wenn Sie Tests im gesamten SDLC automatisieren können. Parasoft Selenic und Parasoft SOAtestZusammen mit Parasoft DTP bilden sie die Grundlage dafür, dass ein Unternehmen seine DevOps- und CI/CD-Ziele mit Transparenz und Rückverfolgbarkeit der Sicherheit und Qualität seiner Anwendungen erreichen kann. Liefern Sie hochwertige Software zuverlässig und schnell.

Modernisieren Sie Ihre Anwendungen: Wechseln Sie von manuellen Tests zu CI/CD