Hva er testing? Hva er
hensikten?
For
en gitt input forventer vi en viss output. Hensikten med å teste er å vise
at systemet gjør det systemet er ment å gjøre og å oppdage feil før systemet
blir tatt i bruk. Testing beviser ikke at systemet er feilfritt men viser feil
du oppdager under kjøring av testen.
Validering og
vertifisering:
Validering:
Bygger vi det riktige produktet?
-
Programvaren
bør gjøre det brukeren virkelig ønsker
-
Fokus
på hele systemet
-
Gjøres
som regel i ekte og virkelige omgivelser
Vertifisering: Bygger vi produktet riktig?
-
Stemmer
det med kravspesifikasjonen?
-
Fokus
på komponent/delsystem
-
Gjøres
som regel i laberatorum
Ulike former av utviklingstesting
Testing foregår
under utviklingsfasen. Her er det en rekke ulike måter å teste på:
1.
Enhetstesting:
Individuelle programenheter eller objektklasser testes. Fokus på å teste
funksjonaliteten til objekter og metoder.
2.
Integrasjonstesting:
Ulike individuelle enheter er integrert til sammensatte komponenter. Fokus på å
teste grensesnitt til komponenter.
3.
Systemtesting:
Noen eller alle komponenter i et system er integrert og systemet testes som en
helhet. Fokus på å teste interaksjonen mellom komponentene.
4. Akseptansetesting: brukere eller potensielle
brukere tester systemet i egne omgivelser
Typer av test
Black Box testing
Black
box testing er en metode eller strategi som tester funksjonaliteten til et system i motsetning til interne
strukturen eller kildekoden. Tester er bygd rundt spesifikasjoner og krav, det
vil si, hva programmet er ment å gjøre. Black-box testing kan brukes på alle
nivåer av programvaretesting. Det er en rekke fordeler ved black box testing.
Det krever ikke programmeringskunnskaper, man kan bruke uavhenige testere som
ikke har vært involvert i utviklingen, man unngår at testingen gjør samme
antagelser som utviklerne og testing gjøres fra et brukerpersepektiv og kan
avsløre mangler i kravspesifikasjonen.
Whitebox testing
White
box testing tester interne strukturer eller kode i et program, i motsetning til
black box testing som tester funksjonalitet. Programmeringskunnskaper kreves.
Brukes vanligvis under enhetstesting, men også systemtesting og
integrasjonstesting. Fordeler: kan gjøres tidlig i systemet, testingen er
grundig, optimaliserer koden, fjerner unødvendig kode. Ulemper: krever
prog.kunnskaper, kan kun utføres av involerte utviklere,
Testdrevet utvikling (TDD:
1. En tilnærming der testing og koding
gjøres pararellt.
2.
Kode
utvikles i steg (inkrementelt) sammen med en test for hvert inkrement. Går ikke
vidre til neste inkrement før koden ”passerer” testen.
3. TDD var i utgangspunkt en del av smidige
Xp men brukes også i plandreven utvikling.
Ingen kommentarer:
Legg inn en kommentar