fredag den 27. december 2013

Se dig (ikke) tilbage

Skrevet af Bolette Stubbe Teglbjærg

Da jeg for en måneds tid siden spurgte på Twitter om der fandtes en blog på dansk om softwaretest, var svaret nej. Min medredaktør ville dog gerne som jeg starte en, og så var vi pludselig i gang.

Vi startede med en diskussion af hvad bloggen skulle hedde, og mit forslag ”pragmatisk test” fik Carsten helt op i det røde felt og triggede bloggens første indlæg: ”Nej, vi kan ikke bare være pragmatiske”.

Når jeg ser tilbage på det sidste år, så forstår jeg godt hvor mit forslag  kom fra. Altså hvorfor jeg ønskede et mere pragmatisk fokus på test end dét jeg havde haft og havde oplevet hidtil. Fordi – for mig er pragmatisk det samme som praktisk, og det er lige præcis dét jeg gerne vil være. Jeg vil gerne ændre noget, jeg vil gerne gøre en forskel. (Senere kom bloggen som bekendt til at hedde Refleksioner over software test og -udvikling)

Jeg deltog i oktober i en fantastisk Master Class i Rapid Software Testing (RST) afholdt af James Bach. Før og efter har jeg læst og dyrket alt hvad jeg har kunne finde om alternativet til ISTQB, dvs. det Bach og hans kumpaner kalder Context-Driven Testing og RST.

Jeg er en stor fan af Bach. Så stor en fan at jeg tror denne Master Class i RST har ændret mit liv. Fra at være en ikke så stolt, men trolig ISTQB certificeret tester (bl.a. på Nokia i mange år) med en lille gnavende følelse af faktisk ikke at have styr på hvad jeg lavede – og have vanskeligt ved at retfærdiggøre det testarbejde jeg udførte - er jeg nu et sted i mit liv og i min karriere som tester hvor jeg virkelig er i tvivl om hvad jeg har lavet indtil nu. Den lille gnavende følelse har gennem Bach fået noget at vokse af og er blevet et fuldvoksent råb som stiller spørgsmål til tingene. For hvad har jeg egentlig lavet?

Da vi i sidste uge på arbejdet havde besøg af to dygtige russere, som heldigvis er blevet en del af vores testteam, og jeg udarbejdede slides der skitserede vores tilgang til test, dukkede tvivlen op igen. For jeg skrev, at vi er inspireret af den kontekstdrevne skole og at vi praktiserer Exploratory Test (ET) og Session Based Testing (SBT).  Dette kombineret med deres spørgsmål om testmetoder, prioriteter og kvalitetskriterier gjorde, at jeg endnu engang måtte se mig tilbage. Og her slog det mig så: Vi kan ikke forklare det! Vi tester som vi gør, fordi vi ikke ved hvad vi ellers skal gøre. Bach og andre der mestrer kontekstdreven test, ville more sig kosteligt over dette.  Eller måske mest af alt nikke genkendende til det.

Den kontekstdrevne skole er en ekstrem stillingtagen til verden. Til test. Når man først er gået ind ad den dør kan man ikke lade være med at stille spørgsmål – til alt. Alt hvad kollegaerne siger, andre testere siger, udviklerne siger, ledelsen siger, skal pludselig udfordres – og man er dermed også tvunget til at tage stilling til hvad man selv mener.

Det er også en relativ indadvendt og personlig proces at foretage dette paradigmeskift fra traditionel ISTQB-fokuseret test til den kontekstdrevne tilgang. Det starter som tanker og fluffy idéer. Det er svært at gøre det håndgribeligt og samtidig er test cases, templates og best practices lige røget ud til højre.

Det er tid til at tage stilling til hvordan jeg tester i hver enkelt kontekst. Derfor længes jeg efter det pragmatiske eller det praktiske. Efter at kunne svare på – hvorfor tester jeg? Hvorfor tester jeg som jeg gør? Hvad er det vigtigste at teste? Hvilken metode bruger jeg?

