Seien Sie am 30. April dabei: Vorstellung von Parasoft C/C++test CT für kontinuierliche Tests und Compliance-Exzellenz | Registrierung

Validieren Sie Regierungsanwendungen mit AI-gesteuerten Funktionstests

Headshot von Jamie Motheral, Produktmarketingmanager bei Parasoft
24. September 2020
6 min lesen

Hatten Sie einige Herausforderungen bei der Validierung von Regierungsanträgen? Mit dem KI-gesteuerten Funktionstest-Tool von Parasoft verfügen Sie über eine staatliche Software-Testlösung, die die Effizienz Ihrer Testteams steigern kann.

Es ist einfach, sich den kommerziellen B2C-Bereich anzusehen und herauszufinden, warum Agile- und DevOps-Methoden die vorherrschenden Methoden für die schnelle Bereitstellung hochwertiger Services für Kunden übernommen haben. Dies ist bei staatlichen Anträgen nicht der Fall. Mit AI-gesteuerten Funktionstestlösungen können QS-Teams behördliche Anwendungen validieren und die Bereitstellung modernisieren.

Herausforderungen bei der Modernisierung automatisierter Tests

Im Regierungsbereich gibt es viele Hindernisse, die sich auf die Fähigkeit der Agenturen auswirken, von den Praktiken von Agile und DevOps auf die gleiche Weise zu profitieren, wie es der Luxus der Gewerbeflächen war.

Eine solche Herausforderung für die Modernisierungsfähigkeit von Regierungsbehörden besteht darin, eine effektive Strategie für automatisierte Funktionstests für Webbenutzeroberflächen zu erstellen, wenn die Entwicklung häufig an einen Drittanbieter ausgelagert wird. Dies ist ein Szenario, auf das ich in meiner Rolle als Account Manager bei Parasoft häufig stoße Regierung, Militär und Luft-und Raumfahrt Lösungen

In diesem Szenario wird die Regierungsstelle einen Vertrag mit einem externen Anbieter abschließen, um die neue Software oder neue Funktionalität zu erstellen und bereitzustellen. Der Drittanbieter ist dafür verantwortlich, dass der Code den Qualitätsanforderungen seiner Kunden entspricht. Es ist jedoch von entscheidender Bedeutung, dass die Regierungsstelle bei der Lieferung ihre eigenen Tests durchführt, um zu überprüfen, ob sich die Anwendung in der integrierten Umgebung wie erwartet verhält und die nicht funktionierenden Testanforderungen wie Benutzerfreundlichkeit, Zuverlässigkeit, Leistung und Sicherheit erfüllt.

Basierend auf dem Vertrag, der zwischen der staatlichen Stelle und dem Entwicklungsunternehmen eines Drittanbieters geschlossen wurde, kann die Fähigkeit des staatlichen QS-Teams, moderne automatisierte Teststrategien anzuwenden, die in der kommerziellen Industrie erfolgreich sind, beeinträchtigt sein.

Kontinuierliches Testen für DevOps: Eine Weiterentwicklung über die einfache Automatisierung für Regierungsbehörden hinaus

Warum Funktionstests entscheidend sind und mehr Agenturen dies tun sollten

Um eine effektive automatisierte Testpraxis zu erstellen, müssen Funktionstestteams sowohl auf der Web-Benutzeroberfläche als auch auf der API-Serviceebene testen. Für ein effektives Testen auf API-Ebene sind jedoch bestimmte Kenntnisse über Artefakte erforderlich, auf die ein QS-Team der Regierung möglicherweise keinen Zugriff hat, je nachdem, was im Vertrag als zu erbringendes Ergebnis angegeben wurde und was nicht.

Angenommen, der Vertrag schreibt nicht vor, dass für jeden Dienst API-Dienstdefinitionsdateien erstellt und verwaltet werden. Wenn das QS-Team zu Testzwecken an das QA-Team der Regierung geliefert wird, fällt es ihm schwer, Folgendes zu verstehen:

  • Was jeder Dienst tut.
  • Die anderen Dienste, mit denen es interagiert.
  • Wie Daten zwischen Anforderungs- / Antwortpaarungen übertragen werden.

Entwicklungsteams benötigen all diese Informationen, um eine effektive API-Teststrategie zu erstellen. Ohne die API-Service-Definitionsdateien benötigt das QA-Team Zugriff auf die Codebasis und das Entwicklerwissen, um den Code zu studieren und den Aufbau jeder API zu verstehen.

Für viele QS-Teams ist dies nicht möglich. Stattdessen verlassen sie sich stark auf Web-UI- oder Benutzerakzeptanztests, um zu überprüfen, ob die zu erbringenden Software-Schwellenwerte Schwellenwerte für Qualität, Zuverlässigkeit, Benutzerfreundlichkeit und Leistung überschreiten.

Testen der Web-Benutzeroberfläche hat seinen Platz. Es gibt jedoch einige große Herausforderungen beim Testen der Web-Benutzeroberfläche, um eine effektive Strategie für eine nachhaltige Testautomatisierung zu erreichen.

