Runt omkring testskrået har mycket hänt de senaste 10 åren. Agil systemutveckling har dykt upp som en ny de facto-standard med testdriven utveckling och tätt samarbete mellan beställare och programmerare. Personer med kompetens inom “User Experience” (UX) har börjat ta för sig när det gäller att verifiera de högre användnings- och verksamhetseffekterna.
I detta nya sammanhang, var lämnar det personer som kallar sig testare?
När jag arbetar som systemutvecklare (programmerare) tillämpar jag tämligen konsekvent testdriven utveckling, det ger mig möjligheten att ta små, kontrollerade steg mot den målbild jag har. Testdriven utveckling har givit mig mer kompetens på testområdet än jag hade tidigare men jag saknar ändå en testare om de inte finns tillgängliga. Orsaken är att en testare har unik kompetens på just vad som ger ett bra testfall. Som testare har man en vana av att snabbt identifiera intressanta scenarion som karaktäriserar funktionens alla intressanta nyanser.
Som utvecklare tenderar man till att resonera lite mer optimistiskt “det där kommer aldrig att hända” eller “jag tycker att det verkar fungera nu”. Samma sak misstänker jag gäller vid användningstester som typiskt UX-personer håller i.
Vet de verkligen vilka scenarion som kommer att ge de mest informationsgivande utmaningarna för användarna? Kan de avgöra hur sannolika de olika scenariona är?
Den konkurrens som testare idag kan uppleva av dessa nya vanor kommer att förbytas i en ökad uppskattning för deras kompetens om man slutar se test som en isolerad företeelse och istället ser det som ett yrkeskunnande som kommer till användning i alla olika skeden av en funktions utvecklande.
Det är kompetensen jag vill åt, inte rollen.
Att vi pratar om rollen testare är ett hinder för att vi ska kunna förstå i vilken utsträckning som systemutveckling handlar om ett tätt samarbete. Roller implicerar isolerade ansvar och sådana är av tveksamt värde inom kreativt arbete.
Jag har sett utvecklare som ser kvaliteten på systemet som testarnas ansvar, en tydlig fingervisning om att isolerade ansvar resulterar i stora brister. Sluta se testaren som någon som fyller en roll, det är någon som bär på en kompetens behövd tidigt, under och i slutet av utvecklingsarbetet. Genom samarbete kommer kompetensen till full användning.
Tjena Måns,
Jag gillar vad du skriver. Visst är det så att rollen har en starkare betydelse än vad man kan tro. Läs gärna om Stanford prison experiment av Philip Zimbardo, väldigt intressant. Samtidigt har ju roller en viktig funktion för att skapa sig en förståelse om världen och en egen identitet.
Kunskap och kompetens är det som ska vara avgörande, men är inte detta ett generellt problem, jag tänker på Java – utvecklare, Oracle utvecklare osv.
Bra att se lite annan vinkling på Testzonen, fortsätt med det.
/Jagge
Visst är problemet generellt. Min erfarenhet är att samma problem är tydligt när det gäller folk som kallar sig “arkitekt”, “designer”, “DBA”, “projektledare”… ja, generellt helt enkelt.
Stanford prison experiment är ett extremt exempel, kanske lite utanför min poäng, men det visar på problemet med att man har skrämmande lätt för att gå in i en roll och göra det man associerar till den rollen även om man privat tar avstånd från det beteendet.
Visst är det extremt exempel, det kan jag verkligen hålla med om :)men något finns det att lära sig om extrema exempel så länga man förstår att ta ett steg tillbaka och reflektera.
Jag gillar synen att se test som något annat än att vara en städare som ska komma in i slutet av projektet. Det är riktigt svårt att ändra någon eller snarare en branschs mindset. Men inte mindre viktigt eller kul för det.
Att det finns en personer som anser att kvalitetsansvaret ligger hos testaren är nog väldigt vanligt. Tyvärr är det många som arbetar med test som tycker samma sak, och det är inte bra. Själv skulle jag vilja byta ut begreppet testare mot något annat, vad vet jag inte.
Håller med Jagge, ordet “testare” ger verkligen fel bild av kunnandet. Om alla kunde förlika sig med att vi alla är “systemutvecklare” som besitter olika förmågor så vore det ett fall framåt, men jag tror att det skulle förvirra eftersom vi redan vant oss vid att bara programmerare är systemutvecklare.
Hej Måns
och beröm till dig haft förmågan att hitta Rubrik som fångar och väcker intresse. “Förlegad roll med het kompetens”.
För många av oss inom Test och Kvalitets området har det ju hänt mycket sista 10 åren. Med din fyndiga rubrik sågar du först oss när vi har rollen testledare och testare jäms med fotknölarna. Men i nästa andetag lyfts den långa testkompetens många har till skyarna.
Det som har hänt de sista 10 åren är den gamla synen, att först kodar dom som är utvecklare och sen testar dom som är testare, har försvunnit alltmer. Denna utveckling kan vi tacka modern systemutvecklingsmetodik inspirerad av utveckling i iterationer (RUP) följt av Agile/Scrum med sprintar men också av det nya intresset för testdriven utveckling. Med glädje ser jag att det finns många utvecklare idag som intresserar sig för testfrågor och att bygga in kvalitet. När SCRUM slog igenom var många med mig som tänkte, Ooops men test och testrollen finns ju inte hur har man tänkt här?
Idag 2011 finns det fortfarande många projektledare och utvecklare lever kvar i det gamla sättet att bygga system och låta testare komma in alldeles för sent. Eller att man misslyckas med att göra testbara leveranser i sina iterationer.
Med ett nära samarbete och tät kommunikation kan utvecklare och testare lära sig av varandra och varandras roll och kompetens och då blir 1+1=3
Hej Leif!
Kul att du gillade rubriken. Jag håller med om att det är en attityd på tillbakagång, men den är fortfarande allt för vanlig för att ignoreras. Tror att en del testare fortfarande lever efter devisen att hålla sig separerade från teamet för att inte bli färgade av deras bild av systemet.
Det händer att man får frågan om man är testare eller utvecklare. Exempelvis om man jobbar med automatiska tester. Jag brukar då alltid ställa motfrågan: “Är test en del av systemutvecklingen?”. Svaret på den frågan blir i 99% av fallen ja.
Det är lätt hänt när man designar/programmerar att man investerar en alldeles för stor del av sitt ego i koden. Man glömmer lätt bort när man sitter där i sin lilla verkstad, att den tid man som programmerare lagt ned bara är en mindre del av de mantimmar som ligger bakom en hel fungerande lösning. Rollbenämningen “utvecklare” är förmodligen en bidragande orsak till detta problem.