onsdag den 30. september 2015

STARwest 2015 - Tirsdag - En fantastisk dag

Så blev det dag 2 på STARwest 2015. Endnu en spændende dag med tutorials, hvor det er muligt at fordybe sig i et specifikt emne, eller to.

Mine valg var faldet på 'Building Your Mobile App Quality Strategy' og 'Testing Cloud Services'. To emner der både er aktuelle og spændende.

Den første tutorial blev præsenteret af Jason Arbon (medforfatter til bogen 'How Google Test Software'), så der var naturligvis store forventninger. Selve tutorialen var meget hands-on, men var også et godt mix mellem teori og praksis. Hans tilgang var 'mobile is different' og 'apps are different'.

Jason præsenterede en række hovedkilder til issues ved mobile apps: Brugere, UX, Sikkerhed, Reviews, Virkeligheden, Devices, Distribution, Konkurrence.

Hans konklusion var bl.a. at der er følgende ti kvalitetskarakteristikker der bør testes for:
  • Elegance
  • Usability
  • Stability
  • Privacy
  • Security
  • Performance
  • Satisfaction
  • Interrop
  • Content
  • Pricing.
Det var også interessant, hvad der så blev givet feed-back på fra brugerne - eksempelvis inden for spil er det Satisfaction og Content, mens Privacy og Security næsten ikke er synligt. Lidt modsats apps inden for det finansielle område (mobil bank m.m.) lå Usability og Security højest, mens Elegance var lavest.

Dagens anden tutorial var om 'Testing Cloud Services'. Et utroligt spændende og meget aktuelt emne. Udgangspunktet for de to oplægsholdere (Martin Pol og Jeroen Mengerink) var at næsten alt kan kan gøres i cloud-løsninger - som de sagde: Der var dog enkelte mere private ting som nok ikke var muligt - det skabte en god stemning.

Der er mange service-modeller inden for cloud: Testing as a Service (TaaS), Infrastructure as a Service (IaaS), Software as a Service (SaaS) osv. - det blev generelt præsenteret som '*aaS'. Udgangspunktet for tutorialen var SaaS.

Deres præsentation var bygget op om en tre-trins raket:
  • Selection og dermed også 'Testing during Selection'
  • Implementation og dermed også 'Testing during Implementation'
  • Production og dermed også 'Testing in Production'.
Hele deres tilgang til test af cloud-løsninger var risiko-baseret - en god velkendt tilgang til prioritering og udvælgelse af test, og de præsenterede syv grupper af risici:
  • Performance
  • Security
  • Availability & Continuity
  • Functionality
  • Maintainability
  • Legislation & Regulations
  • Suppliers & Outsourcing-
Det var også godt at høre, at test af cloud-løsninger starter tidligt - allerede under udvælgelsen af cloud-leverandør - alt sammen ud fra devisen 'aftal skilsmissen før brylluppet'.

Testmanagerens rolle bliver ændret noget, idet test bliver opfattet lidt bredere end ellers, og dermed øges testscope. Dette omfatter bl.a. 'testing during selection' og 'testing in production'. Dette betyder nemlig, at der er ni grupper af testaktiviteter - de syv risiko-grupper og så de to førnævnte.

Der er mange udfordringer ved test af cloud-løsninger, og nogle af testområderne bliver vanskelige. Eksempelvis performancetest - når der testes performance i et traditionelt set-up er man i kontrol med hensyn til belastning af systemet. Ved performancetest af cloud-løsninger er dette ikke muligt - man kender jo ikke de andre kunders load - og det er ganske relevant og har stor indflydelse på performance - for et af de karakteriske ting ved cloud er 'ressource pooling and sharing'.

Så ved test af cloud-løsninger skal mange af de kendte kvalitetskarakteristikker overvejes, herunder i risiko-vurderingen som før omtalt.

Et meget behandlet område var 'multi-platform testing' - altså det forhold at der kan være rigtige mange devices der kan bruges globalt i forhold til tilgang til systemerne i cloud. De viste en opgørelse af antallet af 'distrinct' Android-devices i 2012 som var 3.997. Dette tal var i 2014 steget til 18.796 - dette viser klart, at vi fortsat kan og bør anvende de mange teknikker vi som testere har i vor værktøjskasse.

Det var en fantastisk tirsdag eftermiddag med engagerede oplægsholdere, engagerede medhørere og god udveksling af holdninger og synspunkter.

tirsdag den 29. september 2015

STARwest 2015 - så gik starten

Så gik starten på årets STARwest 2015 i Anaheim (Los Angeles). Mandagens program består af 3 heldags tutorials og 14 halvdags tutorials - typisk udfordring for en tester - vil gerne det hele, men der er det problem, at man jo kun kan være et sted af gangen. Så der skal foretages et valg - og det sker typisk ved tilmeldingen - en heldags tutorial eller to halvdags - og emnet skal også vælges på forhånd.

