Gå till innehåll

Icke-funktionell testning – varför är det sÃ¥ svÃ¥rt?

Först och främst gillar jag inte beteckningen icke-funktionell. Vadå icke-funktionell, vad är det som inte fungerar? prestanda och säkerhet är det icke-funktioner? Att man måste logga in, att man bara kan se vissa delar av ett system eller vissa delar av databasen är typiska behörighetsfrågor som jag räknar till "säkerhet". Är det icke-funktioner? Jag har läst en del försök till alternativa benämningar: kvalitetsfaktorer/egenskaper(inte så illa), para-funktionella delar(hmm, paralyserad, para-normal(utanför det normala enl SAOL), paraply..nja kanske inte), supplementary requirements (RUP) "kompletterande krav" - kompletterande till vadå? Jag fastnar nog för kvalitetskrav - det säger mest. Nån annan som har ett bättre förslag?

Och nu till frågan varför det är så svårt att testa dessa krav. Det första som slår mig är att det är för att de sällan eller aldrig finns nerskrivna. Om det nu skulle finnas något på pränt så är det oftast otillräckligt, tvetydigt, motsägesefullt eller kanske en blandning av allt ihop. Så vi får börja med att ta fram kraven genom att intervjua de olika intressenterna, som inte heller de vet vad de vill ha eller hur de ska fråga efter det de tycker om. Läste precis i boken "Exploring Requirements" (rekommenderas varmt - finns på bla Adlibris.se) att vårt mål är att ge kunden vad de behöver inte vad de tror att de vill ha - då blir de mest nöjda. Intressant vinkling på problemet. Lyssnade på en lysande föreläsning av Andreas Granqvist om tillgänglighet på NFI Testforum. han spetsade till det genom att påpeka att användares beteende kan studeras som man gör med djur men räkna inte med att få nåt vettigt ut av dem vad gäller vad de vill ha.

Säg att vi nu skulle ha riktigt bra krav nedskrivna, hur bra skulle vi då kunna testa dem? Svaret blir nog att vi som icke-specialister inte skulle göra ett specielt bra jobb. Om vi tar exempelvis användbarhet, visst kan vi med hjälp av diverse checklistor kolla att knappar och texter stämmer med standard men användbarheten i sig - det blir nog mest våra egna åsikter om vad vi tycker är bra snarare än vad som är rätt eller fel. Och vad är våra åsikter som amatörer värde mot designproffsen som byggt systemet, nej det går inte. Här behöver vi specialister och kanske ett användbarhetslabb. Kolla in FunkaNu Säkerhet, prestanda eller robusthet då? Då krävs det verktyg, teknisk kunskap och säkerligen en bättre testmiljö än den vi testar på just nu. Vad ska vi då göra? Nu spånar jag fritt, har inte gjort någon djupare analys men tänkt en hel del.

1. Steg ett är att vi måste veta vad vi behöver för krav på kvalitetsfaktorerna. Vilket underlag krävs i vårt projekt? Jag kan tänka mig en prioriteringslista där beställaren säger att tex prestanda är viktigt men säkerhet inte är lika viktigt. Sen får de då beskriva vad de menar med prestanda: Det ska inte uppfattas som långsamt för en normalkund att öppna förstasidan på vår websajt. Definiera normalkund, PC-typ, uppkoppling, under vilka förhållanden - högtrafik, normal...Långsamt : typ mer än tre sekunder. Även om vi inte kan få exakta svar kan vi om vi skriver kraven i dess sammanhang med syfte och mål få en bra bild. Det är dock tveksamt om vi som testare ska ta fram kraven, då överskrider vi våra arbetsuppgifter. Men visst händer det att vi gör så, eller hur?

2. Steg två är att utifrån kraven kunna göra en bedömning om det är något vi kan hantera själv, om vi behöver mer information, om vi behöver viss miljö, eller om vi ska kalla in experter - eller rättare sagt meddela projektledaren att vi rekommenderar att man tar in experter. Ska dessa då både ta fram kraven och sen testa dem? Det är väl oftast det som sker. Är det bra då?

3. Steg tre är att vi eller specialisterna utför tester och rapporterar resultatet. När det gäller prestandatester sker det ofta en "tuning" under testerna så att systemet uppnår den prestanda som begärts. Redan här inser jag mina begränsingar och skulle aldrig ta på mig ansvaret för att utföra prestandatesterna i ett projekt.

Har letat med ljus och lykta efter böcker, artiklar om detta och hittat vissa delar om prestanda och användbarhet. Kanske dags att skriva en bok till tillsammans med de bästa inom varja område. Finns det någon som har en riktigt bra mall för "icke-funktionella2 krav. Skicka den gärna till mig på torbjorn at ryber.se

//Tobbe