Testarea fiabilității
Testarea fiabilității este un proces de testare a software-ului care verifică dacă software-ul poate efectua o operațiune fără eșecuri pentru o perioadă de timp specificată într-un anumit mediu. Scopul testării fiabilității este de a asigura faptul că produsul software este fără erori și suficient de fiabil pentru scopul său așteptat.
Fiabilitatea înseamnă „a produce același lucru”, în alte termeni, cuvântul „de încredere” înseamnă că ceva este de încredere și că va da același rezultat de fiecare dată. Același lucru este valabil și pentru testarea fiabilității.
În acest tutorial, veți învăța-
- Ce este testarea fiabilității?
- Exemplu de testare a fiabilității
- Factori care influențează fiabilitatea software-ului
- De ce să faceți teste de fiabilitate
- Tipuri de teste de fiabilitate
- Cum se face testarea fiabilității
- Exemple de metode pentru testarea fiabilității
- Instrumente de testare a fiabilității
Exemplu de testare a fiabilității
Probabilitatea ca un computer dintr-un magazin să funcționeze timp de opt ore fără să se blocheze este de 99%; aceasta este denumită fiabilitate.
Testarea fiabilității poate fi clasificată în trei segmente,
- Modelare
- Măsurare
- Îmbunătăţire
Următoarea formulă este pentru calcularea probabilității de eșec.
Probabilitate = Numărul de cazuri eșuate / Numărul total de cazuri luate în considerare
Factori care influențează fiabilitatea software-ului
- Numărul de defecte prezentate în software
- Modul în care utilizatorii operează sistemul
- Testarea fiabilității este una dintre cheile pentru o calitate mai bună a software-ului. Această testare ajută la descoperirea multor probleme în proiectarea și funcționalitatea software-ului.
- Scopul principal al testării fiabilității este de a verifica dacă software-ul îndeplinește cerința fiabilității clientului.
- Testarea fiabilității va fi efectuată la mai multe niveluri. Sistemele complexe vor fi testate la nivel de unitate, asamblare, subsistem și sistem.
De ce să faceți teste de fiabilitate
Testarea fiabilității se face pentru a testa performanța software-ului în condițiile date.
Obiectivul din spatele efectuării testelor de fiabilitate este,
- Pentru a găsi structura eșecurilor repetate.
- Pentru a găsi numărul de eșecuri care apar este timpul specificat.
- Pentru a descoperi principala cauză a eșecului
- Pentru a efectua testarea performanței diferitelor module ale aplicației software după remedierea defectului
Și după lansarea produsului, putem reduce la minimum posibilitatea apariției defectelor și îmbunătățim astfel fiabilitatea software-ului. Unele dintre instrumentele utile pentru aceasta sunt - Analiza tendințelor, clasificarea defectelor ortogonale și metodele formale, etc ...
Tipuri de teste de fiabilitate
Testarea fiabilității software include testarea caracteristicilor, testarea sarcinii și testarea de regresie
Testarea caracteristicilor: -
Testarea recomandată verifică caracteristica furnizată de software și se desfășoară în următorii pași: -
- Fiecare operație din software este executată cel puțin o dată.
- Interacțiunea dintre cele două operații este redusă.
- Fiecare operațiune trebuie verificată pentru executarea corectă.
Testarea sarcinii: -
De obicei, software-ul va funcționa mai bine la începutul procesului și, după aceea, va începe să se degradeze. Testarea sarcinii este efectuată pentru a verifica performanța software-ului sub sarcină maximă de lucru.
Test de regresie:-
Testarea de regresie este utilizată în principal pentru a verifica dacă au fost introduse erori noi din cauza remedierii erorilor anterioare. Testarea de regresie se efectuează după fiecare modificare sau actualizare a funcțiilor software și a funcționalităților acestora.
Cum se face testarea fiabilității
Testarea fiabilității este costisitoare în comparație cu alte tipuri de testare. Așadar, este necesară o planificare și o gestionare adecvate în timpul testării fiabilității. Aceasta include procesul de testare care urmează să fie implementat, date pentru mediul de testare, programul de testare, puncte de testare etc.
Pentru a începe cu testarea fiabilității, testerul trebuie să continue să urmeze lucrurile,
- Stabiliți obiective de fiabilitate
- Elaborați profilul operațional
- Planificați și executați teste
- Folosiți rezultatele testelor pentru a conduce decizii
După cum am discutat mai devreme, există trei categorii în care putem efectua testarea fiabilității, - Modelarea, măsurarea și îmbunătățirea .
Parametrii cheie implicați în testarea fiabilității sunt: -
- Probabilitatea funcționării fără eșecuri
- Durata de funcționare fără defecțiuni
- Mediul în care este executat
Pasul 1) Modelare
Tehnica de modelare software poate fi împărțită în două subcategorii:
1. Modelarea de predicție
2. Modelarea estimării
- Rezultate semnificative pot fi obținute prin aplicarea modelelor adecvate.
- Se pot face presupuneri și abstracții pentru a simplifica problemele și niciun model unic nu va fi potrivit pentru toate situațiile.
Diferențele majore ale celor două modele sunt: -
Probleme | Modele de predicție | Modele de estimare |
---|---|---|
Referința datelor | Folosește date istorice | Folosește datele actuale din dezvoltarea software-ului. |
Când este utilizat în Ciclul de dezvoltare | De obicei, va fi creat înainte de fazele de dezvoltare sau testare. | Acesta va fi de obicei utilizat în etapa ulterioară a ciclului de viață al dezvoltării software-ului. |
Interval de timp | Acesta va prezice fiabilitatea în viitor. | Acesta va prezice fiabilitatea fie pentru timpul prezent, fie pentru timpul viitor. |
Pasul 2) Măsurare
Fiabilitatea software-ului nu poate fi măsurată direct și, prin urmare, sunt luați în considerare alți factori asociați pentru a estima fiabilitatea software-ului. Practicile actuale de măsurare a fiabilității software sunt împărțite în patru categorii: -
1. Valori de produs: -
Valorile produsului sunt combinația a 4 tipuri de valori:
- Dimensiunea software-ului : - Line of Code (LOC) este o abordare inițială intuitivă pentru măsurarea dimensiunii software-ului. Numai codul sursă este numărat în această valoare, iar comentariile și alte instrucțiuni neexecutabile nu vor fi numărate.
- Punct funcțional Metric : - Funcția Pont Metric este metoda de măsurare a funcționalității dezvoltării software-ului. Acesta va lua în considerare numărul de intrări, ieșiri, fișiere master etc. Măsoară funcționalitatea livrată utilizatorului și este independent de limbajul de programare.
- Complexitate : - Este direct legată de fiabilitatea software-ului, deci reprezentarea complexității este importantă. Metrica orientată spre complexitate este o metodă de determinare a complexității structurii de control a unui program, prin simplificarea codului într-o reprezentare grafică.
- Valori de acoperire a testului : - Este o modalitate de a estima defecțiunea și fiabilitatea prin efectuarea testului complet al produselor software. Fiabilitatea software-ului înseamnă că este funcția de a determina dacă sistemul a fost complet verificat și testat.
2. Metrici de gestionare a proiectelor
- Cercetătorii au realizat că o bună gestionare poate duce la produse mai bune.
- Un management bun poate obține o fiabilitate mai mare utilizând un proces de dezvoltare mai bun, un proces de gestionare a riscurilor, un proces de gestionare a configurației etc.
3. Metrici de proces
Calitatea produsului este direct legată de proces. Metricele procesului pot fi utilizate pentru a estima, monitoriza și îmbunătăți fiabilitatea și calitatea software-ului.
4. Valori privind defecțiunile și defecțiunile
Valorile privind defecțiunile și defecțiunile sunt utilizate în principal pentru a verifica dacă sistemul nu este complet defect. Atât tipurile de defecțiuni descoperite în timpul procesului de testare (adică înainte de livrare), cât și eșecul raportat de utilizatori după livrare sunt colectate, sintetizate și analizate pentru a atinge acest obiectiv.
Fiabilitatea software-ului este măsurată în termeni de timp mediu între defecțiuni (MTBF) . MTBF constă din
- Mean to failure (MTTF): Este diferența de timp între două eșecuri consecutive
- Timpul mediu de reparare (MTTR): este timpul necesar pentru remedierea eșecului.
MTBF = MTTF + MTTR
Fiabilitatea pentru un software bun este un număr între 0 și 1.
Fiabilitatea crește atunci când erorile sau erorile din program sunt eliminate.
Pasul 3) Îmbunătățirea
Îmbunătățirea depinde complet de problemele apărute în aplicație sau sistem sau de caracteristicile software-ului. În funcție de complexitatea modulului software, modul de îmbunătățire va diferi, de asemenea. Două constrângeri principale de timp și buget, care vor limita eforturile, sunt puse în îmbunătățirea fiabilității software-ului.
Exemple de metode pentru testarea fiabilității
Testarea fiabilității se referă la exercitarea unei aplicații, astfel încât eșecurile să fie descoperite și eliminate înainte de implementarea sistemului.
Există în principal trei abordări utilizate pentru testarea fiabilității
- Fiabilitate Test-Retest
- Fiabilitatea formelor paralele
- Coerența deciziei
Mai jos am încercat să explicăm toate acestea cu un exemplu.
Fiabilitate Test-Retest
Pentru a estima fiabilitatea test-retest, un singur grup de examinați va efectua procesul de testare la doar câteva zile sau săptămâni. Timpul ar trebui să fie suficient de scurt, astfel încât abilitățile examinatorilor din zonă să poată fi evaluate. Relația dintre scorurile examinatorului din două administrații diferite este estimată, prin corelare statistică. Acest tip de fiabilitate demonstrează măsura în care un test este capabil să producă scoruri stabile și consistente în timp.
Fiabilitatea formelor paralele
Multe examene au mai multe formate de lucrări de întrebare, aceste forme paralele de examen oferă securitate. Fiabilitatea formelor paralele este estimată prin administrarea ambelor forme ale examenului la același grup de examinați. Scorurile examinatorilor pe cele două forme de testare sunt corelate pentru a determina cât de similar funcționează cele două forme de testare. Această estimare a fiabilității este o măsură a modului în care scorurile examinatorilor consecvenți pot fi de așteptat să obțină peste formularele de testare.
Coerența deciziei
După ce am făcut Test-Retest Fiabilitatea și Fiabilitatea Formei Paralele, vom obține un rezultat al examinării fie că au trecut, fie că nu au reușit. Fiabilitatea acestei decizii de clasificare este estimată în fiabilitatea consecvenței deciziilor.
Importanța testării fiabilității
Este necesară o evaluare aprofundată a fiabilității pentru a îmbunătăți performanța produsului și procesului software. Testarea fiabilității software-ului îi va ajuta în mare măsură pe managerii și practicienii software-ului.
Pentru a verifica fiabilitatea software-ului prin testare: -
- Un număr mare de cazuri de testare ar trebui să fie executate pentru o perioadă extinsă de timp pentru a afla cât timp va executa software-ul fără eșec.
- Distribuția cazurilor de testare trebuie să se potrivească cu profilul operațional real sau planificat al software-ului. Cu cât o funcție a software-ului este executată mai des, cu atât este mai mare procentul de cazuri de testare care ar trebui alocate funcției sau subsetului respectiv.
Instrumente de testare a fiabilității
Unele dintre instrumentele de testare a fiabilității utilizate pentru fiabilitatea software-ului sunt:
1. WEIBULL ++: - Analiza datelor privind viața de fiabilitate
2. RGA: - Analiza creșterii fiabilității
3. RCM: -Întreținere centrată pe fiabilitate
Rezumat:
Testarea fiabilității este partea importantă a unui program de inginerie de fiabilitate. Mai corect, este sufletul programului de inginerie de fiabilitate.
În plus, testele de fiabilitate sunt concepute în principal pentru a descoperi anumite moduri de eroare și alte probleme în timpul testării software-ului.
În ingineria software, testarea fiabilității poate fi clasificată în trei segmente,
- Modelare
- Măsurare
- Îmbunătăţire
Factori care influențează fiabilitatea software-ului
- Numărul de defecte prezentate în software
- Modul în care utilizatorii operează sistemul