Una prova de regressió (rarament anomenat proves de no-regressió, de l'anglès non-regression testing)[1])és qualsevol classe de prova de programari que pretén trobar errades de regressió.[2] Les errades de regressió es produeixen quan una funcionalitat del programari que havia funcionat deixa de fer-ho. Normalment les errades de regressió es produeixen com una conseqüència no desitjada de canvis en el programari.
Els mecanismes habituals de proves de regressió consisteixen a tornar a efectuar proves que s'havien superat amb èxit per a comprovar que els resultats continuen essent satisfactoris.
L'experiència demostra que, a mesura que el programari es desenvolupa, és comú que aquest tipus d'errades vagin sorgint. Les causes de l'aparició d'aquest tipus d'errades poden ser diverses. A vegades són degudes al fet que la correcció a una errada es perd a causa de la gestió del codi que es fa durant el cicle de vida del programari. Altres causes poden ser correccions febles de les errades (que no tenen en compte tota la casuística del problema) o bé redissenys de l'estructura que no tenen presents les causes de l'errada.
En molts desenvolupaments de programari es considera una bona pràctica el fet que quan una errada es localitza i es corregeix també es desenvolupi una prova per tal de descobrir la reaparició d'aquesta errada. Aquesta prova s'inclou al conjunt de proves que s'efectuen de forma regular al programari.
Les proves de regressió són una pràctica important de la metodologia de desenvolupament de programari anomenada programació extrema. En aquesta metodologia les proves de regressió s'efectuen a cada pas del cicle de vida del programari.