Che cos'è il test di regressione? Definizione, casi di test (esempio)

Sommario:

Anonim

Che cos'è il test di regressione?

TEST DI REGRESSIONE è definito come un tipo di test del software per confermare che un programma recente o una modifica del codice non ha influenzato negativamente le funzionalità esistenti.

Il test di regressione non è altro che una selezione totale o parziale di casi di test già eseguiti che vengono rieseguiti per garantire che le funzionalità esistenti funzionino correttamente.

Questo test viene eseguito per assicurarsi che le nuove modifiche al codice non abbiano effetti collaterali sulle funzionalità esistenti. Assicura che il vecchio codice funzioni ancora una volta apportate le ultime modifiche al codice.

In questo tutorial impareremo

  • Necessità di test di regressione
  • Come eseguire il test di regressione
  • Selezione dei casi di test per i test di regressione
  • Strumenti di test di regressione
  • Test di regressione e gestione della configurazione
  • Differenza tra test di ripetizione e test di regressione
  • Sfide nei test di regressione
  • Esempio di applicazione pratica del test di regressione con un video

Necessità di test di regressione

La necessità del test di regressione sorge principalmente ogni volta che è necessario modificare il codice e dobbiamo verificare se il codice modificato influisce o meno sull'altra parte dell'applicazione software. Inoltre, è necessario un test di regressione quando viene aggiunta una nuova funzionalità all'applicazione software e per la correzione dei difetti e per la risoluzione dei problemi di prestazioni.

Come eseguire il test di regressione

Per eseguire il test di regressione , è necessario prima eseguire il debug del codice per identificare i bug. Una volta identificati i bug, vengono apportate le modifiche necessarie per risolverlo, quindi il test di regressione viene eseguito selezionando i casi di test pertinenti dalla suite di test che copre sia le parti modificate che quelle interessate del codice.

La manutenzione del software è un'attività che include miglioramenti, correzioni di errori, ottimizzazione ed eliminazione di funzionalità esistenti. Queste modifiche possono causare il funzionamento non corretto del sistema. Pertanto, il test di regressione diventa necessario. Il test di regressione può essere eseguito utilizzando le seguenti tecniche:

Riprova tutto

  • Questo è uno dei metodi per il test di regressione in cui tutti i test nel bucket o nella suite di test esistenti devono essere rieseguiti. Questo è molto costoso in quanto richiede tempo e risorse enormi.

Selezione test di regressione

La selezione del test di regressione è una tecnica in cui vengono eseguiti alcuni casi di test selezionati dalla suite di test per verificare se il codice modificato influisce o meno sull'applicazione software. I casi di test sono classificati in due parti, casi di test riutilizzabili che possono essere utilizzati in ulteriori cicli di regressione e casi di test obsoleti che non possono essere utilizzati nei cicli successivi.

Priorità dei casi di test

  • Assegna la priorità ai casi di test in base all'impatto aziendale, alle funzionalità critiche e utilizzate di frequente. La selezione dei casi di test in base alla priorità ridurrà notevolmente la suite di test di regressione.

Selezione dei casi di test per i test di regressione

È stato rilevato dai dati del settore che un buon numero di difetti segnalati dai clienti erano dovuti a correzioni di bug dell'ultimo minuto che creavano effetti collaterali e quindi selezionare il test case per i test di regressione è un'arte e non così facile. È possibile eseguire test di regressione efficaci selezionando i seguenti casi di test:

  • Casi di test che presentano difetti frequenti
  • Funzionalità più visibili agli utenti
  • Casi di test che verificano le caratteristiche principali del prodotto
  • Casi di test di funzionalità che hanno subito modifiche più recenti
  • Tutti i casi di test di integrazione
  • Tutti i casi di test complessi
  • Casi di test del valore limite
  • Un campione di casi di test di successo
  • Un campione di casi di test di fallimento

Strumenti di test di regressione

Se il software subisce modifiche frequenti, i costi dei test di regressione aumenteranno. In questi casi, l'esecuzione manuale dei casi di test aumenta i tempi di esecuzione dei test così come i costi. L'automazione dei casi di test di regressione è la scelta intelligente in questi casi. L'entità dell'automazione dipende dal numero di casi di test che rimangono riutilizzabili per cicli di regressione successivi.

Di seguito sono riportati gli strumenti più importanti utilizzati per i test funzionali e di regressione nell'ingegneria del software:

Selenio : questo è uno strumento open source utilizzato per automatizzare le applicazioni web. Il selenio può essere utilizzato per i test di regressione basati su browser.

Quick Test Professional (QTP) : HP Quick Test Professional è un software automatizzato progettato per automatizzare i casi di test funzionali e di regressione. Utilizza il linguaggio VBScript per l'automazione. È uno strumento basato sui dati e basato sulle parole chiave.

Rational Functional Tester (RFT) : il tester funzionale razionale di IBM è uno strumento Java utilizzato per automatizzare i casi di test delle applicazioni software. Viene utilizzato principalmente per automatizzare i casi di test di regressione e si integra anche con Rational Test Manager.

Test di regressione e gestione della configurazione

La gestione della configurazione durante i test di regressione diventa fondamentale negli ambienti agili in cui un codice viene modificato continuamente. Per garantire test di regressione efficaci, osservare quanto segue:

  • Il codice sottoposto a test di regressione dovrebbe essere in uno strumento di gestione della configurazione
  • Non devono essere consentite modifiche al codice, durante la fase di test di regressione. Il codice del test di regressione deve essere mantenuto immune alle modifiche dello sviluppatore.
  • Il database utilizzato per i test di regressione deve essere isolato. Non devono essere consentite modifiche al database

Differenza tra test di ripetizione e test di regressione:

Ripetere il test significa testare nuovamente la funzionalità o il bug per assicurarsi che il codice sia corretto. Se non viene risolto, il difetto deve essere riaperto. Se risolto, il difetto è chiuso.

Test di regressione significa testare la tua applicazione software quando subisce una modifica del codice per garantire che il nuovo codice non abbia influenzato altre parti del software.

Inoltre, controlla l'elenco completo delle differenze qui.

Sfide nei test di regressione:

Di seguito sono riportati i principali problemi di test per eseguire test di regressione:

  • Con le successive esecuzioni di regressione, le suite di test diventano piuttosto grandi. A causa di vincoli di tempo e budget, l'intera suite di test di regressione non può essere eseguita
  • Ridurre al minimo la suite di test ottenendo la massima copertura del test rimane una sfida
  • La determinazione della frequenza dei test di regressione, cioè dopo ogni modifica o ogni aggiornamento di build o dopo una serie di correzioni di bug, è una sfida.

Esempio di applicazione pratica del test di regressione con un video

Fare clic qui se il video non è accessibile

Conclusione:

Una strategia di regressione efficace, consente alle organizzazioni di risparmiare tempo e denaro. Secondo uno dei casi di studio nel settore bancario, la regressione consente di risparmiare fino al 60% di tempo nelle correzioni di bug (che sarebbero stati rilevati dai test di regressione) e il 40% in denaro