Examensarbete Kandidatexamen

97  Download (0)

Full text

(1)

Examensarbete

Kandidatexamen

Testförbättringsmodeller för mjukvara i konsultverksamhet

En jämförande fallstudie mellan TIM och TMMi

Test Improvement Models for Software in a Consulting Business - A Comparing Case Study Between TIM and TMMi

Författare: Oscar Bäck, Mikael Falk Lundgren Handledare: Hans Rosendahl

Examinator: Serena Barakat Ämne/huvudområde: Informatik Kurskod: GIK28T

Poäng: 15 Högskolepoäng Examinationsdatum: 2020-05-20

Vid Högskolan Dalarna finns möjlighet att publicera examensarbetet i fulltext i DiVA.

Publiceringen sker open access, vilket innebär att arbetet blir fritt tillgängligt att läsa och ladda ned på nätet. Därmed ökar spridningen och synligheten av examensarbetet.

Open access är på väg att bli norm för att sprida vetenskaplig information på nätet.

Högskolan Dalarna rekommenderar såväl forskare som studenter att publicera sina arbeten open access.

Jag/vi medger publicering i fulltext (fritt tillgänglig på nätet, open access):

Ja ⌧ Nej ☐

Högskolan Dalarna – SE-791 88 Falun – Tel 023-77 80 00

(2)

Abstrakt:

Testförbättringsmodeller har utvecklats och blivit fler sedan 90-talet. Dessa modeller strävar efter att ge team och organisationer struktur inom testarbete. TMM, som är en av de äldsta testförbättingsmodellerna, togs fram i början av 90-talet och har sedan gett inspiration till flera testförbättringsmodeller med

mognadsnivåer. Två av dem är TMMi och TIM. Modellerna, som båda ursprungligen är bearbetningar av TMM, har olika strukturer när det kommer till hur olika delar av testfunktionen förbättras. I en fallstudie har TMMi och TIM jämförts mot varandra för att få fram skillnaderna i modellerna samt

rekommendationer hos ett team som arbetar med flera konsultuppdrag. TIM utvärderas även om hur aktuell den är i ett agilt konsultföretag.

Enkät och intervju användes för att samla in data och modellerna användes för att generera rekommendationer till teamet.

Det framkommer att TIM kan appliceras på en agil konsultverksamhet, främst för att TIM lägger fram vad som ska göras och det agila arbetssättet lägger fram hur det ska göras.

Den främsta skillnaden som upptäcktes mellan TIM och TMMi ligger i deras struktur gällande mognadsnivåer. TIM uppmuntrar till en balanserad förbättring genom individuell bedömning av

testprocessområden (KPA), så att det studerade teamet har en bättre förståelse för vilka av de som främst behöver förbättras, till skillnad från TMMi som är striktare vid sin bedömning.

TIM i förhållande till TMMi har rekommendationer som riktar sig till enskilda testare på en lägre mognadsnivå, vilket påverkar graden av självständighet för testning. TMMi:s rekommendationer betonar att röktester bör utföras av teamet i större utsträckning än vad som sker för tillfället.

Keywords: TMMi, TIM, Testförbättringsmodeller, Testprocessförbättring, Testprocess, Mognadsnivå

(3)

Abstract:

Test improvement models have evolved and become more common since the 1990s. These models strive to give teams and organizations structure in their testing work. TMM, one of the oldest models, was developed in the early 90's and has since provided inspiration for several test improvement models with maturity levels thereafter. Two of them are TMMi and TIM. Both models, which are further worked on from TMM originally, have two different structures when it comes to how different parts of the test function are improved. In a case study, TMMi and TIM have been compared against each other to identify the differences in the models and recommendations from a team working on several consulting assignments. TIM is also evaluated on how current it is in an agile consulting company. The

questionnaire and interview were used to collect data and the models were used to generate

recommendations for the team. It appears that TIM can be applied to an agile consulting business, mainly because TIM focuses on what to do and the agile methodology focuses on how to do it. The main

difference found between TIM and TMMi lies in their structure regarding maturity levels. TIM

encourages balanced improvement through separate assessment of key process areas (KPA), so that the studied team has a better understanding of which of them needs to be improved primarily, unlike TMMi, which is stricter in its assessment. TIM in relation to TMMi has recommendations aimed at individual testers at a lower maturity level, which affects the degree of independence for testing. TMMi's

recommendations emphasize that smoke tests should be performed by the team to a greater extent than is currently happening.

Keywords: TIM, TMMi, Test Process Improvement, Test Improvement Model, Test Process, Maturity Level

(4)

Innehåll

1 Introduktion... 1

1.1 Bakgrund ... 1

1.2 Problemformulering ... 2

1.3 Syfte ... 2

1.4 Mål ... 2

1.5 Avgränsning ... 2

2 Teoretisk bakgrund ... 3

2.1 Tidigare forskning ... 3

2.2 Testdokumentation ... 3

2.3 V-modellen ... 3

2.4 TMMi ... 4

2.4.1 TMMi-komponenter... 4

2.4.2 Processområden för mognadsnivåer ... 5

2.4.3 De fem mognadsnivåerna ... 5

2.4.4 Bedömningstyper ... 7

2.5 TIM - Test Improvement Model ... 8

2.5.1 Strukturen av TIM ... 8

2.5.2 Utvärderingsprocess för mognadsgrad ... 10

2.5.3 TIM:s relevans i nuvarande forskning ... 11

2.6 IDEAL och PDSA ... 11

2.7 Det agila arbetssättet och Jira Software ... 12

2.8 Configuration Management ... 15

2.9 Grad av självständighet ... 15

3 Metod ... 16

3.1 Forskningsprocessen ... 16

3.2 Litteraturstudier ... 17

3.3 Forskningsstrategi ... 17

3.3.1 Kritik av forskningsstrategin ... 17

3.4 Datainsamlingsmetoder ... 18

3.4.1 Enkät ... 18

3.4.2 Intervjuer ... 19

3.4.3 Datainsamlingskritik ... 20

3.4.4 Urval ... 20

3.5 Dataanalys ... 20

3.6 Modellval ... 23

3.7 Etik ... 23

4 Resultat och analys ... 24

4.1 Modelljämförelse innan utvärdering ... 24

(5)

4.2 Utvärderingsresultat ... 25

4.2.1 Resultat för TIM... 25

4.2.2 Resultat för TMMi ... 31

4.3 Rekommendationer ... 41

5 Slutsats ... 43

6 Diskussion ... 45

7 Referenser ... 47

8 Bilagor ... 50

Bilaga 1 ... 50

Bilaga 2 ... 55

Bilaga 3 ... 56

Bilaga 4 ... 57

Bilaga 5 ... 63

Bilaga 6 ... 64

Bilaga 7 ... 69

Bilaga 8 ... 71

Bilaga 9 ... 79

Bilaga 10 ... 84

Figurförteckning

Figur 1. V-modellen belyser varje steg i ett utvecklingsprojekt (Eriksson, 2008) ... 4

Figur 2. Överblick av TIM:s struktur gällande KPA, mål, aktiviteter och delmål. Utdrag från Ericson et. al. (1997) ... 8

Figur 3. Exempel på stapeldiagram för mognadsnivåer. Utdrag från Ericson et. al. (1997) ... 10

Figur 4. Stapeldiagram över antal artiklar, från 1997 till 2019, som refererar till TIM. ... 11

Figur 5. Visar en kontinuerlig cykel över det agila arbetssättet (SmartSheet, 2020). ... 12

Figur 6. Exempel på Jira-tavla (Atlassian, 2018) ... 14

Figur 7. Utdrag från Oates forskningsprocess (Oates, 2006) ... 16

Figur 8. Mognadsprofil för konsultverksamheten där alla KPA är på nivå 0 förutom Testware. Inspirerad av mognadsprofilen av Ericson et. al. (1997) ... 25

(6)

Tabellförteckning

Tabell 1. Strukturen av delmålen (Ericson, et. al., 1997) ... 9 Tabell 2. Strategier för att nå upp till en nivå (Ericson, et. al., 1997) ... 9 Tabell 3. Tabellen visar kriterier för att komma fram till den uppnådda nivån. (TMMi-Foundation, 2014, sid 14) ... 22 Tabell 4. Testmognadsmatris för TMMi ... 31 Tabell 5. Bedömningskategorier för testmognadsmatris ... 32 Tabell 6. En tabell som kartlägger vad (TIM) och hur (agila arbetssättet i form av sprint) det ska

genomföras. ... 43

(7)

Begreppslista

- Debugging: Processen för att identifiera och ta bort fel från hårdvara eller mjukvara.

