Dagens mjukvaruföretag testar inte sina produkter ordentligt.
– Tur och framför allt duktiga individer.
Det är Mats Grindals svar på frågan varför mjukvaran ändå ofta fungerar.
Den 12 mars disputerar han i ämnet programvarutest. I ett av sina projekt har han intervjuat 12 svenska mjukvaruföretag.
– Generellt är testmognaden låg. Det finns inte mycket strategi och struktur, säger Mats Grindal.
– Verksamheten hänger på att det finns duktiga individer, vilket säkert är en av förklaringarna till att dessa företag ändå gör bra ifrån sig. Men i ett sådant läge blir man förstås beroende av de personerna, och därmed sårbar.
En lika stor utmaning som att ta fram systematiska arbetsmetoder, är att få företagen att inse att metoderna behövs. De duktiga testarna bygger system som trots allt fungerar – och därmed blir det svårt för företagsledningen att upptäcka problemen.
– Flera av de jag intervjuade var väl medvetna om hur det stod till, att det fanns brister och stor potential till förbättringar. Men det var svårt att få gehör, säger Mats Grindal.
– Så en av mina slutsatser är att man kanske måste börja i en annan ände. Att införa genomarbetade mätprogram för hur effektivt verksamheten beskrivs. Vi testare måste också bli bättre på att uttrycka oss i ekonomiska termer.
– När testarna idag vill föreslå förbättringar har de svårt att tala om var de befinner sig och hur mycket man skulle kunna vinna på att införa förändringar.
Testar systemet som en svart låda Programvara testas på längden och tvären innan den tas i bruk. Whiteboxtestning utgår ifrån själva programkoden vid val av testfall. Blackboxtestning – som är ämnet för Mats Grindals forskning – har ingen aning om hur programkoden ser ut, utan testar om systemet beter sig enligt sin specifikation. Det är nästan aldrig praktiskt genomförbart att köra att alla möjliga testfall. Inte ens i en miniräknare med bara heltalsaddition skulle det vara praktiskt möjligt att testa alla kombinationer av x+y. Utmaningen är att välja ut en lagom mängd testfall att köra. Mats Grindals arbetssätt ger via en så kallad inputparametermodell dels bättre kontroll över vilka teoretiska testfall som faktiskt finns. Och dels får man en systematisk möjlighet att sätta en ambitionsnivå på testningen – säkerhetskritisk programvara kräver många test, medan man kan välja färre test när time to market är viktigt. Genereringen av testfallen i sig kan ske med hjälp av verktyg som redan finns på marknaden idag. |
Det som fattas är ett systematiskt angreppssätt.
– Det är möjligt att skaffa sig en bättre kontroll över vilka testfall man väljer, säger Mats Grindal.
Ingen testning kan nämligen vara komplett. Alla projekt måste bestämma en ambitionsnivå. Och detta går att göra på ett systematiskt sätt.
Han är först med att presentera en komplett arbetsmetodik för en generell grupp av så kallade blackboxtestmetoder. Det finns idag verktyg för delar av testutvecklingen, exempelvis för att generera testfall från givna parametrar. Men ingen har tagit ett helhetsgrepp på detta område.
Mats Grindals metod kräver att testaren börjar med att översätta kravspecifikationen till en formell så kallad inputparametermodell.
– Det tar visserligen en stund att bygga den. Men jag undersökte ett antal testare som inte tidigare jobbat med testfallsmetoden. De fick en timmes föreläsning och kunde därefter lösa ett litet case på 45 minuter.
– Så det är enkelt att lära sig.
Mats Grindal är 41 år och arbetar på Enea sedan 1994. Doktorandstudierna har skett i samarbete med högskolan i Skövde.
Just nu pågår pilotstudier av Mats Grindals metoder internt på Enea och hos två av Eneas kunder. Den längsta studien har pågått i snart ett år.
– Vi har fått ett mycket stort intresse från kunderna.