testing
BLOGGPOST
DIGITAL ASSURANCE & TESTING

”Kvalitetssäkrar testare mjukvara?”

Test vs kvalitetssäkring. Sogetis Mats Johansson funderar på vad en testare egentligen har i sin rollbeskrivning. Håller du med?

Som testare och testledare får du ofta frågan: ”-Vad gör du egentligen?” Inte alla vet vad vi inom test faktiskt gör i och med att flertalet roller faktiskt kan utföra liknande eller samma uppgifter. Under den senaste tiden har jag, som arbetat med test av mjukvara under mer än 10 år, börjat grunna på vad vi egentligen arbetar med. Som alla andra har jag sagt: ”-Jag jobbar med kvalitetssäkring av mjukvaruprodukter”, men under den senaste tiden har jag kommit fram till att det är en felaktig beskrivning av mitt arbete.

Vid en sökning hittade jag följande beskrivning av kvalitet: ”Kvalitet är ett mått på en produkts eller tjänsts förmåga att uppfylla kundens förväntningar och med detta leverera kundtillfredsställelse”. För att vi ska kunna uppfylla denna beskrivning måste vi kunna mäta vårt arbete med ett mätinstrument. Detta instrument måste ha en exakt mätskala så vi kan mäta objektivt och kan genomföra mätningen på samma sätt varje gång. Det måste också fastställas vad som ska mätas så att vi varje gång får rätt svar på det som efterfrågas. Till detta ska det enligt beskrivningen uppfylla kundens förväntningar vilket är A och O i en produktleverans. Vi måste alltså ta reda på förväntningarna, formulera dessa korrekt även om de under processen kommer behöva förtydligas. Sedan ska vi även ha en gemensam tolkning tillsammans med kunden på förväntningen så vi kan använda tidigare nämnda mätetal för kontroll av kvaliteten.

Så min fråga blir hur vi inom test av mjukvara ska kunna mäta vårt arbete om vi inte har några verktyg med mätetal och förväntningar från kund som absolut inte har några exakta värden att mäta på? Till detta vi får inte glömma att det är stor skillnad mellan test och test. De som arbetar med t.ex. prestanda- och skalbarhetstester har faktiskt mätetal att använda men det handlar mer om att öka en procentuell del, inte att mäta kvalitet. Sen finns de som arbetar med hårdvara, d.v.s. komponenter i bilar, kopplingsskåp, hållfasthet av kablage osv kan med enkelhet ta fram mätetal (hållbarhet, vilken temperatur klarar det av, brytpunkt osv) att använda. Dessa testare kan enkelt mäta kvalitet.

Vid vidare sökning på kvalitetssäkring står det att ”Kvalitetssäkring innebär att ett systematiskt kvalitetsarbete bedrivs som säkrar kvaliteten på de objekt som kvalitetssäkras”. ”Med kvalitetssäkring menas i grund och botten att ett företag har tagit fram, dokumenterat och följer processer för sitt arbete samt tagit fram och använder olika verktyg till stöd i detta arbete”. Som jag tolkar detta så har vi processer och verktyg som stöd för vårt arbete där vi kontinuerligt arbetar för att förbättra dessa tillsammans med våra tillvägagångssätt. Detta är något som ingår i processerna/tillvägagångssätten vi arbetar efter, inget som vi inom test av mjukvara har som arbetsuppgift.

Hur ska jag då försöka förklara vad vi inom test av mjukvara arbetar med? Jag tänker göra en punktlista på de uppgifter som jag tycker berör vårt dagliga arbete på en övergripande nivå och inte gå ner i detalj. Våra uppgifter som testare innefattar:

  • Verifiering av funktioner, d.v.s. de funktioner som beställts av kund levereras till kund.
  • Verifiering av användargränssnitt, d.v.s. det utseende som beställts av kund levereras till kund (färger, ikoner, teckenstorlek osv).
  • Verifiering av tillgänglighet, d.v.s. att det som levereras går att använda på det sätt kund vill (olika webbläsare, mobila enheter, tablets osv) samt har det beteende som efterfrågas vid användande av produkten.
  • Verifiering av tillgänglighet, d.v.s. att det som levereras faktiskt är tillgängligt för alla (synskadade, funktionshinder, koncentrationsproblematik osv) vilket även innefattar responsibilitet.
  • Verifiering av navigation, d.v.s. att användaren med hjälp av tangentbord, mus och eventuella andra hjälpmedel kan navigera bland funktionerna i produkten som levererats.

Så till skillnad från vad alla säger gällande arbetsuppgifterna som vi inom test av mjukvara arbetar med så arbetar vi INTE med kvalitetssäkring. Vi arbetar med verifiering av krav (funktionella och icke funktionella) och säkerställer att det som är beställts levereras till kund, utan aktiva avvikelser från kravet, d.v.s. ”buggfritt”. Test är inte kvalitetssäkring eftersom det är endast utvecklingsprocessen som kan säkra kvalitet. Ska någon ansvara för kvalitet så måste denne även ha befogenhet att bestämma över utvecklingsprocessen. Plockar vi sen bort den falska trygghet som följer med i synen av att test säkrar kvalitet så blir effekten att kvalitetssäkringsansvaret blir distribuerat över hela organisationen. Med detta kvalitetsansvar (befogenheter i utvecklingen) kommer beslutsrätten för stora beslut (t.ex. produktionssättning) samt små beslut (”Ska vi implementera designen på detta eller detta viset?” eller ”Ska jag köra dessa eller dessa testerna?”) kräva beslutsunderlag. Alla i beslutskedjan behöver tillförlitliga underlag och det är denna värdefulla information som utkomsten av testaktiviteterna kan erbjuda. 

Som sammanfattning av tests inblandning i kvalitetsdiskussionen gäller följande tre punkter:

  • Test förser organisationen med värdefull information i form av beslutsunderlag.
  • Beslutsunderlagen används inom utvecklingen för att göra välinformerade beslut.
  • Välinformerade beslut leder till produkter utvecklade med god kvalitet.

todo todo