- Buggar/Bugg: Fel i mjukvaran.

- IEEE (Institute of Electrical and Electronics Engineers):

Ett organ som fokuserar på att få fram teknologisk innovation via standarder och teknikutveckling (IEEE, u.å.).

- Process Area (PA): Process Area, eller processområde, är ett nyckelområde inom TMMi som är vad man bör fokusera på för att uppnå en viss mognadsnivå (TMMi-Foundation, 2018, sid 13).

- Key Process Area (KPA): Till skillnad från TMMi så har TIM KPA. Dessa KPA har separata nivåer och aktiviteter som talar om vilken nivå som den specifika KPA:n ligger på (Ericson, et.

al, 1997).

- Referentgranskning: Även kallat “peer review”.

- Röktest: Även kallat “smoke test”. Utförs vanligen i början av testexekveringen på komponent- eller systemnivå. Ändamålet är att försäkra sig om att de mest grundläggande funktionerna av mjukvaran fungerar innan man kör fördjupade detaljerade tester (ISTQB Glossary, u.å; Hindi F, 2013).

- Standard:

En formell (eventuellt obligatorisk) uppsättning krav som utvecklats och används för att

föreskriva konsekventa sätt att arbeta eller tillhandahålla riktlinjer, t. ex. IEEE-829 (B. Graham &

Van Veenendaal, E., 2014).

- Testprocess:

Omfattar en rad aktiviteter, eller steg, inom testning. Den avgör om utvecklingsprodukten för en viss aktivitet överensstämmer med kraven för den aktiviteten samt även om systemet och/eller mjukvaran uppfyller den avsedda användningen och användarnas behov (IEEE, 2008).

- Testfall:

Testfall består av input och förväntade resultat som tillsammans bestämmer om test objektet, t.

ex. den funktion i programmet som ska testas, blir godkänd eller inte (Test Cases, u.å.).

- GIT: Versionskontrollsverktyg, används för att hantera kod i projekt. Funktioner såsom push (lagra kod), pull (hämta kod) finns och även verktyg för att granska kod (GIT, u.å).

(8)

1

1 Introduktion

I introduktionsdelen beskrivs bakgrund, problemformulering, syfte, mål och avgränsning.

1.1 Bakgrund

Organisationer inom IT möter utmaningar som blir tuffare varje dag. Nedsatt “time-to-market”, krav på högre kvalité och pålitlighet inom mjukvaran samt reducerad kostnad. Mjukvara har en högt uppsatt roll i samhället då mer och mer samhällsviktiga funktioner digitaliseras (TMMi-Foundation, 2018). För att hjälpa organisationer med deras utvecklingsprocesser så publicerades CMM (Capability Maturity Model), skapad av Software Engineering Institute vid Carnegie Mellon University (Nayab, 2010). Denna modell beskriver fem nivåer av teknik- och ledningspraxis inom mjukvarutveckling. Den användes för att visa mognadsnivån hos företag i form av vad de är kapabla till inom sin utveckling. CMM blev populärt på grund av sitt stöd att ge företag konsistens, förutsägbarhet och tillförlitlighet i sitt arbete med att utveckla mjukvara. (Nayab, 2010).

Men CMM hade en brist när det kom till att täcka testning mer djupgående, vilket även ledde till att modellen TMM (Testability Maturity Model) skapades (Burnstein I. et al, 1996). I modellen

presenterades de fem mognadsnivåerna som tidigare använts av CMM, men mycket mer anpassade till testprocesser. TMM startades för att användas av både utvärderingsteam och utvecklingsgrupper. Detta för att förbättra förmågan att hitta testmognadsgraden bestående av olika nivåer, tidigare etablerat i CMM, och sedan ge förbättringsförslag i form av rekommendationer utifrån vilken nivå organisationen ligger på för mognadsnivå.

TMM kom dock inte heller utan brister. Enligt Ericson, Subotic & Ursing (1997) så adresserar inte TMM några aspekter av testning som är viktiga, t.ex. organisation.

En annan brist var att det ansågs vara svårt att avancera från inledningsnivån till nästa (Ericson et. al, 1997) . För att ta itu med bristerna hos TMM publicerade Ericson, Subotic & Ursing (1997)

testförbättringsmodellen TIM under 1997, som bygger på 5 key-process-areas (KPA) för testning:

Organisation, Planering och Sökning, “Testware”, Testfall och slutligen Granskning. Modellstrukturen om att ha alla KPA:s tillgängliga för individuell förbättring hade inte presenterats i andra modeller från det decenniet.

Även en vidarebearbetning av TMM framställdes av TMMi-stiftelsen, som 2008 publicerade TMMi (Test Maturity Model integration) (TMMi-Foundation, 2018). TMMi är uppbyggd som ett komplement till CMMi (Capability Maturity Model integration) fast mer specialiserat för testprocesser och dess förbättringsarbete, medan CMMi fokuserar huvudsakligen på metoder för mjukvaruutveckling (TMMi- Foundation, 2018). TMMi innehåller fler processområden än TMM och är uppdaterad för att vara i enlighet med nuvarande utvecklingsverksamheter (TMMi Foundation, 2018).

Trots att både TIM och TMMi har sitt ursprung i CMM och TMM så har de två olika synsätt på key-areas (KPA) och processområden (TMMi-Foundation, 2018; Ericson et. al., 1997).

Dessa två modeller kan appliceras enskilt på team- eller organisationsnivå.

För denna studie har en svensk konsultverksamhet inom digitalkommunikation valts ut, som består av flera team på olika orter i Sverige. Varje team har flertalet projekt som pågår samtidigt. Studien fokuserar på ett team som arbetar främst med webblösningar och har en rad projekt inom det området. Inom teamet hoppar nyckelpersoner mellan pågående projekt.

(9)

2

1.2 Problemformulering

Teamet har tagit upp att testning i vissa avseenden är mindre prioriterade än andra delar av deras projekt.

Det har uttalats att de inte har en tillräcklig testmetod eller tillvägagångssätt som täcker allt i en digital leverans. Systemtester har en tendens att lastas på någon annan (vilket vanligtvis faller på projektledaren) som hanterar dem. Då teamet jobbar med flera projekt samtidigt har test blivit mer av en budgetfråga. Då kunder bara har en viss avsatt budget för de projekt som teamet utvecklar så måste test anpassas efter kundens behov eller krav. Teamet har flertalet projekt men jobbar till stor del likadant med samtliga i form av sub-teams. Ett sub-team kan ha en andel av projekten som teamet sammanlagt har hand om. Med hjälp av testförbättringsmodellerna TMMi och TIM ska det studerade teamet vägledas genom framställda rekommendationer.

Studien ska även belysa hur TIM, en modell från 90-talet, står sig gentemot utmaningar och problem inom test i dagens konsultverksamhet. Med mål och aktiviteter från den modellen så ska denna studie, tillsammans med TMMi, lyfta fram skillnaderna mellan modellerna.

För att jämföra och utvärdera skillnaderna mellan modellerna har följande frågor formulerats:

- Står TIM upp mot dagens form av agil konsultverksamhet?

- Hur skiljer sig modellerna TIM och TMMi åt?

- Hur skiljer sig rekommendationerna åt mellan modellerna?

1.3 Syfte

Rapporten är en jämförande studie som har syftet att utöka vetskapen om skillnaden mellan två testförbättringsmodeller, som har samma ursprung från TMM och CMM, och som har kommit fram till två olika tillvägagångssätt och analysmetoder.

1.4 Mål

Målgruppen är personer som har ett intresse av en studie som behandlar testförbättringsmodeller och hur de kan användas i praktiken. Medelstora utvecklingsteam tillsammans med ledning (organisation) inom systemutveckling, som har behovet att förbättra sina testmetoder, kan även dra lärdom av resultatet och rekommendationerna som har genererats för teamet från de bägge modellerna.

För att tillgodogöra sig av rapporten så borde läsaren ha grundläggande kunskaper inom testning.

1.5 Avgränsning

Utvärderingen begränsas till ett team i en organisation och rekommendationerna tas fram baserat på en informell bedömning. Inga åtgärder kommer vidtas för att implementera rekommendationerna, då detta är en jämförande studie. På grund av att detta är en informell bedömning med TMMi-modellen så har vissa aspekter i bedömningen inte inkluderats.

Studien är avgränsad till att fokusera på modellerna TIM och TMMi med en utvärdering upp till

mognadsnivå 2. Anledningen till att ha satt utvärderingen på så låg nivå var att teamet vid uppstartsmötet inte hade övertygande bevis på att de kunde nå en högre nivå.

(10)

3

