- Automatiseringskod är lika viktig som resten av kodbasen och ska versionshanteras och förvaltas på samma sätt av samma organisation.
- Automatiserade testfall är en del av förvaltningsobjektet och bör ligga hos berörd förvaltningsorganisation.
- Det är viktigt med en välgenomtänkt arkitektur och lämpliga abstraktionsnivåer för att inte bygga fast sig.
- Ett lämpligt automatiseringteam består av utvecklare som kan systemet, testare som kan domänen och en expert som kan automatisering.
- Börja enkelt med sånt som ger stor effekt, samt kan återanvändas och ge vinster för de manuella testerna.
- Man tjänar inte pengar på testautomatisering men däremot frigörs resurser för komplex manuell testning samt att man kan hålla ett högre releasetempo.
I mitt yrke som testare och testledare känner jag mig som mest hemma i ett agilt utvecklingsteam. I ett agilt team kan jag bidra så mycket mer än i en traditionell testorganisation. Istället för att verifiera en systemlösning i efterhand så kan jag arbeta med systemkvalité direkt från start. Jag tycker att testare borde vara mer aktiva i den agila världen och bidra till de agila arbetssätten med testexpertis. Det är vad den här bloggen handlar om.
fredag 31 augusti 2012
Talentum testkonferens
I början av veckan deltog jag på testkonferens i Stockholm arrangerad av NFI/Talentum. Konferensen bjöd på ett antal föreläsningar främst inom områdena agil test och testautomatisering. I slutet av konferensen samlades tiotalet deltagare i en workshop om testautomatisering. Denna workshop lotsades av Jonas Hermansson med sedvanlig säker hand och det var synd att inte flera personer deltog då det bjöds på många bra insikter och aha-upplevelser. Här är några punkter som jag tar med mig...
tisdag 21 augusti 2012
Insikter om ISTQB
Det går en skiljelinje idag mellan de testare som förespråkar traditionell testning och de som föredrar kontextdriven testning. Mitt i skottlinjen ligger ISTQB-certifikaten, som många av oss testare har och många organisationer efterfrågar. ISTQB-certifikaten har blivit en de-facto standard för testarbetet men det förenklade och smula dogmatiska innehållet gör att det ifrågasätts, främst av den kontextdrivna skolan. Eftersom det var ganska länge sen som jag tog min certifiering så satte jag mig ner för att fräscha upp minnet om vad ISQTB-syllabus verkligen innehåller.
Jag håller med om att ISTQB är skriven med ett genomgående självsäkert tonfall som får innehållet av verka mer vedertaget än vad som är fallet. Det är en teoretisering av samma typ man lär sig i skolan innan man förstår att den verkliga världen är mer komplex än vad lektionerna ger utrymme för. Det som jag tycker är mest graverande är dock tyngdpunkten vid traditionell testning och obskyra standarder. Många testare är påväg ifrån sådana begränsningar och om ISTQB ska vara relevant så borde man lämna utrymme även för kontextdrivna förhållningssätt.
Lite fler tveksamheter följer här:
Jag håller med om att ISTQB är skriven med ett genomgående självsäkert tonfall som får innehållet av verka mer vedertaget än vad som är fallet. Det är en teoretisering av samma typ man lär sig i skolan innan man förstår att den verkliga världen är mer komplex än vad lektionerna ger utrymme för. Det som jag tycker är mest graverande är dock tyngdpunkten vid traditionell testning och obskyra standarder. Många testare är påväg ifrån sådana begränsningar och om ISTQB ska vara relevant så borde man lämna utrymme även för kontextdrivna förhållningssätt.
Lite fler tveksamheter följer här:
- ISTQB gör ett stor nummer av skillnaden mellan "error", "defect", "fault", "failure" och "bug". Jag har aldrig förstått varför alla dessa distinktioner och nöjer mig med Rob Sabourins definition "To make our job more fun, whenever we have a concern with software, we call it a "bug".
- Att dela upp testarbetet i fem olika faser, varav en innehåller faktiskt testgenomförande till hälften, är inte bara vattenfall utan nedgradering av testarens viktigaste arbetsuppgift till förmån för administration. ISTQB's testprocess definieras såsom (planning and control, analysis and design, implementation and execution, evaluating exit criteria and reporting, test closure activities.
- ISTQB menar att oberoende leder till bättre tester. Jag tror att ett gemensamt ansvar för leverans och kvalité med testare som jobbar nära utvecklarna leder till oslagbara resultat.
- Integrationstester beskrivs som att systemkomponenter kopplas ihop och testas tillsammans innan systemtester tas vid. Systemintegrationstester nämns inte alls.
- Att ta upp "test design specification", "test case specification" och "test procedure specification" samt jämföra skillnader dem emellan är hårklyverier. Finns det organisationer som använder sig av alla dessa specifikationer och dokument. På samma sätt gör man en stor sak av skillnanden mellan "test policy", "test strategy", "master test plan" och "level test plan".
- ISTQB verkar närmast fixerad vid olika standarder och nämner IEEE-829, IEEE-1044, IEEE-1028, CMM, CMMi, TMM, TMMi och TPI. Jag har rätt ingående studerat IEEE-829 samt TPI och anser att det läggs alldeles för stor vikt vid dokumentation och frågan är om det gör att testerna blir så mycket bättre.
onsdag 15 augusti 2012
Trendspaning Testing Forum 2012
Kunde inte låta bli att publicera några synpunkter från talarna på kommande Testing Forum 2012. Det är måhända ursäktat eftersom jag ändå är en av dem som är med och tycker till...
Vilka trender och vilken utveckling ser du inom testing-området det kommande året?
Örjan Bjermert, Test Manager, Omegapoint:
Jag tror på flitigare användande av verktyg, automatisering och tekniknära tester. Till viss del kommer testprovisionen att delas upp mellan de som förordar kontextdrivna tester och de som föredrar mer traditionella testmetoder.
Anders Claesson, Senior Test Specialist, xdin:
Att nästan alla går över till att jobba i Agila projekt, även de stora företagen. För testningens del kommer erfarenhetsbaserade testtekniker att användas allt mer, t.ex. exploratory testing, riskbaserad test, m.fl.
Günter Lenhardt, Testspecialist, Wasa Kredit:
Testautomatisering och outsourcing kommer att spela en allt viktigare roll inom test.
Jagannath Tammeleht, OnTrax:
Jag tror att testområdet kommer fortsätta växa även om vi kan se en tydligare personalbrist. Vi kommer även se fler specialist inriktningar så som agilt, prestanda testning, automatisering, testledning, användartestning osv
Kristian Karl, Testchef, Spotify:
Ökad grad av testautomation
Ingvar Nordström, ordförande SSTB, vice ordförande SQEB och Beata Karpinska, ordförande SQEB, vice ordförande SST:
Agil utveckling sätter definitivt sina spår i testplanering. Om man inte ser upp, finns dock stora risker, att det påverkar grundtänkandet i test (att ha väl utvecklat tänkande för att hitta fel)
På vilket sätt har kraven på kvalitet ökat de senaste åren?
Örjan Bjermert, Test Manager, Omegapoint:
Förutom möjligen mindre överseende med teknikstrul så ser jag inte att kvalitetskraven har ökat. Det som däremot sker är att testobjekten blir allt mer komplexa och utvecklas under kortare tid.
Anders Claesson, Senior Test Specialist, xdin:
En ökad användning av Agila arbetssätt ställer högre krav på kvaliteten i och med att man ska ta fram potentiellt release-bar kod i varje inkrement.
Günter Lenhardt, Testspecialist, Wasa Kredit:
Kraven på kvalitet har inte ökat, utan det som har ökat är leveranshastigheten och därmed kraven på att få ut produkter med samma kvalitet som tidigare, dvs. vi måste kunna testa snabbare.
Jagannath Tammeleht, OnTrax:
Den globala konkurrensen inom de flesta branscher har gjort att företag idag inte har ”råd” att skapa mjukvara med dålig kvalitet. Dålig kvalitet kostar pengar både i goodwill, förlorade kunder och misslyckade projekt. Idag så är även kraven på time to market betydligt högre, det är inte möjligt att avvakta för länge för då har konkurrenterna redan tagit den delen av marknaden. Snabba kontinuerliga releaser kräver en hög kvalitet på produkten under hela utvecklinsarbetet för att inte riskera misslyckade releaser.
Kristian Karl, Testchef, Spotify:
Jag är inte så säker på att kraven på kvalitet har ökat, snarare att leverera 'just-in-time' med 'lagom' kvalitet.
Ingvar Nordström, ordförande SSTB, vice ordförande SQEB och Beata Karpinska, ordförande SQEB, vice ordförande SST:
- Ökad verksamhets- och behovförståelse
- Insikt att testningen som är utförd på rätt sätt, kan bidra till ökad kvalitet
Vilka är dina tre bästa tips för att ligga i framkant vad det gäller kvalitet och säkerhet?
Örjan Bjermert, Test Manager, Omegapoint:
Våga se bortanför de traditionella testmetoderna. Ta alltid fasta på det sammanhang och kontext som gäller för testobjektet. Var kritisk, och självkritisk, både gällande testobjektet och dina arbetsmetoder.
Anders Claesson, Senior Test Specialist, xdin:
Att ha en helhetssyn på systemutveckling, test och kvalitet. Det är inte test som är ansvariga för kvaliteten på systemet utan alla i projektet. Att lära sig hur man bäst använder erfarenhetsbaserade testmetoder.
Günter Lenhardt, Testspecialist, Wasa Kredit:
1. Automatisera allt som går att automatisera
2. Använd den mänskliga kreativiteten på rätt sätt
3. Bevaka din omvärld inom test
Jagannath Tammeleht, OnTrax:
Kompetenta medarbetare är A och O. Utan kompetenta medarbetare spelare det ingen roll hur mycket du försöker förbättra, du kommer ändå inte nå önskat resultat.
En bra och tydlig strategi/process för utvecklingsarbetet, om det saknas så blir även kvalitén lidande. Ofta så vet man inte riktigt vad man menar med exempelvis kvalitet, ska man mäta kvalitet behöver man först förstå vad som menas med det inom organisationen.
En arbetsmiljö som strävar efter att ständigt förbättra och optimera arbetet på alla nivåer. Det är viktigt att våga försöka förbättra och våga misslyckas, kan man skapa denna kultur inom organisationen så har man kommit långt när det gäller kvalitet och säkerhet.
Kristian Karl, Testchef, Spotify:
Förstå produkten och kunden! Ha koll på utvecklingsprocessen, och var beredd att ständigt förbättra den.
Ingvar Nordström, ordförande SSTB, vice ordförande SQEB och Beata Karpinska, ordförande SQEB, vice ordförande SST:
- Kompetens i test och kravhantering
- Analys och förståelse av kundensbehov och vad som skapar kvalitet för kunden
- Ett managementinitiativ (eller förståelse) att i längden kan kvalitet vara viktigare än tidsplan
Vad har du för förväntningar på konferensen Testing Forum och vad kommer deltagarna få med sig från din föreläsning?
Örjan Bjermert, Test Manager, Omegapoint:
Att ta del av alla spännande testidéer och arbetssätt därute. Jag hoppas bidra med praktiska exempel på hur man kan lyckas med testning inom agila team
Anders Claesson, Senior Test Specialist, xdin:
Att får nya idéer hur man effektiviserar sin testning.
Günter Lenhardt, Testspecialist, Wasa Kredit:
Jag förväntar mig höra om de nyaste utvecklingarna inom test och träffa kreativa kollegor inom området. Från min föreläsning får man med sig hur man gör för att sätta upp och genomföra en framgångsrik testautomatisering som ger många vinster och en lyckad förvaltning.
Jagannath Tammeleht, OnTrax:
Mina förväntningar är som alltid att lära mig något nytt, se vilka trender som kommer under 2012-2013. Jag hoppas kunna ge en liten annan ovanligare bild av agilt och test som har mer fokus på mjukare värden och organisationsförändring. Där många föreläsningar fastnar i test automatisering och verktyg så glömmer man ofta det viktigaste och det är den inställning som genomsyrar organisationen. Är den fel så blir det svårt att lyckas övergå till ett agilt arbetssätt.
Kristian Karl, Testchef, Spotify:
Bli inspirerade.
Ingvar Nordström, ordförande SSTB, vice ordförande SQEB och Beata Karpinska, ordförande SQEB, vice ordförande SST:
- Från vår föreläsning: Att testkompetens är oerhört viktigt inför den krävande agila verkligheten
Vilka trender och vilken utveckling ser du inom testing-området det kommande året?
Örjan Bjermert, Test Manager, Omegapoint:
Jag tror på flitigare användande av verktyg, automatisering och tekniknära tester. Till viss del kommer testprovisionen att delas upp mellan de som förordar kontextdrivna tester och de som föredrar mer traditionella testmetoder.
Anders Claesson, Senior Test Specialist, xdin:
Att nästan alla går över till att jobba i Agila projekt, även de stora företagen. För testningens del kommer erfarenhetsbaserade testtekniker att användas allt mer, t.ex. exploratory testing, riskbaserad test, m.fl.
Günter Lenhardt, Testspecialist, Wasa Kredit:
Testautomatisering och outsourcing kommer att spela en allt viktigare roll inom test.
Jagannath Tammeleht, OnTrax:
Jag tror att testområdet kommer fortsätta växa även om vi kan se en tydligare personalbrist. Vi kommer även se fler specialist inriktningar så som agilt, prestanda testning, automatisering, testledning, användartestning osv
Kristian Karl, Testchef, Spotify:
Ökad grad av testautomation
Ingvar Nordström, ordförande SSTB, vice ordförande SQEB och Beata Karpinska, ordförande SQEB, vice ordförande SST:
Agil utveckling sätter definitivt sina spår i testplanering. Om man inte ser upp, finns dock stora risker, att det påverkar grundtänkandet i test (att ha väl utvecklat tänkande för att hitta fel)
På vilket sätt har kraven på kvalitet ökat de senaste åren?
Örjan Bjermert, Test Manager, Omegapoint:
Förutom möjligen mindre överseende med teknikstrul så ser jag inte att kvalitetskraven har ökat. Det som däremot sker är att testobjekten blir allt mer komplexa och utvecklas under kortare tid.
Anders Claesson, Senior Test Specialist, xdin:
En ökad användning av Agila arbetssätt ställer högre krav på kvaliteten i och med att man ska ta fram potentiellt release-bar kod i varje inkrement.
Günter Lenhardt, Testspecialist, Wasa Kredit:
Kraven på kvalitet har inte ökat, utan det som har ökat är leveranshastigheten och därmed kraven på att få ut produkter med samma kvalitet som tidigare, dvs. vi måste kunna testa snabbare.
Jagannath Tammeleht, OnTrax:
Den globala konkurrensen inom de flesta branscher har gjort att företag idag inte har ”råd” att skapa mjukvara med dålig kvalitet. Dålig kvalitet kostar pengar både i goodwill, förlorade kunder och misslyckade projekt. Idag så är även kraven på time to market betydligt högre, det är inte möjligt att avvakta för länge för då har konkurrenterna redan tagit den delen av marknaden. Snabba kontinuerliga releaser kräver en hög kvalitet på produkten under hela utvecklinsarbetet för att inte riskera misslyckade releaser.
Kristian Karl, Testchef, Spotify:
Jag är inte så säker på att kraven på kvalitet har ökat, snarare att leverera 'just-in-time' med 'lagom' kvalitet.
Ingvar Nordström, ordförande SSTB, vice ordförande SQEB och Beata Karpinska, ordförande SQEB, vice ordförande SST:
- Ökad verksamhets- och behovförståelse
- Insikt att testningen som är utförd på rätt sätt, kan bidra till ökad kvalitet
Vilka är dina tre bästa tips för att ligga i framkant vad det gäller kvalitet och säkerhet?
Örjan Bjermert, Test Manager, Omegapoint:
Våga se bortanför de traditionella testmetoderna. Ta alltid fasta på det sammanhang och kontext som gäller för testobjektet. Var kritisk, och självkritisk, både gällande testobjektet och dina arbetsmetoder.
Anders Claesson, Senior Test Specialist, xdin:
Att ha en helhetssyn på systemutveckling, test och kvalitet. Det är inte test som är ansvariga för kvaliteten på systemet utan alla i projektet. Att lära sig hur man bäst använder erfarenhetsbaserade testmetoder.
Günter Lenhardt, Testspecialist, Wasa Kredit:
1. Automatisera allt som går att automatisera
2. Använd den mänskliga kreativiteten på rätt sätt
3. Bevaka din omvärld inom test
Jagannath Tammeleht, OnTrax:
Kompetenta medarbetare är A och O. Utan kompetenta medarbetare spelare det ingen roll hur mycket du försöker förbättra, du kommer ändå inte nå önskat resultat.
En bra och tydlig strategi/process för utvecklingsarbetet, om det saknas så blir även kvalitén lidande. Ofta så vet man inte riktigt vad man menar med exempelvis kvalitet, ska man mäta kvalitet behöver man först förstå vad som menas med det inom organisationen.
En arbetsmiljö som strävar efter att ständigt förbättra och optimera arbetet på alla nivåer. Det är viktigt att våga försöka förbättra och våga misslyckas, kan man skapa denna kultur inom organisationen så har man kommit långt när det gäller kvalitet och säkerhet.
Kristian Karl, Testchef, Spotify:
Förstå produkten och kunden! Ha koll på utvecklingsprocessen, och var beredd att ständigt förbättra den.
Ingvar Nordström, ordförande SSTB, vice ordförande SQEB och Beata Karpinska, ordförande SQEB, vice ordförande SST:
- Kompetens i test och kravhantering
- Analys och förståelse av kundensbehov och vad som skapar kvalitet för kunden
- Ett managementinitiativ (eller förståelse) att i längden kan kvalitet vara viktigare än tidsplan
Vad har du för förväntningar på konferensen Testing Forum och vad kommer deltagarna få med sig från din föreläsning?
Örjan Bjermert, Test Manager, Omegapoint:
Att ta del av alla spännande testidéer och arbetssätt därute. Jag hoppas bidra med praktiska exempel på hur man kan lyckas med testning inom agila team
Anders Claesson, Senior Test Specialist, xdin:
Att får nya idéer hur man effektiviserar sin testning.
Günter Lenhardt, Testspecialist, Wasa Kredit:
Jag förväntar mig höra om de nyaste utvecklingarna inom test och träffa kreativa kollegor inom området. Från min föreläsning får man med sig hur man gör för att sätta upp och genomföra en framgångsrik testautomatisering som ger många vinster och en lyckad förvaltning.
Jagannath Tammeleht, OnTrax:
Mina förväntningar är som alltid att lära mig något nytt, se vilka trender som kommer under 2012-2013. Jag hoppas kunna ge en liten annan ovanligare bild av agilt och test som har mer fokus på mjukare värden och organisationsförändring. Där många föreläsningar fastnar i test automatisering och verktyg så glömmer man ofta det viktigaste och det är den inställning som genomsyrar organisationen. Är den fel så blir det svårt att lyckas övergå till ett agilt arbetssätt.
Kristian Karl, Testchef, Spotify:
Bli inspirerade.
Ingvar Nordström, ordförande SSTB, vice ordförande SQEB och Beata Karpinska, ordförande SQEB, vice ordförande SST:
- Från vår föreläsning: Att testkompetens är oerhört viktigt inför den krävande agila verkligheten
fredag 10 augusti 2012
Agila testnivåer
Testnivåer används för att fokusera testarbetet och testa
utifrån olika egenskaper hos systemlösningen. Vid olika testnivåer upptäckts
olika typer av fel samt att de olika testerna skiljer sig i hur lång tid
genomförandet tar. Man börjar med basala tester av arkitektur och grundläggande
funktioner. Då får man snabb återkoppling om utvecklarna är på rätt spår. De
övre testnivåerna handlar om komplexa tester av komplicerade användarfall och systemsamband.
I den här bloggposten visar jag hur olika testnivåer kan kopplas till den agila utvecklingscykeln.
Ett vanligt synsätt är att man ska sträva efter att hitta
alla fel så tidigt som möjligt vilket beror på ett antagande att kostnaden för
att åtgärda buggar ökar med tiden. Jag anser att det inte nödvändigtvis är
sant. T.ex. är det kostsamt att hitta och rätta obskyra integrationsfel vid
tidiga testnivåer, utan tillgång till angränsande system. Sträva istället efter
att testa ekonomiskt och vänta med de komplexa testerna till senare faser.
Ifall de basala funktionerna åtgärdas tidigt, så kommer antagligen de felaktigheter
som upptäck senare att kunna åtgärdas relativt enkelt.
Några ryska matrushka-dockor får symbolisera olika
testnivåer. Varje testnivå har olika syften och tid för återkoppling till
utvecklarna skiljer sig åt.
TDD och parprogrammering
Testerna börjar redan medan utvecklarna skriver sin kod. Med
bra utvecklardiciplin kan många fel hittas redan från början. De fel som hittas
kan åtgärdas omgående och dessa typer av utvecklingsnära tester kan alltså bli
mycket effektiva. Ge utvecklarna tid för att experimentera med parprogrammering
och testdriven utveckling. Även testare och utvecklare kan arbeta i par och
bidra med respektive kompetens.
Continuous integration
Här handlar det om att implementera och integrera små
utvecklingsdelar i taget. När utvecklarna är klara med en delfunktion adderas koden
till den gemensamma kodbasen. Därefter följer ett automatiserat kodbygge med
ev. automatiserade modultester. Kodbygget kan även innehålla enklare regressionstester,
deploy till testmiljöer och liknande. Genom täta incheckningar och kontroller
av hur ny kod fungerar i systemet så kan avvikelser åtgärdas tidigt. En annan
fördel är att med continuous integration får man ett bra ramverk för
versionshantering, releasehantering och testautomatisering.
JAM-test
I det agila projektet finns behov av proaktiv testning av
utvecklingsaktiveter allt eftersom dessa blir klara. Eftersom
utvecklingsaktiviteterna ej är entydiga med användarfall eller testscenarier så
kan man inte tala om regelrätta systemtester. Syftet är istället för testarna
att ge så effektiv återkoppling som möjligt på de nyutvecklade funktionerna,
gärna med utforskande testtekniker. Jag kallar detta för JAM-test och redogör
för detta i tidigare blogginlägg.
ACT-test
I slutet av en agil utvecklingscykel ser jag ofta behovet att
göra systemtester och regressionstester på hela levererade kodbasen efter
kodfrys. Eftersom tidigare tester gjorts på delar av funktioner utifrån
delleveranser från utvecklarna så är detta kanske första gången som användarfall
kan köras i sin helhet. Det är också första gången som alla funktioner finns
med i en potentiell releasekandidat. Jag kallar detta för ACT-test och ser det
som ett koncentrerat hypereffektivt systemtest. Testerna är nu mer formella än tidigare
testnivåer och veriferar de användarfall som ska levereras utifrån de
testscenarier som skapats av testerna. Jag berättar mer om ACT i ett tidigare
bloginlägg.
Systemintegrationstest och acceptanstest
Systemintegrationstest och acceptanstest är väsenskilda de
övriga testnivåerna eftersom de ofta görs utanför den agila utvecklingscykeln. Dessa
tester innefattar angränsande system och organisationer utanför det agila
teamets kontroll. Man kan därmed inte ställa samma höga krav på effektivitet i
genomförande och återkoppling. Se till att planera för nödvändiga
testaktivteter och åsidosätt resurser i lämpliga sprintar så att teamets övriga
arbete inte blir lidande när systemintegrationstester och acceptanstester pågår
samtidigt som ordinarie utvecklingsarbete.
måndag 6 augusti 2012
Agila proaktiv testning och traditionell testexpertis
För en testare i ett
agilt team, upptagen med ett oändligt antal testaktiviteter, finns det alltid
en risk att bli alltför utvecklingsorienterad. Trots att man blir avbruten med
nya testreleaser varje dag så är det fortfarande viktigt att fokusera på
helheten, testtäckning och kravuppfyllnad. Mitt upp i det hela, när man frågar
sig hur en funktion verkligen ska fungera, så är det förförande enkelt att ta
till sig utvecklarens uppfattning. Resultatet blir att en oerfaren testare
börjar fokusera på ”vad som finns” när ”vad som saknas” förstås är lika
viktigt. Det är nödvändigt att den agila testaren ibland tar några steg
tillbaka och tänker på testaktiviteterna utifrån testtäckning, testscenarier
och testidéer. Att kombinera teknisk proaktiv testning med kravbaserade
traditionella tester, utan att låta någon av dessa stå tillbaka, är en riktig
utmaning för den agile testaren.
Det första som sker när ett agilt team startar en ny
utvecklingscykel är att den aktuella kravmassan bryts ner till underuppgifter
inför utveckling. Det är väldigt viktigt att testarna är med på dessa
aktiviteter. Att bryta ner krav till utvecklingsuppgifter hjälper testaren att
förstå funktionerna och låter testaren bidra med kunskap om testbarhet,
användbarhet och allmän systemkunskap. Vissa krav kan resultera i rena testaktiviteter.
Exempel är icke-funktionella tester (såsom prestanda, säkerhet, användbarhet,
förvaltningsbarhet et.c.) eller rena testaktiveter (t.ex. hantera testmiljöer
och arbeta med regressionstester). Testuppgifterna utförs och följs upp precis
som vanliga utvecklingsaktivteter. Kom bara ihåg att uppmärksamma tidsaspekten
så att testarna har tillräckligt med tid att utföra dessa uppgifter och
samtidigt kunna genomföra ordinarie testaktiviteter. Det är viktigt att
införliva testaktiviteterna i mängden av uppgifter i utvecklingscykeln, likväl
som rena utvecklingsaktiviteter.
I ett agilt team är det oftast fråga om ett par dagar innan
utvecklarna har funktioner implementerade och klara för test. Än kan man inte
förvänta sig att alla funktioner har grafiskt gränssnitt eller är fullständigt
integrerade. Till en början får man som testare oftast nöja sig med
databasscheman, fristående funktionslogik och liknande. Med lite teknisk
systemkunskap bör det inte vara något större problem att testa småbitar av
funktioner såsom de levereras. Ibland kan det vara en bra idé att låta testare
och utvecklare arbeta i par och nyttja varandras kunskaper för testning och
utveckling. När det inte finns några nya funktioner att testa finns det
fortfarande mycket att göra. Testare kan arbeta på nya testscenarier eller
testidéer utifrån krav och annan tillgänglig information. Testmiljöer, testdata
och testverktyg behöver sättas upp. Kanske finns det testautomatisering som
behöver utföras eller nya testmetoder och verktyg som är intressanta och
behöver utvärderas? Det är viktigt att testarna kan bidra med allt detta och
samtidigt fokusera på proaktiv testning.
En vanlig missuppfattning är att samtliga i ett agilt team
ska jobba med utveckling och göra ungefär samma saker. Det är förstås inte
sant. Alla har ett gemensamt ansvar för utveckling och kvalité men man kan
bidra till det övergripande målet utifrån olika roller. Ifall det finns någon i
teamet med ansvar för testplanering, testrapportering,
testmiljöer/-verktyg/-data (formellt eller informellt), så är det förmodligen
en testledare. Testledaren hör hemma i det agila teamet men eftersom det
knappast finns uppgifter för en testledare på heltid så funkar det jättebra att
komplettera med vanligt testarbete . Det behövs någon som har övergripande
kontroll över vilka tester som görs, systemets kvalité och vidareutvecklar
testarbetet. Ytterst är det testledarens ansvar att testarbetet skrider framåt.
Det är också viktigt att testningen sker så effektivt som möjligt och alltid
sträva efter förbättringar, antingen i testprocessen eller med hjälp av
förbättrat tekniskt stöd.
Med alla utvecklingsaktiviteter levererade och alla
delfunktioner individuellt testade, finns det en skaplig chans att också den
kompletta levererade funktionen kommer att fungera väl. Det är nu som testaren
måste byta fokus och verkligen verifiera funktionen utifrån krav, användarfall,
systemets kontext eller annan tillgänglig information. Ett bra sätt att göra
detta är att utgå från skrivna testscenarier eller checklistor. Testscenarier
behöver inte vara särskilt detaljerade så länge som de hjälper testaren att se
helheten och jämföra med vad som levererats. Nu testas hela användarfall
snarare än enskilda små funktioner. Väl beprövade traditionella testtekniker är
viktiga i vad som liknar ett traditionell systemtest, fast i kondenserad form.
Utvecklingscykeln avslutas vanligen med en sprintdemo,
”go/no go”-möte eller liknande. Där beslutas det om implementerade funktioner
är tillräckligt bra för release. Testarna demonstrerar de viktigaste
funktionerna och kravställarna uppmuntras att pröva egna testidéer. Testarna
delar med sig av sin syn på systemets kvalité och det bestäms ifall systemet är
tillräckligt bra för en release. En release kan sen göras till
acceptanstestmiljö, för ytterligare tester utanför teamet, eller direkt till
produktion.
1. Six development activities are
being developed.
|
2. Four of them are finished and
some successfully tested.
|
3. The rest of them are finished
and some more successfully tested.
|
4. When all of them are finished
and individually tested, chances are that the whole test case will be
successful even though it has not been run in its full extent before.
|
Prenumerera på:
Inlägg (Atom)