Een beetje IT consultant gebruikt tegenwoordig Cucumber voor het creëren van een “shared understanding” tussen stakeholder, developers en testers. Cucumber is een middel voor stakeholders om hun wensen en verwachtingen in een natuurlijke taal neer te zetten. Cucumber is een BDD framework waarmee deze verwachtingen goed vast te leggen zijn.
Het gebruik van Cucumber is (versimpeld) opgedeeld in 2 lagen:
- De natuurlijke taal die de stakeholder spreekt;
- de natuurlijke taal verbinden met de onderliggende programmeertaal zoals bijvoorbeeld Java of Python. Dit noemen we “glue”.
Zou het mogelijk zijn om met ChatGPT een goede basis neer te zetten voor het creëren van Gherkin scripts, glue code te genereren en misschien zelfs Selenium toe te voegen? Laten we het proberen! We nemen een Telecom-proces als voorbeeld. Ik heb het volgende aan ChatGPT gevraagd:
Convert the following in gherkin:
I want to order a phone with a sim only. It should contain 10 GB of data and 120 minutes for calling
Dit levert een voorbeeldversie op voor een feature file waarin de wens van de stakeholder in een natuurlijke taal wordt weergegeven. Volgende stap is het genereren van de bijbehorende glue code:
Add java glue code
Wat me hier opviel is dat niet alle syntax errors door ChatGPT zelf opgelost konden worden. Dit wekt de indruk dat er onderliggend meer info benodigd is, ik hoor graag jouw mening als je hier tips voor hebt!
Laten we Selenium koppelen:
Add selenium
Dit is slechts een deel van de gegenereerde code maar het geeft een goede indruk van hetgeen opgeleverd is. ChatGPT doet ook zelf ook aannames, waaronder het gebruik van de Chrome driver maar dit is eenvoudig aan te passen. Dit wordt wel in de opmerkingen erbij aangegeven.
Leuk detail is dat ChatGPT ook tips geeft. Ik moet zelf de juiste elementen van de website toevoegen. Dit heb ik dan ook gedaan. Ik heb een target website toegevoegd, zie hieronder:
Target website is https://www.t-mobile.shop/alle-telefoons
Dit is één van de eerste versies van ChatGPT beschikbaar voor het grote publiek. We mogen er van uitgaan dat er nog vele updates en ontwikkelingen zullen volgen. Hieruit zou je kunnen afleiden dat we in de nabije toekomst volledige en volwaardige testscripts kunnen laten generen. Randvoorwaarde hierbij is om al tijdens de bouw van de software uniform te gaan documenteren, waardoor een tool als ChatGPT hier naadloos op aan kan sluiten. Dit zal veel tijd gaan besparen op voorbereiding van de testactiviteiten. Wellicht biedt dit zelfs mogelijkheden om op basis hiervan testautomatisering te kunnen laten genereren.
En dan ben je ineens van “spelen” met een AI tool in no time in de toekomst terechtgekomen. Hoe denk jij hierover?