2 Teoretisk bakgrund

I följande text förklaras föregående forskning samt litteratur som behandlar forskningsområdet.

2.1 Tidigare forskning

Kring TMMi har tidigare forskning bland annat berörts av studenter från Linnéuniversitetet där de har använt TMMi-modellen för att utvärdera testprocesser på ett utvecklingsföretag och leverantör av IT- lösningar för skola och barnomsorg (Cosic et. al, 2012). De fann att verksamheten hade uppnått mognadsgrad 2, därefter gett rekommendationer för att uppnå mognadsgrad 3. En punkt för vidare forskning var att kunna jämföra TMMi med en annan modell för att se om mognadsgraderna mellan modellerna skiljer sig åt, samt om det fanns ett behov av att använda flera modeller för att komplettera TMMi.

Vidare har en rapport från Högskolan Dalarna tagit upp TMMi som en av två analysmetoder för att analysera en molnbaserad tjänst för mjukvaruutveckling (Hagman et. al., 2009). I studien presenterades resultatet av de två analysmetoderna med en testmognadsmatris, vilket gav inspiration till att även användas för denna studie.

Afzal, W, et. al. (2015) har i sin rapport en figur över relationen mellan olika testförbättringsmodeller.

För studien så har denna figur avskalats i syfte att ge läsaren en illustration över relationen mellan TMM, TIM, TMMi, samt även CMM och CMMi. Se bilaga 2 för den figuren.

2.2 Testdokumentation

För att tillhandahålla en gemensam uppsättning standardiserade dokument för alla typer av

mjukvarutestning så utvecklades standarden IEEE-829. Den definierar regler och föreskrifter för olika faser i testprocessen och hur man skriver dokumentation (IEEE-829, u.å). De faserna innefattar åtminstone en testplan, specifikation för testdesign/testfall/testförfarande, testloggar och rapporter för incidenter/release/summering (IEEE, 2008). IEEE-829 har släppts i tre iterationer, från 1983, 1998 och 2008.

TIM utgår från första iterationen, 1983, och TMMi från 2008 (Ericson, et. al, 1997; TMMi-Foundation, 2018). I dokumentationen för IEEE-829 från 1998 så tas inte eventuella omarbetningar upp från 1983, utan det sker först i dokumentationen från 2008. Den innefattar:

● Ändrat från dokument- till process-fokuserat

● Inkluderat integritetsnivåer

● Infört MTP (Master Test Plan) och MTR (Master Test Report)

● Aktivitet för att välja rätt dokument

● Rapport som ska utfärdas under testutförandet (IEEE-829, 1983; IEEE-829, 2008)

2.3 V-modellen

Modellen påvisar hur relationen mellan kravhantering, programmering och test ser ut (se figur 1).

Flödande från vänster till höger börjar det med kravspecifikationen. Dessa krav används sedan till acceptanstesterna för att bekräfta programmets funktionalitet.

Den nästkommande delen är övergripande design som används till systemtesterna. Därefter följs detaljerad design där implementeringen tas fram. Objektmodeller, databasmodeller och

komponentspecifikationer skapas av antingen en IT-arkitekt eller systemutvecklare.

(11)

4 Kodningen startar och följs av komponenttestning. När alla komponenter är på plats görs ett

integrationstest för att kolla om de funkar tillsammans. Detta efterföljs med systemtest som stämmer av om allt fungerar som det ska, som görs både hos teamet och även hos kunden till viss utsträckning.

Sista delen är acceptanstestet, vilket ofta görs av användarna, och är avgörande om systemet sätts i drift eller ej (Eriksson, 2008).

Figur 1. V-modellen belyser varje steg i ett utvecklingsprojekt (Eriksson, 2008)

2.4 TMMi

Test Maturity Model integration kan ses som ett komplement till CMMi (Capability Maturity Model integration) men med större fokus på testning. Modellen är uppbyggd i fem olika nivåer av

mognadsgrader och används för att hjälpa till med testprocessförbättring. TMMi-modellen kan tillämpas för att utvärdera vart företaget ligger i mognadsgrad men även för att ge vägvisning framåt till nästa nivå i modellen (TMMi-Foundation, 2018).

2.4.1 TMMi-komponenter

TMMi har en stegvis arkitektur för processförbättring. Vid varje steg (eller mognadsnivå) så finns olika processområden. Inom varje område finns tre typer av olika komponenter:

Nödvändiga

De nödvändiga komponenterna beskriver vad en organisation måste ha uppnått för att tillfredsställa ett processområde. De nödvändiga komponenterna använder sig av både specifika och generella mål för mätning (TMMi-Foundation, 2018).

Förväntade

Beskriver vad organisationer vanligtvis ska implementera för att nå en viss komponent, som kan vara

“vad förväntas av organisation X för att nå komponent Y?”. De förväntade komponenter innehåller praktiska saker som måste planeras och implementeras i organisationen (TMMi-Foundation, 2018).

(12)

5 Informativa

Hjälper organisationen att starta och tänka på hur man ska närma sig de nödvändiga och förväntade komponenterna. Innehåller praxis, exempel, noteringar och referenser (TMMi-Foundation, 2018).

2.4.2 Processområden för mognadsnivåer

Förutom mognadsnivå 1 så innehåller alla mognadsnivåer processområden (Process Area, PA) som ger indikation på vad organisationen fortfarande bör sikta på för att nå förbättring av sin testprocess. När alla PA för en viss nivå uppnås så går man vidare till nästa nivå. Notera dock att man fortfarande bör fokusera på föregående nivås processområden då de fortfarande är relevanta på högre nivåer. Se bilaga 5 för en figur av TMMi-modellens övergripande struktur.

Inom dessa processområden existerar specifika mål/SG (Specific Goal), och generiska mål/GG (Generic Goal) samt specifika aktiviteter/SP (Specific Practice) och generiska aktiviteter/GP (Generic Practice). Se bilaga 4 för innehållet av varje processområde i en mognadsnivå med enbart specifika mål och specifika aktiviteter (TMMi-Foundation, 2018).

SG är de egenskaper som måste finnas för att ett processområde kan anses vara uppnått. SP är en specifik uppgift om en aktivitet som anses vara viktigt för att uppnå specifika mål för ett processområde. GG och GP är generiska på så sätt att de förekommer som ett allmänt mål över en viss nivå. T. ex. GG 2

förekommer endast på nivå 2 och är självständig från andra PA som finns för den nivån (TMMi- Foundation, 2018).

Gällande TMMi:s begränsningar kring processområdena och aktiviteter så granskade Camargo et al.

(2013) TMMi genom en undersökning som konstaterade att TMMi har för många metoder som måste uppfyllas samt att alla är inte tillämpliga för mindre företag. Dessutom definierar modellen inga prioriteringar av aktiviteter eller beroenden mellan processområdena.

2.4.3 De fem mognadsnivåerna

För att se en avbildning av de fem nivåerna, se bilaga 3.

Nivå 1 - Initialt (Initial)

På denna nivå så är testningen högst underskattad, debugging är på denna nivå sedd som den enda testning som förekommer. Framgång här är högst beroende på enstaka personer och användningen av betrodda metoder är icke befintlig. Om test förekommer så är det spontant efter att koden är producerad.

Fokuset är till stor del att få fram kod som inte kraschar (TMMi-Foundation, 2018).

Nivå 2 - Hanterad (Managed)

Här blir test tydligt separerat från vanlig debugging. I sammanhanget av ett förbättrat testarbete så har en strategi för test grundats, som efterföljs under tider av stress och stor förändring. Inom testplanen så är också en testmetod bearbetad. Testplanen definierar vilken testning som krävs, när, hur och av vem.

Metoden är grundad på slutsatsen av produktens riskbedömning som genomförts. De risker som tas upp är bedömda utifrån de dokumenterade kraven (TMMi-Foundation, 2018).

Testningen är översedd och kontrollerad för att säkerställa att allt går enligt planen, om det skulle uppstå fel så finns åtgärder för detta. Man kan enkelt se hur arbetet går med testningen via gjorda testfall. Testfall skapas utifrån specifikationerna i kraven. Testning kan komma att starta sent i utvecklingscykeln (TMMi- Foundation, 2018).

Nivå 2-testning är “multi-level”, vilket innebär att det finns komponent-, integration-, system- och acceptanstestnivåer. För varje identifierad nivå finns det specifika testningsuppgifter.

I följande del förklaras kortfattat processområdena inom nivå 2:

(13)

6 - Testpolicy och strategi

