what is reliability testing
Che cos'è il test di affidabilità?
qual è la chiave di sicurezza per il router
L'affidabilità è definita come la probabilità che il software funzioni senza errori per un periodo di tempo specificato in un particolare ambiente.
I test di affidabilità vengono eseguiti per garantire che il software sia affidabile, soddisfi lo scopo per cui è stato realizzato, per un determinato periodo di tempo in un dato ambiente ed è in grado di eseguire un'operazione senza errori.
In questo mondo meccanizzato, le persone oggigiorno credono ciecamente in qualsiasi software. Qualunque sia il risultato mostrato dal sistema software, le persone lo seguono credendo che il software sarà sempre corretto. In effetti questo è un errore comune che tutti noi facciamo.
Gli utenti pensano che i dati visualizzati siano corretti e il software funzionerà sempre correttamente. È qui che entra in gioco la necessità di test di affidabilità.
Secondo ANSI, l'affidabilità del software è definita come la probabilità che il software funzioni senza errori per un periodo di tempo specificato in un particolare ambiente.
Se un prodotto software funziona senza errori per un determinato periodo di tempo in un ambiente specificato, è noto come software affidabile.
L'affidabilità del software ridurrà i guasti durante lo sviluppo del software. In dispositivi elettronici o strumenti meccanici, il software non può avere un 'logorio', qui 'usura' si verifica solo a causa di 'difetti' o 'bug' nel sistema software.
Lettura consigliata => Suggerimenti e trucchi per trovare un bug
Cosa imparerai:
- Che cos'è il test di affidabilità?
Che cos'è il test di affidabilità?
Nel mondo di oggi, le applicazioni software vengono utilizzate in ogni aspetto della nostra vita, inclusi l'assistenza sanitaria, i settori governativi, le telecomunicazioni, ecc.
Quindi, abbiamo bisogno di dati precisi su cui gli utenti possono fare affidamento. I test di affidabilità riguardano la qualità del software e la standardizzazione dei prodotti. Se siamo in grado di ripetere i casi di test e se otteniamo lo stesso output in modo coerente, allora il prodotto è 'affidabile'.
I test di affidabilità vengono eseguiti per garantire che il software sia affidabile, soddisfi lo scopo per cui è stato realizzato, per un determinato periodo di tempo in un dato ambiente ed è in grado di eseguire un'operazione senza errori.
Quando utilizziamo i test di affidabilità?
Di seguito sono riportati gli scenari in cui utilizziamo questo test:
- Per trovare i difetti presenti nel sistema e il motivo che li sta dietro.
- Per garantire la qualità del sistema.
I casi di test dovrebbero essere progettati in modo tale da garantire la copertura totale del software. I casi di test devono essere eseguiti a intervalli regolari in modo da poter effettuare un controllo incrociato del risultato corrente e del risultato precedente e verificare se c'è qualche differenza tra loro. Se mostra lo stesso risultato o un risultato simile, il software può essere considerato affidabile.
Inoltre, possiamo testare l'affidabilità eseguendo i casi di test per un determinato periodo di tempo e verificare se sta mostrando il risultato correttamente senza errori dopo quel particolare periodo di tempo. Durante il test di affidabilità, dobbiamo controllare i vincoli ambientali come perdita di memoria, batteria scarica, rete bassa, errori del database, ecc.
Tipi fondamentali per misurare l'affidabilità del software
Di seguito sono elencati alcuni tipi fondamentali per valutare l'affidabilità del software.
1) Affidabilità test-retest
Considera la seguente situazione in cui stiamo testando una funzionalità, Say alle 9:30 e testando di nuovo la stessa funzionalità alle 13:00. Successivamente, confrontiamo entrambi i risultati. Stiamo ottenendo un'elevata correlazione nei risultati. Allora possiamo dire che il test è 'Affidabile'. Di solito, un'affidabilità di 0,8 o più significa che il sistema può essere considerato un prodotto altamente affidabile.
Qui, è molto importante notare che la durata del test rimane la stessa se abbiamo 10 passaggi in un caso di test, quindi il numero di passaggi rimarrà lo stesso per l'esecuzione del test la prossima volta.
Considera il particolare Esempio di una persona che partecipa a un 'test del QI' e ottiene 144 punti. Dopo 6 mesi fa lo stesso 'test del QI' e ottiene 68 punti. In tal caso non può essere considerato una fonte 'affidabile'.
2) Forma parallela o alternativa di affidabilità
Si chiama così perché i tester stanno conducendo il test in due forme contemporaneamente.
3) Affidabilità Inter-Rater
L'affidabilità Inter-Rater è altrimenti nota come Affidabilità Inter-Observer o Inter-Coder. È un tipo speciale di affidabilità che consiste in più valutatori o giudici. Si occupa della coerenza del rating proposto da diversi valutatori / osservatori.
Per esempio , considera un concorrente che partecipa a una competizione canora e guadagna 9,8,9 (su 10) punti da più giudici. Questo punteggio può essere considerato 'affidabile' in quanto è abbastanza coerente. Ma se avesse segnato 9,3,7 (su 10) allora non può essere considerato 'affidabile'.
Nota: Queste valutazioni dipenderanno fortemente dall'accordo generale tra i diversi giudici / valutatori. Una volta che hai fatto una serie di osservazioni, puoi decidere che c'è una sorta di stabilità tra i punteggi e dopo quel periodo di tempo, possiamo dire che sono coerenti.
Pertanto, la stabilità del punteggio è una misura tra più osservatori. È molto importante notare che anche l'abilità dell'osservatore gioca un ruolo importante quando si tratta di discutere l'affidabilità inter-valutatore. Per migliorare l'affidabilità tra i valutatori, i valutatori hanno bisogno di formazione o di una guida adeguata.
Considera il foglio Excel sopra e visualizza le valutazioni fornite da due diversi valutatori Rater1 e Rater2 per 12 elementi diversi. Rater1 ha valutato in modo indipendente sul tabellone del punteggio. Qui, utilizzando il quadro di valutazione, calcoleremo ora la percentuale di accordo tra i due valutatori. Questo si chiama affidabilità inter-rater o accordo inter-rater tra i due valutatori.
Nella terza colonna, metteremo '1' se i punteggi assegnati dai valutatori corrispondono. Daremo '0' se i punteggi corrispondono. Dopodiché, troveremo il numero '1' e '0' nella colonna. Eccolo 8.
Numero di '1' = 8
Numero totale di articoli = 12
Percentuale di accordo = (8/12) * 100 = 67%. Il 67% non è così tanto. I valutatori devono avere un maggiore accordo in modo da poter discutere e migliorare il risultato di conseguenza.
Diversi tipi di test di affidabilità
I vari tipi di test di affidabilità sono discussi di seguito come riferimento:
1) Test delle caratteristiche:
Questo test determina l'idoneità, ovvero verifica se l'applicazione funziona come previsto per il suo utilizzo rientrato. Qui, controllerà l'interoperabilità di un'applicazione per testarla con gli altri componenti e il sistema che interagisce con l'applicazione.
oops concetto in c # con esempio
Assicura l'accuratezza del sistema per controllare se non ci sono bug trovati durante Beta test .
Oltre a questo, verifica una sorta di sicurezza e conformità. Test di sicurezza è correlato alla prevenzione dell'accesso non autorizzato all'applicazione intenzionalmente o meno. In conformità, controlleremo se l'applicazione segue determinati criteri come standard, regole, ecc.
2) Test di carico
Test di carico controllerà le prestazioni del sistema rispetto al sistema o alle prestazioni della concorrenza. Si basa anche sul numero di utenti simultanei che utilizzano il sistema e sul comportamento del sistema nei confronti degli utenti.
Il sistema deve rispondere ai comandi dell'utente con un tempo di risposta inferiore (diciamo 5 secondi) e soddisfare le aspettative dell'utente.
3) Test di regressione
Nel Test di regressione , controlleremo se il sistema sta funzionando bene e non sono stati introdotti bug a seguito dell'aggiunta di nuove funzionalità nel software. Viene eseguito anche quando un bug è stato corretto e il tester deve testarlo di nuovo.
Piano di test di affidabilità
Durante le diverse fasi dell'SDLC (Ciclo di vita dello sviluppo del software) molte domande sul futuro del prodotto possono sorgere dagli utenti, come 'se sono affidabili o meno'. Dobbiamo trovare una soluzione chiara per queste domande. Con un modello adeguato, possiamo prevedere il prodotto.
I due tipi di modelli includono:
- Modello di previsione
- Modello di stima
Nei test predittivi, prevediamo il risultato con i dati storici, le statistiche e l'apprendimento automatico. Tutto ciò di cui abbiamo bisogno è scrivere un rapporto. In un modello predittivo, otteniamo solo alcune informazioni storiche. Usando queste informazioni, possiamo costruire un grafico a dispersione e tracciare una linea estrapolata dai dati storici esistenti e possiamo prevedere i dati futuri.
Questo tipo di modello viene eseguito prima della fase di sviluppo o test stessa. In Estimation Testing, oltre a utilizzare i dati storici, utilizzeremo i dati correnti. Qui possiamo prevedere l'affidabilità di un prodotto nel tempo presente o nel tempo futuro. Questo tipo di test viene eseguito durante le ultime fasi del Ciclo di vita dello sviluppo del software .
Strumenti di test di affidabilità
I tester devono determinare la stima dell'affidabilità di un software. Ciò porterà all'uso di vari strumenti per l'affidabilità del software.
Utilizzando uno strumento standardizzato, possiamo:
- Rileva le informazioni sull'errore.
- Scegli il modello corretto per fare una previsione sul software.
- Genera rapporti sugli errori.
Esistono vari strumenti disponibili sul mercato per misurare l'affidabilità del software e alcuni di essi sono menzionati di seguito:
CASRE (strumento di stima dell'affidabilità del software assistito da computer): Questo non è un freeware, dobbiamo acquistarlo.
Lo strumento di misurazione dell'affidabilità CASRE è costruito sulla base dei modelli di affidabilità esistenti che aiutano a stimare meglio l'affidabilità di un prodotto software. La GUI dello strumento fornisce una migliore comprensione dell'affidabilità del software ed è anche molto facile da usare.
Durante un test, aiuta gli utenti a scoprire se l'affidabilità del sistema sta aumentando o diminuendo durante l'utilizzo di una serie di dati di errore. Carse fornisce una vista 2D tracciando il numero di errori rispetto al tempo dell'intervallo di prova e quindi un utente può ottenere un grafico che rappresenta il sistema come mostrato nella figura seguente.
Utilizzando CASRE
- L'utente può selezionare i dati di errore.
- Specificando quanto lontano nel futuro, vogliamo prevedere l'affidabilità del prodotto.
- Seleziona i modelli di affidabilità.
- Seleziona un modello appropriato per il risultato.
- Stampa il risultato del fallimento.
- Salva il risultato su disco.
Altri strumenti utilizzati per testare l'affidabilità includono SOFTREL , SoRel (Software Reliability Analysis and Prediction), WEIBULL ++, ecc.
Conclusione
Il test di affidabilità è costoso rispetto ad altre forme di test. Quindi, per farlo in modo conveniente, dobbiamo avere un adeguato Piano di test e gestione dei test.
In SDLC, il test di affidabilità gioca un ruolo importante. Come spiegato in precedenza, l'utilizzo delle metriche di affidabilità porterà affidabilità al software e predirà il futuro del software. Molte volte l'affidabilità del software è difficile da ottenere se il software ha un'elevata complessità.
Lettura consigliata
- Migliori strumenti di test del software 2021 [Strumenti di automazione del test QA]
- Lavoro assistente QA test software
- Corso di test del software: quale istituto di test del software dovrei iscrivermi?
- Scegliere il test del software come carriera
- Lavoro freelance di scrittore di contenuti tecnici di test del software
- Test delle applicazioni: le basi del test del software!
- Che cos'è il test di regressione? Definizione, strumenti, metodo ed esempio
- Alcune interessanti domande di intervista sul test del software