Vi satt ett gäng testare och utvecklare vid en lunch och kom att prata om Volkswagens ”innovativa” lösning på problemet att få en motor att – enligt testprotokollet – vara både miljövänlig, högpresterande och bränslesnål.
Med de system som finns runt motorstyrning kan man få samma motor att uppfylla alla ovanstående kriterier, men inte på samma gång. Tydligen. Ökar man kväverening så ökas bränsleförbrukning och utsläpp av koldioxid. Tricket är att ge styrsystemet information om vilka tester som körs och optimera prestandan därefter, för att få motorn att passera testinstitutets nålsöga.
Vi funderade hur tankegångarna gått i de tyska ordningsamma korridorerna och hur utvecklare och testare funderat. Var det enbart en fråga om tolkningsbara formuleringar i kraven som ställts av testinstitutet? ”Kväveutsläpp vid stadskörning får inte överstiga X, bränsleförbrukning vid stadskörning får inte överstiga Y”. Men dessa två gränsvärden behöver inte uppfyllas samtidigt, eller? Fastän alla inblandade, med stor sannolikhet, förstod syftet och andemeningen med miljöcertifieringen, var det kanske möjligt att tolka kraven som man ville och skriva kod som styrde motors prestanda till sin fördel.
Om vi som testare får en lista med krav att validera och en del prestandatester att utföra: är det då vår uppgift att ifrågasätta huruvida funktionerna som testas är moraliskt försvarbara? Enligt de specifikationer och User Stories som givit oss fungerar allt perfekt. Men sen då? Borde utvecklarna och testarna reagera och påpeka det omoraliska och oetiska i att ”lura” systemet?
Frustrerad över att jag inte visste hur jag själv borde agera om jag skulle hamna i en liknande situation, började jag febrilt leta efter ”etik och ansvar” i alla ISTQB Syllabi (1). Jag sökte riktlinjer, stöd och råd. I Foundation Syllabus hittade jag en halv sida ”Code of ethics”. Där beskrivs (om än väldigt teoretiskt och övergripande) 8 områden att ta hänsyn till i sitt dagliga arbete.
De två första områdena är:
– Public – Certified testers shall act consistently with the public interest.
– Client and employer – Certified software testers shall act in a manner that is in the best interests of their client and employer, consistent with the public interest
Borde utvecklaren och testaren på VW ansett att kundens behov (en kod med avsikt att lura testinstitutens system) inte var i enlighet med ”Public interest”? Borde de ha vägrat att ta uppdraget? Skulle de gått till pressen? Man ska ju dessutom ha klientens eller uppdragsgivarens intressen i fokus.
Så hur slutade då lunchdiskussionen (som för övrigt sträckte sig längre än en lunch)? Vi kom fram till att:
– Det är inte enbart utvecklarens eller testarens ansvar eller uppgift att agera ”samvete”. Detta måste även komma långt tidigare i processen, från beslutsfattare högre upp. Kanske har utvecklare och testare inte kännedom om hela bilden och bakgrunden till alla beslut som tagits på vägen.
– Om du träffar på något som du anser vara oetiskt eller omoraliskt, påpeka detta skriftligen till din närmaste chef eller projektledare. Detta förhindrar kanske inte att programvaran kommer ut, men du har i alla fall påpekat något du tyckte var suspekt. Dessutom har du ryggen fri om en skandal är i annalkande.
Men detta var ju bara lunch-funderingar, från enstaka personer som inte var insatta i problemet, lösningen eller eventuella lagkrav som inte uppfyllts. Hur man ska agera beror troligen på många olika faktorer, olika från fall till fall, samt allvarlighetsgraden av konsekvenserna av det etiska ”övertrampet”. Och naturligtvis din egen moral och gräns för var etiska övertramp går. Det är lätt att beskriva vad man ska göra i teorin, men när verkligheten knackar på dörren blir allt mycket svårare.
Kanske är det därför ISTQB inte berör ett så svårt och känsligt ämne mer i detalj?
Förhoppningsvis har flera etik-diskussioner än vår ägt rum i fikahörn och konferensrum de senaste månaderna, till följd av avslöjandet av VW:s fadäs. Det är i så fall något positivt som denna ”etik-tsunami” drog med sig i svallvågorna!
Informator erbjuder flera spännande kurser inom Kravhantering och Testmetodik. Se alla våra kurser inom Krav och Test här
/Mikael Sten.
Test Engineer
Test Engineer