Softwaretest på et øjeblik – eller to
Transcription
Softwaretest på et øjeblik – eller to
Softwaretest på et øjeblik – eller to Formålet med test: Skaffe information for at forbedre kvaliteten af - produktet (finde fejl) - beslutninger (kvantificere risici) - udviklingsprocesser (finde bagvedliggende årsager) Start her Forretningskrav Forretningsmål Anvendelse Vedligeholdelsestest Værktøjsstøtte til overvågning WWW.DELTAAXIOM.COM Afskaffelse Kontinuerlig analyse af brug og links Visioner for produktet Testpolitik Paradigmer Kundetilfredshed Testniveauer Kravtårn Afgrænsning, Risici, Testniveauer og for hver af disse: - Start- og slutkriterier - Standarder - Uafhængighed - Teknikker - Omfang af genbrug - Testmiljø(er) - Testautomatisering - Hændelseshåndtering - Gentest og regressionstest - Målinger - Konfigurationsstyring - mere, hvis ønsket R Hardware Standarder Produktkvalitetskrav ifølge ISO 9126 Funktionelle krav inkl. sikkerhed Ikke-funktionelle krav (funktionalitetsunderstøttende) Pålidelighed, brugbarhed, effektivitet, vedligeholdelsesegnethed, flytbarhed Resurser Tid Kravhåndtering Krav skal være - opnåelige - modificerbare - komplette - nødvendige - konsistente - utvetydige - verificerbare Sekventielle Testroller Vandfalds- og V-modeller T K I Kommunikation er Iterative & Inkrementelle: RAD, RUP, DSDM, Spiral og Agile I C Dette er det, jeg mener Dette er det, jeg siger Dette er det, jeg tror, du mener Testevner Dette er det jeg hører ’Bløde’ evner T D T Domænekendskab KI I C baggrund T D ITevner baggrund Testerevner T KI I C D Integration: Konstruktion fra genbrugskomponenter Risikoniveau = sandsynlighed x effekt - risikoidentifikation - risikoanalyse - risikoreduktion Forretningsrisiko og kvalitet Lavere risiko tilskyndelser motiver skabelon Startkriterier Organizational Process Performance 5 Optimerende 4 Kontrolleret Organizational Process Definition +IPPD Organizational Training Integrated Project Management +IPPD Technical Solution Product Integration Risk Management Verification Project Monitoring and Control 2 Configuration Management Supplier Agreement Management Requirements Management CMMI –processEngineering areas Project Management Process Management Slutkriterier Output Decision Analysis and Resolution Validation 2 Gentageligt Procedure: - Aktivitet 1 - Aktivitet 2 - Aktivitet n Quantitative Project Management Requirements Development Organizational Process Focus 3 God kode God test Dårlig kode Dårlig test Kendt kvalitet Ukendt kvalitet R Testplan Overordnet design Process and Product Quality Assurance Measurement and Analysis Support R T.p T.p R R Komponenttest R T.p R Værktøjsstøtte for D Værktøjsstøtte for Hukommelseslæk Vilde pointere Dækningsanalyse Performanceanalyse Kontrollerende handlinger Definition af kvalitetskriterier 1 Krav specifikation Design Test Validering Rapportering Verifikation Bruger Kvalitetstrekanten R juster et aspekt -> juster mindst to S Review-typer: uformelt review, walkthrough, teknisk review, ledelsesreview, inspektion, revision (audit) Statisk analyse D Dynamisk analyse med værkt. T Dynamisk test manuelt eller auto. Resurser - kontrolflow - dataflow - LCSAJ - kaldegraf - kodestandarder Risikoanalyse Værktøjsstøtte til Estimering Tidsplanlægning N N N N N N PA 5.1 N N N N N N PA 4.2 N N N N N N PA 4.1 N N N N N N PA 3.2 L L P F L P PA 3.1 L L P F L P PA 2.2 L L P F L L PA 2.1 F F L F F P PA 1.1 L F P F L P Identifikation 100 90 80 70 60 50 40 30 20 10 0 Overvågning og kontrol Aktion (gennemførelse) Læring TMM niveauer 3 4 5 6 7 8 Level 5: Optimization Level 5: Optimization, Defect Prevention and Quality Control Level 4: Management and Measurement Level 4: Management and Measurement • Software quality evaluation • Establish a test measurement program • Establish an organization-wide review program 3: Integration LevelLevel 3: Integration Initiering Diagnose (assessment) udvikling 9 10 • Control and monitor the test process • Integrate testing into the software cycle • Establish a technical training program • Establish a software test organization Etablering (planlæg, beskriv) 2: PhaseDefinition Definition Level 2:LevelPhase • Institutionalise basic testing techniques and methods • Initiate a test planning process • Develop testing and debugging goals TPI ® matrice Kvalitetssikring (du skal teste) – ISO 9000:2001 2. En kollega rei gruppen 4. Tester fra en anden gruppe 6. Ekstern testorganisation 2 3 4 Controlled 5 7 A 10 C C B 11 12 13 Optimizing D B C B B A A A A C A A C B A B B C B C C D C B B A C C B D C Teststandarder (du skal teste sådan) – BS-7925 – IEEE 829 – IEEE 1028 D C B A D B A A A 8 9 Efficient B A B A Domænespecifikke (du skal teste så meget) – luftfart – medicinsk udstyr – militært udstyr 6 B B A A Level 1: Initial 1. Producenten selv 3. Tester i samme gruppe 5. Ekstern testekspert 1 A A udvikl testcases A B B C Testprocedurer/ Testgruppe Testgruppe Testscript 1 2 3 4 testbart element Testdækning Årsager til fejltagelser Assessmentmodeller for testprocesser CTP: Critical Testing Processes STEP: Systematic Test & Evaluation Process TOM: Test Organization Maturity TIM: Test Improvement Model SQR: Software Quality Rank Andre relevante standarder – IEEE 610 + IEEE 1044 – ISO 9126 – IEEE/ISO 12207 – IEEE/ISO 15288 Tom De Marco Niveaulevel Niveaureport level Niveaureport testreport Niveautestrapport Testspecifikation Testanalyse og –designresultat Test group Test group Test group Testrapport 1. Resume 2. Variationer 3. Fuldstændighedsvurdering 4. Overblik over resulter 5. Evaluering 6. Overblik over aktiviteter R Testdesign Test group Test group Test group Testcase Test group Test group Test group Testcase Test group Test group Test group Test group Test group Test group Testcase Test case Test group Test group Test group Test group Test group Test group Test case group Test case Test group Test group group Test case Testcase Specifikationsbaserede Testimplementeringsresultat - ækvivalenspartitionering, grænseværdianalyse og domæneanalyse Testprocedure Test procedure - beslutningstabeller og Testprocedure årsags-/virkningsgraf Testprocedure - tilstandsovergang Testprocedure - klassifikationstræer og partest - use cases R - tilfældig Erfaringsbaserede Strukturbaserede - fejlgætning - instruktioner - checklister - beslutninger - udforskende White-box insektet - betingelser - angreb forgrening (ind) basisblok - LCSAJ Fejlbaserede - stier instruktion ------- klassifikation ------- fejlplantning betingelse ------------beslutning Arkivering - oplysninger - klassifikation - effekt Handling - oplysninger - klassifikation - effekt Skala 0 testbart element - det er menneskeligt at fejle! - misforståelser - forkerte antagelser - manglende domænekendskab - tidspres - kompleksitet - mental overbelastning - forstyrrelser - ‘besser machen’ Værktøjsstøtte for Debugning Undersøgelse - oplysninger - klassifikation - effekt • Test process optimization • Quality control • Application of process data for defect prevention Analytiske (risiko) Regressionsforebyggende (genbrug og automatisering) 2 …fortsat Standards Heuristiske (udforskende) 1 Hændelsesrapport Grad af uafhængighed – hvem designer testen Konsultative (domæne eksperter) Modelbaserede (brugsmodellering) Standardbaserede 0 l e v e r i n g l e v e r i n test g Ændring af testobjektet Erkendelse Undersøgelse Handling Reporting Reporting Reporting Reporting Reporting Rapportering Arkivering Ændringsstyring Opbevaring Test metoder kan være præventive eller reaktive Metodiske (check-lister) test Plan ved teststart Tidlige advarsler - starten er for hurtig - stigningen kommer for sent Procesforbedring PA 5.2 udvikling S-kurve – et overvågningsværktøj Testplanlægning og overvågning Kommunikation ISO 15504 – resultatprofil test Plan under udviklingen hed, synlighed og handling Værktøjsstøtte til Statisk analyse Styring (af hvad som helst) af udvalgte arbejdsprodukter , produktkomponenter , og produkter udvikling l e v e r i n g Følg altid op med: ærlig- Statisk analyse Tid Plan ved projektstart - opdater risikoanalyse - revider prioriteringer - juster resurser - juster tiden - juster slutkriterier Husk kvalitetstrekanten! Kvalitetssikring af alle arbejdsprodukter 10 testbart element R organiser i Testcase-design- teknikker Erkendelse - oplysninger - klassifikation - effekt fortsættes… Fejlsåning og - plantning R Component Component Component Komponent S Kodning T Testlogs logs Test Testlogs Hændelsesrapport udled testbetingelser lav høj-niveau testcases ved brug af testdesignteknikker % af det definerede dækningselement berørt af test Dækningselementer: - forretningsprocesser - krav, use cases - grænseflader - instruktioner, beslutninger, betingelser Testlukningsaktiviteter Simulation og emulation Optage/afspille Sammenligning R Rapport T T.p R Evaluering af slutkriterier og rapportering A fool with a tool is still a fool Værktøjsstøtte for Rapport Komponentintegrationstest R Detaljeret design Detaljeret design T Testspecifikation R R T Rapport R Systemtest Konfigurationsstyring Causal Analysis and Resolution Project Planning 1 Initielt Proces 4 3 Beskrevet Procesrisiko Input Organizational Innovation and Deployment Testspecifikation R R Overordnet design Kvalitet CMMI procesområder 5 Testplan Softwarekrav 100 Hjerneorienteret - ideskaber - evaluator - specialist Handlingsorienteret - starter - udfører - afslutter Menneskeorienteret - koordinator - formidler - kontaktskaber Konfigurationsstyring inkl. hændelseshåndtering Generelle procesCMM niveauer forbedringsmodeller Højere produktivitet Hvorfor arbejder vi? R Implementering og afvikling Rapport Systemintegrationstest 1000 Værktøjsstøtte til 0 sandsynlighed eller 0 effekt = 0 risiko R Systemkrav Ændringsrelateret - gentest - regressionstest Projektrisiko Risikostyring Testspecifikation R effekt og sandsynlighed Produktrisiko Kvalitative - slemt, værre, værst, forfærdeligt Risikoniveau kan bruges - 1, 2, 3, 4 - ikke sikkert, sandsynligt, meget sikkert til - prioritering af testopgaver Kvantitative - faktiske omkostninger i $ eller Kr. eller € - fordeling af tid på opgaver <= 10%, >10% <= 50%, >50% <=80%, > 80% opleve en uønsket negativ konsekvens af en hændelse eller et problem, som ikke har vist sig endnu, og muligvis aldrig vil gøre det T KI Testplan Produktdesign Nye områder - funktionel - ikke-funktionel - struktur/arkitektur Risikoskalaer skal defineres for både En risiko er muligheden for at T R Basisdokument Analyse og design R TT Projekttestrapport Fra testbasis til testspecifikation Testplanlægning Rapport Accepttest Produktdesign Testtyper = testmål Procesforbedring Fejlrettelse Hændelsesrapport Afvigelse Prisen for at rette en defekt afhænger af, hvornår den findes i forhold til, hvornår den først opstod! Belbin-typer: T Brugerkrav Validering: producerer vi det rigtige produkt? Verifikation: producerer vi produktet rigtigt? Det bedste (test)team kan være baseret på Testleder Testanalytiker / designer Testafvikler Reviewer / inspektør Defekt / Fejl Brugerkrav Vedligeholdelsestest af eksisterende produkter perifere enheder, andre systemer, værktøjer, data, manualer, rum, skrivematerialer, telefoner, mad, drikke D K T D Specifik Målbar Accepteret Relevant Tidsspecifik Test omgivelser Hardware, software, netværk, Ideskabelse Design Kodning Test I C En plan skal være - Intuition eller gætværk - Erfaringsmetrikker - Formelbaseret - Konsensus (Delphi) - 3-punkt (Successiv) Værktøjsstøtte til Udviklingsmodeller 1. Introduktion 2. Testgenstand(e) 3. Områder, der testes 4. Områder, testes ikke 5. Testtilgang 6. Bestået/fejlet kriterier 7. Udsættelseskriterier 8. Testleverancer 9. Testopgaver 10. Testmiljøbehov 11. Ansvarsområder 12. Medarbejdere/træning 13. Tidsplan 14. Risici R Teknikker til testestimering Projektkrav Pris Testplan Accepttest - bruger - operationel (OAT) - kontraktuel (FAT) - alfa og beta Systemtest Integrationstest - komponenter - system Komponenttest Omgivelseskrav Platform Fejltagelse R R R Teststrategi Testproces for alle testniveauer Overvågning og kontrol R Projekttestplan Nøgleområder Projektteststrategi Projektplan Integration R Overordnet teststrategi I Vær forberedt - - mainframe - simple systemer - PC-baserede - samlede systemer - client-server - kritiske systemer - Web-baserede - in-house - indlejret - kontrakt Integration - Definition af test - Testproces, der skal anvendes - Evaluering af testen - Kvalitetsmål - Forbedring af testprocessen forgrening forgrening (ud) (ud) beslutningsresultater En testcase skal have - en entydig identifikation - startbetingelser - input: data og handlinger - forventet resultat inkl. post-betingelser - sporing R En testprocedure skal have - en entydig identifikation - beskrivelse - præcise startbetingelser for testen - inkluderede testcases i afviklingsorden - post-betingelser - sporing R Sporing mellem krav og testcases - viser rationale - forebygger forglemmelser - forebygger ’forgyldning’ K. 16 TC 27 K. 17 K. 18 Nyttige testmålinger: - fremdrift af planlagte aktiviteter - antal specificerede testcases - antal afviklede testcases - antal beståede testcases - antal hændelsesrapporter - antal hændelser introduceret ifbm. rettelser - opnået dækning for specificerede dækningselementer - estimeret antal rest-defekter - udestående risikoområder - faktisk brugt tid sammenlignet med tilsvarende estimater - faktisk indsats for aktiviteterne - defect detection percentages = - hvilken testaktivitet er den mest effektive + hvilke testprocesser kunne forbedres - antal hændelser / komponent = - fordeling af defekter over produktet - fordeling af defekter på defekttype Hvis man ikke måler, har man kun én grund til at tro, at alt er under kontrol – hysterisk optimisme. TC 5 Værktøjsstøtte til Testspecifikation Skabelse af testdata Testorakel Samarbejdsmatrice 55 44 33 22 1 Modenhedsniveauer 1 2 3 4 5 Den gyldne regel for test: Test altid sådan, at lige meget hvornår du stopper, har du testet bedst muligt. Test er sammenligning af det, der er, med det, der skulle være © DELTA AXIOM, WWW.DELTAAXIOM.COM - Anne Mette Jonassen Hass, AMJ@DELTA.DK – baseret på ISTQB Certified Tester Advanced Syllabus 2007 og referencer deri, BS-7925-1:1998; IEEE Std. 610-1990; IEEE Std. 829-1998; og præsentationer på EuroSTAR konferencer af Lee Copeland, Stewart Reid, Martin Pool, Paul Gerrard, Grove Consultants, og mange andre. Grafisk rådgivning: EBB-CONSULT, Danmark Screen Beans® Clip Art, USA V. T-DK-0808