I dokumentationen för TMMi (2018) står det att när en organisation vill förbättra sin testprocess bör den först definiera en testpolicy. Testpolicyn definierar organisationens övergripande testmål, mål och strategiska syn på testning (TMMi-Foundation, 2018, sid 24). En testpolicy är nödvändig för att uppnå en gemensam syn på testning och dess mål mellan alla intressenter inom en organisation (TMMi-

Foundation, 2018, sid 24).

- Testplanering

TMMi-Foundation (2018) nämner att en testplan måste innehålla testschema, testbemanning, intressenternas involvering, identifiera projektrisker och summering av testplanen.

- Testövervakning och kontroll

Syftet med testövervakning och kontroll är att ge en förståelse för testningens framsteg och

produktkvalitet så att lämpliga korrigerande åtgärder kan vidtas när testningen avviker avsevärt från plan- eller produktkvalitet från förväntningarna (TMMi-Foundation, 2018).

- Testdesign och utförande

Testdesign och utförande definieras av TMMi-Foundation (2018) som syftet att förbättra testprocessens kapacitet under testdesign och utförande genom att fastställa specifikationer för testkonstruktioner, använda testdesigntekniker, utföra en strukturerad testutföringsprocess och att man avslutar incidenter relaterade till testning (Mowat, P., 2017). Strukturerad testning innebär att testdesigntekniker tillämpas, som kan stödjas av verktyg (TMMi-Foundation, 2018). De specifika testdesignteknikerna som används (t.ex. black box, white box) mot testfall är baserade på nivå och typ av produktrisk identifierad under testplanering. Testincidenter ska ses över av en ledning (TMMi-Foundation, 2018).

- Testmiljö

Syftet med testmiljön är att etablera och upprätthålla en miljö, inklusive testdata, där det är möjligt att utföra testerna på ett hanterbart och repeterbart sätt.

En hanterad och kontrollerad testmiljö är nödvändig för alla tester. Det behövs också för att få testresultat under förhållanden som är så nära den verkliga situationen som möjligt (TMMi-Foundation, 2018).

Nivå 3 - Definierad (Defined)

Vid nivå 3 så är testning inte längre sedd som en fas som kommer efter kodning. Den är nu integrerad i utvecklingsprocessen, och testplaneringen är gjord i ett tidigt stadie. Testerna kan planeras samtidigt som kraven dokumenteras och sätts då in i en “Master Test Plan”, som bygger på kunskaperna kring

testplanering på nivå 2 (TMMi-Foundation, 2018).

Testning ses nu även som ett separat ansvarsområde i projektet. Organisationer har vid nivå 3 i vanliga fall förstått det viktiga med att ha en granskning av kvalitetskontrollen. Granskning kan ske över hela utvecklingscykeln. Testexperter medverkar i granskningen av kravspecifikationerna. Då testdesignen i nivå 2 fokuserade mest på funktionell testning så har nivå 3 expanderat in till icke-funktionell testning.

Användbarhet tas med i testningen i en större utsträckning än förut (TMMi-Foundation, 2018).

Den distinkta skillnaden mellan mognadsnivå 2 och 3 är avgränsningen till standard,

processbeskrivningar och procedurer. Det förekommer att organisationer måste justera processer från nivå 2 för att upprätthålla standarden till nivå 3 (TMMi-Foundation, 2018).

Processområden för nivå 3 är:

- Test av organisation.

- Test av träningsprogram.

- Test av livscykel och integration.

- Icke-funktionell testning.

- Referentgranskning.

(14)

7 Nivå 4 - Uppmätt (Measured)

Fördelen med att uppnå nivå 2 och 3 är att organisationen nu har en teknisk infrastruktur. Detta ger möjlighet till mätning av testprocessen på nivå 4. Processförbättringarna leder till en väl definierad process som har funktionalitet och effektivitet som kan mätas klart och tydligt. Mått är redan implementerade och används inom organisationen, då för att utvärdera kvalitén på testprocesserna, produktivitet och förbättringar (TMMi-Foundation, 2018).

Mognadsnivån innebär att det finns något angreppssätt för testning. Via utvärderingar av processen så får man fram ett optimerat sätt att angripa målet för att göra testning mer effektivt och produktivt (TMMi- Foundation, 2018).

Processområden för nivå 4 är:

- Testmätning.

- Produktkvalitétsevaluering.

- Avancerad kvalitetsgranskning.

Nivå 5 - Optimering (Optimization)

Framgångarna från föregående förbättringsmål har gett organisationen den infrastruktur för testning som stödjer en definierad och mätbar process. På denna nivå är en organisation kapabel till kontinuerlig förbättring av processer baserad på en kvantitativ förståelse av statistiskt kontrollerade processer. Vid nivå 5 är en optimerad och fulländad testprocess:

- Hanterbar, definierad, uppmätt, effektiv och produktiv.

- Statistiskt kontrollerad och förutsägbar.

- Fokuserad på förhindrande av defekt.

- Stöds med automatisering.

- Kan stödja teknologiska förändringar i organisationen.

- Kan återanvända tester.

- Fokuserad på processförändring för att nå kontinuerlig förbättring.

De processområden som infinner sig i nivå 5 är:

- Förebyggande av fel.

- Optimering av testprocessen.

- Kvalitetskontroll.

2.4.4 Bedömningstyper

Hur en utvärdering med TMMi skall utföras bestäms under TAMAR (TMMi Assessment Method Application Requirements), vilket är ett separat dokument av TMMi-Foundation som baseras på ISO- standarden 15504, som beskriver hur processer ska bedömas (TMMi-Foundation, 2014, sid 20; ISO/IEC 15504, 2012).

Det finns två typer av bedömningsmetoder. En som är formell och en som är informell, och det är den sistnämnda som används för denna studie. En formell bedömning innefattar en tillräcklig grad av noggrannhet och bevisbörda, och presenterar en fullständig mognadsanalys (TMMi-Foundation, 2014).

Den formella bedömningstypen kräver två ackrediterade bedömare, varav en har huvudansvaret, samt att ytterligare deltagare har kunskap sedan tidigare av att bedöma. För att tillgodose de uppsatta målen måste en bredare mängd data samlas in, som t. ex. obligatoriska intervjuer med personalen. Informationen måste styrkas av andra datainsamlingsmetoder (TMMi-Foundation, 2014).

En informell bedömning avser att ge en ögonblicksbild över vilken mognadsnivå som, utifrån TMMi- modellen, organisationen befinner sig i. Bedömningen kan skötas av en person och den som gör det behöver inte vara en ackrediterad bedömare men tidigare kunskaper rekommenderas ändå (TMMi- Foundation, 2014).

(15)

8 Med en informell bedömning så räcker det med att bara en typ av datainsamlingsmetod används (TMMi- Foundation, 2014, s. 9). I studien tillämpades även TAMAR i viss utsträckning för TIM.

Organizational Scope

Något som tas upp i TAMAR gällande utvärderingen är “organizational scope”, vilket menas med att när man tar sig an planering och förberedning av en utvärdering så måste man ha reflekterat över mängden modeller implementerade, storleken på projekten och storleken på teamet (TMMi-Foundation, 2014).

Detta kommer reflekteras över för båda modellerna.

2.5 TIM - Test Improvement Model

TIM skapades enligt Ericson et. al. (1997) på grund av den brist som dåvarande förbättringsmodeller hade gällande aspekter och tillvägagångssätt i förbättringen, såsom:

- “Key Process Areas” (KPA) hade bara en granskningsmetod vilket då var referentgranskning.

- CMM har specifikt misslyckas med att adressera strategiska påverkan så som mänsklig, kulturell och tid på marknaden.

- Begränsningen att ha en KPA fixerad på en nivå är för svår och hindrar utveckling av industrinormen.

Stor del av kritiken var mot CMM och delvis TMM, men man tog också stor inspiration från båda för utvecklingen av denna modell.

TIM används med två syften:

- Identifiera nuvarande status av testanvändning.

- Hitta en väg framåt till “destinationen/målet”.

2.5.1 Strukturen av TIM

Modellen består av två stora komponenter:

- Nivåstege med KPA.

- En tillvägagångsprocess.

Det finns fyra nivåer (eller fem om man räknar med “non-compliance”, vilket kan jämföras med TMMi:s Initial-nivå. TIM:s KPA är strukturerad med separata nivåer medan TMMi introducerar PA vid varje ny nivå). Namnen vid varje nivå anges som det “stora målet” man försöker nå, och detta mål innehåller mindre delmål som måste nås innan det “stora målet” kan räknas som uppnått (se figur 2).

Figur 2. Överblick av TIM:s struktur gällande KPA, mål, aktiviteter och delmål. Utdrag från Ericson et. al. (1997)

(16)

9

