NGI-Noord Mei 2007 Tim Koomen Leo van der Aalst Michiel Vroon
TMap of TMap Next? • TMap • TMap Next • TMap Next
= methode = boektitel = externe communicatie.
Waarom? • Actualisering van de methode • Testen integraal onderdeel van grotere geheel • Diverse lijnorganisatievormen mogelijk • Testen zien als economische activiteit binnen IT • Sogeti en TMap relatie.
Klantbehoeften • Kwaliteit > afnemende fouttolerantie > toenemende complexiteit > ketenkwaliteit
• Kostenbeheersing > voorspelbaarheid > planbaarheid > stuurbaarheid.
Essentiemodel
Business Driven Test Management
Tim Koomen
Business case • Resultaat • Risico
• Tijd • Kosten.
BDTM Kritische succesfactoren Wijzigingsvoorstellen Requirements Business processen enz.
1 Formuleren opdracht en verzamelen testdoelen 2 Bepalen risicoklasse
Opdrachtgever
3 Bepalen licht/zwaar testen 4
5
Toewijzen testtechnieken Testbasis
Resultaat, Risico’s, Tijd en Kosten 6
Maken testgevallen Testuitvoering
Productrisicoanalyse (PRA) Stappen: • Bepalen deelnemers • Bepalen van de PRA-aanpak • Voorbereiden sessie/interviews • Verzamelen en analyseren productrisico’s • Volledigheidscontrole.
Productrisicoanalyse (PRA) Stappen: • Bepalen deelnemers • Bepalen van de PRA-aanpak • Voorbereiden sessie/interviews • Verzamelen en analyseren productrisico’s • Volledigheidscontrole.
Verzamelen en analyseren productrisico’s Stappen: • Bepalen testdoelen • Vaststellen relevante kenmerken per testdoel • Onderscheiden deelobjecten per kenmerk • Per kenmerk invullen van de risicotabel voor testdoelen en deelobjecten, waarbij deze stap is onderverdeeld in de volgende substappen: > > > >
•
Schade per testdoel Faalkans per deelobject Risicoklasse per testdoel/deelobject Bepalen risicoklasse per deelobject
Samenvoegen kenmerken/deelobjecten/risicoklassen in totaaloverzicht.
Testdoelentabel Soort testdoel Bedrijfsprocessen A en B
Omschrijving Processen A en B moeten na de systeemwijziging correct blijven werken. User requirements Toetsing van kredietwaardigheid moet mogelijk zijn Kritische Online offerte succesfactoren moeten binnen één minuut op scherm worden getoond. Kwaliteitsattributen Functionaliteit, performance, gebr. vriendelijkheid
Relevante kenmerken Functionaliteit, performance, gebr. vriendelijkheid
Functionaliteit
Performance
Functionaliteit, performance, gebr. vriendelijkheid, inpasbaarheid
Risicotabel Mastertestplan Kenmerk: Functionaliteit
Deelobjecten:
Deelsys1
Deelsys2 Totaalsys
H
M
L
Testdoelen Bedrijfsproces A
Faalkans Schade H
A
B
B
Bedrijfsproces B
L
C
C
-
A
B
B
Risicoklasse =>
Strategietabel Mastertestplan Kenmerk/deelobject RK Toetsen OT Functionaliteit - deelsys 1 A - deelsys 2 B - totaal B Gebr.vriendelijkheid B Performance - online B - batch C
ST
GAT PAT
I
I
Strategietabel Testplan Kenmerk Functionaliteit Gebr.vriendelijkheid
Deelsys1 A/ functionele -
Deelsys2 B/I -
Totaalsys B/ regressie B/ usability
Testontwerptabel Kenmerk Functionaliteit Functionaliteit
Gebr.vriendelijkheid
Deelobject Deelsys1 (A/) Totale systeem (B/) Totale systeem (B/)
Testvorm Functionele test Regressie
Technieken te1: steekproef ST te2: steekproef ST te3: DCT
Usability
te4: SUMI
Risico’s en testafdekking risico’s test dekking
Met opdrachtgever! risico’s
Plan: - strategie - begroting - planning
test dekking
Aangepaste aanpak: - strategie - begroting - planning risico’s
Uitvoering: - andere risico’s - minder testdekking
test dekking
BDTM • Claims > minder bedrijfsschade door falende software > inzicht in de noodzakelijke testinspanning > voortdurend inzicht in en sturing op voortgang en resultaten van het testproces > beheerste in-productie-name van het product met inzicht in de risico’s.
• Kenmerken > geeft opdrachtgever grip op het testproces, ook bij uitbesteding > communiceert met de opdrachtgever in zijn taal in de vorm van testdoelen > baseert testen op de productrisico’s > koppelt businessdoelen en testdoelen waardoor de juiste dingen getest worden > levert de juiste testdekking op de juiste plaats > maakt het resultaat van testen zichtbaar.
Volledige beschrijving van het totale testproces
Leo van der Aalst
TMap processen • Mastertestplan, managen van het totale testproces • Acceptatie- en systeemtesten • Ontwikkeltesten • Ondersteunende processen.
Mastertestplan, managen van het totale testproces • Fase Planning Mastertestplan Acceptatietest Systeemtest Ontwikkeltest Toetsen
Enkel overwegingen voor indeling testsoorten • • • • • • •
Ontwikkelmethode Organisatiestructuur Verantwoordelijkheden Belanghebbenden Risico’s Contractuele afspraken enzovoort.
Mastertestplan, managen van het totale testproces • Fase Planning én fase Beheer Mastertestplan Acceptatietest Mastertestplan
bewaken, rapporteren en Systeemtest uitvoeren bijsturen
Testplan per Ontwikkeltest testsoort Toetsen
Extra aandacht voor: business driven testmanagement testsoorten definiëren organisatie
Acceptatie- en systeemtesten TMap faseringsmodel Voorbereiding Specificatie Uitvoering Afronding Beheer B P
V
S
U
A
I
Planning
Inrichting en beheer infrastructuur
Activiteiten TMap (korte versie) Voorbereiding Voorbereiding
Specificatie Specificatie
opstellen opstellen specificaties specificaties definiëren definiëren uitgangssituaties uitgangssituaties specificeren specificeren intake intake testobject testobject
verzamelen verzamelen testbasis testbasis beoordelen beoordelen testbasis testbasis
Beheer Beheer
Uitvoering Uitvoering
beheren, beheren, bewaken, bewaken, rapporteren, rapporteren, bijsturen bijsturen intake intake testobject testobject (pretest) (pretest) klaarzetten klaarzetten uitgangssituatie uitgangssituatie uitvoeren uitvoeren (her)tests (her)tests B controleren controleren en en beoordelen beoordelen P
V
S
U
A
Afronding Afronding
evalueren evalueren testproces testproces conserveren conserveren testware testware
I Planning Planning
vaststellen vaststellen opdracht opdracht analyseren analyseren productrisico’s productrisico’s bepalen bepalen teststrategie teststrategie bepalen bepalen begroting begroting en en planning planning toewijzen toewijzen testtechnieken testtechnieken definiëren definiëren organisatie organisatie fixeren fixeren testplan testplan
Infrastructuur Infrastructuur
specificeren specificeren infrastructuur infrastructuur realiseren realiseren infrastructuur infrastructuur specificeren specificeren intake intake infrastructuur infrastructuur intake intake infrastructuur infrastructuur beheren beheren infrastructuur infrastructuur conserveren conserveren infrastructuur infrastructuur
“De uitklapflap”
TMap processen • Mastertestplan, managen van het totale testproces • Acceptatie- en systeemtesten • Ontwikkeltesten • Ondersteunende processen.
Volledige beschrijving testproces • Claims > volledige dekking van alles wat getest moet worden > planbaar en beheersbaar door volledigheid van de testactiviteiten > ketenkwaliteit door de juiste test op het juiste moment > helderheid in de (test)verantwoordelijkheden van de betrokken partijen.
• Kenmerken > deelt testproces op in fasen, activiteiten en producten > is geschikt voor alle soorten testen bij ontwikkeling en beheer > coördineert en stemt verschillende soorten testen op elkaar af > belegt taken en verantwoordelijkheden tussen betrokkenen.
Complete gereedschapskist
Leo van der Aalst
Gereedschap • Technieken > hoe wordt getest
• Infrastructuur > waar en waarmee wordt getest
• Organisatie > door wie wordt getest.
Technieken • • • • • •
Begroting Bevindingenbeheer Metrics Productrisico’s Testontwerp Toetsen.
testontwerp
Testontwerptabel
Strategie-keuzes waarmaken • juiste dekking op de juiste plaats Opdrachtformulering
Risicoanalyse
Teststrategie
Ontwerpen van testgevallen
Dekking
Testbasis
Testontwerptechniek
• vele vormen van dekking
Testgevallen
Van testsituatie naar testscript testsituatie Aantonen dat de afgesproken dekking gehaald wordt.
testgeval logisch testgeval
logisch testontwerp fysiek testontwerp
fysiek testgeval
Concreet uitwerken van testgevallen ter voorbereiding van de testuitvoering.
testscript
Testbasis
wens, wet, beleid, kans, probleem tes tba sis vo o
requirements
testba sis vo or
gebruik & beheer r
acceptatietests
testbasis voor
functioneel ontwerp
testb as
technisch ontwerp
is vo or
testbasis voor test b
realisatie
asis
systeemtests
voor
ontwikkeltests
Bouwblokken van een testontwerptechniek dekkingsvormen & basistechnieken
. . .
testontwerptechnieken
Dekkingsvorm “Pairwise testing”
Voorbeeld Kaartje kopen voor een treinreis, bij een automaat. De volgende parameters spelen hierbij een rol > Soort reis : enkel; retour > Klasse : 1ste; 2de > Betaalwijze : credit card; pinpas; contant
Testsituaties alle combinaties • 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
1ste
Pinpas
2
Enkel
1ste
Creditcard
3
Enkel
1ste
Contant
4
Enkel
2de
Pinpas
5
Enkel
2de
Creditcard
6
Enkel
2de
Contant
7
Retour
1ste
Pinpas
8
Retour
1ste
Creditcard
9
Retour
1ste
Contant
10
Retour
2de
Pinpas
11
Retour
2de
Creditcard
12
Retour
2de
Contant
En kijk nu eens hier naar ! Soort reis
Klasse
Betaalwijze
2
Enkel
1ste
Creditcard
3
Enkel
1ste
Contant
4
Enkel
2de
Pinpas
7
Retour
1ste
Pinpas
11
Retour
2de
Creditcard
12
Retour
2de
Contant
Ieder parameter-paar bevat alle mogelijke combinaties.
Soort reis - Klasse Soort reis
Klasse
Betaalwijze
2
Enkel
1ste
Creditcard
3
Enkel
1ste
Contant
4
Enkel
2de
Pinpas
7
Retour
1ste
Pinpas
11
Retour
2de
Creditcard
12
Retour
2de
Contant
Soort reis - Betaalwijze Soort reis
Klasse
Betaalwijze
2
Enkel
1ste
Creditcard
3
Enkel
1ste
Contant
4
Enkel
2de
Pinpas
7
Retour
1ste
Pinpas
11
Retour
2de
Creditcard
12
Retour
2de
Contant
Klasse - Betaalwijze Soort reis
Klasse
Betaalwijze
2
Enkel
1ste
Creditcard
3
Enkel
1ste
Contant
4
Enkel
2de
Pinpas
7
Retour
1ste
Pinpas
11
Retour
2de
Creditcard
12
Retour
2de
Contant
Omschrijving Pairwise testing heeft tot doel om van elke willekeurige combinatie van 2 factoren alle mogelijkheden te testen.
Waarom Pairwise testing? • Enorme reductie van testsituaties (vgl. met MCC van alle parameters) • Grote foutvindkans > Aanname: Fouten zijn zelden gevolg van combinatie van meer dan 2 parameters > Onderzoek defecten medische apparaten: 93% van de fouten had met pairwise testing gevonden kunnen worden csrc.nist.gov/staff/kuhn/final-rqse.pdf
• Evt. zwaarder testen kan > N-wise testing.
Werkwijze • Bepaal parameters en equivalentieklassen • Bepaal afhankelijkheden tussen parameters • Gebruik tool > Pict (Microsoft) Door James Bach aangeraden ☺ Ondersteunt o.a. N-wise testing en afhankelijkheden
> Allpairs (James Bach) > te verkrijgen via www.pairwise.org
Infrastructuur • Testomgevingen • Testtools • Werkplekken.
Testomgevingen
Kenmerken van een testomgeving • Omgevingsplaats > OTAP (ontwikkeling; test; acceptatie; productie)
• Omgevingselementen > Database; OS; interfaces; data; applicatie
• Omgevingseisen > Beveiliging; standaarden; …
• Eigenaar en geïnstalleerde versie.
Applicatie
O
ST
S b ES G + 2 K :3 5 2 IV p N U S S U U: CP 4 1x
GAT
Bouwteam Testteam Gebruiker 3.20 3.0 3.21
PAT
Prod
Beheer 3.0
Gebruiker 3.0
Data
Bouwteam Testteam Gebruiker Gebruiker Gebruiker
Interfaces
Bouwteam Testteam Gebruiker Gebruiker Gebruiker
OS
Beheer 34.23.X2
Beheer 34.23.X2
Beheer 34.23.X2
Beheer 34.23.X2
Beheer 34.23.X2
Database
Beheer 10i
Beheer 10i
Beheer 9.21
Beheer 9.21
Beheer 9.21
Eigenaar en geïnstalleerde versie
S b ES G + 4 K I: 6 5 7 V N Sp U S U U: CP 4 3x O: DOC_6647_v1.1 ST & A: DOC_30081970_v3.2 Testdata: DOC_77511_v1.1
Omgeving Elementen
S ES G b + 8 K II: 5 2 pI N S SU P U : U 4C 1x
PAT & Prod: DOC_Std876_v2.0
e ar tie a dw u r r a g H nfi co
Tel infra: 3008 Tel DATjes: 2005 Tel MAP&V: 9204
kubusnotatie testomgevingen
Beveiliging Standaarden Andere informatie
Organisatie • • • • •
Testbeleid Permanente testorganisatie Testorganisatie in projecten Testprofessional Testrollen.
Permanente testorganisatie
Leverancier van testdiensten
Gereedschapkist • Claims > het juiste gereedschap voor elke testtaak > kostenreductie en overdraagbaarheid door uniforme werkwijze > passende technieken bij de vastgestelde risico’s.
• Kenmerken > bevat een uitgebreide set aan technieken, procedures, beschrijvingen en tips ter ondersteuning van het testen > laat testactiviteiten op uniforme wijze uitvoeren > bevat (testontwerp)technieken om met de juiste dekking/zwaarte/diepgang te testen.
Adaptief
Michiel Vroon
Adaptief moet!
Adaptieve en complete methode
Kenmerken adaptiviteit • Reageren op verandering • (Her)gebruik • Leer van ervaringen • Probeer voor gebruik.
Faseringsmodel adaptief
Bijvoorbeeld:
Adaptief Orienteren opdracht
Conserveren infrastructuur
Intake testbasis, infrastructuur en testobject Bepalen testprocesrisico’s en maatregelen Bewaken, rapporten en bijsturen
Exploratory testen
Conserveren testware
Inzicht en ondersteuning om zelf gereedschappen te maken Terugkoppeling prioriteiten in resultaat, risico, tijd of kosten Evaluatie
Bruikbare gereedschappen
Pilot bij invoering testtool
De evolutie van een testorganisatie ……
VERPLICHTING
Leverancier van testdiensten
VRAAG
Procesmodel Permanente testorganisatie
Sturing Human Resource Management Dienstenmanagement Planning Opdrachtmanagement
Initiatie
Uitvoering
Afronding
Diensten
Ondersteuning en monitoring dienst
Adaptief • Claims > overal toepasbaar > aanpasbaar aan veranderende situaties > kennisborging.
• Kenmerken > bevat handvatten om testproces flexibel in te richten en bij te sturen > dwingt expliciet leren en verwerken van ervaringen af > richt het testproces in voor hergebruik > borgt testexpertise in organisatie.
Be adaptive!….Aan de slag
Meer dan 400 tips, uitdiepingen en voorbeelden www.tmap.net
Borrel
Het auteursrecht op dit materiaal komt toe aan Sogeti Nederland B.V. Niets uit deze uitgave mag verveelvoudigd en/of openbaar worden gemaakt (voor willekeurig welke doeleinden) door middel van druk, fotokopie, microfilm, geluidsband, elektronisch of op welke andere wijze dan ook zonder voorafgaande schriftelijke toestemming van Sogeti Nederland B.V.. Dit materiaal is enkel en alleen bedoeld voor eigen gebruik door de deelnemer aan de cursus.