Die Fallstricke und Herausforderungen beim Testen der Web-Benutzeroberfläche

Um dieses Gespräch über die Herausforderungen beim Testen der Web-Benutzeroberfläche zu beginnen, schauen wir uns zunächst an, mit welchen Funktionen automatisierte Web-UI-Tests erstellt werden. Selenium ist mit über 64% der Branche, die heute dieses Open-Source-Framework verwendet, führend in diesem Bereich. Wenn Sie jedoch ein Selenium-Benutzer sind, wissen Sie, dass es nicht nur Regenbogen und Sonnenschein sind. Die Verwendung von Selen ist mit einigen Herausforderungen verbunden, die eine Skalierung für eine nachhaltige Automatisierung erschweren.

Selen ist aus mehreren Gründen die Lösung der Wahl, die sowohl im gewerblichen als auch im staatlichen Bereich gelten. Als Open-Source-Tool bietet Selen:

  • Ist für Benutzer kostenlos.
  • Unterstützt mehrere Sprachen, Betriebssysteme und Browsertypen.
  • Hat eine riesige Community-Support-Basis.
  • Gibt zuverlässige Updates frei, die es einfallsreich und kostengünstig machen.

Schauen wir uns die Nachteile an. Wie alle Web-UI-Tests sind Selen-Tests immer noch spröde und halten Änderungen nicht gut stand. Beispielsweise erstellen kleine QS-Teams der Regierung Selen-Tests gegen neue Funktionen mit Tausenden vorhandener Selen-Tests. Eine kleine Änderung in der Benutzeroberfläche kann große Auswirkungen haben.

Diese eine Änderung wirkt sich auf die Fähigkeit Ihres Teams aus, die neuen Funktionen gründlich zu testen. Plötzlich brechen alte Tests mit wenig Einsicht in das, was passiert ist. Es kann Tage dauern, bis betroffene Tests manuell aktualisiert werden, was sich auf den Testplan und die Abdeckung auswirkt.

Lösung der Herausforderungen der Selentests

Mit der Einführung des neuesten Tools von Parasoft SelenischDie Aufrechterhaltung von Selentests ist keine Herausforderung mehr. Selenic ist eine AI-gesteuerte, leichte Lösung, die direkt an Ihre Eclipse- oder IntelliJ-IDE angeschlossen wird, wo Sie Selenium-Tests erstellen würden.

Schnelles Erstellen von Tests mit begrenzten Ressourcen

Selenische Benutzer können den Parasoft Recorder aktivieren, um Benutzeraktionen zu erfassen, die im Google Chrome-Browser ausgeführt werden. Sie können die Aufzeichnung nutzen, um einen reinen Selentest zu erstellen, indem Sie die empfohlene bewährte Methode verwenden: Seitenobjektmodell.

Für ein QS-Team der Regierung, das Tests mit begrenzten Ressourcen schnell erstellen muss, bietet der Parasoft Recorder einen Vorsprung. Mit dem Tool können Sie auf einfache Weise das Selenium-Projekt und das Grundgerüst des Seitenobjektmodelltests erstellen. Beachten Sie, dass die mit dem Parasoft Recorder erstellten Tests wie alle anderen Selenium-Tests sind. Sie können sie ausführen, wann und wie Sie möchten und wo Sie möchten. Sie sind nicht an eine Anbieterplattform gebunden.

Zeit sparen mit AI-Drive-Empfehlungen

Die wahre Zeitersparnis wird durch die AI-gesteuerten Empfehlungen von Parasoft Selenic wirksam. Sie können Tests zur Laufzeit automatisch reparieren, die aufgrund einer Änderung der Web-Benutzeroberfläche, z. B. eines Locators oder einer Wartebedingung, unterbrochen wurden. Kleine QS-Gruppen mit zu viel zum Testen reduzieren die Zeit, die normalerweise für die Testwartung oder den Versuch, zu verstehen, ob ein fehlgeschlagener Test aufgrund einer Änderung der Benutzeroberfläche, eines echten Regressionsfehlers oder einfach eines schlechten Tests unterbrochen wird, normalerweise drastisch.

Testergebnisse anzeigen

Die KI in Parasoft Selenic analysiert die Tests zur Laufzeit. Alle Tests, die normalerweise aufgrund defekter Locators oder sich ändernder Wartebedingungen fehlschlagen würden, werden automatisch repariert, damit die Ausführung der vollständigen Testsuite während eines längeren Laufs nicht entgleist.

Wenn das QA-Team die Testergebnisse überprüft, kann ein vollständiger Bericht in der Tester-IDE überprüft werden. Es zeigt:

  • Tests, die kaputt gingen.
  • Wie Selenics KI-Motor sie heilte.

Tester haben zwei Möglichkeiten:

  • Genehmigen Sie, wie der Test behoben werden soll.
  • Wählen Sie anhand der Einstellungen einen anderen empfohlenen Locator aus und führen Sie die entsprechende Korrektur durch.

