Testprocesser og målinger i test Jesper Schultz, Nykredit 19. november 2009
Agenda TMM måling og vores arbejde med at måle kvaliteten af den test der køres i projekter i Nykredit TMMi 2009 Baggrund Resultater Indsatsområder Eksempler Indsatsområder Værktøjer Måledata og tal
why bother? Høj modenhed = færre fejl Kilde: Erik van Veenendaal, Eurostar 2008, ISTQB VP og TMMi Vice-chair (KLOC = Kilo Lines Of Code) (FP = Function Points) (ISTQB = International Software Testing Qualifications Board) 3
Baggrund TMMi (Test Maturity Model integration) Komplementær til CMMi (Capability Maturity Model integration) CMMi er en procesforbedringsmodel for industrien, herunder også softwareudvikling.; men har ikke specielt fokus på testområdet TMMi er testmiljøets model for hvordan man specifikt forbedrer testarbejdet i sw.industrien 4
TMM-assessment 2005 - modellen Level 5: Optimization & Quality Level 4: Management & Measure Level 3: Integration Level 2: Structured test processes Level 1: Initial 5
Procent TMMi 2009 TMM-assessment 2005 - resultatet 100 90 80 70 60 50 40 30 20 10 0 Niveau 2 Struktureret forløb 83 80 Niveau 3 Niveau 4 IntegrationDelområder Styring og måling 100 90 80 70 60 52 26 Niveau 5 Optimerende, præventiv test 50 40 30 20 10 0 Mål Planer Testteknikker Testmiljø Konfig.styr Fejlrapporter Organisation Uddannelse Integration Egenskaber Opfølgning 6 Værktøjer Reviews Risikoanalyse Målinger Testbarhed Udvikling Optimering Vidensdeling Kvalitetskontrol Årsagsanalyse Færre rep.
TMMi 2009 hele modellen 7
Eksempel: Level 2 formelt TMMi level 2 Managed Test Policy and Strategy Officiel og godkendt overordnet model der udstikker rammerne for testarbejde og kvalitetssikring i koncernens udviklingsaktiviteter. (Nykredits Testmodel i NUK). Test Planning Teststrategien, risikobaseret test med bla. funktionelle, arkitekturmæssige, non-funktionelle (brugervenlighed, effektivitet, vedligeholdesvenlighed, pålidelighed) og forandringsmæssige (regression-) risici. Estimering og opfølgning på planer, ressourcer mv. Test Monitoring and Control Etabler mål for selve testarbejdet, accepttest for selve testen og følg op på begge mål-typer og foretag nødvendige planlægningsmæssige korrektioner for at opfylde mål og accepttestkriterier. (hhv. Teststrategi og Quality Center). Test Design and Execution Identificer testcases og tilhørende testdata ud fra kravstillelsen. Prioriter testcases, lav specifik testplan og gennemfør testfasen med opfølgning på testresultater og korrigerende handlinger og gen-test. Test Environment Etabler og vedligehold tilstrækkelige og robuste testmiljøer, incl. opdaterede testdata. Administrer og koordiner brug og tilgængelighed af miljøerne ift. brugerne (projekter). (Udviklingsmiljøer og IT-infrastruktur). 8
Eksempel: Level 2 oversat TMMi level 2 Managed Test er en specifik proces som er noget andet end debugging. Testfasen opfattes af mange interessenter fortsat som en fase der kommer efter kodefasen. Testarbejdet er baseret på en risikovurdering. Der arbejdes ud fra veldefinerede testplaner. Testarbejde behandles som en projektdisciplin med opfølgning og korrigerende tiltag ift. testplaner og -mål. Resultater og status fra testarbejdet er tilgængelige for projekt- og ledelsesrapportering. Der findes velbeskrevne procedurer for at komme fra kravspecificering til testcases. Test er delt op i Modul-, Integrations-, System- og Accepttest, med klare mål for hver testfase. Testmiljøer er tilgængelige, robuste og opdaterede. 9
Eksempel: Level 3 formelt TMMi level 3 Defined Test Organization Testorganisation med egen ledelse og budget. Fastlagte opgaver, ansvar og kompetencer for testere og testledere (managers, red.). Test Training Program Der er et uddannelsesprogram i test. Der er mål for uddannelsen og evaluering af uddannelsen. Test Life Cycle and Integration Test er integreret i udviklingsforløbet. Der er reelt samarbejde mellem testere og udviklere. Non-Functional Testing Der anvendes en standard for beskrivelse af egenskaber, fx ISO 9126. Den enkelte egenskabs relevans i testforløbet vurderes. Der bruges teknikker til test af hver egenskab. Egenskabernes endelige niveau måles og der afrapporteres på egenskabstestens resultater. Peer Reviews... 10
Eksempel: Level 3 oversat TMMi level 3 Defined (tidligere Integration) Test er ikke længere noget der blot ligger efter kodning; men er fuldt integreret ind i udviklingsdisciplinerne. Testplanlægning startes i de tidlige projektfaser i form af en 'master test plan. Der foregår en løbende videreudvikling og kvalitetssikring af testmodel og processer. Der findes en specifik Testorganisation og test-uddannelse(r). Test opfattes som en profession Testcases håndteres og forvaltes i et centralt værktøj. Der er værktøjer til at understøtte testaktiviterne. Formelle reviewprocesser er implementeret; men opfattes endnu ikke som en integreret del af testprocessen. 'Test professionals' er med til at review'e kravspecifikationer. Fokus udvides fra rent funktionel test (level 2) til også at inkludere non-funktonel test (brugervenlighed og/eller pålidelighed/robusthed). Udviklings- og testakviteter følger guidelines og procedurer nøje (i modsætning til level 2). Peer reviews? (Spørgsmål om uddybelse sendt til TMMi-foundation og Softwaretest 10. marts 09) 11
Eksempel: Level 4 formelt TMMi level 4 Management and Measurement Test Measurement Test er en gennem-defineret, grundlæggende og målbar proces. Organisation og projekter fastlægger kvantitative mål for kvalitet og proces-effektivitet og bruger disse mål til at styre efter. Product Quality Evaluations Mål for produktkvalitet og proceseffektivitet findes i målbare termer. Der samles løbende op på disse mål og de indgår i organisationens fact based decision making. Advanced Peer Reviews Review og peer inspektion betragtes som et naturligt element i Testarbejdet og bruges til at måle dokument-kvalitet. Reviews anvendes til i praksis at sikre bestemte forud definerede kvalitetsniveauer. Produkter/Software/Løsninger reviewes efter kvantificerbare kvalitets-kriterier, f.eks. stabilitet, usability, vedligeholdelsedgrad. Test består af alle livscyklus-aktiviteter der drejer sig om at kontrollere/evaluere produkter og tilhørende work products. 12
Eksempel: Level 5 formelt TMMi level 5 Optimization Defect prevention Fra at Test var en metode til at finde fejl, er Test nu en metode til at undgå fejl. Test Process Optimization Statistiske målinger driver forbedringer af testmodellen (Test process). Der opsamles hårde data på f.eks. konfidensniveauer, troværdighed, pålidelighed (confidense levels, trustworthiness, reliability). Værktøjer understøtter Test mest muligt: Testdesign og planlægning, Testudførsel, Regressionstest, Testcasemanagement, Defectshåndtering mv. Quality Control QC er en selvstændig del af Testmodellen og metodeapparatet og forfiner Level 4 s opsamling af hårde data fra projekterne og processen/modellen. 13
TMMi 2009 resultatet X X X X X X V V V X V V V V V X 14
Hvad nu? Vi har udfordringer på følgende områder: 1. Projekterne oplever stadig problemer med Testmiljøerne 2. Vi har ikke tilstrækkeligt fokus på test af non-funktionelle krav 3. Hvor meget Modul/Unittests gennemføres og dokumenteres vides ikke i tilstrækkelig grad Hvad gør vi? 1. Udviklingsmiljøer og IT-infrastruktur har pr. januar 2009 overtaget det fulde ansvar for testmiljøerne inklusive indhold (data), forvaltning, opsætning, forretningsgange og administration. Der er allerede iværksat en række tiltag, og flere er planlagt. 2. TestKompetenceCentret er i færd med at opdatere metodeapparatet med de nødvendige beskrivelser af processer, værktøjer og eksempler mht. test af non-funktionelle krav. Herefter vil viden om test af non-funktionelle krav blive udbredt i ITU i løbet af 2009 og -10. 3. Modultest udføres allerede det er opfølgning og styrbarhed, der skal forbedres. Det er primært en holdningsændring der skal til, og TKC har påbegyndt dette arbejde maj -09 og forventer et tilfredsstillende metodeapparat med tilhørende processer inkl. uddannelse og udbredelse i løbet af 2009-10. 4. Vi ønsker at forstærke arbejdet med udvalgte områder fra niveau 4/5 i TMMi-modellen. I første omgang fokuserer vi på Peer review/advanced peer review 15
lidt af hvert En smule: Metodeapparat, generelt Metodeapparat, specifikt Advanced peer review planer og tiltag Hvordan holder vi styr på projekterne og data? Hvilke data får vi ind? Hvordan ser resultaterne ud, og hvad er tendenserne? og er vi så færdige? 16
Eksempler - metodeapparat
Eksempler - metodeapparat, test af non.funk. krav SLUT 18
Eksempler: Kvalitetssikringskonceptet (adv. peer review) Behandling af reviewresultatet Projekt-specifikt-review IA review: SA screening: - KUDV-involvering/allokering - Tidlig eskalering - Formelle krav overholdt - De 10 bud / IT-strategi / Rammepapir / Koncernovervejelser - Plan og leverancer Teststrategi review - Formelle krav overholdt - Testplan og testindhold PI-review - Formelle krav overholdt - Services - Arkitektur, løsning og interface PU-review - Formelle krav overholdt - Services - Dokumentation - Services Optionelle reviews (eks.): - Begrebsmodel - Testcases - Usecases - Arkitektur/infrastruktur - Kodereview Kvalitetsplan
Eksempler: Opfølgning og indhentning af data
Eksempler: Kvalitet - Rå-data fra projekterne
Eksempler: Kvalitet Resultater (og tendenser)
Spørgsmål?
Slut