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

Fügen Sie Ihrer KI maschinelles Lernen hinzu, um API-Tests zu vereinfachen

Von Chris Colosimo

2. Oktober 2018

5  min lesen

Durch das Hinzufügen von maschinellem Lernen zu unserem AI-fähigen Tool zur Erstellung von API-Tests haben wir den Benutzern geholfen, einen erheblichen Fortschritt in Bezug auf Produktivität und Effizienz zu erzielen - mit einigen zusätzlichen Nebeneffekten!

Wir haben freigelassen Parasoft SOAtest 9.10.6 Heute ist es mir eine große Freude zu teilen, wie wir weiter innoviert haben die Branche zu autonomen Tests führenDies gilt insbesondere für eine neue Funktion zum maschinellen Lernen, mit der Sie das Gehirn von Parasoft SOAtest trainieren können, indem Sie der zugrunde liegenden KI in SOAtest Regeln hinzufügen Intelligenter API-Testgenerator, um SOAtest dabei zu helfen, bessere API-Testszenarien für Sie zu erstellen.

Der Wert des Hinzufügens von maschinellem Lernen zur automatischen Erstellung von API-Tests

API-Tester verbringen viel Zeit damit, zu verstehen, wie APIs funktionieren, um diese Funktionalität in ihre Testfälle zu integrieren, und viele dieser Informationen und Kenntnisse werden niemals bei diesem einen Tester verbleiben. Um einen großen Fortschritt in Bezug auf Produktivität und Effizienz zu erzielen, können Sie stattdessen alle diese spezifischen Informationen automatisch mit dem Smart API Test Generator von SOAtest erfassen und dann schrittweise trainieren, um mit Ihrer Software zu wachsen. Wie können Sie sonst von der neuen maschinellen Lernfunktion von SOAtest profitieren?

  • Ausbildung: Anstatt viel Zeit damit zu verbringen, neue API-Tester darin zu schulen, wie bestimmte APIs funktionieren und wie sie zu sinnvollen Testszenarien kombiniert werden können, können sie stattdessen SOAtest verwenden. Da SOAtest die Beziehungen zwischen APIs bereits versteht, können neue API-Tester beginnen Testen von APIs die sofort bekannt sind und sofort einen Mehrwert bieten, anstatt Zeit damit zu verbringen, zu lernen, wie man alles zusammenfügt.
  • Wissenserfassung: Durch die Nutzung des AI-fähigen API-Testerstellungstools von SOAtest und dessen schrittweise Schulung können Benutzer etwas einmal definieren, es mit einer intelligenten Testvorlage verknüpfen und diese Vorlage für eine große Anzahl von Testern freigeben, was angesichts des engen Zeitrahmens besonders für die agile Entwicklung von Nutzen ist für die Kommunikation, wie bestimmte APIs getestet werden sollen, an den Rest des Teams.
  • Konsistenz: Jedes Mal, wenn Sie einen API-Test erstellen, müssen Sie sich überlegen, was Sie zur Validierung der Anforderung erreichen möchten. Wenn alle diese Verbindungen und Ihre Authentifizierungs- und Validierungsinformationen für jede API vorkonfiguriert sind, sind sich alle einig, wie sie getestet werden sollen, und es werden jedes Mal konsistente API-Tests für jede Schnittstelle auf dieselbe Weise erstellt. Dies eignet sich auch hervorragend zum Debuggen, da, wenn alle APIs einem bestimmten Muster folgen, leicht zu verstehen ist, wo Probleme auftreten können, da es gemeinsame Regeln gibt.
  • Reichweite: Anstatt zu versuchen, das gesamte API-Inventar zu verwalten und zu verstehen, können Benutzer von der intelligenten Ressourcenbibliothek von SOAtest profitieren, mit der Benutzer schnell erkennen können, welche APIs getestet wurden, und zusätzliche Regeln für APIs hinzufügen können, die noch nicht getestet wurden Werden Sie als Teil eines Szenarios aufgedeckt, ist der resultierende Test so aussagekräftig wie möglich.