Mine valg for mandagen faldt på 'Six Essential Skills for Modern Testers' og 'End-to-End Testing with the Heuristic Software Test Model'.

De seks essentielle færdigheder for den moderne tester er ifølge oplægsholderen (Bart Knaack):
  • Requirements Engineering
  • Database manipulation/monitoring using SQL
  • Usability heuristics
  • Exploratory testing
  • Visual notation techniques for test preparation
  • Creation of test data.
Det fremgik ikke tydeligt, hvorfor netop disse valg valgt. Det ses dog tydeligt, at der er et mix af mere 'hårde' og 'bløde' færdigheder.

Under det første punkt om requirements Engineering var der en øvelse, hvor deltagerne skulle opstille krav til et 'offentligt toilet', hvorefter disse krav skulle udveksles med en anden deltager, som så skulle designe det offentlige toilet. Denne øvelse vist klart og tydeligt, at kravdisciplinen er et svært område - men utroligt vigtigt for hele den øvrige udviklings- og testproces.

Netop kravdelen af indlægget var nok det bedste, idet de øvrige områder blev behandlet lidt overfladisk. Jeg havde nok forventet mere input på de mere tekniske discipliner - specielt set i lyset af titlen på indlægget om den 'moderne tester'. Forhold som eksempelvis kravene til den moderne tester ved skift til DevOps blev eksempelvis slet ikke behandlet eller omtalt - DevOps hvor leverancehastigheden øges betragteligt - det må da kræve ændrede færdigheder for den moderne tester.

Den anden tutorial om end-to-end test (Paul Holland) tog sit udgangspunkt i Bach & Boltons Rapid Software Testing koncept. Her var PCO (Product Coverage Outline) i fokus, som et værktøj til at fokusere og prioritere testen.

Udgangspunktet var SFDIPOT:
  • Structure of the program (smallest components)
  • Functionality (individual features)
  • Data (I/O, create, store, manipulate, backup,.....)
  • Interface (UI's, API's,.....)
  • Platform (Computer, CPU, OS, browser,.....)
  • Operations (How is it used by customers)
  • Timings (Race conds, time of day/week/month/year,...)
Ud fra ovenstående til at generere testideer blev der så behandlet risici m.m., som grundlag for beslutningen om testdækning og -indsats.

Oplægsholderen gjorde noget ud af 'samtalen' med designere, forretningen, kunden. At man skulle se på hvordan produktets markedsføring var lagt an - altså hvad blev kunden stillet i udsigt. Kigge på en eventuel tidligere version af produktet, og kigge på konkurrenternes produkt inden for samme område. Dette fremfor at læse og analysere specifikationer - 'Functional Spec Blindness' skal undgås  vi skal være kreative i stedet for. Budskabet ved at analysere specs var at så bekræftede vi jo 'bare' kravene - vi skulle være mere udforskende.

Mandagen var samlet set en god oplevelse - men blev en rigtig god en da jeg opdagede, at bogladen allerede var blevet åbnet her mandag - har andre gange først været åbnet i forbindelse med at EXPO-området også blev tilgængeligt.

søndag den 27. september 2015

STARwest 2015 i Anaheim starter mandag

Så skal vi til det igen - en uge med en masse nye indtryk, oplevelser og ny lærdom.

Stedet er Anaheim i Los Angeles, emnet er softwaretest, konferencen er STARwest.

Konceptet følger de andres års - mandag og tirsdag er der hel- eller halvdags tutorials, onsdag og torsdag keynotes og de kortere konferenceindlæg, og fredag sluttes af med en heldags session om ledelse i test og kvalitet.

Jeg vil på denne blog skrive indlæg hele ugen om de forskellige præsentationer, indlæg og indtryk. Mandag deltager jeg i 2 halvdags tutorials, og det samme tirsdag. De er valgt på forhånd.

Navneskiltet er afhentet - og sponseret af vort søsterselskab:

 
De to tutorials mandag er 'Six Essential Skills for Modern Testers' og 'End-to-End Testing with the Heuristic Software Test Model'. Tirsdag deltager jeg i 'Building Your Mobile App Quality Strategy' og 'Testing Cloud Services'.
 
Jeg har store forventninger til ugen, og glæder mig.

fredag den 11. september 2015

Dagens Bedste Krav......

Dagens bedste krav er vist:

"Løsningen skal understøtte, at der kan lægges kalender for ressourcerne ubegrænset ud i fremtiden."

Kan jeg booke et mødelokale om 1 milliard år?

