Cos'è il test di affidabilità? (Esempio)

Cos'è il test di affidabilità?

Test di affidabilità è un processo di test del software che verifica se il software può eseguire un'operazione senza errori in un particolare ambiente per un periodo di tempo specificato. Lo scopo del test di affidabilità è garantire che il prodotto software sia privo di bug e sufficientemente affidabile per lo scopo previsto.

Affidabilità significa “rendere lo stesso”, in altri termini, la parola “affidabile” significa che qualcosa è affidabile e che darà sempre lo stesso risultato. Lo stesso vale per i test di affidabilità.

Esempio di test di affidabilità

La probabilità che un PC in un negozio rimanga attivo e funzionante per otto ore senza bloccarsi è del 99%; questo si chiama affidabilità.

I test di affidabilità possono essere classificati in tre segmenti,

  • Modeling
  • Misurazione
  • Progresso

La seguente formula serve a calcolare la probabilità di fallimento.

Probability = Number of failing cases/ Total number of cases under consideration

Esempio di test di affidabilità

Fattori che influenzano l'affidabilità del software

  1. Il numero di errori presenti nel software
  2. Il modo in cui gli utenti utilizzano il sistema

I test di affidabilità sono una delle chiavi per una migliore qualità del software. Questo test aiuta a scoprire molti problemi nella progettazione e nella funzionalità del software.

Lo scopo principale dei test di affidabilità è verificare se il software soddisfa i requisiti di affidabilità del cliente.

I test di affidabilità saranno eseguiti a vari livelli. I sistemi complessi saranno testati a livello di unità, assemblaggio, sottosistema e sistema.

Perché eseguire test di affidabilità?

Il test di affidabilità viene eseguito per testare le prestazioni del software nelle condizioni specificate.

L'obiettivo dietro l'esecuzione dei test di affidabilità è:

  1. Trovare la struttura dei fallimenti ricorrenti.
  2. Per trovare il numero di errori che si verificano è la quantità di tempo specificata.
  3. Per scoprire la causa principale del fallimento.
  4. Condurre Test di Performance di vari moduli di applicazioni software dopo aver corretto un difetto.

Anche dopo il rilascio del prodotto possiamo ridurre al minimo la possibilità che si verifichino difetti e quindi migliorare l'affidabilità del software. Alcuni degli strumenti utili per questo sono: Analisi dei trend, Ortogonale Difetto Classificazione e metodi formali, ecc.

Tipi di test di affidabilità

I test di affidabilità del software includono test delle funzionalità, Caricare i test e Test di regressione

Test delle funzionalità: -

Il test in evidenza verifica le funzionalità fornite dal software e viene condotto nei seguenti passaggi:

  • Ogni operazione nel software viene eseguita almeno una volta.
  • L'interazione tra le due operazioni è ridotta.
  • Ogni operazione deve essere verificata per la sua corretta esecuzione.

Test di carico:-

Di solito, il software funzionerà meglio all'inizio del processo e successivamente inizierà a deteriorarsi. Il test di carico viene condotto per verificare le prestazioni del software sotto il carico di lavoro massimo.

Test di regressione:-

Il test di regressione viene utilizzato principalmente per verificare se sono stati introdotti nuovi bug a causa della correzione di bug precedenti. Il test di regressione viene condotto dopo ogni modifica o aggiornamento delle caratteristiche del software e delle loro funzionalità.

Come eseguire test di affidabilità

I test di affidabilità sono costosi rispetto ad altri tipi di test. Pertanto sono necessarie una pianificazione e una gestione adeguate durante l'esecuzione dei test di affidabilità. Ciò include il processo di test da implementare, i dati per l'ambiente di test, il programma dei test, i punti di test, ecc.

Per iniziare con i test di affidabilità, il tester deve continuare a seguire le cose,

  • Stabilire obiettivi di affidabilità
  • Sviluppare il profilo operativo
  • Pianificare ed eseguire test
  • Utilizza i risultati dei test per prendere decisioni