Einige QA-Teams bevorzugen beispielsweise CSS gegenüber XPath, um dynamische Webelemente und Elemente ohne ID oder Namen zu finden.

Steigern Sie die Abdeckung und Qualität mit API-Tests

QA-Teams können mit Parasoft Selenic auf einfache Weise ihre Selenium-basierten Web-UI-Testpraktiken in eine wirklich skalierbare und wartbare Teststrategie umwandeln. Aber was ist mit den APIs?

Ja, es stimmt, dass bei der Ausführung von Web-UI-Tests häufig APIs aufgerufen werden. Bei den Web-UI-Tests wird die API jedoch nicht getestet.

APIs sind das Rückgrat moderner Webanwendungen. Daten und Informationen werden von System zu System übertragen, was von Natur aus ein Risiko darstellt.

Damit eine Regierungsbehörde wirklich überprüfen kann, ob die funktionalen und nicht funktionalen Anforderungen ihrer Anwendungen erfüllt sind - was das Risiko einer Behörde verringert -, ist es entscheidend, dass sie auch eine nachhaltige und effektive Strategie für automatisierte API-Tests implementiert. Leider sind API-Tests nicht so einfach manuell zu erstellen wie Web-UI-Tests. Ressourcenbeschränkungen wirken sich häufig auf den Umfang aus, in dem eine Organisation ihre APIs testet.

API-Tests erfordern Code-Kenntnisse. Selbst wenn eine Agentur über die zum Testen verfügbaren Ressourcen verfügt, kann sie daran gehindert sein, moderne API-Testlösungen zu verwenden, die API-Service-Definitionsdateien für die Testerstellung nutzen, wenn diese Assets nicht zur Lieferung an die Agentur vom Drittanbieter für die Entwicklung vertraglich vereinbart wurden.

Verwenden von AI zum Lösen des API-Testproblems

Parasoft SOAtest Lösung für End-to-End und API-Testautomatisierung bietet sowohl einen Bottom-up- als auch einen Top-down-Ansatz für die Erstellung von API-Tests.

Bottom-Up-Ansatz

Für Teams, die ihre eigene Entwicklung durchführen und ihre APIs zu Beginn ihres SDLC testen möchten, bietet Parasoft SOAtest den Bottom-up-Ansatz für die Erstellung skriptloser API-Tests, entweder durch Anforderungs- / Antwort-Paarungen oder durch den Verbrauch von Service-Definitionsdateien wie Swagger, WSDL, oder WDLE.

Top-Down-Ansatz

Für browserbasierte REST-APIs bietet Parasoft einen Top-Down-Ansatz, bei dem mithilfe von KI manuelle Web-UI-Aktivitäten skriptlos in vollständige API-Testszenarien konvertiert werden.

Erstellen vollständiger API-Testszenarien

Ich habe bereits den Parasoft Recorder erwähnt. Parasoft Selenic-Benutzer zeichnen Aktionen auf der Web-Benutzeroberfläche auf und wandeln sie in nicht vom Anbieter gesperrte Selenium-Seitenobjektmodelltests um. Bei Verwendung mit dem Smart API Test Generator-Modul von Parasoft SOAtest kann dieser Rekorder das API-Verhalten erfassen, das zur Erstellung vollständiger API-Testszenarien verwendet wird.

Wenn Sie Selenic und SOAtest zusammen verwenden, kann ein QS-Tester eine User Story auf der Web-Benutzeroberfläche aufzeichnen. Aus dieser einzelnen Aufzeichnung kann der QS-Tester einen Selenium-Test und einen entsprechenden API-Szenariotest erstellen. Die Engine für künstliche Intelligenz im Smart API Test Generator analysiert die Verkehrsaufzeichnung. Es sucht nach Mustern und Beziehungen zwischen den aufgerufenen APIs. Außerdem wird untersucht, wie mit Daten umgegangen wird, und es wird ein vollständiges API-Testszenario erstellt, das der User Story folgt.

Zum Erstellen dieser Tests sind keine Skripte, keine Dienstdefinitionsdateien und keine Domänenkenntnisse erforderlich. Da die erstellten API-Testszenarien direkt mit den vom QS-Techniker durchgeführten Web-UI-Aktivitäten korrelieren, können Anfänger ein besseres Verständnis der Verwendung der APIs im System und der Beziehung der APIs zur UI erlangen.

Zusammenfassung

Kleine staatliche QA-Teams mit begrenzten Ressourcen und vielen Tests können Behördenanwendungen schnell validieren. Die Möglichkeit, selbstheilende Web-UI-Selenium-Tests zu erstellen und gleichzeitig API-Testszenarien zu automatisieren, ist leistungsstark. Mit einer effektiven automatisierten Funktionstestlösung können Teams gründlichere Tests mit minimalem manuellen Aufwand durchführen, was zu einer besseren Abdeckung und Qualität führt.

Möchten Sie mehr erfahren?

Nehmen Sie noch heute Kontakt mit dem Team von Parasoft Government Solutions auf! GovernmentSolutions@parasoft.com

Verwandte Post + Ressourcen