Parasoft C/C++test 2022.2 unterstützt MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

Beschleunigen Sie das Testen mit künstlicher Intelligenz

Von Joy Ruf

18. Februar 2021

5  min lesen

Bei künstlicher Intelligenz geht es nicht nur darum, harte Algorithmen in Softwarelösungen für Authentifizierung und Gesichtserkennung zu lösen. Es spielt auch eine Schlüsselrolle bei der Beschleunigung des Softwaretests. So nutzen Parasoft-Testtools KI und ML, um das Testen zu erleichtern.

Künstliche Intelligenz ist weit gekommen. Vielleicht hast du das neueste Video von . gesehen choreografierte Tanzroboter? Es ist erstaunlich, wie wendig und gelenkig diese Roboter geworden sind, um diese lustigen Bewegungen mit solcher Genauigkeit und Effizienz auszuführen. Es ist eine enorme Leistung, die einfache Aufgaben mit eingeschränkter Mobilität übertrifft.

Aber in dieser orchestrierten Routine in einer sehr kontrollierten Umgebung tun sie genau das wofür sie programmiert wurden. Sie zeigen nicht wirklich ihre eigene Form von Intelligenz oder Entscheidungsfindung, um zu bestimmen, welche Bewegungen mit welchem ​​Vers in der Musik ausgeführt werden sollen.

Sie verfügen über intelligente Steuerungssysteme, die Gleichgewicht und Orientierung bieten, aber es ist nicht dasselbe wie unabhängig zu entscheiden, wann ein High Kick oder Jump ausgeführt werden soll, basierend auf dem, was in der Musik passiert.

Einige dieser Roboter verfügen außerdem über zusätzliche Funktionen, mit denen sie bestimmte Aufgaben ausführen, bestimmte Entscheidungen treffen und auf ihre Umgebung reagieren können. Künstliche Intelligenz (KI) fügt die Dimension hinzu, automatisch auf externe Eingaben und Echtzeitänderungen zu reagieren. Dies ermöglicht es den Robotern, Änderungen in der Umgebung zu bewerten, sobald sie auftreten, und eine geeignete Reaktion zu generieren. Während das Robotikfeld ein Paradebeispiel für die Verwendung von KI ist, gibt es auch viele andere Anwendungen.

Künstliche Intelligenz für Softwaretests in die Tat umsetzen

Ein Schlüsselbereich, in dem AI erhebliche Vorteile gezeigt hat, ist das automatisierte Testen von Software. Jeder erstellte Code muss getestet werden, um sicherzustellen, dass er den Anforderungen entspricht und die erwarteten Ergebnisse liefert.

Das Durchführen manueller Tests zur Erreichung dieser Ziele ist mühsam und zeitaufwändig. Die Automatisierung Ihrer Anwendungstests beschleunigt die Überprüfung und Validierung des Codes.

Schnelleres Testen und Beheben von Fehlern mit künstlicher Intelligenz

Das Hinzufügen von KI zum Mix kann den Prozess weiter verbessern, um das Auffinden und Beheben von Fehlern zu beschleunigen und zu vereinfachen, selbst wenn die Umgebung nicht vorhersehbar ist. Mit zunehmender Komplexität der Software muss die Automatisierung auch skaliert werden, um mehr Funktionen zum Erkennen und Beheben von Problemen zu einem früheren Zeitpunkt im Workflow bereitzustellen.

Verbessern Sie die DevOps-Produktivität mit AI

Es ist klar, dass eine Testsoftware, die Entscheidungen auf der Grundlage von Codeänderungen oder Tests treffen kann, einem CI / CD-Workflow zugute kommen und die Produktivität der DevOps-Teams verbessern kann. Daher ist es sinnvoll, dass die KI ihren Weg in mehrere Tools gefunden hat.

Kombinieren Sie KI mit maschinellem Lernen

In seinem Blog Was ist künstliche Intelligenz beim Testen von Software?Igor Kirilenko, Vice President of Development bei Parasoft, erklärt, dass diese KI-Funktionen beim maschinellen Lernen „den aktuellen Status des Teststatus, die letzten Codeänderungen, die Codeabdeckung und andere Metriken überprüfen, entscheiden können, welche Tests ausgeführt werden sollen, und diese dann ausführen können“ (ML) "kann die KI erweitern, indem Algorithmen angewendet werden, die es dem Tool ermöglichen, sich automatisch zu verbessern, indem die zahlreichen Datenmengen gesammelt werden, die durch Tests erzeugt werden." Das deckt viel Boden ab!

