Risikobasert testing (RBT) Fungerer det i praksis? Minh Nguyen Knowit Arild Tarjei Nygaard Strex 24.9.2014 Testdagen ODIN Målsetninger med foredraget 1. Dele våre erfaringer med å ta i bruk risikobasert testing (RBT) i et reelt prosjekt. 1. Våre vurderinger på om RBT gir økt verdi for virksomheten sett fra Forretning Testfagfolk 2. Take-aways 2 1
Om foredragsholdere Minh Nguyen Sjefskonsulent / Partner www.knowit.no Nordisk konsulentselskap 3 virksomhetsområder 1200 IT 400 Design 200 Management & Digital 400 spesialister i Norge - kontorer i Oslo, Bergen, Stavanger og Kristiansand Minh kommer fra IT Test og Kvalitetssikring enhet. Om Strex Arild Tarjei Nygaard COO www.strex.no Strex er eid av mobiloperatørene Telenor, NetCom og Tele2 (like eierandeler) Strex skal levere betalingstjenester til alle som har en mobiltelefon uavhengig av hvilke operatør de benytter seg av. I 1999 startet mobiloperatørene med betalingstjenester Startet med spill, bakgrunnsbilder, ringetoner, og TV-voting etc Ca. 800.000 unike brukere i måneden. Snitt transaksjon på 20,- NOK Brutto brukerstedomsetning på 1 milliard NOK i 2013 Har konsesjon som e-pengeforetak (jf. finansieringsvirksomhetsloven kap 4 C) 2
Om prosjektet Mandat: Konsolidere 4 eksisterende betalingsløsninger for mobiloperatører Implementere nye tjenester og betalingskilder Teknologi: Sky-basert SaaS Project organisasjon Prosjektmedlemmer spredt rundt (India, Singapore, Seattle and Melbourne) Akseptansetesting i Norge Krav til den nye plattformen Krav Funksjonalitet E-penge konti, Web portal, Settlement, Reporting. Lovkrav Konsesjon, Hvitvaskingsloven, Finansavtaleloven mm. Ytelse Skalerbar med utgangspunkt i dagens løsning. Brukervennlighet Minst mulig friksjon som er mulig å oppnå. Sikkerhet Sikkerhet rundt brukerinformasjon og transaksjonsinformasjon. Tilgjengelighet 24/7/365 Integrasjon 4 operatører + mange flere. 6 3
Utfordringer og motivasjon Utfordringer Antall krav i forespørsel: 270 Høyt antall forretningsregler antall mulige permutasjoner 466.560 Antall integrasjoner: 15 per mobiloperatør Motivasjon Risikobasert testing gjør testing virkningsfull ved å teste riktige tingene Er det virkelig sant? Risikostyringsprosess Identifisere Korrigere Analysere Gjennomføre Definere tiltak 4
Risikostyringsprosess i samspill med testprosess Testgjennomføring Test- Rapportering Identifisere Korrigere Analysere Gjennomføre Testdesign Definere tiltak Testplanlegging Risikostyringsprosess i samspill med testprosess Testgjennomføring Test- Rapportering Identifisere Korrigere Analysere Gjennomføre Testdesign Definere tiltak Testplanlegging 5
Testplanlegging Innsalg Involvere interessenter med relevante ansvarsområder: Produkt, Salg, Arkitektur, Drift, Finans og Compliance Idedugnad Identifisere og rangere produkt-risikoer Ansvarliggjøre risikoeiere 11 ISO-9126 SW Quality Characteristics som sjekkliste Hardware compatibility OS compatibility Application compatibility Completenes Configuration compatibility s Backward compatibility Accuracy Forward compatibility Efficiency Sustainability Interoperabiity Standards Conformance Concurrency Data diversity Extensibility System requirements Stability Installability Robustness Upgrades Stress handling Uninstallation Recoverability Configuration Data Integrity Deployability Safety Maintainability Disaster Recovery Testability Trustworthiness Affordance Intuitiveness Minimalism Learnability Memorability Capacity Resource Utilization Responsiveness Availability Throughput Endurance Fedback Scalability Authentication Authorization Privacy Security Secrecy Invulnerability Virus-free Piracy Resistance Compliance Uniqueness Satisfaction Professionalism Attractiveness Curiosity Entrancement Hype Expectancy Attitude Directness Story Discoverability Operability Interactivity Control Clarity Erros Consistency Tailorability Accessibility Documentation 6
Risikoanalyse Sannsynlighet (S) Foretrekker kvalitativ vurdering basert på: Leverandør tekstdokumenter Løsningsdesign Forretningsmessig konsekvens (K) Baseres på consensus tilnærming Risikoprioritet = helhetsvurdering av S og K Kritisk, Alvorlig og Normal Blir rangert i forhold til hverandre 13 Innblikk i arbeidsdokumentet 14 7
Innblikk i arbeidsdokumentet Completeness Accuracy Efficiency Interoperabiity Concurrency Data diversity Extensibility 15 Erfaringer med testplanlegging i RBT Interessentenes forpliktelse og engasjement er viktig. Enklere å kommunisere risiko mht forretningsmessige konsekvenser. Gjør risikoeier ansvarlige. Nyttig tilnærming for å identifisere problem-områder. Foretrekker kvalitativ fremfor kvantitativ tilnærming. 16 8
Risikostyringsprosess i samspill med testprosess Testgjennomføring Test- Rapportering Identifisere Korrigere Analysere Gjennomføre Testdesign Definere tiltak Testplanlegging Testdesign Bruker Jira for å administrere og linker risikoer sammen med test cases og defekter. Definerer test cases iht risikoprioritering Testene kan gjennomføres før all test cases er ferdig definert 18 9
Kopling av test cases til risiko i Jira 19 Erfaring med testdesign i RBT Risikoprioritering gir en rettesnor for testdesign mht. Detaljering Kombinasjoner av forretningsregler Rekkefølge av ferdigstillelse Kan lett bli overfokusert på risikoer og glemmer de opplagte kravene som også trenger å bli testet. Tungvint med å vedlikeholde koplinger mellom risiko og test cases i Jira. 10
Risikostyringsprosess samspill med testprosess Testgjennomføring Test- Rapportering Identifisere Korrigere Analysere Gjennomføre Testdesign Definere tiltak Testplanlegging Testgjennomføring og -rapportering Gjennomføre test cases som er knyttet til de høyt prioriterte risikoene først. Samle inn relevante metrikker for revurdering av risiko og igangsetting tiltak 22 11
23 Eksempler på tiltak til R-C3 basert på metrikker Tester sammen med leverandør tidlig. Flere testere. Manuell til automatisert test. Sette deler av leveranse i produksjon. 12
Erfaring med testgjennomføring og -rapportering Nyttig å ha måledataene for å styre testgjennomføringen. Tidskrevende datainnsamling i større kontekst Trenger bedre verktøystøtte. Viktig å holde interessenter fokusert og bruker dataene til å ta beslutninger. Målsetninger med foredraget 1. Dele våre erfaringer med å ta i bruk risikobasert testing (RBT) i et reelt prosjekt. 1. Våre vurderinger på om RBT gir økt verdi for virksomheten sett fra Forretning Testfagfolk 2. Take-aways 26 13
Forretningens vurdering av RBT Økt bevissthet på risiko. Skift av fokus fra funksjonalitet til business impact. Fokusere på de områder som påvirker forretningens virksomhetskritiske prosesser Konsentrere om de rette tingene når det stormer. Foreta beslutninger basert på fakta Konstant dialog med oppdragsgiver hva som gir «business impact» kan endre seg underveis RBT Fungerer det? RBT nødvendig men ikke tilstrekkelig. Størst gevinst i testplanlegging og testgjennomføring/-rapportering. Kan man komme frem til samme tiltak/beslutninger uten RBT? Tja men er tilfeldig og personavhengig Med RBT er beslutninger velfunderte, forankret, rasjonelle og fakta-basert. Vil jeg bruke det i neste prosjekt? JA 28 14
Målsetninger med foredraget 1. Dele våre erfaringer med å ta i bruk risikobasert testing (RBT) i et reelt prosjekt. 1. Våre vurderinger på om RBT gir økt verdi for virksomheten sett fra Forretning Testfagfolk 2. Take-aways 29 Take-aways Sikre at forutsetninger er tilstede Sette mål og forventning Sikre god støtte fra interessenter Gjøre risikoeiere ansvarlige Tenk stort men start smått 15
Referanser ISO 9126 Software Quality Characteristics and James Bach (CRUCSPIC) http://thetesteye.com/posters/thetesteye_softwarequalitycharacteristics.pdf http://www.kvalitetsentusiastene.no/?p=131868 (oversatt til norsk) PRISMA Approach Erik van Veenendaal James Bach Risk based testing http://nilachakra.org/documents/material/l%20-%20riskanalysis.pdf Hans Schaefer Risk based testing http://www.cs.tut.fi/tapahtumat/testaus04/schaefer.pdf Takk for oss Spørsmål & Tilbakemelding 16