Erfahren Sie, wie Sie statische Analysen, Komponententests und andere C- und C++-Softwaretestmethoden einfach in Ihre CI/CD-Pipeline integrieren können. Für Demo registrieren >>

So wechseln Sie schnell von manuellen zu automatisierten Tests

Von Larry Johnsen

26. April 2022

5  min lesen

Jede Software-Organisation hat ein Endspiel im Sinn. Es enthält:

Die Gründe? Um Kosten, Nacharbeiten und Lieferzeiten zu reduzieren.

Es geht auch darum, Software mit Zuversicht herauszubringen, die das Kundenerlebnis mit jedem Update verbessert. Das ist zumindest der Traum, aber der Weg dorthin wird als harter Kampf angesehen.

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

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.

Herausforderungen und Best Practices beim API-Testen

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.

Verschmelzen Sie KI in die CI/CD-Pipeline, um Selenium-Tests zu optimieren

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 wiedergegeben, bearbeitet, geklont und wiederverwendet werden, um eine umfassende API-Testsuite zu bilden. Parasoft SOAtest erleichtert die Einführung von API-Tests, verwenden und pflegen Sie mit Automatisierung und KI-gestützter Entscheidung seine Verwendbarkeit für die nichtfunktionale Anforderungsvalidierung. Dies erhöht die Gesamtanwendungsqualität.

Sehen Sie Parasoft SOAtest in Aktion!

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 einen guten Grund. Manuelles Testen ist langsam, kostspielig und fehleranfällig. Die Versprechen von DevOps können nur erfüllt werden, wenn Sie das Testen im gesamten SDLC automatisieren können. Parasoft Selenic und Parasoft SOAtest bilden zusammen mit Parasoft DTP die Grundlage für ein Unternehmen, um seine Ziele von DevOps und CI/CD mit Transparenz und Rückverfolgbarkeit der Sicherheit und Qualität seiner Anwendungen zu erreichen. Liefern Sie hochwertige Software zuverlässig und schnell.

Machen Sie den Sprung: Wechseln Sie ganz einfach von manuellen Anwendungstests zu CI/CD

Von Larry Johnsen

Larry ist VP of Government and Defense bei Parasoft und bringt mehr als 30 Jahre Erfahrung in der Softwareentwicklungs- und -testbranche mit. Er arbeitet bei zahlreichen Programmen, darunter Joint Strike Fighter (JSF), DDG-1000 der Marine und vielen anderen, eng mit DoD und großen Verteidigungsunternehmen zusammen. Larry stellt sicher, dass US-Regierungsbehörden und Auftragnehmer in der Lage sind, extrem sichere Softwaresysteme zu entwickeln und zu liefern.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.