Come discusso in precedenza, esistono tre categorie in cui possiamo eseguire test di affidabilità: Modellazione, misurazione e miglioramento.

I parametri chiave coinvolti nei test di affidabilità sono: -

  • Probabilità di funzionamento senza guasti
  • Durata del funzionamento senza guasti
  • L'ambiente in cui viene eseguito

Passaggio 1) Modellazione

Le tecniche di modellazione del software possono essere suddivise in due sottocategorie:

1. Modellazione di previsione

2. Modelli di stima

  • Risultati significativi possono essere ottenuti applicando modelli adeguati.
  • È possibile fare ipotesi e astrazioni per semplificare i problemi e nessun modello unico sarà adatto a tutte le situazioni. Le principali differenze tra i due modelli sono: -
Problema Modelli di previsione Modelli di stima
Riferimento dati Data Utilizza dati storici Utilizza i dati attuali provenienti dallo sviluppo del software.
Se utilizzato nel ciclo di sviluppo Di solito verrà creato prima delle fasi di sviluppo o test. Solitamente verrà utilizzato più avanti nel ciclo di vita dello sviluppo del software.
Time Frame Predisporrà l'affidabilità in futuro. Predisporrà l'affidabilità per il momento presente o per il futuro.

Passaggio 2) Misurazione

L'affidabilità del software non può essere misurata direttamente; quindi, altri fattori correlati vengono considerati per stimare l'affidabilità del software. Le attuali pratiche di misurazione dell'affidabilità del software sono divise in quattro categorie: -

Misura 1: Metriche del prodotto

Le metriche del prodotto sono la combinazione di 4 tipi di metriche:

  • Dimensioni del software: – Line of Code (LOC) è un approccio iniziale intuitivo per misurare la dimensione del software. In questa metrica viene conteggiato solo il codice sorgente e non verranno conteggiati i commenti e le altre istruzioni non eseguibili.
  • Punto funzione Metrica:- Funzione Pont Metric è il metodo per misurare la funzionalità dello sviluppo software. Considererà il conteggio di input, output, file master, ecc. Misura la funzionalità fornita all'utente ed è indipendente dal linguaggio di programmazione.
  • Complessità è direttamente correlata all'affidabilità del software, quindi è importante rappresentare la complessità. La metrica orientata alla complessità determina la complessità della struttura di controllo di un programma semplificando il codice in una rappresentazione grafica.
  • Metriche di copertura del test:- È un modo per stimare difetti e affidabilità completando i test dei prodotti software. Affidabilità del software significa che è la funzione di determinare che il sistema è stato completamente verificato e testato.

Misurazione 2: Metriche di gestione del progetto

  • I ricercatori hanno capito che una buona gestione può portare a prodotti migliori.
  • Una buona gestione può ottenere una maggiore affidabilità utilizzando migliori processi di sviluppo, gestione del rischio e gestione della configurazione.

Misura 3: Metriche di processo

La qualità del prodotto è direttamente correlata al processo. Le metriche di processo possono essere utilizzate per stimare, monitorare e migliorare l'affidabilità e la qualità del software.

Misurazione 4: Metriche di guasti e guasti

Le metriche di guasti e guasti vengono utilizzate principalmente per verificare se il sistema è completamente esente da guasti. Per raggiungere questo obiettivo vengono raccolti, riepilogati e analizzati sia i tipi di difetti rilevati durante il processo di test (ovvero prima della consegna), sia i guasti segnalati dagli utenti dopo la consegna.

L'affidabilità del software viene misurata in termini di tempo medio tra i guasti (MTBF). L'MTBF è costituito da

  • Mean to Failure (MTTF): è la differenza di tempo tra due fallimenti consecutivi.
  • Tempo medio di riparazione (MTTR): è il tempo necessario per riparare il guasto.
MTBF = MTTF + MTTR

