Hvordan forholder vi os til ChatGPT som testere og testmanagers? Er det bare gøgl, eller kan ChatGPT hjælpe os med at skabe værdi? I denne artikel vil jeg give inspiration til, hvordan du som tester eller testmanager kan bruge ChatGPT som en hjælp i dit arbejde.
Baggrunden for kunstig intelligens
Allerede i oldtiden var vi bekendt med elektricitet, men dens fulde potentiale og praktiske anvendelse var ikke kendt, udover dens fornøjelige og mystiske egenskaber. Med lidt god vilje kan vi drage en parallel til den tidlige fase af kunstig intelligens (AI), hvor den praktiske anvendelse typisk var begrænset indenfor meget specifikke områder, og det som blev vist frem mere var proof of concepts af ikke-praktiske – men dog imponerende – eksempler. Det kunne for eksempel være et stykke software, der kunne lære at kende forskel på en hund og en kat baseret på træningseksempler.
Med ChatGPT er kunstig intelligens (AI) blevet tilgængelig for alle
Med ChatGPT er kunstig intelligens blevet mere tilgængelig for almindelige mennesker – alle, der kan bruge en chat, kan interagere med kunstig intelligens. Og der er ikke længere tale om meget afgrænsede domæner: Kan problemet formuleres som tekst, og forventes løsningen også som tekst, kan ChatGPT give det et skud. ChatGPT kan ikke løse fysiske problemer som at skifte olie på en bil, men den kan give en fremragende fremgangsmåde til, hvordan du selv kan gøre det. Hvis fremgangsmåden er noget, der skal udføres på en computer, så kan den også generere den kode, der skal eksekveres, for at løse problemet. Koden skal naturligvis lige realitetstjekkes, inden den køres, så den ikke kommer til eksempelvis at slette alle billederne på computeren.
Hvordan kan ChatGPT bruges som hjælp til test?
Hvordan forholder vi os så til ChatGPT som testere og testmanagers? Er det bare gøgl, eller kan ChatGPT hjælpe os med at skabe værdi?
Lad os prøve at forestille os en række scenarier, hvor det kunne give mening at bruge ChatCPT som en hjælp til testmanagement:
Første scenarie: Jeg laver automatiseret test, og der kommer en mystisk fejl, når jeg kører koden.
Hvis jeg ikke umiddelbart ved, hvad der fremprovokerer fejlen, så googler jeg fejlteksten for at få et hint. Resultatet kan være irrelevant, eller jeg skal måske til at scanne noget dokumentation for at sætte mig bedre ind i det library, der sender fejlbeskeden. Med ChatGPT kan jeg paste en del af min kode sammen med fejlbeskeden, og så genererer den en ny kode, hvor fejlen er rettet, sammen med en forklaring på, hvad der var galt. Jeg tjekker naturligvis, at rettelsen giver mening, inden jeg bruger den nye kode. ChatGPT kan altså omsætte nogle generelle retningslinier, som den har fået fra nettet under træningen, til en specifik løsning af mit konkrete problem. Måske løser den ikke helt problemet, men så kan jeg fortsætte chatten med “Nu får jeg i stedet for denne fejl…” eller “Kan du løse problemet uden at introducere xyz”. Derefter genererer den et nyt svar, hvor den tager højde for den nye viden.
Andet scenarie: Jeg har skrevet noget dokumentation eller lavet en beskrivelse af en test case, som jeg gerne vil have forbedret.
Jeg paster teksten ind i ChatGPT og beder den rette, forbedre og evt. at fortsætte teksten. ChatGPT kommer så med rettelser, omformuleringer og en fortsættelse. Jeg læser det igennem og bruger de dele, som jeg synes er en forbedring, og lader resten ligge.
Tredje scenarie: Jeg har brug for et overblik over de markdown-filer, der ligger i et mappehierarki.
For at få det har jeg brug for overskriften i hver fil og filens placering i hierakiet. Det kan jeg sagtens klare manuelt, og jeg ville også selv kunne skrive noget kode, der gjorde det. Det er bare så meget hurtigere at få ChatGPT til at gøre det, fordi jeg med en enkelt sætning kan forklare problemet tydeligt. Med ChatGPT kan jeg nu scripte mig ud af småting, fordi der ikke længere er et mentalt og tidsmæssigt overhead forbundet med det.
Fjerde scenarie: Boilerplate i et ukendt programmeringssprog.
For at opnå synergi med udviklerne, som bruger C#, vælger jeg også at bruge C# til testautomatisering. Det kender jeg ikke i forvejen, men jeg ved, hvilke funktionaliteter jeg har brug for, så jeg kan spørge ChatGPT om, hvordan jeg eksempelvis sender en besked til Azure Servicebus. Grundet min manglende rutine ville det have taget mig lang tid at få alle detaljer på plads og installeret de relevante afhængigheder uden ChatGPT. Med ChatGPT kan jeg få en kode, som jeg fint kan læse, forstå og tilpasse mit projekt. Jeg får en fejl, men den sender jeg også bare videre til ChatGPT, som fortæller, hvad jeg skal installere for at få det til at virke.
Husk at forholde dig kritisk
Hvordan jeg bedst udnytter ChatGPT i mit arbejde, kan jeg bedst beskrive ved at sammenligne med en assistent, som kan gøre noget af det besværlige arbejde, men som jeg også kan sparre med. Det er bare vigtigt at huske at være kritisk overfor “assistentens” svar. ChatGPT er jo faktisk meget menneskelig, idet den også kan tage fejl og sige noget vrøvl en gang imellem. Og så er det selvfølgelig også vigtigt at huske at fjerne passwords, personlige data og forretningshemmeligheder, inden du paster kode ind i chatten, da du ikke kan vide med sikkerhed, hvem der har adgang til informationerne.
Min tilgang er som regel den, at hvis jeg mangler et svar, og ChatGPT kan give mig tre, hvoraf de to er forkerte, og det ene er rigtigt, så har ChatGPT stadigvæk været en hjælp, hvis jeg kan verificere svarene.
Har du spørgsmål eller kommentarer til artiklen – eller har du og dit testteam brug for hjælp til at komme i gang med testautomatisering – er du velkommen til at skrive til vores senior testautomatiseringskonsulent Mogens Brødsgaard Lund på mogens@key2quality.dk.