onsdag den 2. september 2015

Fortsat plads til forbedringer......den danske testmodenhed

Softwaretest som fagområde har udviklet sig meget i Danmark de sidste 5-10 år. Der er sket en formalisering af test, og mange virksomheder har etableret deciderede testkompetencecentre. 

En ændring som har sin 'naturlige' udvikling i forhold til it's betydning for virksomhederne - private såvel som offentlige. It i dag er ofte af væsentlig betydning for virksomhedens mulighed for at konkurrere og virke på deres respektive markeder.

Med denne øgede betydning af it i mange virksomheder, og for os som enkeltindivider, har det stor betydning for os alle, hvilken kvalitet der er i softwaren. Mange virksomheder har udvist ønske om at forbedre sig på testområdet, og i den forbindelse har jeg siden 2007 gennemført 35 målinger af testsituationen hos danske virksomheder. 

Motivationen hos virksomhederne til at få gennemført sådanne målinger er ofte begrundet i et ønske om at afkorte gennemløbstiden, automatisere testen, øge kvaliteten, forbedre økonomien, opfylde kundekrav m.m.

Ved disse målinger har jeg anvendt modenhedsmodellen TPI NEXT - (www.tpinext.com) - TPI står for Test Process Improvement, og er en af flere modeller til måling af modenheden. For dybere information om modellen henviser jeg til førnævnte hjemmeside.

De 35 målinger dækker fra mellemstore til meget store danske virksomheder med global forretningsmodel, og en række offentlige styrelser. 

Metodemæssigt har jeg behandlet alle ens ved udarbejdelse af et dansk benchmark for testmodenhed. Denne forudsætning kan altid diskuteres, men det er et bevidst valg jeg har truffet.

Nedenstående diagram viser opgørelsen af den danske testmodenhed blandt 35 danske virksomheder, og opgjort i september 2015 - maksimumværdien i diagrammet omfatter alle de fire modenhedsniveauer i TPI NEXT modellen - altså: Initinal, Controlled, Efficient og Optimizing:

Ovenstående vil jeg nu referere til, som det danske benchmark for testmodenhed.

På den positive side må det anføres, at det ser fornuftigt ud inden for stakeholder commitment, reporting, defect management og tester professionalism. 

Stakeholder commitment omhandler bl.a. viden om, hvem der er vor primære interessent og deres involvering i vigtige beslutninger for testen. 

Rapportering omfatter selvfølgelig status og fremdrift, men også testresultater. Her mangler bl.a. noget som rapportering af produktrisici. Reporting holdes typisk lidt oppe i modenhed grundet 'hjælp' fra de generelle governance-modeller der er etableret. 

Defect management omhandler proces for fejlhåndtering, fastlagte kategoriseringer m.m., og holdes typisk oppe af brug af forskellige typer af testværktøjer (fejlhåndterings- og teststyringsværktøjer).

Der er dog fortsat en række områder, hvor der kan ske forbedringer. Forbedringer der vil give fordele for virksomhederne både på økonomien og tiden. 

Degree of involvement som omhandler involveringen af testerne både opgave- og tidsmæssigt kan forbedres. En undersøgelse jeg tidligere har udarbejdet viser, at der er høj grad af forståelse af værdien af tidlige involvering af testere, men det kniber med den faktiske og konkrete involvering - se rapporten Test i Danmark 2015 - (www.capgeminisogeti.dk/om-os/publikationer/test-i-danmark-2015/) - og et af de områder, hvor der kan og bør ske en forbedring er involveringen af interessenterne i prioriteringen og fokusering af testen. 

Netop denne prioritering, fokusering og differentiering af testen mangler de fleste steder - f.eks. i form af anvendelse af risikobaseret test. Her er der et stort grundlag for at få et konkret og operationelt redskab til en klar prioritering af testen (både rækkefølgen og dybde). 

Metrics er et område der virkelig kan gøres noget ved. Der er meget få virksomheder som har en systematisk tilgang til anvendelse og brug af metrikker inden for testområdet, og de er meget sjældent standardiseret på tværs af testprojekter. Ved en ensartet måde og tilgang til brugen af testmetrikker er der potentielt et stærkt værktøj til styring, estimering og planlægning af testen. 

Et andet område med stort potentiale er test case design. Det er paradoksalt at der er en høj modenhed inden for tester professionalism, men at det ikke på alle områder udmøntes i praksis. Mange testere har fået uddannelse og træning, men det halter lidt med den faktiske anvendelse af f.eks. testteknikkerne, der kan hjælpe med at formalisere og reducere testens omfang på en systematisk måde.

En sammenfattende konklusion må være: "....der er fortsat plads til forbedringer af testmodenheden hos danske virksomheder".