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:
Programvaretesting har utviklet seg fra å være programvareutviklingens stebarn til å bli en integrert del av moderne prosesser.