Tabell 1. Strukturen av delmålen (Ericson, et. al., 1997)

TIM nämner även strategier för att kunna nå upp till en nivå på valfri KPA:

Tabell 2. Strategier för att nå upp till en nivå (Ericson, et. al., 1997)

De KPA:s som nämns är:

- Organisation/Organization

- Planering och sökning/Planning & Tracing - Testware

- Testfall/Testcases - Granskning/Reviews

Se bilaga 1 för detaljerad beskrivning.

(17)

10 Det finns även aktiviteter inom varje KPA som bör göras för att förbättra testprocesserna. Dessa KPA:s till skillnad från CMM:s struktur är att ha särskilda KPA på en viss nivå och som sträcker sig över alla nivåer men avskilt från varandra. Om man bara fokuserar på området för organisation så kommer bara den att gå till nästa nivå.

Detta skapar upp för att man med ett visst oberoende av varandra ska kunna förbättra den KPA som upplevs mest behövlig. Resultatet som genereras är ett stapeldiagram där varje KPA är en stapel och varje nivå sitter på Y-axeln. Se figur 3 för ett exempel på hur det kan se ut.

Figur 3. Exempel på stapeldiagram för mognadsnivåer. Utdrag från Ericson et. al. (1997)

2.5.2 Utvärderingsprocess för mognadsgrad

TIM:s utvärderingsprocess består av två delar, själva utvärderingen och sedan utvecklingen av en förbättringsplan (Ericson, et. al., 1997).

Utvärderingen har tre delar:

1. Modellen och utvärderingsproceduren förklaras för individuella personer inom organisationen, som följs upp med representanter från alla delar av organisationen.

2. Utvärderingen görs via intervjuer, med strategiskt valda individer inom organisationen. Modellen används i samband med en enkät används för hitta vilken KPA som skall fokuseras på först.

Enkäten får inte innehålla ja- eller nej-frågor. Intervjuresultaten används senare i lösningsanalysen.

3. Resultaten av intervjuerna blir analyserade och presenterade som en mognadsprofil, där organisationens poäng för varje KPA är representerad.

Utvecklingen av förbättringsplanen inkluderar:

1. Lösningsidentifiering - Mognadsprofilen används för att med TIM:s strategier förbättra organisationen.

2. Lösningsanalys - Kombinerat från behov och visioner av organisationen.

3. Presentation - Förslagen till förbättring i kombination med resultatet av genomförandet (Ericson, et. al., 1997).

Key Process Area (KPA)

Level/Nivå

(18)

11

2.5.3 TIM:s relevans i nuvarande forskning

TIM (ursprungligen publicerat 1997) har refererats i olika artiklar. Den senaste var 2019 där TIM var en av sex kapabla testförbättringsmodeller att användas i Smart Grid:s testarbete (Hrabovská, K., et. al, 2019). Motiveringen till att inkludera TIM i den studien var för att definiera testprocessen och driva testprocessens förbättringsaktiviteter.

På Google Scholar går det att se TIM:s relevans i forskning. TIM har refererats totalt i 65 rapporter från publiceringsåret 1997 till år 2019. Mellan 2016 till 2019 har TIM refererats i 16 rapporter (se figur 4).

Figur 4. Stapeldiagram över antal artiklar, från 1997 till 2019, som refererar till TIM.

2.6 IDEAL och PDSA

TMMi och TIM ser informella bedömningar som en “quick check” och inte ett helt implementationsarbete (TMMi-Foundation, 2014, sid 9; Ericson, et. al., 1997).

Då modellerna inte har någon tillvägagångssätt för implementering så används metoderna IDEAL

(Initiating, Diagnosing, Establishing, Acting, Learning) eller PDSA (Plan, Do, Study, Act) för TMMi och PDSA för TIM. Dessa två metoder nämns i TMMi (TMMi Foundation, 2018, s. 204) och rekommenderas för att implementera de rekommendationer som framkommit under utvärderingen av mognadsgraden.

Ericson et. al. (1997) specificerar att TIM endast täcker “plan” i PDSA och att följande förändringar som framkommit i “plan” ska studeras vid implementeringen för att sedan uppföljas med “act”.

(19)

12

2.7 Det agila arbetssättet och Jira Software

Det agila arbetssättet

Det agila manifestet (Fowler, et. al., 2001) arbetades fram för lägga mer fokus på följande:

- Individer och interaktioner istället för processer och verktyg.

- Fungerande mjukvara över omfattande dokumentation.

- Kundsamarbete över kontraktsförhandling.

- Hantera förändring över att följa en plan.

Detta manifest vidarearbetades över de kommande åren och har legat som underlag för arbetsmetoderna Scrum och Kanban (Cleverpm, u.å.). Även fast Scrum och Kanban utformades från det agila manifestet så har de olikheter i sitt arbetssätt. Scrum delar upp sitt arbete i sprintar medan Kanban fokuserar på att ta arbetet efter prioritet. Kanban har en visualiserad tavla (se figur 6 för exempel). Scrum-team har med tiden lagt in Kanban-tavlan i sitt arbetssätt för att visualisera hur långt i arbetet de kommit (Lynn, R., u.å.).

Scrum-sprints är också uppdelade i mindre delar som genomförs. Ett exempel på en sådan uppdelning är från SmartSheet (2020, se figur 5).

Figur 5. Visar en kontinuerlig cykel över det agila arbetssättet (SmartSheet, 2020).

1. Här sker insamling och bearbetning av krav.

2. När alla krav är bearbetade så sätts en plan upp (testplan) för hur arbetet ska ske.

3. Hur produkten ska se ut när den väl är klar och här tas även funktionen fram.

4. Kodande av produkten efterföljs med enhetstestning och systemtestning. Test genomförs för att se om kraven överensstämmer med vad kunden vill ha.

5. Efter testning så levereras produkten till kund för de att använda.

6. Förvaltning av produkten.

För ett scrum-team så bearbetas hela flödet över den bestämda tidsramen som sprinten är, d.v.s om de har 3-veckors sprintar så genomförs aktiviteterna 1-6 under de tre veckorna. Hur länge varje del ska ta i sprinten är upp till teamet själva.

Enligt Ning Chen (2013) är standarden IEEE-829 inte helt i strid med implementeringen av det agila arbetssättet. Han påpekar att IEEE-829 inte är en spegelbild av V-modellen. Standarden har inte en inbäddad tidslinje som i V-modellen och den fokuserar främst på begreppet ”vad man ska producera”.

Den agila processen fokuserar huvudsakligen på "hur man producerar." Han stödjer ytterligare sitt

(20)

13 argument genom att tillhandahålla ett framgångsrikt försök där de integrerade dokumentationen för IEEE- 829 till en agil process med Scrum (Chen, N., 2013).

Jira Software

Jira Software (nämnt hädanefter endast som Jira) är ett projekthanteringsverktyg utvecklat av Atlassian.

Jira täcker testutförande, testfallsresultatinsamling, bearbetning, rapportering, täckningsanalys av funktioner samt userstories, statistikverktyg (Atlassian, u.å.).

Verktyget omfattar en mängd funktioner i de agila arbetssätten. Bland annat:

- Scrum- och Kanbantavlor.

- Roadmaps som visar mål över en större period.

- Agil rapportering.

- Koppla buggar eller funktioner i Jira till kod.

- Utökning med tillägg och applikationer som kan hjälpa till med det agila arbetssättet.

Det finns möjlighet med Jira att skapa så kallade RTM:s (Requirement Traceability Matrix) för att kartlägga testfall med testvillkor, men det finns inte med i Jira från början (Devinti.com, u.å). Det går även att i Jira använda testloggar (Atlassian Software Support, u.å.).

I övrigt så är Jira, enligt TMMi-Foundation (2018), ett agilt verktyg som möjliggör spårbarhet av user stories till krav (Mowat, P., 2017).

Med Jira så har utvecklingsteam än god och stabil grund att stå på för projektstyrning (Atlassian, u.å.)

(21)

14

Figur 6. Exempel på Jira-tavla (Atlassian, 2018)

(22)

15

2.8 Configuration Management

Configuration Management är en standard som används i ramverk såsom ITIL (Information Technology Infrastructure Library) och används i stor utsträckning för militär- eller flygrelaterade system

(Configuration Management, u.å; Axelos, 2016).

Configuration management har syftet att:

- Se till att när systemet (kod och dokumentation) är modifierad så ska det finnas goda skäl till varför. Dessa måste också vara kända, dokumenterade och spårbara.

- Se till att när en del av ett system är modifierat så modifieras också andra nödvändiga delar av systemet (som använder den modifierade delen).

