Nylig tok jeg et kurs i programvaretesting der jeg ble kjent med grunnlaget for testing. En av de mest interessante tingene jeg lærte var de 7 testprinsippene fra ISTQB.
Hvorfor synes jeg de er gode og nyttige? Finn ut mer i artikkelen nedenfor.
SJSI skiller ut 7 testprinsipper i ISTQB Syllabus v4.0
1. Testing viser tilstedeværelsen, ikke fraværet av feil
Testing beviser at noe ikke fungerer, men testing kan ikke sikre at det ikke finnes feil.
Dette prinsippet hjelper med å sette realistiske forventninger til hva testing kan oppnå. Det minner teamet om at selv om testing er avgjørende for å finne feil, kan det ikke garantere et feilfritt produkt. Denne forståelsen hjelper i risikostyring og i å sette passende kvalitetsmål.
2. Uttømmende testing er umulig
Å teste alt er ikke mulig, bortsett fra i enkle tilfeller.
Å kjenne begrensningene i testressurser oppmuntrer teamet til å prioritere testinnsatsen. Dette fører til utvikling av mer effektive teststrategier som fokuserer på områder med høy påvirkning, noe som sparer tid og ressurser samtidig som det sikrer en nøyaktig vurdering av programvaren.
3. Tidlig testing sparer tid og penger
Jo tidligere vi starter testing, desto lavere blir kostnaden ved å rette feil og deres påvirkning på resten av programvaren. Tidlig feiloppdagelse bør starte så tidlig som mulig.
Implementering av testing tidlig i utviklingsprosessen bidrar til å oppdage feil når de er mindre kostbare og enklere å rette. Dette forbedrer produktkvaliteten og reduserer utviklingskostnader og tidsbruk, og skaper et mer fleksibelt og responsivt utviklingsmiljø.
4. Feil klynger seg sammen
Under testing, hvis én modul har betydelig flere feil enn de andre, er det stor sannsynlighet for at denne modulen inneholder enda flere feil. På denne måten kan vi bedre planlegge teststrategien og identifisere moduler som bør testes mer intensivt.
Å forstå at feil har en tendens til å samle seg i visse områder gjør det mulig for testere å fokusere innsatsen mer effektivt. Dette prinsippet styrer fordelingen av flere ressurser til høyrisikoområder, noe som kan forbedre feiloppdagelsesraten og øke den totale kvaliteten på programvaren.
5. Tester blir utslitt
Å gjenta de samme testene om og om igjen gjør dem gradvis mindre effektive til å oppdage nye feil. For å overvinne dette paradokset er det viktig å endre tester, men også utvikle nye.
Dette prinsippet understreker behovet for å utvikle testtilfeller og strategier for å oppdage nye feil etter hvert som programvaren utvikler seg. Det oppmuntrer til kontinuerlig forbedring av testdekning og effektivitet, og forhindrer at testprosessen blir utdatert og ineffektiv.
6. Testing er kontekstavhengig
Det finnes ingen universell tilnærming til testing. Testing utføres forskjellig i ulike kontekster.
Å erkjenne at ulike miljøer og typer programvare krever ulike testtilnærminger sikrer at teststrategien er tilpasset prosjektets spesifikke behov og risikoer. Denne fleksibiliteten øker nøyaktigheten og effektiviteten i testarbeidet.
7. Fravær av feil er en feilslutning
feilslutning – en idé som mange tror er sann, men som faktisk er feil
Det er feil å forvente at verifisering av programvare vil sikre systemets suksess. Det finnes ingen måte å teste fullstendig på, og selv som testere kan vi ikke bevise fraværet av feil, så til tross for mange tester kan vi ikke si at programvaren ikke inneholder noen feil.
Dette prinsippet er avgjørende for å tilpasse utviklingsteamets innsats til brukernes reelle behov og forventninger. Det flytter fokuset fra bare å finne feil til å skape et produkt som gir verdi for brukerne ved å fremme brukersentrert design og utviklingspraksis.
Sammen veileder disse prinsippene testteamet og utviklingsteamet i å skape mer pålitelige, effektive og brukersentrerte programvareprodukter. De hjelper i strategisk planlegging, implementering og kontinuerlig forbedring av testprosesser, og tilpasser dem til de overordnede målene for prosjektet og organisasjonen.


