Testing dekker hele programvarelivssyklusen, ikke bare kjøring av programmet. For et lønnssystem omfatter testing gjennomgang av kravene for fullstendighet (statisk testing), utforming av testcaser ut fra lønnslippreglene, utførelse av dem mot systemet (dynamisk testing) og vurdering av om systemet er formålstjenlig. Målet er å fastslå at systemet oppfyller spesifiserte krav, å vise at det er formålstjenlig, og å avdekke defekter.
Hva er forskjellen mellom testing og feilsøking? Testing er en prosess med planlegging, forberedelse og evaluering for å finne defekter og vise kvalitet. Feilsøking er utviklingsaktiviteten med å lokalisere og rette årsaken til en påvist defekt. Testing finner defekten; feilsøking fjerner den.
Handler testing bare om å utføre programvaren? Nei. Testing omfatter statiske aktiviteter som gjennomgang av krav, design og kode. Statisk testing finner defekter uten å utføre programvaren, ofte tidligere og billigere.
Hva betyr «formålstjenlig»? At programvaren påviselig dekker behovene til brukerne og interessentene i praksis, utover det som står bokstavelig i de spesifiserte kravene.
Kan testing bevise fravær av defekter? Nei. Testing kan bare vise tilstedeværelse av defekter, ikke fravær — uttømmende testing er umulig bortsett fra i trivielle tilfeller.