Dies hat dazu geführt, dass Entscheidungsfunktionen, die beobachtete Daten verwenden, in die Softwaretest-Tools integriert werden, einschließlich Argumentation und Lernen in Echtzeit. Mit der Unterstützung von AI und ML können Tests schneller und einfacher nach links verschoben werden, wodurch eine frühere Fehlerbehebung ermöglicht und das Risiko für Lieferungen verringert wird. Durch das Sammeln und Einbeziehen von Testdaten kann maschinelles Lernen bestimmte Softwaremetriken, die den Status der zu testenden Anwendung anzeigen, effektiv aktualisieren und interpretieren.

Parasoft hat im Laufe der Jahre mehrere Innovationen für AI und ML in mehrere automatisierte Testlösungen integriert, um eine intelligentere Testerstellung und -ausführung auf mehreren Ebenen der Testpyramide zu ermöglichen. Wir haben erhebliche Anstrengungen unternommen, um unseren Kunden das Testen zu erleichtern.

Softwaretests mit künstlicher Intelligenz

Beginnend mit Unit-Tests und statischen Analysen

Im Jahr 2017 führte Parasoft AI-Testfunktionen in ein Parasoft Jtest Verbesserung der Produktivität für Java-Entwickler und -Tester, die mit statischen Analysen, Komponententests, Codeabdeckung und Rückverfolgbarkeit usw. arbeiten. Dieses Tool enthält die Unit Test Assistent für JUnit, um eine höhere Codeabdeckung in kürzerer Zeit zu erreichen. Ein wichtiges Merkmal ist die Möglichkeit, die Verwendung von Stubs und Mocks vorzuschlagen, um die Codeisolation für Tests sicherzustellen, und diese Mocks und Stubs dann automatisch zu erstellen, um die Testerstellung zu vereinfachen.

Eine weitere AI-fähige Funktion von Jtest ist die Fähigkeit, Code ohne vorhandene Testabdeckung zu erkennen und zu bestimmen, welche Parameter, Stubs und Mocks zum automatischen Erstellen neuer Tests zur Abdeckung dieser Codesegmente erforderlich sind. Dies erleichtert eine erhöhte Codeabdeckung, indem Lücken für die Anwendung identifiziert werden.

KI verbessert auch die Fähigkeit dazu profitieren von statischer Analyse durch Klassifizierung der Ergebnisse anhand des beobachteten Verhaltens und Priorisierung dieser Ergebnisse für weitere Untersuchungen. Die KI von Parasoft identifiziert Hotspots im Code, während maschinelles Lernen aufdeckt, was für die Entwickler wichtig ist, indem die Interaktion des Teams mit den Verstößen und der Codebasis beobachtet wird. Dies reduziert den manuellen Aufwand erheblich, indem Entwickler mit den relevantesten Warnungen für Bereiche mit potenziell gefährdeten Sicherheitslücken oder Code von geringer Qualität benachrichtigt werden.

Die Pyramide nach oben auf API- und UI-Ebene verschieben

AI und ML wurden ebenfalls zu unserer codelosen API-Testlösung hinzugefügt. Parasoft SOAtest, im Jahr 2018, um es Testern zu ermöglichen, aussagekräftige, wiederverwendbare und wartbare API-Tests aus der UI-Nutzung einfach und ohne Skripte zu generieren. Diese Funktion hilft auch weniger technischen Teams, ihre Teststrategie über UI-Tests hinaus zu erweitern, die gesamte Testabdeckung zu verbessern und ihre Lernkurve zu verkürzen.

Zuletzt im Jahr 2019, Parasoft Selenic wurde eingeführt, um die Qualität und Wartung von Selenium-Web-UI-Tests zu verbessern. Die KI in Selenic identifiziert Probleme mit Locators, Wartezeiten und anderen Faktoren während der Testlaufzeit und behebt die fehlerhaften Tests automatisch selbst, damit die Ausführung abgeschlossen werden kann. Anschließend erhalten Sie eine Liste mit empfohlenen Korrekturen, die Sie über die IDE-Integrationen von Selenic mit Eclipse und IntelliJ problemlos direkt in den Testcode integrieren können. Dies ist eine enorme Zeitersparnis für die Aktualisierung von Web-UI-Testabläufen.