Was ist künstliche Intelligenz beim Testen von Software?

Wie funktioniert die Erstellung von API-Tests mit maschinellem Lernen?

SOAtest beginnt mit Untersuchen Sie Ihren API-Verkehr und extrahieren Sie aussagekräftige API-Testszenarien. Um den dynamischen Datenaustausch zu vereinfachen, der zum Erstellen dieser Testszenarien erforderlich ist, ergreift die zugrunde liegende KI von SOAtest Maßnahmen, z. B. das Aufnehmen von Datenwerten, die durch API-Aufrufe wiederverwendet und miteinander verbunden werden, oder das Extrahieren relevanter Antwortinformationen und das Erstellen automatischer Regressionstools. Alle diese Aktionen können als Regeln betrachtet werden.

Regeln führen AI aus

Diese Regeln gelten nicht nur für grundlegende Testschritte. Sie weisen auf Beziehungen hin. Wenn ich beispielsweise einen Artikel mit einem API-Aufruf in meinen Warenkorb lege, ist die Warenkorb-ID wichtig nach Ich rufe anschließend an, um mir die Artikel in meinem Warenkorb anzusehen. SOAtest versteht viele dieser Beziehungen automatisch. Menschen sind jedoch schlauer als Roboter (Sorry Marvin), sodass sie die Regeln erweitern können, indem sie einzelnen API-Ressourcen zusätzlichen Kontext hinzufügen.

Um unser Beispiel vorher zu erweitern, ist es zwar wichtig, die Warenkorb-ID zu erhalten, aber ich möchte möglicherweise auch eine Zusicherung für die Anzahl der Artikel das habe ich in meinen Warenkorb gelegt. Wenn SOAtest das nicht bereits aufgegriffen hätte, könnte ein Mensch hereinkommen und die neue Regel hinzufügen, und sobald wir die Verbindung zum definiert haben Menge im Warenkorb Als Behauptung füllt SOAtest jedes Mal, wenn diese API in Zukunft verwendet wird, automatisch alle Tests, die diese bestimmte API berührt haben, mit den richtigen Details, um diese Anforderung zu erfüllen.

Die KI hilft Ihnen bei der Durchführung dieser sich wiederholenden Aktionen, indem sie ein eigenes Bewusstsein dafür aufbaut, wie Ihre APIs funktionieren sollen und wie die API anschließend getestet werden soll. Dies bedeutet, dass der Computer durch einfache Verwendung alle erforderlichen Aktionen lernt, die für bestimmte APIs ausgeführt werden müssen. Infolgedessen können die Kosten für das Testen dieser APIs im Laufe der Zeit sinken.

Warum schlägst du dich selbst?

Es gibt keinen Grund, warum wir jemals dieselbe Aktion mehrmals ausführen sollten, wenn wir einen Computer trainieren können, um dies für uns zu tun. Tester tun dies jedoch jeden Tag mit API-Tests, indem sie übermäßig viel Zeit damit verbringen, die Funktionsweise von APIs zu verstehen und dann Tests zu erstellen, die die richtigen Teile validieren, Datenverbindungen, Zusicherungen, Authentifizierung usw. verstehen und erstellen.

Sie fragen sich vielleicht: „Das klingt ziemlich cool, aber muss ich jetzt viel Zeit damit verbringen, eine Maschine darin zu schulen, wie meine APIs getestet werden? Fügt dies nicht einfach mehr zu meinem Workflow hinzu? “ Zum Glück lautet die Antwort nein. Erstens haben Sie die eingebaute KI, die damit beginnt, viele dieser Verbindungen für Sie herzustellen. Zweitens müssen Sie es nicht manuell trainieren. (Es ist schließlich Parasoft, und wir machen die Dinge gerne automatisch.) Stattdessen haben wir in SOAtest einen praktischen kleinen Konnektor erstellt, damit Sie die Arbeit, die Sie bereits erledigen, nutzen können. Mit einem einzigen Klick kann SOAtest Ihren Testfall in eine Regel umwandeln und direkt in das Gehirn einfügen. Sie können dies auf jeder Ebene tun, entweder in einem einzelnen Testfall oder in der gesamten Testdatei.

