Alle Augen waren in den letzten Monaten auf OpenAI und seine Idee chatgpt gerichtet. Die Fähigkeit von ChatGPT, komplexe Anweisungen zu verstehen und darauf zu reagieren und detaillierte Antworten auf Benutzeraufforderungen zu liefern, hat zu einem geführt explosionsartiger Anstieg seiner Popularität Mit der Öffentlichkeit. Wenn Sie online nach „ChatGPT-Tipps“ suchen, finden Sie Inhalte, die Ihnen helfen, das Tool zu verwenden, um Lebensläufe an Stellenausschreibungen anzupassen, Menüpläne mit kleinem Budget zu erstellen und sogar ein textbasiertes Abenteuerspiel zu erstellen und zu spielen. Für Geschäftsleute gibt es Videos mit Hunderttausenden Aufrufen, die zeigen, wie man ChatGPT für Marketingzwecke, zum Schreiben und Optimieren von Website-Inhalten und mehr nutzt.
Bei effektiver Nutzung kann ChatGPT Menschen dabei helfen, kreative Hürden zu überwinden, neue Methoden zur Ausführung von Aufgaben zu erlernen, Informationen besser zu verstehen und produktiver zu werden. Dies erstreckt sich auch auf den Bereich der Softwareentwicklung und des Testens. Softwareentwicklungsteams stoßen oft auf Schulden bei der Testautomatisierung, wobei ein Mangel an Testfallautomatisierung dazu führen kann, dass die Dynamik des Teams zurückbleibt. Wenn sie mit den leistungsstarken Tools von ChatGPT ausgestattet sind, sind QA-Ingenieure (Qualitätssicherung) und Softwaretester nicht nur in der Lage, Schulden bei der Testautomatisierung zu überwinden, sondern sie sind auch deutlich produktiver und in der Lage, gleichbleibend hochwertige Produkte schneller auf den Markt zu bringen.
„ChatGPT passt sehr gut in ein testgetriebenes Entwicklungsregime“, sagt Paul Gerrard, Gründer und Gastgeber des Technology Leadership Forums und renommierter Vordenker im Bereich Softwaretests. „Man kann einen kompletten Testprozess zusammenstellen. Tatsächlich kann man einen kompletten Softwareentwicklungsprozess zusammenstellen.“
In diesem Artikel werden wir einige Möglichkeiten untersuchen, wie Softwaretester ChatGPT-4 nutzen können, und Tipps dazu geben Maximieren Sie Ihre Nutzung von ChatGPT zum Testen von Anwendungen.
Testfallerstellung
ChatGPT ist überraschend wertvoll für Softwaretests und -entwicklung. Es kann Testfälle generieren in verschiedenen Programmiersprachen, erstellen detaillierte Testpläne und liefern Beschreibungen für Anwendungsfunktionen. Es kann auch Szenarien und entsprechende Testfälle entwickeln und so die Testabdeckung auf eine Weise erweitern, die die Tester möglicherweise nicht in Betracht gezogen haben. „Es wird mehr Testfälle generieren, als Sie sich wahrscheinlich selbst vorstellen können“, sagt Gerrard.
Aufgrund dieser Fähigkeiten Jonathan WrightChief Technology Evangelist bei Keysight Technologies, sieht einen Wandel mit der zunehmenden Verfügbarkeit von KI (Künstliche Intelligenz) Tools wie ChatGPT, die vom traditionellen manuellen Testen und Befolgen von Skripten zu eher explorativen Tests übergehen, bei denen Tester Missionen verfolgen. Es kann „dem durchschnittlichen Tester helfen, über Superkräfte zu verfügen, um Automatisierung schreiben zu können, wenn er sich nicht fließend mit Automatisierung auskennt“, erklärt er.
ChatGPT speichert auch Gespräche. Dies bedeutet, dass Tester über ein Protokoll jedes von ihnen erstellten Testfalls verfügen, was für Regressionstests von unschätzbarem Wert ist. „Sie können die Testspezifikation erstellen, indem Sie sagen: ‚Erstellen Sie Tests, die die Codeänderungen abdecken, die wir gerade vorgenommen haben‘“, erklärt Gerrard. Dies entlastet die testgetriebene Entwicklung für Entwickler, die den Prozess oft als zeitintensiv und langwierig empfinden.
Testdatengenerierung
Es gibt mehrere Möglichkeiten, wie Softwareentwickler ChatGPT zum Generieren von Testdaten nutzen können. Es kann bei der Szenarioerstellung und der Automatisierung von Testskripten helfen und Vorschläge und Ratschläge geben, um sicherzustellen, dass Testdaten den Standards entsprechen. ChatGPT bietet unschätzbare Tools und Anleitungen für QS-Ingenieure und Entwickler.
ChatGPT kann synthetische Datensätze generieren, die reale Daten widerspiegeln, um sicherzustellen, dass Tester eine Vielzahl von Szenarien testen können, ohne vertrauliche oder proprietäre Informationen preiszugeben. Dies ist von unschätzbarem Wert für das Testen von Anwendungen, die vertrauliche Informationen verarbeiten, bei denen Datenschutzbedenken im Vordergrund stehen, wie z elektronische Krankenakten für Gesundheitseinrichtungen. Es kann zufällige Daten generieren, die den vom Tester angegebenen Formaten und Einschränkungen entsprechen, was besonders für Stresstests und Leistungsanalysen nützlich ist.
Wenn Tester auf Fehler oder Herausforderungen stoßen, kann ChatGPT Tipps zur Fehlerbehebung geben und ihnen helfen, Probleme zu finden und zu lösen. Organisationen verfügen neben ihren Testfällen über einzigartige Anforderungen und Spezifikationen, Dokumentation und viele historische Fehler. Von dort aus haben Organisationen expandiert riesige Informationsdatenbanken. ChatGPT kann ihnen dabei helfen, ihre Metadaten auf besser nutzbare Formate zu verdichten, die Sie dann anhand spezifischer Anforderungen trainieren können, um Lücken, Mängel oder Unklarheiten zu erkennen.
„Hier sehe ich die natürliche Entwicklung“, sagt Jonathan Wright. „Ich kann mir vorstellen, dass Menschen diese Art von Modellen in ihrer Organisation einsetzen, und ich kann mir vorstellen, dass sie ihre Organisation dazulernen. Auf diese Weise werden die Einsatzmöglichkeiten von ChatGPT von der Personalabteilung bis zur Infrastruktur … es wird viel mehr verstehen und zu viel mehr fähig sein.“
Codegenerierung
Wenn Sie kleine, unkomplizierte Softwareprogramme schreiben möchten, können Entwickler in ChatGPT direkt Eingabeaufforderungen festlegen, um das gewünschte Ergebnis zu erzielen. Noch beeindruckender ist, dass Softwareentwickler Scans rudimentärer Anwendungsskizzen von Whiteboards oder sogar der Rückseite einer Serviette hochladen können, um Code zu generieren. Auf der Social-Media-App Reddit, ein Benutzer beschrieb die Fähigkeiten von ChatGPT in diesem Bereich als „einfach ausgedrückt magisch“. Es gibt keine anderen Worte, um es zu beschreiben.“
Jonathan Wright erstellte mit ChatGPT 3.5 ein Gherkin-Skript zur Ermittlung von Aktienkursen und wandelte das Skript dann in ein Modell um. Ausgehend von diesem Modell bat er das Programm, den Code zu generieren, um die Anwendung zu schreiben, die die Aktienkurse des letzten Jahres ermitteln und visualisieren sollte. „Es hat nicht nur die eigentliche App selbst erstellt“, sagt er, „sondern dann auch alle Selenium-Skripte für jede einzelne Seite erstellt, diese Skripte ausgeführt und validiert.“
Code ist oft sehr domänenspezifisch, daher erforderte das Testen in der Vergangenheit nicht nur, dass man ein Experte auf dem Gebiet war, sondern auch über die Testdisziplin, um die Abdeckung sicherzustellen.
ChatGPT kann bei der Erstellung von Beispielen für automatisierte Testskripte helfen, die für Bereitstellungspipelines erforderlich sind, und dabei helfen, einen hohen Standard an Codequalität für eine beliebige Anzahl von Programmiersprachen und Frameworks aufrechtzuerhalten. Es ist auch von unschätzbarem Wert bei der Erläuterung von Programmierkonzepten, Entwurfsmustern und Architekturen, die Entwicklern dabei helfen können, darüber nachzudenken, wie sie Grenzfälle für domänenspezifische Anwendungen, mit denen sie nicht allgemein vertraut sind, testen und sogar identifizieren können. Darüber hinaus kann es Feedback zur Codestruktur und zum Stil geben und Bereiche mit Verbesserungsbedarf benennen.
ChatGPT-Tipps für Softwaretester
Wenn Sie bis hierhin gelesen haben und denken: „Da ist mein Job erledigt“, denken Sie noch einmal darüber nach.
„Es ist echt menschliche Erweiterung“, sagt Wright. „Wenn überhaupt, dann ist es erweitertes Testen durch die Fähigkeit, Tester mit Superkräften auszustatten.“ Der Denkprozess hinter dem Entwurf von Teststrategien ist äußerst komplex und erfordert eine umfassende Kontextualisierung, um die Tests, Daten und den generierten Code voranzutreiben. Aber wie nutzen Sie ChatGPT effektiv, um die Fähigkeiten Ihres Entwicklungsteams zu erweitern?
Mit der richtigen Herangehensweise und Einstellung „fällt mir oberflächlich betrachtet nichts ein, was einen menschlichen Tester nicht unterstützen würde“, sagt Paul Gerrard.
Hier finden Sie einige Best Practices und Tipps, die Ihnen helfen, ChatGPT für Ihr nächstes Entwicklungsprojekt optimal zu nutzen.
Beschreiben Sie Ihr Problem klar und prägnant: Bevor Sie sich überhaupt bei OpenAI anmelden, stellen Sie sicher, dass Sie das Problem, das Sie lösen möchten, vollständig verstehen. Stellen Sie sicher, dass Sie es so prägnant wie möglich formulieren, indem Sie das Problem in schmackhaftere Komponenten zerlegen und die gewünschten Ergebnisse oder Funktionen definieren.
Sei genau: ChatGPT stellt allgemeine Informationen für allgemeine Eingabeaufforderungen bereit. „Wenn wir Tools wie dieses verwenden, legen wir fest, was das Tool für uns tun soll“, sagt Gerrard. Definieren Sie Voraussetzungen, Regeln und gewünschte Funktionen oder Ergebnisse wie beim Schreiben von Code. Dies erhöht die Wahrscheinlichkeit, präzise und umsetzbare Empfehlungen aus ChatGPT zu extrahieren.
Kontextualisieren Sie Eingabeaufforderungen: Indem Sie dem Programm Kontextinformationen geben, können Sie die gesuchte Abdeckung definieren und ChatGPT bitten, eine umfassende Testabdeckung für diesen Zweig der Anwendung zu generieren. Paul Gerrard bringt es auf den Punkt: „Das ist mit ziemlicher Sicherheit besser als das Testniveau, das jeder Entwickler heute erreichen würde.“
Erwarten Sie eine Iteration und Verfeinerung: ChatGPT ist „wie eine Kiste voller Tools, für die wir noch kein Handbuch haben“, sagt Gerrard. Sie können sich nicht einfach anmelden, eine Eingabeaufforderung schreiben und ChatGPT gleich beim ersten Mal die ideale Lösung ausspucken lassen. Experimentieren Sie mit verschiedenen Ansätzen für Eingabeaufforderungen, verfeinern Sie Ihre Fragen und wiederholen Sie die Antworten von ChatGPT jedes Mal, um weitere Anleitungen zu erhalten.
Führen Sie ein Gespräch mit ChatGPT: ChatGPT ist mehr ein Programmierpartner als nur ein einfaches und nützliches Tool, das Ihnen zur Verfügung steht. „Wir müssen verstehen, wie man mit dem Tool ein Gespräch führt“, sagt Gerrard. Indem Sie ChatGPT als Kollaborateur betrachten, denken Sie kritischer und ermöglichen kreativere Problemlösungen. Außerdem ermutigen Sie die KI, tiefer über das Problem nachzudenken, das Sie gemeinsam lösen.
Bleib neugierig: Lesen Sie Beiträge in Foren, nehmen Sie an Webinaren teil und holen Sie sich Informationen von anderen, die mit den Funktionen von ChatGPT experimentieren. Teilen Sie Ihre Erkundungen wiederum mit anderen. Kombiniertes und geteiltes Wissen kann dazu beitragen, Ihre Fähigkeiten zu erweitern und ein breiteres und umfassenderes Kompetenzspektrum zu entwickeln.
ChatGPT demokratisiert den Zugang zu leistungsstarken Tools zur Produktivitätssteigerung branchenübergreifend. Es stellt ein transformatives Potenzial für die Herangehensweise von Entwicklern an Tests und für die Optimierung von Abläufen in Unternehmen dar. Sie können mehr über ChatGPT von Paul Gerrard und Jonathan Wright erfahren, indem Sie sich das ansehen Chat-Webinar für GPT-4-Tester auf Abruf.