Når jeg ser tilbage på det sidste år, ser jeg ikke mange svar på de ovenstående spørgsmål. Jeg ser dog, at jeg ikke har forholdt mig kritisk, og på bedste sokratiske manér er det vel også dét, Bach og den kontekstdrevne skole gerne vil opnå, at vi testere udfordrer det givne, ser på hvad vi har gjort indtil nu og tager stilling til, hvad det er vi gerne vil fremover.

Så ved du, hvad du gerne vil?

søndag den 8. december 2013

Kan vi ikke bare være pragmatiske?

Skrevet af Carsten Feilberg

At være pragmatisk betyder: at søge at opnå det der er muligt i situationen, modsat at være ideologisk og principfast.

Jeg har hørt en del testere ytre sig om, at vi må alle kunne enes og bare udvise en smule pragmatisme. Fra mit synspunkt er det en dødsejler. Ikke fordi jeg ønsker en debat for debattens skyld, tværtimod - jeg ønsker en debat der fører til noget! Og uden at tage åben stilling bliver det svært.

Der er mange eksempler og emner: certificeringer, standarder og selve tilgangen til test, blot for at nævne nogle få.

Godt nok er der en vis debat omkring certificeringer (og med god grund), men altid kun i en hvisken i krogene:
"Det kan jo ikke skade at blive certificeret," hører man når man lytter efter. Og "vi bliver vel nødt til det..". Og værst: "ja, jeg synes heller ikke det er noget værd, men hvad skal man stille op?"
Jeg er en smule træt af denne ligegyldighed. Tag dog stilling, og hold fast på hvad du mener. Det er vores job som testere at berette den sørgelige sandhed for dem vi arbejder for - hvorfor kan vi ikke også gøre det omkring de forhold vi arbejder under?
Vi kan starte med at teste certificeringen - dvs. at stille og få besvaret kritiske spørgsmål, med henblik på at kunne udrede og evaluere hvad det egentlig er for noget.

Hvem står bag ISTQB? Hvem skriver pensum-listen? Hvordan bliver pensum opdateret, når der sker noget nyt i testfaget ? Hvorledes er beslutningsprocessen om hvad der er væsentligt og vigtigt at vide om test-faget? Og hvordan kan det påvirkes? Hvordan er eksamensformen ? Indeholder den svagheder ? Hvor mange måder kan man f.eks. udfylde eksamensspørgsmålene på, og stadig bestå (hvor man måske ikke burde) - og omvendt ? Hvorfor er det lige ISTQB, der har patent på at udstede certificeringer ? Hvorfor kigger rekrutteringsbureauer lige efter dette og ikke efter noget andet ?

Mange spørgsmål - en del fløjter allerede rundt på blogs, twitter mv. Der kommer bare aldrig særligt mange svar. Det kunne der være en god grund til: Ét er, at ISTQB formelt set er en non-profit organisation, men man skal være ret så blind for ikke at se, at rundt om organisationen sidder der en mængde mennesker og tjener penge på at holde kurser og forestå certificeringer - mange er direkte involveret i selve organisationen. Så indirekte er det stadig bare en pengemaskine. Med slogans som at med blot en foundation certificering bliver alle testere meget dygtigere og tjener nemt kursusafgiften hjem på at finde en masse fejl, og dermed er det næsten 'gratis'  for arbejdsgiveren at sende sine testere til certificeringsmøllen.
Vel at mærke efter tre til fem dages kursus. Dage! Jeg har med 13-14 års erfaring i softwaretest fundet ud af, at der skal mere til end evnen til at sige ækvivalensklassepartitionering (en meget simpel og intuitiv test-'teknik', som er fast del af pensum).
Enhver må jo finde ud af med sig selv om man vil støtte dette foretagende eller ej. Jeg har for min part taget stilling. Jeg synes det er plattenslageri at påstå at certificering er en værdifuld uddannelse, især når man kan få det højeste niveau uden nogen har set én anvende teori i praksis. Ikke at kurserne ikke kan indeholder nogle gode ting - det er ikke mit argument - men de fører jo målrettet hen imod at kunne bestå certificeringen, og er derfor afgrænsede heraf.
Det er let at imødegå det mod-argument jeg oftest hører ("men det er jo hvad der ér!"), så findes der en mængde alternativer:
 Rapid Software Testing RST, der hører til i den lidt dyrere ende af træning inden for denne tilgang til test - eller BBST - i den meget billigere ende. Jeg har endnu ikke hørt nogen fortælle at de ikke var det værd - tværtimod.
