Informationsteknikområdet, särskilt inom agil utveckling, genomgår en snabb utveckling. För att hålla jämna steg med denna dynamiska utveckling visar sig nya tekniker som artificiell intelligens (AI) vara ovärderliga hjälpmedel – de påskyndar inte bara framstegen utan ger också viktigt stöd i denna tid av snabb omvandling.
AI finns i olika former, allt från specialiserade till mer allmänna tillämpningar. Specialiserad AI kan självständigt generera kod utan omfattande programmeringskunskaper och sammanfatta webbsidor utifrån URL:er. Å andra sidan kan mer allmänna AI-verktyg bistå IT-proffs på flera nivåer genom att påskynda kodutvecklingen, förtydliga specifikationer och till och med stödja skapandet av testfall – vilket är fokus för denna artikel.
Testning spelar en avgörande roll under hela utvecklingscykeln för ett IT-projekt, oavsett vilken metodik som används (t.ex. V-cykeln eller agilt). Den syftar till att identifiera och åtgärda allvarliga eller mindre fel redan i ett tidigt skede. Genom att åtgärda potentiella buggar före leverans säkerställs produktens tillförlitlighet i slutanvändarnas ögon.
Trots sin betydelse får testning ofta mindre uppmärksamhet inom ett projekt, och den tid som avsätts är ofta begränsad jämfört med andra projektfaser. Denna begränsning kan äventyra testningens grundlighet, vilket understryker behovet av att optimera tidsanvändningen för testaktiviteter.
Genom att integrera AI i testprocessen kan QA-teamets tid utnyttjas på bästa sätt. AI kan effektivt hjälpa oss att maximera den tillgängliga tiden genom att generera testfall på olika språk, inklusive naturligt språk, Gherkin och till och med engelska. Även om AI-svaren kanske inte alltid stämmer perfekt överens med programvarans testkrav, minskar de arbetsbelastningen avsevärt och sparar tid genom att tillhandahålla ett första utkast till testfall.
Ett anmärkningsvärt AI-verktyg inom detta område är Gemini, utvecklat av Google och tillgängligt via webbadressen https://gemini.google.com/app med ett vanligt Gmail-konto. Gemini utmärker sig genom sin förmåga att tolka instruktioner på naturligt språk och generera motsvarande testfall.
Gränssnittet är intuitivt och har ett textfält där användarna kan skriva in förfrågningar, specifikationer eller användarberättelser; information kan även matas in via röstdiktering med hjälp av mikrofonen i sökfältet. Hur fullständiga svaren blir kan variera beroende på hur precis förfrågan är. Om de givna svaren inte räcker till erbjuder ett utfällbart fält tre alternativa förslag från AI:n. Dessutom kan användarna begära alternativa formuleringar av svaren, till exempel längre eller mer professionella versioner. De resulterande svaren kan kopieras till urklipp för enkel integration i vårt testverktyg.
Gemini är användarvänligt och gör det möjligt för användarna att spara en historik över sina förfrågningar. Det är dock viktigt att vara vaksam när det gäller kvaliteten på de svar som AI:n ger, eftersom de ibland kan vara ofullständiga eller felaktiga.
Här är ett exempel på ett Gherkin-testfall i Gemini:
När man klickar på sökknappen visas sökresultatet enligt följande:
AI:n ger flera tillgängliga resultat på uppmaningen:
Svaret innehåller mer eller mindre detaljerade testfall, och QA-testaren kan lägga till eller ta bort dem beroende på vilken detaljnivå som önskas för kampanjen.
Även om AI har gjort enorma framsteg när det gäller automatiserad skapande av testfall kan den ännu inte helt ersätta en mänsklig testares arbete. Att skriva testfall handlar om mer än att bara översätta specifikationer till instruktioner; det kräver också en djup förståelse för projektets sammanhang och krav. Mänskliga testare bidrar med avgörande expertis när det gäller att identifiera relevanta testscenarier, upptäcka potentiella brister och validera testlogiken.
AI kan visserligen underlätta och påskynda processen genom att erbjuda inledande förslag och automatisera vissa repetitiva uppgifter. Manuell skrivning förblir dock avgörande för att säkerställa testfallens kvalitet och relevans. Dessutom bidrar mänskliga testare med omdöme och kreativitet som är svåra att efterlikna med algoritmer.
Sammanfattningsvis kan AI vara ett värdefullt hjälpmedel för att initiera testfall och förenkla och påskynda processen, men mänskligt ingripande och manuell förtydligande av kraven är ofta nödvändigt för att säkerställa relevansen och effektiviteten hos de genererade testerna. På många sätt kan AI, som blir allt mer allmänt förekommande i vårt samhälle, underlätta våra liv, men precis som med alla verktyg måste användningen vara genomtänkt för att man fullt ut ska kunna dra nytta av dess fördelar.