Presents…2010
Welkom
Sinds 2000 100 + medewerkers 100% testspecialist 100% onafhankelijk “serving the world”
Test Test Test Test Test
management engineering outsourcing advisering opleiding e-learning
Belastingdienst Aegon Achmea Essent NOKIA Ericsson T-Mobile KPN Český Telecom Philips DUO Unilever Huawei PepsiCo Microsoft KAS BANK Novell Daimler Chrysler NATO Statoil TNT KLM HP Barclays bank ING ABN-AMRO RBS Capital Group RDW
“Passion for Testing” Chair: John Fodeh, DK Committee: Nathalie Rooseboom de Vries van Delft, NL Peter Morgan, UK Rikard Edgren, SW Metrics • 18de EuroSTAR conferentie, 3de keer Copenhagen • 433 inzendingen uit 27 landen • 900+ deelnemers, samen 6500+ jaar testervaring • 5 key notes, 39 tracks, 3 workshops, 4 minitracks, 1 live hot topic panel, 1 fun sessions, 2 power hours
Voorkeur voor …
• • • • •
Tools Technieken Verbetering Mensen Leiderschap
– – – – –
efficiënter testen effectiever testen klaar zijn voor de toekomst de vakmensen innoveer, ontwikkel, stimuleer
Cartoon tester
Verschillende “reacties” op sessies • Bevestiging van wat we al wisten – Een boost voor het zelfvertrouwen!
• Geweldige presentatie, maar niet van toepassing – Niet in lijn met hetgeen speelt bij onze organisatie…
• Jammer dat ik deze had gekozen… – Er zit er altijd wel eentje tussen… … nog beter voorbereiden?
• Direct toepasbaar op onze situatie! – Wist de spreker dat ik in de zaal zou zitten?
Eerste reactie van uw verslaggevers • In tegenstelling tot de afgelopen keer, beperkte discussie, weliswaar levendig debat, maar geen “strijd” – “Men is het met elkaar eens” – “Levendig, maar geen tegenstellingen” – “Er overheerst één smaak. Lekker, maar…”
• Overheersende smaak? – Deel het op in hapklare brokken – Agile, Lean, Reduce Waste – Samenwerken…
Eerste reactie van uw verslaggevers • In tegenstelling tot de afgelopen keer, beperkte discussie, welisiwaar levendig debat, maar geen “strijd” – “Men is het met elkaar eens” – “Levendig, maar geen tegenstellingen” – “Er overheerst één smaak. Lekker, maar…”
• Overheersende smaak? – Deel het op in hapklare brokken – Agile, Lean, Reduce Waste – Samenwerken…
• Weinig nieuws over & vanuit het testen • Vernieuwing komt van buiten – Logisch vervolg op de “Agile” trend
Eerste reactie van uw verslaggevers • Sommige smaken ontbraken – E2E testen, Service Oriented Architecture, Cloud, (Out)sourcing, Test Design
Polteq Vragenlijst • Wat is het belangrijkste punt dat de spreker wil maken? • Wat voor opvallends zit in de presentatie?
• Wat is het directe nut? • Wat neem jij mee van de presentatie?
• Hoe groot schat je de impact op de toekomst van testen? • Adviesscore
1= 2= 3=
wel op WBE 2010 misschien op WBE 2010 niet op WBE 2010
Presents…2010 Welkom! Het moderne testen
Ruud Teunissen
Testmanagement
Gerard Numan
Techniek & Verbetering
Kees Blokland
Kritisch denkgereedschap
Gerard & Ruud
Afronding
Broodjes
Traditional roles change Roles become dynamic
Collaboration is key
Passie? Passie! • Wees hartstochtelijk, inspireer anderen – – – – – –
Gebruik positieve woorden Daag anderen uit Laat je betrokkenheid zien Deel verhalen Wees een voorbeeld Wees enthousiast
• Zoek continu nieuwe bronnen van inspiratie
Wat motiveert testers? Positieve drijfveren
Negatieve drijfveren
Analytisch Nieuwsgierig Perfectionisten Gepland, systematisch en “Pietje Precies” Persistent Kruisvaarders Praktisch Geweten
Ondiplomatiek Skeptisch Perfectionisten Weinig empathie voor ontwikkelaars Eigenwijs Te gefocust Gaan voor het scoren
Maslow!
Desire to become everything a tester is capable of Self respect Acceptance Respect
Friendship & teamwork Welcoming atmosphere With it, easier to communicate
Job security, stability Predictable behaviour Safe to make mistakes Secure environment
Competitive salary Food, water (beer?) Comfortable environment Flexible & sensible hours
Checklist “lean” (afval reductie) • Heeft het toegevoegde waarde voor de klant? • Creëren we meer output dan gevraagd? • Voeren we onnodige taken uit? • Handelen we in lijn met het principe “Right from me”? • Ongecontroleerd “afval” zonder het op te ruimen? • Zijn we ons bewust van verbetermogelijkheden? • Continu verbeteren, leer van eerdere projecten
“On demand” Testen
CROWDSOURCING
Taking a service traditionally performed by a person or team and sourcing it to a large online group of people as an open project • Testmanagement is gecompliceerd – – – –
Complex, in feite oneindig Gedistribueerde services / resources Extreem hoge verandertempo Onverwacht wenden & draaien
• Booming market – met name voor mobile Apps
Agilistas corner
Exploratory Testing (ET) Simultaneous learning, test design, and execution “ …a way of thinking about testing…” • Succesvol als aanvulling op bestaande aanpak, zelfs waar je het niet onmiddellijk zou verwachten – Medische apparaten (neonatologie)
• Belangrijk side-effect – ET helpt bij het aantonen dat testen belangrijk is – Door “vrijheid” en buiten de gebaande paden (scripts) – Maakt derden enthousiast voor het testen!
• Kritieke succesfactor voor ET: – Session Based Test Management (SBTM)
Session Based Test Management (SBTM) • Kritieke succesfactor voor ET – ET vraagt om ander soort planning en aansturing!
• Verschillende type sessies
Session Based Test Management (SBTM)
Session Based Test Management (SBTM) • Kritieke succesfactor voor ET – ET vraagt om ander soort planning en aansturing!
• Verschillende type sessies • Zelfde opzet
Mission Charter (Uninterupted) Log file Briefing
SBTM • Dekking (type sessie) • Metrics (bewijslast) • Flexibiliteit (omgaan met veranderingen)
• Kennis opdoen en delen • Vaardigheden (blijven) opbouwen • Session log – op het gewenste detail niveau
• • • •
Gebaseerd op Charters – door/voor de tester Ongestoorde testtijd – 60, 90 of120 min Alleen of in koppeltjes “Briefing”: iedere dag
SCRUM • • • •
Oplossing voor groeiende complexiteit Er zijn wel degelijk regels GEEN excuus om NIET te documenteren Sluit de acceptanten niet uit!
Presents…2010 Welkom! Het moderne testen
Ruud Teunissen
Testmanagement
Gerard Numan
Techniek & Verbetering
Kees Blokland
Kritisch denkgereedschap
Gerard & Ruud
Afronding
Broodjes
Verbrokkeling door Agility • Agile 1. Testen ontwikkelteams in getrokken 2. “Zeepbel” rond ontwikkeling van 1 systeem of component 3. Valideren en verifiëren staat voorop: laten zien van waarde voor de klant. • 1. 2. 3. 4.
Valkuilen Integratie van systemen en architectuur “vergeten” Samenwerken met andere teams moeilijk Falsifiëren makkelijk vergeten (negatief testen) Non-functionals makkelijk vergeten (pas testbaar in complete architectuur)
Verbrokkeling door Agility • Maatregelen 1. Test Ideas a. Wat gebeurt er als…? b. Wat zou er gebeuren als…? c. Wat kan er misgaan? d. ….? 2. Test charters 3. Pair testing 4. Test ontwerp patterns 5. Organiseren E2E test
Verlies van tijd • Tijd besparen heeft meer directe betekenis voor anderen dan goed testen • Oorzaken van tijdverlies – Gebrek aan interesse in werk van anderen – Herkennen van patronen (+/-) • Wordt onderdeel van succes • Voorkom frustratie • Lessons learned
– Verantwoordelijkheden/ grenzen afstemmen – Wachttijd (omgevingen, bevindingen) – Informatie najagen (multirealiteit, informatie sessies, modelleren)
Risicoanalyse
Risicoanalyse • Feit: Risico‟s van klant kunnen extreem hoog zijn • Feit: Gevolgen zijn pas zichtbaar na ingewikkelde keten van oorzaak en gevolg • Maatregelen – Risicoanalyse op basis van gebruikerscenario‟s/ perspectief van de klant – Risicoanalyse en beperkende maatregelen niet alleen testzaak – Risico‟s H-M-L in simpele risicorepresentatie – M: dekking As Low as Reasonably Possible (ALARP)
Risicoanalyse
Testboekhouden • Financiële boekhouding: permanent bijhouden van activa en passiva • COMPAS: – – – – – –
Control (actueel overzicht) Ownership (verantwoordelijkhden, rollen, acteurs) Message (rapportage) Priority (waarde, invloed, risico‟s) Alignment (terminologie, organisatie) Scope (inhoud testen)
Testboekhouden
Te veel • Formaliteit, onafhankelijkheid heeft keerzijdes: – Arrogant, kwaad bloed – Immuun voor andere perspectieven, conservatief, safety zone – Verantwoordelijkheid, geen verantwoordelijkheidsgevoel – Reactief
• Maatregelen: – Kijk dagelijks eens met de ogen van anderen naar het testteam – Waag je aan voorspellingen waar anderen wat aan hebben (verwachte # fouten nog te vinden) – Nestel je in het project team – Omarm verandering
Te weinig kwaliteitsgedreven • Kwaliteit 1. FLOW: Q is niet stabiel: verwachtingen zijn niet stabiel, documenten zijn niet stabiel, systemen zijn niet stabiel, mensen zijn niet stabiel 2. Is niet afhankelijk van wat de klant heeft besteld, maar wat zij nodig heeft 3. Moet bij iedereen tussen de oren zitten, van begin tot eind 4. Is nooit 100% (niets is 100%)
Te weinig kwaliteitsgedreven • Kwaliteitsgedrevenheid 1. Infecteer anderen met het testvirus 2. Continue acceptatie: acceptatiegedreven ontwerp, bouw en test 3. Emotionele acceptatie: creëer een speel- en leeromgeving (ook voor ontwikkelaars en testers) 4. Ga uit van imperfectie: 1. Communicatie is het zo min mogelijk misverstaan van anderen 2. Kwaliteit is een bepaalde waarde voor iemand en niet het volledig voldoen aan specificaties 3. Organiseer kennissessies
Autisten die testen 1. Wat “normaal” is, hangt af van de norm 2. De norm is nu: agility, generalisme, flexibiliteit, snelheid 3. Daarmee worden mensen met hele specifieke vermogens buiten spel gezet: abnormaal gemaakt. B.v. autisten 4. The weed versus the herb perspective 5. De kracht van onredelijke mensen 6. “Zelf-gerichtheid” = Autisme ≠ Rainman
Abnormaal?
Autisten Krachten 1. Oog voor details 2. Leervermogen 3. Ander perspectief 4. Foutdetectie 5. Patroonherkenning 6. Repeterend werk zonder concentratieverlies 7. Eerlijk 8. Vasthoudend
Zwaktes 1. Communicatief onbegrip 2. Het “spel” niet kunnen spelen 3. Geen zelfvertrouwen 4. Minder overzicht 5. Niet stressbestendig 6. Geen netwerk 7. Depressiegevoelig 8. Begeleiding nodig
Onderzoeksresultaten 1. Wat is de kans dat we nog fouten in productie zullen vinden? 2. Moeten we formeel gaan reviewen en wat betekent dit voor andere testen? 3. Wat is de waarde van testresultaten of keuzes mbt inrichting van testen?
4. Vraag naar ondersteuning/ toetsing aan algemene inzichten en feiten: juiste vertrouwen: van opinie naar feit. 5. Vraag naar bewijs en onderzoek “uit het veld” en “uit de wereld”
Onderzoeksresultaten Voorbeelden 1. Systeemtest 40% defect find efficiency 2. Formele reviews: 85% defect find efficiency 3. Statische analyse: 87% defect find efficiency
•
– –
Maar: wat betekent dit? Hoe vergelijken we dit met onze eigen situatie?
Presents…2010 Welkom! Het moderne testen
Ruud Teunissen
Testmanagement
Gerard Numan
Techniek & Verbetering
Kees Blokland
Kritisch denkgereedschap
Gerard & Ruud
Afronding
Broodjes
ECL Economic Conformance Level Ook Joseph Juran: 6σ, Lean, Pareto
Balans, verbetering
How Much Testing is Enough?
Joseph Juran
Optimaliseren, verbeteren • De balans zoeken – Meer/minder(!) testen,meer/minder testdiepgang – Minder/meer preventieve maatregelen
• Efficiency verhogen – – – – – – –
Fouten in een eerdere fase vinden De invoering van testautomatisering „Lean‟ werken Verbeteren van samenwerking Review proces verbeteren Formaliseren unit testen EN verminderen systeem test Verminderen aantal releases
Vergeet niet te dat je het moet meten!
Test Process Improvement • Verschillende alternatieven • Niets nieuws • TMMi level 4 en 5 aangekondigd Probleem!
De kracht van TMMi is “thoroughness” Maar TMMi foundation presenteert “informal TMMi” • Verder was er nog een pragmatische benadering voor verbetering, maar die bleek helaas een verzameling uit de oude doos...
Data and Application Migration The do‟s and don'ts • Migraties – Outsourcing – Virtualisatie – Server en opslag consolidatie, verplaatsing
• Uitdagingen – – – –
Geen onderbreking van het business proces Complexiteit van de data mapping Vervuiling van data, compleetheid na migratie Continuïteit van transacties die al onderweg zijn
• Succes factoren – Samenwerking met business en IT, acceptatiecriteria – Regressie testen, data schoning – Gedetailleerde planning
Data and Application Migration The do‟s and don'ts
• Migratiestrategie van de data rebuild – copy – IP adr. • Migratie-implementatie big bang – incremental - sync • Non functional testing – – – –
Performance test Security test Portabiliteit test Fall back & recovery test
Migraties: onderschat het nooit!
Branch out using Classification Trees for test case design The Power Tool • • • • • • •
for different jobs variable speeds for different skills many functions provides flexibility appeals to all people a MUST in your toolbox
Omnivoor: eet alle soorten testbasis
Classification Tree
# testgevallen: combinaties? RISK! Exploratory testing? Equivalentieklassen
size
≥3
<3
shape
color
yellow green grey
circle
triangle triangle shape
Grenswaarden toevoegen equilateral
2
x
3
x
5 = 30 testgevallen 5 testgevallen
2
x
isoscalene sceles
5 = 10 testgevallen
square
Toepassing • Tool: CTE-XL; gratis versie – Afhankelijkheden – All Pairs
Classification trees: a power tool that can be used by everyone Except small children…
Are we ready for cloud testing?
Cloud computing is het via het internet op aanvraag beschikbaar stellen van hardware, software en gegevens, ongeveer zoals stroom uit het elektriciteitsnet. Wikipedia • • • • •
Cloud computing gebruiken voor testdoeleinden Toepassing en koppelen van Open Source Tools Opschalen „virtual users‟ bij performance test Schaalbaarheid van de CLOUD zelf testen Tests worden georkestreerd met eigen tool
Virtual Test Labs The next frontier Het probleem: bevinding reproduceert niet bij bouw De oplossing: “Rewinding clock with snapshots” Procedure is als volgt: • Testen op een virtuele omgeving • Bevinding! • Snapshot van de hele omgeving maken • Als bijlage bij bevinding meeleveren • Bouwer kan snapshot activeren en foutzoeken
Agile Test Design and Automation of a Life-Critical Medical Device • Context: – 700 manjaar ontwikkeling – 11000 pagina‟s aan specs – Medisch apparaat voor persoonlijk gebruik
• Uitdaging: – Huge volume of formal, manual test – Short development sprints
• Oplossing: test automatisering – Concept met „test primitives‟ – Reuse of unique scripts – Scalable and flexible approach
”Death by test script maintenance”
“Primitives” approach saves till 50% of work
Er was echter één probleem…
Het project is helaas afgebroken
A Lean And Mean Approach To Model-Based Testing
Open Source Tools
Model maken met yEd graphical editor
Model plus testdata geeft de feitelijke testgevallen
Open Source Tools
Testdata uit excel (Testframe)
Maatwerkprogramma Inkoppelen testdata in model
A Lean And Mean Approach To Model-Based Testing
? Wel een mooie casus!
Open Source Tools for Test Management Test Link Requirements management
Selenium Automation testing framework
Bugzilla, Mantis
Junit
Defect tracking
Unit testing framework
SONNET BUS Performance testing framework Jmeter
Security testing framework
SOA testing framework
Paros Proxy
SoapUI
SONNET reporting engine
Implementing continuous integration A case study
• Continuous integration – – – –
Stroom van SW wijzigingen in een basis codeline Met een zekere regelmaat (bv dagelijks) Vaak zijn er meerdere branches Testen op meerdere parallelle omgevingen
Implementing continuous integration A case study
• Continuous integration – – – –
Stroom van SW wijzigingen in een basis codeline Met een zekere regelmaat (bv dagelijks) Vaak zijn er meerdere branches Testen op meerdere parallelle omgevingen
• Vergt veel en vaak regressietesten • Inrichten testautomatisering – – – –
Management support nodig Flexibiliteit nodig, maar don’t adapt the team to the tool Gestructureerde toolselectie en toolimplementatie Opbouwen programmeervaardigheden QA team
Ondersteuning nodig van de andere afdelingen
Presents…2010 Welkom! Het moderne testen
Ruud Teunissen
Testmanagement
Gerard Numan
Techniek & Verbetering
Kees Blokland
Kritisch denkgereedschap
Gerard & Ruud
Afronding
Broodjes
Opvallend en nadrukkelijk aanwezig Alternatieve processen • Testing 2.0 • Agile • Lean • Service Driven • Context School • Dynamisch • Hybride • “Reduction of waste” Inside Out
R
Kritisch denkgereedschap voor testers • Cognitive tools • Critical thinking movement
De wereld van het denken – – – – – – – – – –
Feiten, waarneming Gevoel Belang Angst Redenering Taal Rethorica Anderen Conclusie Emotie
… vertaald naar de wereld van het testen – – – – – – – – – –
Feiten, waarneming Gevoel Belang Angst Redenering Taal Rethorica Anderen Conclusie Emotie
Testresultaten De software is wéér te laat… Mijn deel is echt cruciaal! Heb ik alles gezien? Root Cause Analysis Dit is een showstopper Als zelfs dit niet werkt… Hij maakt ook altijd dezelfde fout! We gaan niet live! Yes!!!
R
Kritisch denken • Feit – Waar baseren we ons op: autoriteiten, onderzoek? Zijn deze relevant of controleerbaar?
• Waarneming – Zien we wat we zien?
• Redenering – Volgt uit de feiten of de waarneming noodzakelijk de conclusie, zijn er andere conclusies mogelijk of sluipen er andere, niet relevante zaken mee?
• Conclusie – Is de formulering conform de inhoud, suggereren we meer of minder, is het toegesneden op het publiek?
… vertaald naar kritisch testen • Feit – Alle (functionele) testgevallen zijn uitgevoerd. Hoe relevant is dat eigenlijk?
• Waarneming – Er zijn geen openstaande bevindingen meer
• Redenering – Er zijn geen openstaande bevindingen meer, alle testgevallen zijn uitgevoerd. Laat ik maar niet melden dat de testgevallen enkel “functioneel” waren en ik geen goed gevoel heb over de andere aspecten. De Project Manager was laatst al enorm boos op ons…
• Conclusie – Alles is getest en goed bevonden, dus is er geen reden meer om NIET live te gaan.
R
Kritische analyse: waarheid • Is de stelling “Groningers zijn stug” waar, als ik 100 Groningers kan aanwijzen die stug zijn? • Maar: ik kan ook 100 Gelderlanders, Friezen en Limburgers vinden die stug zijn. • Ik kan ook 100 niet-stugge Groningers vinden.
• Als verificatie (goed-gevallen) het (enige) criterium voor waarheid is, kan ik bijna alles bewijzen en ook het tegendeel daarvan!
Kritische analyse: waarheid • Wetenschapstheorie
• Project
1. Observeren 2. Vragen 3. Hypothese 4. Ontwerp experiment 5. Experimenteren 6. Conclusie
1. Eisen en wensen 2. Specificatie 3. Bouw 4. Testanalyse 5. Testuitvoering 6. Conclusie
… vertaald naar onze wereld Requirements? • Project Vragen?? Luisteren??? 1. Eisen en wensen 2. 3. 4. 5. 6.
Specificatie Bouw Testanalyse Testuitvoering Conclusie
R
Kritische analyse: waarheid • In wetenschap maar ook in een waarheidsvindende discipline als testen geldt: • Er zijn alleen graden van waarschijnlijkheid en geen 100% waarheid of kwaliteit • Verificatie geeft alleen een eerste, basale, check • Falsificatie of negatief testen (en de mate waarin de theorie of het systeem dit overleeft) geeft inzicht in de graad van waarschijnlijkheid of de kwaliteit
Taalbewustzijn Communicatie • Belang van een gedeelde realiteit – denkwerelden op elkaar afstemmen
• De ene denkwereld moet de andere niet overnemen • Als er geen gedeelde realiteit is: – Desinteresse – Offensief – Defensief
R
Taalbewustzijn Communicatieverstoringen • Oordelende termen: “zijn” – “De iPhone is een slechte telefoon” – Wat ik bedoel: “ik heb geen iPhone omdat ik mijn telefoon als externe harde schijf wil gebruiken en dat kan met de i-phone niet”
• Emotie-geladen termen (“alle”, “geen een”, “rot”, ….) – Spreek dus in termen van wat jij vindt en de onderbouwing daarvan ipv je mening als absoluut gegeven “het systeem zit vol met
fouten” – Voorkomt onbedoelde offensieve en defensieve houding “dat zullen we nog wel eens zien”
R
Het Stroop Effect • Uw ogen zijn krachtiger dan uw mond! is “hard-wired” in onze hersenen • Evolutie helpt ook nog een handje mee...
. . . .
. . . .
Drogredenen Afleiden • Niet relevante toevoeging – we zijn niet op tijd klaar maar het scherm is wel getest
• Persoonlijke aanval – maar jij bent altijd om 4 uur al weg
• Niet-bekende autoriteit – uit recent Noord-Koreaans onderzoek blijkt …
• Nitpicking – zoeken naar een klein detail wat niet goed gaat en daar op blijven hameren
• Zekerheidsparalyse – je bent niet 100% zeker en dus betekent wat je zegt helemaal niets
Drogredenen Minste van 2 kwaden • Laten we maar stoppen met testen want alles testen is onmogelijk terwijl we nooit alle fouten zullen vinden Verborgen agenda’s / luiheid • We veranderen het proces – als eigenlijk mensen het probleem zijn
• We gaan onze medewerkers opleiden – en doen niets aan slecht functionerend management
• We nemen een testtool – en gaan niet overwerken of slimmer testen terwijl dat het probleem veel beter oplost
• We gaan outsourcen – omdat we het probleem zelf niet willen oplossen
R
Axioma‟s • Een axioma is een niet bewezen, maar als grondslag aanvaarde stelling en wordt gebruikt bij het bewijzen van andere stellingen. Let op: – axioma's mogen niet met elkaar in tegenspraak zijn – axioma's mogen niet uit andere axioma's afgeleid kunnen worden
• Testen: 16 axioma‟s – 3 groepen – Stakeholder – (Test) Design – (Test) Delivery
Testen heeft tenminste één belanghebbende Testen is gebaseerd op een model van de werkelijkheid Testen is nooit klaar, het stopt gewoon
Waarom u test zoals u test!
Context + Waarden + Denken = Aanpak
<- uw context <- uw waarden <- uw denken <- uw aanpak
R
Hoe u kunt verbeteren!
Axiomas + Context + Waarden + Denken = Aanpak
<- erkennen <- veranderend <- aan te passen? <- helpt echt! <- uw aanpak
R
Tenslotte
Tenslotte Focus op het verbeteren van de service aan de klant, niet op het verbeteren van het testen zelf Het doel van testen is zo veel mogelijk bij te dragen aan de kwaliteit, niet alleen maar het aanwezig zijn
Not Invented Here Syndroom Hoed u voor het NIH-Syndroom Kritische noot van uw verslaggever: Verlies “the big picture” niet uit het oog