SOAtest lernt also aus der Arbeit, die Sie zum Erstellen von Tests ausführen, und wendet dieses Lernen automatisch an, um Tests zu erstellen, die dasselbe tun, wenn Sie in zukünftigen Testszenarien mit diesen APIs arbeiten. Wenn Sie die KI unterwegs trainieren, können Sie schrittweise beim maschinellen Lernen vorgehen, und jeder kann dazu beitragen. Und am Ende des Tages verfügen Sie über eine umfangreiche und detaillierte Sammlung von Ressourcen, die genau beschreiben, was Sie bei jedem Testen Ihrer APIs tun müssen.

Weitere neue Funktionen in SOAtest 9.10.6

Maschinelles Lernen war nicht das einzige, was wir zu dieser Version hinzugefügt haben. Benutzer können sich auch auf die folgenden Updates für SOAtests freuen Intelligenter API-Testgenerator.

Automatische Zusicherungen

Wir haben einen chirurgischeren Ansatz zur Validierung Ihrer Nutzlasten hinzugefügt, indem wir gezielte Aussagen hinzugefügt haben. Sie können sich ein Diff-Tool als Momentaufnahme der Antwortnutzlast vorstellen, die Sie sofort darüber informiert, wenn sich Daten ändern. SOAtest vereinfacht jetzt die Verwendung, indem dynamische Werte wie Zeitstempel sowie dynamische Daten, die in früheren Aufrufen angezeigt wurden, parametrisiert werden. Wenn Sie jedoch nur ein bestimmtes Element validieren möchten, kommen hier die neuen, intelligenten, automatischen Zusicherungen ins Spiel. Ausgestattet mit der Möglichkeit, die Muster und Beziehungen in den Anforderungen und Antworten zu analysieren, prüft SOAtest, ob wichtige Elementwerte von Interesse sind Wenn dies der Fall ist, wird automatisch eine gezielte Zusicherung für dieses bestimmte Element erstellt und möglicherweise ein Wert parametrisiert. Sie können also einen strategischeren Ansatz für die Validierung wählen, indem Sie den Rest des Rauschens ignorieren.

Einschluss und Ausschluss von Domains

Da in eine Benutzeroberfläche so viele Funktionen integriert sind, kann eine einfache Aktion eine Vielzahl von API-Aufrufen auslösen, die außerhalb des erforderlichen Tests liegen oder einfach nur laut sind. Mit dieser Version können Sie jetzt Anrufe von bestimmten Domänen ein- und ausschließen, sodass Sie den Umfang der Erfassung einschränken können, indem Sie die Domänen identifizieren, die für das jeweilige Szenario relevant sind. Darüber hinaus können Sie den umgekehrten Ansatz wählen, indem Sie bestimmte Domänen auf die schwarze Liste setzen, die Sie in Ihren API-Tests einfach nicht anzeigen möchten.

Ihr Tool sollte für Sie funktionieren

Bei unseren Innovationen in den letzten Monaten ging es darum, die Technologien der Zukunft zu nutzen, um kritische Testpraktiken zu vereinfachen. Ich hoffe, dass Sie mit diesen neuen Ergänzungen unserer Technologie Ihre API-Testabdeckung verbessern können, mit einer erneuten Begeisterung für die Erstellung aussagekräftiger API-Testsuiten. Es ist 2018und Ihr Werkzeug sollte für Sie funktionieren. Lass es mit dem Nitty Gritty umgehen.

Beschleunigen Sie die Erstellung von API-Tests mit künstlicher Intelligenz mit Parasoft SOAtest.
Planen Sie jetzt eine Demo

Von Chris Colosimo

Als Produktmanager bei Parasoft strategisiert Chris die Produktentwicklung der Funktionstestlösungen von Parasoft. Seine Expertise in der SDLC-Beschleunigung durch Automatisierung hat ihn zu wichtigen Unternehmensbereitstellungen wie Capital One und CareFirst geführt.

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