Proba de regression

On appella **proba de regression** o **test de regression** (in anglese *regression testing*) cata typo de probas de software que tenta de discoperir errores, carentias de functionalitate, o divergentias functional a proposito del comportamento expectate del software, causate per le realisation de un cambio in le programma.

Iste typo de cambio pote esser a causa de non adequate practicas de controlo de versiones, manco de consideration super le area o contexto de production final e extensibilitate del error que ha essite corrigite (fragilitate del correction), o simplemente un consequentia del redesigno del application.

Dunque, in le majoritate del situationes del disveloppamento de software on considera un bon practica que quando on localisa e corrige un error, on scribe un proba que expone le error e on retorna a verificar regularmente post le cambios subsequente experimentate per le programma.

Il existe utensiles de[software que permitte deteger iste typo de errores de maniera partial o totalmente automatisate, le practica habitual in programmation extreme es que iste typo de probas se executa in cata un del passos del *cyclo de vita del disveloppamento del software*.

## Typos de regression
### Classification de area
; Local: le cambios introduce nove errores.
; Dismascate: le cambios revela errores previe.
; Remote: Le cambios liga alcun partes del programma (modulo) e introduce errores in illo.

### Classification temporal
; Nove characteristica: le cambios realisate a proposito de nove functionalitates in le version introduce errores in altere novitate in le mesme version del software.
; Characteristica preexistente: le cambios realisate a proposito de nove functionalitates introduce errores in functionalitate existente de previe versiones.

## Como mitigar le riscos
* Repetition complete e habitual del batteria de probas, manual o per medio de automatisation.
* Repetition partial basate in traciabilitate e analyse de riscos.
* Probas de cliente o usator:
** Beta - distribution a clientes potential e actual de versiones beta.
** Pilot - distribution a un subensemble ben definite e localisate.
** Parallel - combinante le uso de ambe systemas.
* Usar publicationes major. Le verification de nove functiones sovente coperi le functiones existente. Quante il ha plus de nove characteristicas in un publication, il habera un major nivello de probas de regression "accidental". 
* Pecias de emergentia - iste pecias es publicate immediatemente, e essera includite in publicationes futur de mantenimento. 

## Usos
On pote usar le probas de regression non solmente pro verificar le correction de un programma, sed sovente pro traciar le qualitate de exito de illo. Per exemplo in le designo de un compilator, le probas de regression debe traciar le mesura del codice, tempore de simulation, e le tempore de compilation del suites de proba. Quando on vole que un nove *build* appare, le processo de regression appare.

## Citationes
* "Etiam como consequentia del introduction de nove errores, pro le mantenimento del programma, plus probas del systema per sententia scribite es necessari que pro ulle altere programmation. In theoria, post cata correction on debe executar le lot complete de casos de proba ante executar contra le systema, pro assecurar se que illo non ha essite damnificate de forma obscur. In le practica, tal *probas de regression* debe approximar se a iste idea theoric, e es multo costose." -- Fred Brooks, *The Mythical Man Month* (p 122)

## Vide etiam
* Proba unitari