- Se till att nödvändig version kan skapas och återskapas om det behövs. (Ericson, et. al., 1997)

2.9 Grad av självständighet

Det finns fyra självständighetsgrader inom testning, vilket beskrivs av Graham, D, et. al. (2008).

Det inleds med första graden, självtestning, som är när programmeraren testar sin egna kod (Graham, D, et. al., 2008).

I nästa grad, "buddy-testing", så testar utvecklarna varandras kod. Det kan däremot leda till att felaktigheter i koden inte blir dokumenterade för att utvecklarna fixar den på plats (Graham, D, et. al., 2008).

I den tredje graden testar alla mjukvaran (unit-test, systemtest, etc.), och inkluderar projektledare.

Fördelen är mer insyn i hur pass bra koden funkar och resulterar i mer uppfång av fel i koden. Dock, likaså i föregående grad, så kan det ske att teammedlemmen kan åtgärda felaktigheten utan att dokumentera den (Graham, D, et. al., 2008).

Slutligen för den sista graden så är det en annan organisation som testar mjukvaran. Det ger transparans då en individuell organisation har som mål att framföra riktiga resultat. Dock har de inte djupgående kunskap om hela kodbasen som en teammedlem kan ha (Graham, D, et. al., 2008).

(23)

16

3 Metod

I detta kapitel presenteras resonemanget för den valda metoderna och modellerna samt sätten att samla in data.

3.1 Forskningsprocessen

Baserat på Oates (2006) forskningsprocess är det de gröna komponenterna i följande figur som har valts ut för denna rapport (se figur 7).

Figur 7. Utdrag från Oates forskningsprocess (Oates, 2006)

(24)

17

3.2 Litteraturstudier

Litteraturstudien har använts för att få en teoretisk bakgrund för analysen. TMMi och TIM:s

dokumentation används som underlag för rekommendationerna. Bakomliggande teori (agila arbetssättet och Jira) används för att överväga vissa av rekommendationerna för att säkerställa hur relevanta dessa är för teamet. De främsta sökverktygen för information har varit Google Scholar, DiVA, Summon och Googles sökmotor. Söktermer var “TMM”, “testförbättringsmodeller”, “mognadsgrad”, “fallstudie”,

“agil”, “Jira”, “TMMi”, “TIM” “independence testing”, “IEEE”.

Wikipedia har använts för att kunna få en övergripande bild över ämnen som t ex

testförbättringsmodeller. Källorna från sökverktygen, om relevanta, har vidarearbetats och sedan

inkluderats i rapporten. DiVA och Google Scholar användes för att få fram tidigare forskning inom ämnet och relevanta studier inom testprocesser. Söktjänsten Summon användes bland annat för att studera IEEE- standarder kostnadsfritt genom att vara inloggad på högskolans konto. Google:s sökmotor användes för att få fram dokumentation om Jira och det agila arbetssättet. Researchgate användes till viss del för att få fram mer information om bakomliggande teorier kring TMM och TMMi.

Tidigare kurslitteratur såsom “Researching information systems and computing” av Oates, Briony J användes för att få fram forskningsstrategi och vad att ta till hänsyn för enkät och intervju.

Källkritik

Publiceringen av TIM skedde i den internationella journalen Software Testing, Verification and Reliability. De gör referentgranskning för artiklar som skickas in för publicering som utförs av utvalda personer hos journalen (Wiley Online Library, u.å). Eftersom att artiklarna går igenom granskning så kan det anses vara en pålitlig källa.

TMMi-modellen är publicerad av den oberoende, icke vinstdrivande organisationen TMMi-Foundation (Wells, 2005). TMMi är en vidareutveckling av TMM, som bygger på 40 års industriell erfarenhet av programvarutestning (Jacobs, J. et. al, 2000), vilket gör TMMi till en välgrundad och pålitlig modell avsedd för processförbättring.

3.3 Forskningsstrategi

Den valda forskningsstrategin är en fallstudie, som enligt Oates (2006) fokuserar på en instans av något som måste undersökas, till exempel en organisation eller ett informationssystem. Att välja en fallstudie som forskningsstrategi öppnar upp för att använda flera metoder för datainsamling, såsom intervjuer och enkät.

Som ansats är studien deskriptiv eftersom redan grundläggande kunskap finns etablerad genom

dokumentationer (Björklund et. al, 2012), där fenomenet blir testprocesserna och dess förbättring hos ett utvecklingsteam. Detta baserat på jämförelsen av två testförbättringsmodeller (Oates, 2006).

3.3.1 Kritik av forskningsstrategin

Det finns andra strategier än fallstudier och den som alternativt sågs över var Design and Creation.

Eftersom ändamålet inte är att skapa en IT-produkt utan istället komma med rekommendationer för konsultverksamheten baserat på redan befintlig teori, framför att upprätta en förbättringsmodell, så föll beslutet på att utföra fallstudie.

Det finns olika typer av fallstudier. Oates (2006) tar upp explorativa, deskriptiva och explanativa.

Björklund et al. (2012) skriver även om normativa studier.

(25)

18 Explorativa

Enligt Oates (2006) används för att definiera frågor eller en hypotes i syfte att hjälpa en forskare att förstå sig på ett problemområde som t ex saknar tidigare forskning för att skapa frågor till en enkät eller att uppnå en grundläggande förståelse för området (Björklund et. al, 2012).

Deskriptiva

Handlar om att analysera ett sammanhang och diskutera hur olika människor uppfattar vad som har hänt (Oates, 2006). Målet är att beskriva men inte förklara relationer (Björklund et. al, 2012).

Explanativa

Går djupare än en deskriptiv studie där en forskare ämnar att både beskriva och förklara (Björklund et. al, 2012).

Normativa

När det redan finns kunskap och förståelse för området, och att forskaren då avser att ge vägledning samt komma med åtgärder (Björklund et. al, 2012).

3.4 Datainsamlingsmetoder 3.4.1 Enkät

En enkät består av fördefinierade frågor utformad i en bestämd ordning som skickas ut till personer för att besvaras som forskaren sedan analyserar (Oates, 2006). De flesta enkäter är självadministrerande, vilket menas att den som ligger bakom frågorna inte behöver vara delaktig. Fördelen är att det besparar forskarens tid och att fler kan svara (Oates, 2006). Frågorna kan antingen vara att hen svarar öppet på frågorna eller tvingar dem till att välja mellan förutbestämda svarsalternativ i formen av stängda frågor (Oates, 2006).

TMMi-enkät

Vald metod för insamling av data är efter rekommendation av TMMi-Foundation och har utgått från TMMi:s dokumentationer Test Maturity Model integration (TMMi®) - Guidelines for Test Process Improvement samt TAMAR (2014).

Grunderna i enkäten för varje processområde och därmed TMMi:s mognadsnivå

kan härledas från specifika mål och aktiviteter, så varje aktivitet är egentligen ett påstående till enkäten för utvärdering av processområdet och mognadsnivå (TMMi-Foundation, 2018). Varje specifik aktivitet (per mål) kunde således betraktas som en checklista.

Enkätens påståenden täcker upp mognadsnivå 2 av 5. Se bilaga 6 för påståendena.

Enkäten bestod av en inledning och sammanlagt 58 stängda påståenden från skalan 1-5. Varje påstående hade den svenska översättningen och den engelska beskrivningen taget från TMMi:s dokumentation, så att den på så sätt täckte upp två språk.

När det var en fråga som hen inte vet svaret på skulle den lämnas blankt.

TIM-enkät

Enkäten för TIM utgår ifrån aktiviteterna listade för varje KPA som är anpassat efter nivå 1 och 2 för varje KPA. Enligt Ericson et. al. (1997) så ska enkäten endast belysa dessa aktiviteter i påståendena, samt

(26)

19 att man inte får skriva ja eller nej då det är en skala som ska räknas ut ifrån detta. Se bilaga 7 för påståendena.

Just hur skalan ska kalkyleras specificeras inte av Ericson et. al. (1997), men för just denna studie valdes fem svarsalternativ:

- Stämmer alltid (3)

- Stämmer för det mesta (2) - Stämmer delvis (1) - Stämmer inte (0) - Vet ej (Beräknas som 0)

Från denna skala kan man skapa ett medelvärde mellan 0-3 för att fastställa om de har avklarat en viss aktivitet. Valet att inte utesluta “vet ej”-alternativet baseras på vissa scenarion där t.ex. 10 personer svarar på enkäten, med 5 på “stämmer alltid” och 5 på “vet ej”. Om man utesluter dessa så skulle det leda till ett medelvärde av 3 (100%) och om man inte uteslutar de så får man ett jämställt medelvärde på 1.5 (50%).