Die Erstellung und Wartung der Testautomatisierung ist jedoch nur der erste Schritt. Der Schlüssel zum Freischalten kontinuierlicher Tests liegt in einer verfügbaren, stabilen und kontrollierbaren Testumgebung. Die Service-Virtualisierung ermöglicht es, eine Vielzahl von Einschränkungen in Ihren Testumgebungen zu simulieren, sei es aufgrund von Nichtverfügbarkeit oder unkontrollierbaren Abhängigkeiten. Parasoft Virtualisieren nutzt AI, um Datenmodelle aus den Service-Interaktionen zu entwickeln, und wendet dann ML an, wobei diese Modelle verwendet werden, um die Datenszenarien in Echtzeit zu lernen, da verschiedene Nutzungsmuster innerhalb der Testumgebung überwacht werden.

Get Smart: Verwenden Sie Simulation, um API-Tests zu beschleunigen

Optimieren von Softwaretests mit AI for Change

Aufgrund der Komplexität von APIs und häufigen Änderungen an Benutzeroberflächen müssen von Änderungen betroffene Testsuiten regelmäßig identifiziert, überprüft und aktualisiert werden. Diese Arbeit manuell auszuführen ist sehr mühsam und unterliegt menschlichen Fehlern.

Um Änderungen an der Benutzeroberfläche zu vermeiden, enthält Parasoft Selenic KI-Heuristiken, die Testfehler diagnostizieren und Empfehlungen zur Behebung der Tests generieren. API-Änderungen schnell mit dem Change Advisor von Parasoft SOAtest abgleichen, der API-Schnittstellen proaktiv überprüft, nach Änderungen in den Diensten sucht und dann ermittelt, wie die Änderungen an den Test-Assets betroffen sind, und Benutzern hilft, diese einfach zu aktualisieren.

Um Zeit beim erneuten Testen von Code zu sparen, der sich geändert hat, verfügen drei der oben genannten Parasoft-Produkte (Jtest, SOAtest und Selenic) über eine AI-gestützte Funktion namens Test Impact Analysis Dadurch werden die entsprechenden Tests in Ihrer Suite mit der Codebasis für die Ausführung intelligenter Tests korreliert.

Wenn der Code geändert wird, können Parasoft-Tools die Änderungen zwischen Software-Builds identifizieren und zuordnen, um anzugeben, welche Tests ausgeführt werden müssen, um diese Änderungen zu überprüfen.

Jetzt können Sie die richtigen Tests zur richtigen Zeit ausführen und die Tests schneller abschließen. Wer mag es nicht, in kürzerer Zeit gründlicher zu testen?

Nutzung von AI & ML für den Gewinn

Angesichts der langwierigen und sich wiederholenden Aufgaben, die weiterhin das Testen von Software dominieren, gibt es viele Möglichkeiten, künstliche Intelligenz und maschinelles Lernen auf die Automatisierung von Softwaretests anzuwenden, um Benutzern zu helfen, sich schneller anzupassen und auf moderne Herausforderungen bei der Softwareentwicklung zu reagieren.

Als bahnbrechender Innovator auf diesem Gebiet bietet Parasoft Softwaretest-Tools weiterhin Effizienz und Intelligenz, indem es diese fortschrittlichen Methoden nutzt. Parasoft-Tools verwenden AI und ML, um Ihre Anwendungsentwickler und Testteams zu unterstützen und zu erweitern, indem Sie:

  • Vereinfachung der Erstellung und Pflege aussagekräftiger Tests.
  • Reduzierung von Buildfehlern aufgrund instabiler Tests oder unkontrollierbarer Testumgebungen.
  • Ermittlung der Hauptursachen für Testfehler und wichtige Sicherheits- und Qualitätsprobleme.
  • Optimierung der Testausführung zur Optimierung des Änderungsmanagements.
  • Und vieles mehr!
Möchten Sie mehr über das Hinzufügen von AI-gestützten automatisierten Tests zu Ihrem Softwareentwicklungs-Workflow erfahren?

 

Von Joy Ruf

Joy Ruff ist Product Marketing Manager und konzentriert sich auf Produktpositionierung und Marketinginhalte für die Funktionstest-Tools von Parasoft. Mit über 25 Jahren Erfahrung hat sie technische Marketing- und Vertriebsfunktionen für verschiedene Hardware- und Softwarelösungen für Unternehmen bereitgestellt.

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