Testen geeft grip Michiel Vroon
...bugs in software
...en software zit overal
Het zorgt voor ongemak... 1. Insert card 2. Insert PIN 3. Enter amount 4. Take out card 5. Take out money
Kleinschalig of grootschalig
en ruïneert imago s
Het belang wordt groter
Wat is testen? Van Dale: toetsing van de kwaliteit, geschiktheid van personen of zaken Detectieve kwaliteitsmaatregel Vergelijken van een object met een norm Van Vinden van fouten naar Vertrouwen geven TMap: Testen is een proces dat inzicht geeft in- en adviseert over de kwaliteit en de daaraan gerelateerde risico s
Kwaliteit?
Kwaliteitsdimensies Verwachtingen en behoeften Eisen en specificaties
Testen is meer dan uitvoeren Requirements Ontwerp Realisatie Test? Gebruik & beheer Test- planning 20% Test- voorbereiding 40% Test- uitvoering 40%
Ontwikkelen, toetsen en testen Valideren en verifiëren Behoeftes, verwachting en Gebruik & beheer Requirements Validatie Acceptatietests Klant: Hebben we gekregen wat we wilden? Functioneel ontwerp Verificatie Systeemtest Project: Zijn we klaar om te leveren? Technisch ontwerp Verif Unit(integratie)- tests Engineer: Heb ik gebouwd wat ik zou moeten bouwen? Realisatie
Zeer late fout detectie Behoeftes, verwachting en Requirements Functioneel Ontwerp Technisch ontwerp Realisatie Unit(integratie)- tests Systeemtest Acceptatietests 70% van de bevindingen door onjuiste of onvolledige requirements! Gebruik & beheer
Eerdere foutdetectie Validatie en verificatie als continue activiteit Versie X Requirements Ontwerp Technisch ontwerp Realisatie Foutdetectie Unit(integratie)- tests Systeemtest Acceptatietests Versie X+1 Requirements Ontwerp Technisch ontwerp Realisatie
Voorwaarden continu testen Testen centrale plaats in project Betrokkenheid en participatie acceptant gedurende hele project (duidelijk wie acceptant is!) Kwaliteitsbesef gecombineerd met project succes Formele toets- en testontwerptechnieken Risico-gedreven testen Concrete quality gates Commitment management Gebruik Realisatie Beheer
Testontwerptechnieken Licht Gemiddeld Zwaar
Dekking Dekking is de verhouding tussen datgene wat getest kan worden en datgene wat met de testset getest wordt Dekkingsvorm: datgene wat getest kan worden Dekkingsgraad: datgene wat met de testset getest wordt
Zwaarder testen door Meer soorten zeven (meer dekkingsvormen) Fijnmaziger zeven (grondigere dekkingsvorm) Grotere zeven (hogere dekkingsgraad)
Basistechniek/dekkingsvorm Basistechniek is de wijze van afleiden van de testsituaties uit de testbasis die tot de gewenste dekkingsvorm leidt Paden Beslispunten Equivalentieklassen Pairwise testing Orthogonale arrays Grenswaarde analyse CRUD Operational profiles Load profiles Goedpaden/Foutpaden Afvinklijst Pairwise testing heeft tot doel om van elke willekeurige combinatie van 2 factoren alle mogelijkheden te testen.
Voorbeeld Kaartje kopen voor een treinreis, bij een automaat. De volgende parameters spelen hierbij een rol Soort reis : enkel; retour Klasse : 1 ste ; 2 de Betaalwijze : credit card; pinpas; contant Alle mogelijkheden van alle parameters met elkaar vermenigvuldigen. 2 x 2 x 3 = 12 testsituaties
Alle 12 mogelijke combinaties Soort reis Klasse Betaalwijze 1 Enkel 1 ste Pinpas 2 Enkel 1 ste Creditcard 3 Enkel 1 ste Contant 4 Enkel 2 de Pinpas 5 Enkel 2 de Creditcard 6 Enkel 2 de Contant 7 Retour 1 ste Pinpas 8 Retour 1 ste Creditcard 9 Retour 1 ste Contant 10 Retour 2 de Pinpas 11 Retour 2 de Creditcard 12 Retour 2 de Contant
En kijk nu eens hier naar! Soort reis Klasse Betaalwijze 2 Enkel 1 ste Creditcard 3 Enkel 1 ste Contant 4 Enkel 2 de Pinpas 7 Retour 1 ste Pinpas 11 Retour 2 de Creditcard 12 Retour 2 de Contant Ieder parameter-paar bevat alle mogelijke combinaties
Soort reis - Klasse Soort reis Klasse Betaalwijze 2 Enkel 1 ste Creditcard 3 Enkel 1 ste Contant 4 Enkel 2 de Pinpas 7 Retour 1 ste Pinpas 11 Retour 2 de Creditcard 12 Retour 2 de Contant
Soort reis - Betaalwijze Soort reis Klasse Betaalwijze 2 Enkel 1 ste Creditcard 3 Enkel 1 ste Contant 4 Enkel 2 de Pinpas 7 Retour 1 ste Pinpas 11 Retour 2 de Creditcard 12 Retour 2 de Contant
Klasse - Betaalwijze Soort reis Klasse Betaalwijze 2 Enkel 1 ste Creditcard 3 Enkel 1 ste Contant 4 Enkel 2 de Pinpas 7 Retour 1 ste Pinpas 11 Retour 2 de Creditcard 12 Retour 2 de Contant
Waarom Pairwise testing? Enorme reductie van testsituaties Bij 9 parameters met 2, 3 of 4 mogelijkheden - > 12.960 combinaties 23 combinaties met pairwise testen Grote foutvindkans Aanname: Fouten zijn zelden gevolg van combinatie van meer dan 2 parameters Onderzoeken tonen grote effectiviteit aan Meer informatie: www.pairwise.org
Samenvatting
Vragen?