2008-01-25 07:04
- Computer Sweden:
Mjukvara behöver inte vara perfekt
Av
|
Utvecklarfrågan
Fråga: Vad är viktigt att tänka på när man tar fram en teststrategi och en testprocess? Vad bör tas i beaktande beträffande kvalitet, test- och utvecklingsmetodik?

Tobias Fjälling är konsult på Dotway.
Svar: En av de vanligaste frågorna som finns i mjukvaruutveckling är: Hur kan vi snabbare bli klara med vår produkt med mindre mängd arbete? Lösningen heter oftast mera kunskap, bättre verktyg, vassare ramverk och utvecklingsmiljöer samt effektivare testning.
Men i den stinna penga- och tidsbesparingens tecken är det allt för lätt att även dra in på testning. Hur väl det låter sig göras beror helt på dina kvalitetskrav.
Därmed redan framme vid det viktigaste ställningstagandet: Vilken kvalitet ämnar du erbjuda på den mjukvara som produceras?
Svaret på den frågan ger dig även inblick i hur stort fokus du bör ha på att ta fram teststrategin. Detta etablerar även tilltänkt testprocess. En stor del av testningsförfarandet görs numera även som en del av utvecklingsarbetet. Därför bör du förankra teststrategi och -process innan utvecklingsarbetet drar igång.
I de traditionella vattenfalls- och långiterativa processmodellerna finns en längre ledtid att etablera en testprocess med hänsyn till omgivningens krav på produkten. I lättrörliga och snabba processer ligger större tonvikt på så kallad whiteboxtestning. Då bör teststrategi och process fokusera på att överbygga gapet mellan white- och blackboxtestning. Exempelvis enhetstestning jämfört med acceptanstestning.
Blind tillit på enhetstester som enda testmetod är en fallgrop att se upp för, speciellt att beakta i projekt med stort fokus på testdriven utveckling.
Denna form av testning ger oss visserligen en högre kvalitet på mjukvara men kan inte ersätta andra typer av tester.
Anledningen är enkel. Utvecklaren skriver själv sina egna tester vilket bryter mot en grundläggande teststrategi: Det är svårt att hitta sina egna fel eftersom det är svårt att bryta ett etablerat tankemönster.
Avslutningsvis ytterligare en fallgrop. Det finns ett uttryck i branschen som hörs allt oftare: Good is good enough!
Fritt och kort översatt betyder det att mjukvara inte behöver vara perfekt i avseende på användbarhet och funktionalitet då kostnaden för perfektionism är allt för stor. En sund inställning eftersom det ger möjlighet till verklig feedback av riktiga slutanvändare inför nästa release.
Tyvärr kan en övertolkning av utrycket få till följd att mjukvarans kvalitet försämras om nödvändig testning reduceras.
Min kortfattade åsikt är: en bugg gör ingen slutanvändare glad och kan inte betraktas som ”good” alls
OBS! Denna artikel är mer än tio dygn gammal och är därför stängd för vidare debatt.