3.4.2 Intervjuer

Trots att en informell bedömning med TMMi inte ställer krav på mer än en datainsamlingsmetod för att samla bevis utfördes ändå uppföljningsintervjuer (TMMi-Foundation, 2018). Frågorna som ställdes var utformade bland annat där enkätresultatens procentsats visade sig vara låg eller hög. Se bilaga 8 för procentsatserna från enkätsvaren och bilaga 10 för intervjufrågor.

Med TIM så rekommenderas intervjuer som datainsamlingsmetod. Om det under intervjutillfället skulle ske att den som intervjuas svarar ja eller nej på en fråga så måste detta följas upp med en diskussion för att komma till roten av åsikten (Ericson et. al., 1997).

Alla frågor som ställs under intervjutillfället täcker båda modellerna och sker flytande mellan varandra, vilket menas med att en fråga kan vara riktad mot TMMi och sedan följas upp med en fråga som är mot TIM.

Intervjun för TIM tar upp frågor som inte blivit besvarade i enkäten eller har till en stor del blivit “vet ej”- markerade.

Oates (2006) skriver att intervjuer ger möjligheten att djupdyka efter detaljerad information genom att ha möjligheten att ställa frågor direkt i form av en konversation. Enligt Oates (2006) krävs det planering och kännedom i hur en intervju ska utformas för att det ska bli framgångsrikt, där följande val av intervjutyp avgör hur samtalet kommer ske:

Strukturerad

Hen ska enbart besvara på förbestämda frågor, som är identiska för samtliga som deltar, medan

intervjuaren för anteckningar. Den enda konversationen som skulle kunna uppstå vore ifall hen behöver klarhet i en fråga (Oates, 2006).

Semi-strukturerad Samtalet är

dynamiskt på så sätt att intervjuaren kan när som helst ändra ordningen på frågorna och chansen att inflika med följdfrågor beroende på hens svar (Oates, 2006).

(27)

20

Icke-strukturerad Den här typen

av intervju ger mer kontroll till den som blir intervjuad. Intervjuaren inleder med ett ämne som hen sedan svarar öppet om, utan att bli avbruten (Oates, 2006).

3.4.3 Datainsamlingskritik

Med enkät så ska forskaren vara medveten om att stängda frågor kan leda till färre svar på grund av frustration hos personen som tar del av enkäten. Ytterligare så bör forskaren beakta att

självadministrerande enkäter inte lämpar sig för alla, trots bekvämligheten, framför allt för de med nedsatt syn eller läs- och skrivsvårigheter (Oates, 2006). För studien så har testpiloter fått ta del av enkäten innan utskicket går till de som egentligen ska svara. Detta för att minska risken för tvetydighet i formulären.

TIM har i enkäten sträckts sig två nivåer (Level 1 & 2) till skillnad från TMMi. Anledningen till detta är att TIM har mycket färre aktiviteter och aspekter än vad TMMi har (om man jämför med nivå 2 i TMMi).

Ericson et.al. (1997) beskriver att man helst inte bara går efter enkät och det leder till att inte alla

aktiviteter täckts i som utdelas till teamet. De frågor som blir över täcks upp i intervjuer som hålls efter att enkäten är utdelad och sammanställd.

Det forskaren måste fästa avseende vid är att om mognadsnivå 2 skulle vara uppnådd hos organisationen så hade en analys på nivå 3 krävts för att kunna ge relevanta rekommendationer.

Gällande intervjuer är forskarens sociala kompetens som intervjuare kritisk för hur resultatet blir.

Tidsaspekten är även det något som kan vara krävande eftersom själva intervjun med transkribering ska utföras (Oates, 2006).

3.4.4 Urval

De två urvalstekniker som finns är probabilistiskt, som innefattar random, systematic, stratified och cluster, och icke-probabilistiskt, som innefattar “purposive”, “snowball”, “self-selection” och

“convenience” (Oates, 2006).

Studien har valt att gå efter icke-probabilistiskt urval. Av de tillgängliga urvalsteknikerna valdes

“purposive”, dvs ett subjektivt urval, som var fördelaktig eftersom det erbjuder möjligheten att handplocka lämpliga personer och utifrån detta kan de svara på de frågor som ställs i enkäten och intervjun (Oates, 2006). Därmed har de som deltagit suttit inne med väsentlig information.

Enkäten var inriktad mot samtliga av teamets medlemmar. Intervjun hölls med en intervjuperson på distans som var arkitekt/testare, vilket spelades in och transkriberades, och två personliga konversationer med projektledaren och en arkitekt (arkitekt B) på kontoret.

3.5 Dataanalys

En kvalitativ analys innefattar alla icke-numeriska data, såsom ord, bilder och ljud, som finns i det insamlade materialet från enkät och intervjuer, medan en kvantitativ analys kretsar kring numerisk data och använder matematiska tillvägagångssätt för att undersöka och förstå data (Oates, 2006).

Som forskare finns det en risk med kvalitativ data att känna sig överväldigad av mängden data från till och med mindre intervjuer (Oates, 2006). Enligt Oates (2006) avstår många forskare analys av kvantitativ data eftersom de inte gillar att arbeta med siffror, trots att det finns idag mjukvaruprogram som kan göra arbetet åt de (Oates, 2006).

(28)

21 I studien används datainsamlingsmetoderna enkät och intervjuer som resulterade i både en kvalitativ och kvantitativ data. Enkäten resulterar i värden som används i en skala. Intervjuerna följer upp där enkäten slutade och är i formen semi-strukturerad vilket resulterar i kvalitativ data. Det kvalitativa data som framställs är transkriberingar.

När den kvalitativa dataanalysen sätts igång läser man igenom all data för att få en generell bild för att identifiera teman, där man använder sig av tre typer som är:

- segment som inte har något samband med själva forskningen och kan därför sållas bort.

- segment som förser med information som behövs för att läsaren ska förstå forskningssammanhanget.

- segment som är relevant för forskningsfrågan.

(Oates, 2006)

Enligt Oates (2006) så är det vanligt förekommande att använda ordinal data när siffror blir tilldelade ett värde efter svar, med 1 för “håller inte alls med” och 5 “håller med fullständigt”. För studien används ordinal data i en skala där siffrorna är från skalan 0-5 (Oates, 2006, s. 247).

Studien är en induktiv analys som innebär att slutsatsen baseras på tidigare erfarenheter, där forskaren samlar in information, analyserar och drar en slutsats. Trots att studien utförs enligt de bakomliggande teorierna från TMMi resp. TMMi så finns det ingen teori om vad studien kommer fram till för slutsats (Oates, 2006).

De rekommendationer som produceras har modellerna med dess dokumentation som underlag. Analysen tar också hänsyn till hur teamet arbetar och vilka verktyg de använder i dagens läge, samt en mindre analys över hur delmålen för TIM (se tabell 2) uppnås.

(29)

22

Tabell 3. Tabellen visar kriterier för att komma fram till den uppnådda nivån. (TMMi-Foundation, 2014, sid 14)

Enkätsvaren ska ge en uppskattning mot uppnådd nivå i utvärderingsmetoden (se tabell 3) från TAMAR (2014) och som kompletteras med intervjuer, vilket i resultatet avgör aktivitetens genomförande.

Ericson et. al., (1997) beskriver ingen metod eller kriterier för att analysera datainsamlingsmetoderna så därför används även utvärderingsmetoden för TIM.

För denna studie så var intervjuerna semi-strukturerade eftersom det finns tydliga riktlinjer att följa från modellerna TMMi och TIM för att få fram mer information. Detta ska leda till att kriterien “Not

Applicable” framkommer på de KA och KPA hos TIM som inte täckts till fullo i enkäten.

Enligt TAMAR ska bedömningen följa ordspråket ”en kedja är inte starkare än sin svagaste länk”

(TMMi-Foundation, 2014, s. 29). För TMMi ska betyget för varje processområde motsvara den lägsta graden av de specifika mål som stöder processområdet. Betyget för varje mognadsnivå ska motsvara den lägsta betygsättningen av processområdet som stöder mognadsnivån. En mognadsnivå kan bedömas som uppnådd om alla processområden har klassificerats antingen till “Largely Achieved” eller “Fully

Achieved” (TMMi-Foundation, 2014, s. 16).

Detsamma gäller även för TIM, vilket innebär att alla aktiviteter på en viss KPA för t.ex. Organisation, nivå 1, måste även uppfylla “Largely Achieved” eller “Fully Achieved” för att mognadsnivån ska anses vara uppnådd.

(30)

