Mycket av dagens testarbete är enligt mig ett reaktivt arbete, det vill säga att testarna reagerar på något som har hänt. Detta gäller inte bara det praktiska arbetet utan även en testares tankesätt. Det är så inpräntat hos den stora massan av testare att test ska vänta och reagera på vad som kommer att hända.
Visst, skapar man ett flödesdiagram så skulle många sätta Test efter Programmering och är ni determinister så gillar ni säkert tanken att allt har en orsak därav kanske test hamnar senare i flödet. Det betyder inte att man måste vara sist i kön och snällt vänta på att komma fram för att inse att köttbullarna är slut.
Jag gillar det agila tankesättet just för att bristande kvalitet är något som ska elimineras tidigt i processen (Det är lugnt, jag ska inte börja predika om det agila synsättet, det gör jag i andra artiklar). Däremot är många ramverk likt Scrum eller XP skapade för programmerare, och det i sig är inget problem. Däremot så försöker testbranschen enligt mig att återigen reagera mot vad som redan finns istället för att själva ställa krav. Hur ska test få en möjlighet att påverka om så många vänligt ställer sig sist i kön? Jag är inte ute efter att starta någon revolution utan bara ändra medvetandet hos den stora massan. Tekniker likt utforskande test är ett bra steg åt rätt riktning, och jag förstår att det möjligtvis är så att utforskande test inte går att applicera i alla situationer däremot är det ett stort steg i tankesättet runt testarbetet. Kreativitet, energi och kompetens är viktigt för att trivas och bidra i yrkeslivet. Jag förstår även att det är många organisationer som kommit långt i detta tankesätt men det betyder inte att resten av omvärlden har gjort det.
Idén att ju fler testfall som är ”Passed” desto bättre produkt har vi, okay yee sure, så kan man också beräkna kvalitet.
Japp, jag förstår att det behövs någon eller NÅGOT som verifierar i efterhand för att vara säker på att det fungerar. Att vi måste testa efteråt beror på bristande processer, tillit, komplicerade system eller kanske en mix av flera faktorer det vet jag inte.
Försök istället att funderar över varför felet eller avvikelsen uppstod och se till att den inte händer igen. Ta ditt ansvar för att förbättra processer, tekniker och arbetsätt för att bidra till högre kvalitet. Det gäller att alla som arbetar i projektet börjar tänka proaktivt, vad kan bli fel, var finns riskerna och hur hindrar vi dem. För mig är det proaktiva arbetet det som leder till högre, bättre och långsiktig kvalité.
Jag vill inte peka ut en specifik yrkesgrupp utan detta gäller alla grupper som arbetar inom IT och inklusive mig själv. Det första steget är att släppa den mentala spärren att test är något reaktivt och att många ”Passed” betyder hög kvalitet. Jag har själv arbetat aktivt med att hitta nya synsätt och försöka skapa mig en uppfattning om vad kvalitetsarbete innebär. Jag vet att jag har fel i många situationer men jag är samtidigt väldigt öppen för att lära mig nytt och kan jag skapa en debatt har jag kommit ett steg närmare mitt mål.
Det nästa steget i en testares ”naturliga” evolution är att gå från reaktiv testning till proaktiv testning. Om jag kan vara med och påverka med mina tankar, idéer, tekniker och metoder utifrån ett proaktivt förhållningsätt där kvalitetsarbetet börjar i rätt ända, det vill säga innan man börjar koda så är jag nöjd. Om det innebär att jag förlorar mitt jobb som den klassiska reaktiva testaren är jag bered att ta den smällen för nästa ta nästa naturliga steg i Darwins evolution.
Tack för en intressant artikel.
Jag tror en viktig faktor får att kunna agera proaktivt är god domänkunskap hos de flesta inblandande i ett utvecklingsprojekt, i synnerhet utveckling, test och krav. På sätt ökar chansen att man levererar något som kunden behöver, inte bara det den vill ha.
En annan faktor som betyder mycket i mitt tycke är testbarhet samt givetvis tätt samarbete mellan utveckling-test-krav-kund.
Jagge, du har hittat en verkligt “tung” och slagkraftig rubrik. Du skriver och sätter fingret på de viktiga begreppen proaktiv och reaktiv testning. Du har rätt i att alla behöver tänka proaktivt.
När vi får uppdrag som testledare för systemtest eller acceptanstest får vi aldrig sitta med armarna i kors och fila på våra testfall tills leveransen kommer och det är dags att testa.
Hos projekt som har har kloka projektledare kommer testledaren in tidigt i projektet tillsammans med arkitekten och någon utvecklare. Först senare kommer resten av utvecklarna in. Innan systemet utvecklats kan en testledare ta QA-hatten på sig och tänka proaktivt.
Hur ser vi till att det blir en bra dialog mellan kravpersoner och utvecklare?
Hur ser vi till att vi hittar fel tidigt genom Gransknings eller förbättringsmöten?
Hur ser vi till att utvecklare förstår sitt ansvar för sin egen test?
Hur blir kraven testbara?
Etc?
Men tyvärr är det fortfarande vanligt att testledare och testare plockas fram när det är dags att göra tester av det som tillverkats, dvs reaktiv testning
Som vanligt handlar det att sälja in värdet av tidig test, dvs proaktiva testinsatser. Lite högre kostnad i början av projektet och som konsekvens mindre kostnad i slutet av projektet, som dessutom håller sin tidplan tack vare detta.