Skip to content

Hur Knowit använde lokala AI-modeller för att säkerställa testtäckning

Alla systemutvecklare vet det. Men det är inte alltid så att deras kunder, beställare eller chefer vet det: tester handlar inte bara om att säkerställa att saker fungerar. Det handlar också om att skapa automatiska mekanismer för att upptäcka om en systemlösning går sönder - under hela lösningens livslängd. 

Dessa två är inte alls samma sak. Det första sker inne i ett leveransprojekt, det andra är en långsiktig förvaltningsfråga som bara kan implementeras med tekniska metoder. De långsiktiga testfallen kan inte vara manuella, de måste bestå av kod som testar om systemet fungerar. För att ta ett exempel: testkod som registrerar en systemanvändare, söker efter användaren, byter epostadress på användaren, raderar användaren, söker efter användaren igen och säkerställer att den raderade användaren inte hittas.

Men det är ett långsiktigt arbete. Vad tror du försvinner, missköts, eller ”glöms bort” i ett systemutvecklingsprojekt, när tidsplan och budget börjar ta slut? Vad är det som beställare regelbundet missar i sin kravställning? Verkligheten är att se flesta system saknar, eller har undermåliga, automatiska testsviter. Det leder till helt onödiga störningar vid framtida systemförändringar, på grund av fel som automatiska tester hade kunnat upptäcka långt tidigare i förvaltningsprocessen.

Vi hade det problemet själva för en av våra produkter. Vi ville verkligen komma ikapp med dessa automatiska tester och bestämde oss för att utforska om AI-modeller kan accelerera arbetet. Vi hade dick ett viktigt krav - vi kunde inte, av sekretesskäl, skicka Knowits programkod till externa leverantörer. Därför bestämde vi oss för att använda en lokalt driftad AI-modell, i en kraftfull hårdvara som aldrig ens lämnade vårt kontor.


Så här gick processen till i korthet:

1) Vi byggde en programvarusvit som använde en lokal AI-modell. Denna tog vår egen kod som input och genererade testkod. 
2) AI-modellen identifierade buggar i den genererade testkoden, samt rättade dem automatiskt. 
3) Vi lärde oss snabbt att det är lätt att sådana här processer degenererar och leder till irrelevanta tester, men att det också finns metoder för att inte gå i den fällan i framtiden.

Till slut hade vi i det närmaste total testtäckning. Eller med andra ord: nöjda kunder och förutsägbara systemuppgraderingar.

 

Behöver du hjälp?

Idag är AI området med IT-branschens största möjligheter, men också djupaste fallgropar. Lokala AI-modeller är ofta ett effektivt sätt att hantera riskerna med AI. Genom användningen av lokala modeller, till skillnad från externa tjänster, uppnås mycket starka förutsättningar för att effektivt hantera etik, juridik, och säkerhet. Kontakta mig med din fråga om lokala LLM:er.