23 Som tidigare nämnts så behöver en informell bedömning inte följa TAMAR i sin helhet (TMMi- Foundation, 2014, sid 19), så som att mätningar tillämpas på aktiviteter, mål, processområden och mognadsnivåer, men för studiens syfte har bland annat TAMAR:s utvärderingsmetod inkluderats.

Jämställa resultatet av enkäterna

För att kunna jämställa resultatet mot TAMAR:s utvärderingsmetod så valdes det att räkna ut ett

medelvärde från poängen som varje påstående fick, då TMMi har en enkät med skalan 1-5 och TIM 0-3.

Med medelvärdet kan en procentsats kalkyleras på följande vis:

(𝑥̄ /𝑦) ∗ 100 = 𝑥̄

x̄ = Medelvärde från enkätsvar, y = högsta värdet i enkätskalan , x = procenten

3.6 Modellval

Enligt Tryqa (u.å) och B. Graham & Van Veenendaal, E. (2014) så är de vanligaste standardiserade testförbättringsmodellerna TMMi, TPI Next, CTP och STEP.

Baserat på sökandet som utförts inför studien efter tidigare forskning mellan TMMi och andra standardmodeller så har ett fåtal träffar förekommits.

Det hittades med sökverktygen dock inga träffar på någon studie med huvudsaklig inriktning på TIM och TMMi i praktiken hos en konsultverksamhet, vilket gör val av modellerna relevant eftersom ämnet inte är utforskat.

Intresset att studera TIM och TMMi låg främst vid att ge en inblick i vad det är för skillnad på

tillvägagångssätt från en äldre testförbättringsmodell som TIM, som trots sin ålder används i nuvarande forskning (se figur 4), med en standardmodell som TMMi och vad de två testförbättringsmodellerna kan generera för rekommendationer baserat på mognadsgrad.

CTP och STEP är modeller som inte implementerar konceptet av mognadsgrader, likt TMMi, TIM och TPI Next (B. Graham & Van Veenendaal, E., 2014). Beroende på organisationens behov så kan CTP och STEP vara mer lämplig att använda än exempelvis TMMi och TPI Next eftersom det inte är nödvändigt att förbättringar ska ske i en fördefinierad sekvens (Tryqa, u.å; B. Graham & Van Veenendaal, E., 2014).

Fördelen med TMMi är att den är från en självständig och opartisk organisation och att modellen täcker upp samtliga aspekter och nivåer av testning (komponenttest, integrationtest, systemtest, acceptanstest) (Hrabovská, K., et. al, 2019). TPI Next, å andra sidan, ägs av konsultbolaget Sogeti och som särskilt fokuserar på högre nivåer (systemtest, acceptanstest) (Sogeti, u.å; Hrabovská, K., et. al, 2019). Ibland uppfattas TPI Next som att den betonar aspekterna för den tekniska testtekniken för mycket och därför tilltalar främst erfarna testare (B. Graham & Van Veenendaal, E., 2014).

TIM är, som TMMi, baserat på CMM men till skillnad från TMMi inte så omfattande i KPA eller lika detaljerat (Wells, 2005). Fast som tidigare nämnt inte kräver att alla processer ska nå en nivå innan de går till nästa, till exempel Planering och Sökning, utan alla bedöms individuellt.

3.7 Etik

Enligt TAMAR (2014) måste datainsamlingen för de formella och informella utvärderingsmetoder vara konfidentiell, på så sätt att datakällan inte kan hänföras till någon person. För den informella

bedömningen behöver inte datainsamlingsmetoderna sparas (TMMi-Foundation, 2014, sid 18), men en viss spårbarhet finns för senare verifiering av bedömningsresultaten i form av bilagor för enkäten och transkriberingar av intervjuer. Deltagande i intervjun meddelas att de förblir anonyma. På enkäten ska inga personuppgifter samlas in och deltagaren blir noterad att denne kan avbryta medverkan när hen vill.

(31)

24

4 Resultat och analys

I kapitlet presenteras jämförelserna mellan TIM och TMMi före utvärderingen och resultatet av utvärderingen, med datainsamlingsmetoderna som analyserats mot modellerna, och sedan rekommendationerna.

4.1 Modelljämförelse innan utvärdering

Vid första anblick är den mest framstående skillnaden mellan modellerna att TMMi har de två dokumenten Test Maturity Model integration (TMMi®) - Guidelines for Test Process Improvement (2018) och TAMAR (2014) som ett underlag till förbättringsförslag, både på formell och informell nivå, medan TIM har en enstaka dokumentation. På grund av att dokumentationen för TIM inte specificerar hur vissa aspekter ska utföras så användes därför TAMAR (2014) som ett komplement.

Ericson, et. al. (1997) nämner att det är möjligt att göra en informell “quick check” som ett alternativ till den formella för att uppskatta mognadsnivån, och anser att man inte bara ska fokusera på enkäter utan intervjuer är den huvudsakliga metoden för analys. Den informella bedömningen för TMMi lägger dock inget fokus på varken intervjuer eller enkäter så länge åtminstone en datainsamlingsmetod används som bevis. Vid analys av de olika KPA:n i TIM så måste aktiviteterna tas till hänsyn, i det fallet att det skulle genomföras en enkät, för att sedan göra en övervägning vilken mognadsnivå som den hamnar på.

TIM har i sin struktur valt att ha alla områden (Organisation, Testware, Testfall etc.) i separata moduler med egna nivåer och det kan leda till att teamet eller organisationen väljer själva vilka områden de vill fokusera på.

Båda modellerna ger exempel på vad som bör arbetas med för varje aktivitet (PA för TMMi) och vilka saker som används vid varje aktivitet. De har även liknande mål när det kommer till vad som bör fokuseras på för varje nivå. T.ex. TMMi:s nivå 2 (1 för TIM) har liknande fokus på att sätta upp en standard och policy som sedan bör efterföljas. Det är stort fokus på de grundläggande principerna för test för att bygga upp en grund.

Den största skillnaden för första nivån är att TIM har valt att lägga fokus på att ha en testledare med ett team av testare. Anledningen som Ericson et. al. (1997) skriver är att testledaren och teamet ska starta en förbättringsplan inom organisationen för att få de upp till nästa nivå. TMMi-Foundation (2018) nämner att ett testteam brukar oftast ha ansvaret för att ha testprocessgranskningar tillsammans med intressenterna (se kapitel 2.4.3, TMMi nivå 3 - Definierad). De nämner också att det kommer att krävas en omdirigering av nuvarande resurser (personer) och lägger träning som en av aktiviteterna (se bilaga 4, PA 2.2, SG 4, SP 4.2).

Dock nämner TIM träning bara inom granskningstekniker och lägger dessa på ledningen (Ericson, et. al., 1997). Till skillnad från TMMi som tar vara på existerande medlemmar av teamet och ger förslaget att träna dessa istället, dock bara inom testning (PA 2.2 SG 4 SP 4.2) (TMMi-Foundation, 2018).

(32)

25

4.2 Utvärderingsresultat

Antal svar på enkäten var 11 för TIM och 9 för TMMi.

Enkätsvaren kommer tillsammans med intervjuer vara en del av bedömningen. Se bilaga 8 gällande enkätsvaren för TMMi och TIM samt bilaga 10 för intervjupersonens svar.

4.2.1 Resultat för TIM

I följande del kommer förklaringar till varför aktiviteter i KPA gavs en viss rating. Det redogörs även för vad TIM inte täcker som modell. För tabell över betyg se bilaga 9.

Nedan är en mognadsprofil för konsultverksamheten som presenterar resultatet för TIM (se figur 8).

Figur 8. Mognadsprofil för konsultverksamheten där alla KPA är på nivå 0 förutom Testware. Inspirerad av mognadsprofilen av Ericson et. al. (1997)

Teckenförklaring

ID - Ingen Data (från enkäten) Organisation (Nivå 1)

Avrundad procentsats för aktiviteterna i enkäten:

“Testning sker i enlighet med dokumenterad standard” - 18%

“Det finns en testledare” - 21%

“Det finns ett testteam” - 0%

Bedömning av aktiviteterna:

Dokumenterad standard för test finns det ej hos teamet, de tester som förekommer är av utvecklarna själva och sedan av en projektledare som utför systemtester. Både intervjun och enkätsvaren visar på inget användande av dokumenterad standard för testning. Detta leder till ratingen “N” på “Testning sker enligt dokumenterad standard”.

Projektledaren nämns som testledare men är löst kopplat till detta. Intervjun tillsammans med enkätsvaren gällande denna fråga påvisar att det har blivit en standard för projektledaren även agera som testledare

Figure

Updating...

References

Related subjects :