Og så er der alle de gratis muligheder: AST har lagt en række keynotes fra konferencen CAST ud på youtube. ISST har i år 3 gratis webinars, som frit kan tilgås. EuroSTAR har tilsvarende en række webinars frit tilgængelige. Weekend-testing lever i bedste velgående. Praktisk taget hver weekend kan man lære mere om sit fag - på en gratis og sjov måde. Og ja, bøger og blade - dem er der mange af.. f.eks. Rikard Edgrens "Little Black Book on Test Design" - find den på nettet!

Hvad så med standarder ? Næsten samme historie. En lille, og meget lukket, gruppe af mennesker er i øjeblikket igang med at udfærdige en stor, samlet ISO-standard for test. Hvem er de ? Hvorfor gør de det og med hvilken ret? Hvorfor skal man overhovedet have en standard for test ? Det er lige så svært at få svar på disse spørgsmål, som det er at få indblik i hvad der skrives i den. Selv review-udgaver koster det penge at erhverve, og i virkeligheden kommer standarden (for den ender selvfølgelig med at blive udgivet) til at kun bestå af de få indviedes, koordinerede holdning. Ikke den brede masse af testere i verden's mening og erfaringer. Den skal nok skabe masser af problemer for os, hvis ikke vi siger fra. Og "vi" - det er jo alle os der faktisk arbejder med test, for alle andre vil pege på denne standard og sige: "bare gør som der står dér, så bliver alt nok godt".

Tilgangen til test er også under heftig diskussion i visse medier, men det er stadigvæk meget begrænsede grupperinger der deltager og diskussionen er helt fraværende når vi kommer ind på arbejdspladserne - dér hvor den i virkeligheden burde florére. Og det er synd, for her er der virkelig tale om et ideologisk opgør, der i bund og grund handler om, hvorvidt det er testeren og dennes kompetencer og færdigheder i situationen, der skal være udgangspunktet, eller om det skal være et sæt regler og procesbeskrivelser, udfærdiget af andre udenfor situationen (i både tid og rum - og kompetencer), der skal bestemme hvad testarbejdet er og hvordan det gøres ? Ja, jeg taler her om disputsen imellem standardskolen og den kontekst-drevne skole (hvis du ikke har hørt om testskolerne, så gå på google og søg på "schools of testing" - tag en kop kaffe til, for der er masser af læsestof).
Selvom nogle testere forsøger at nedtone betydningen af disse "skoler" (i betydningen: måder at tænke på), til punktet hvor selve deres eksistens drages i tvivl, så er det en meningsfuld måde at diskutere forskellene i holdninger på. Det er i bund og grund her, at værdien af test som disciplin evalueres: er det grundlæggende en ceremoniel handling, hvor der kan krydses af og nikkes, når blot de rette dokumenter, baseret på standardskabeloner, er udfyldt korrekt  (og med en tilpas mængde forudsigelighed, så projektlederens planer og estimater holder) - eller giver test en information, inklusiv en selvevaluering af informationens kvalitet, til beslutningstagere, når de skal bruge denne?

Dette kan være yderpunkterne jeg har beskrevet, men jo mere man gør sig til talsmand for at være pragmatisk og 'lad os nu bare enes om at komme videre' - jo mere undlader man at tage stilling og falder dermed til den mørke side, hvor test bliver mindre og mindre meningsfuld og blot en handling af ceremoniel karakter.

Hvad synes du? Skal test være underlagt bestemte standarder? Og certificeringer - styret efter deterministiske, liniære metrikker? Eller synes du at test er organisk, uforudsigelig, en udfordring af dit intellekt og dine færdigheder ?
Lad din stemme blive hørt.