L'affidabilità per un buon software è un numero intermedio 0 e 1.

L'affidabilità aumenta quando vengono rimossi errori o bug dal programma.

Passaggio 3) Miglioramento

Il miglioramento dipende completamente dai problemi verificatisi nell'applicazione o nel sistema, o dalle caratteristiche del software. In base alla complessità del modulo software, anche il modo di miglioramento sarà diverso. Due vincoli principali, tempo e budget, limiteranno gli sforzi profusi nel miglioramento dell'affidabilità del software.

Metodi di esempio per i test di affidabilità

Testare l'affidabilità significa esercitare un'applicazione per scoprire e rimuovere gli errori prima che il sistema venga distribuito.

Esistono principalmente tre approcci utilizzati per i test di affidabilità

  • Affidabilità test-retest
  • Affidabilità delle forme parallele
  • Coerenza decisionale

Di seguito abbiamo provato a spiegare tutto questo con un esempio.

Affidabilità test-retest

Affidabilità test-retest

Per stimare l'affidabilità del test-retest, un singolo gruppo di esaminati eseguirà il processo di test a distanza di pochi giorni o settimane. Il tempo dovrebbe essere sufficientemente breve da consentire la valutazione delle competenze del candidato nell'area. Il rapporto tra i punteggi ottenuti dal candidato da due diverse amministrazioni viene stimato attraverso la correlazione statistica. Questo tipo di affidabilità dimostra la misura in cui un test è in grado di produrre punteggi stabili e coerenti nel tempo.

Affidabilità delle forme parallele

Affidabilità delle forme parallele

Molti esami hanno più formati di questionari, queste forme parallele di esame forniscono sicurezza. L'affidabilità delle forme parallele è stimata somministrando entrambe le forme dell'esame allo stesso gruppo di candidati. I punteggi del candidato nelle due forme di test sono correlati per determinare quanto simili funzionino le due forme di test. Questa stima dell'affidabilità è una misura di quanto i punteggi dei candidati siano coerenti tra le forme di test.

Coerenza decisionale

Dopo aver eseguito l'affidabilità Test-Retest e l'affidabilità del modulo parallelo, otterremo un risultato in cui gli esaminandi hanno superato o fallito. L'affidabilità di questa decisione di classificazione è stimata nell'affidabilità della coerenza della decisione.

Importanza dei test di affidabilità

È necessaria una valutazione approfondita dell'affidabilità per migliorare le prestazioni dei prodotti e dei processi software. Testare l'affidabilità del software aiuterà in larga misura i gestori e i professionisti del software.

Per verificare l'affidabilità del software tramite test: -

  1. È necessario eseguire un gran numero di casi di test per un periodo prolungato per determinare per quanto tempo il software verrà eseguito senza errori.
  2. La distribuzione dei casi di test dovrebbe corrispondere al profilo operativo effettivo o pianificato del software. Quanto più spesso viene eseguita una funzione del software, maggiore è la percentuale di casi di test che dovrebbero essere assegnati a quella funzione o sottoinsieme.

Strumenti di test di affidabilità

Alcuni dei Strumenti per testare l'affidabilità utilizzati per l'affidabilità del software sono:

1. WEIBULL++:- Affidabilità Vita Analisi dei dati

2. RGA:- Analisi della crescita dell'affidabilità

3. RCM: manutenzione centrata sull'affidabilità

Sommario

I test di affidabilità sono una parte importante di un programma di ingegneria dell'affidabilità. Più correttamente, è l'anima di un programma di ingegneria dell'affidabilità. Inoltre, i test di affidabilità sono progettati principalmente per scoprire particolari modalità di guasto e altri problemi durante i test del software.

In Software Engineering, I test di affidabilità possono essere classificati in tre segmenti,

  • Modeling
  • Misurazione
  • Progresso

Fattori che influenzano l'affidabilità del software

  • Il numero di errori presenti nel software
  • Il modo in cui gli utenti utilizzano il sistema