Programvaretesting er en underdisiplin av programvareutvikling, og er en aktivitet som utføres for å evaluere og forbedre kvaliteten til programvare ved å identifisere defekter og problemer.
IEEE definerer programvaretesting til å være dynamisk verifikasjon av oppførselen til et program på et endelig sett av tester utvalgt fra det vanligvis uendelig settet i det kjørbare domenet, målt opp mot forventet oppførsel.
De skråstilte ordene i forrige avsnitt tilsvarer nøkkelbegreper innenfor disiplinen: Dynamisk: Dette betyr at alltid innebærer å kjøre programmet mot et sett inn-verdier. Dette inkluderer også tilstanden til systemet som en helhet. Endelig: Selv i enkle programmer så er det praktisk umulig å teste mot hele settet av mulige inn-verdier. Utvalgt: Siden man tester på et begrenset sett med inn-verdier, så må disse velges ut for å gi mest mulig verdi til testen. Forventet: Oppførselen til programmet må sjekkes mot brukerens forventninger, mot spesifikasjonen og mot implisitte krav eller «sunn fornuft». Å ikke vite hva som forventes av programmet gjør testen verdiløs.
Programvaretesting har utviklet seg fra å være programvareutviklingens stebarn til å bli en integrert del av moderne prosesser.
Se også V-modellen Rimelighetstesting Funksjonell testing Ikke-funksjonell testing
Eksterne lenker IEEE Guide to the Software Engineering Body of Knowledge (engelsk) The Test Management Guide – A to Z and FAQ Knowledgebase (engelsk)
Testing Kategori:Testing og testmetodikk
kk:Тестілеу