Ce este testarea de fiabilitate? (Exemplu)
Ce este testarea de fiabilitate?
Testarea fiabilitฤศii este un proces de testare a software-ului care verificฤ dacฤ software-ul poate efectua o operaศiune fฤrฤ erori รฎntr-un anumit mediu pentru o anumitฤ perioadฤ de timp. Scopul testฤrii de fiabilitate este de a se asigura cฤ produsul software este lipsit de erori ศi suficient de fiabil pentru scopul dorit.
Fiabilitate รฎnseamnฤ โa obศine acelaศi lucruโ, รฎn alศi 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 de fiabilitate.
Exemplu de testare a fiabilitฤศii
Probabilitatea ca un PC dintr-un magazin sฤ funcศioneze timp de opt ore fฤrฤ sฤ se blocheze este de 99%; aceasta se numeศte fiabilitate.
Testarea de fiabilitate poate fi clasificatฤ รฎn trei segmente,
- Modelare
- Mฤsurare
- รmbunฤtฤลฃire
Urmฤtoarea formulฤ este pentru calcularea probabilitฤศii de defecศiune.
Probability = Number of failing cases/ Total number of cases under consideration
Factori care influenศeazฤ fiabilitatea software-ului
- Numฤrul de erori prezente รฎ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 designul ศi funcศionalitatea software-ului.
Scopul principal al testฤrii de fiabilitate este de a verifica dacฤ software-ul รฎndeplineศte cerinศele de fiabilitate a clienศilor.
Testele de fiabilitate vor fi efectuate la mai multe niveluri. Sistemele complexe vor fi testate la nivel de unitate, ansamblu, subsistem ศi sistem.
De ce faceศi teste de fiabilitate?
Testarea de fiabilitate 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 defecศiuni care apar este perioada specificatฤ.
- Pentru a descoperi cauza principalฤ a eศecului.
- A conduce Test de performanta a diferitelor module de aplicaศii software dupฤ remedierea unui defect.
ศi dupฤ lansarea produsului, putem minimiza posibilitatea apariศiei defectelor ศi, prin urmare, putem รฎmbunฤtฤศi fiabilitatea software-ului. Unele dintre instrumentele utile pentru aceasta sunt: โโAnaliza tendinศelor, Ortogonale Defect Clasificare ศi metode formale etc.
Tipuri de testare a fiabilitฤศii
Testarea fiabilitฤศii software include testarea caracteristicilor, รncฤrcarea testelor ศi Testarea regresiei
Testarea caracteristicilor: -
Featured Testing verificฤ caracteristica oferitฤ 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ศiuni este redusฤ.
- Fiecare operaศie trebuie verificatฤ pentru executarea ei corectฤ.
Testare de sarcinฤ: -
De obicei, software-ul va funcศiona mai bine la รฎnceputul procesului, iar dupฤ aceea, va รฎncepe sฤ se degradeze. Testarea de รฎncฤrcare este efectuatฤ pentru a verifica performanศa software-ului la sarcina maximฤ de lucru.
Test de regresie:-
Testarea de regresie este folositฤ รฎn principal pentru a verifica dacฤ au fost introduse erori noi din cauza remedierii erorilor anterioare. Testarea de regresie este efectuatฤ dupฤ fiecare modificare sau actualizare a caracteristicilor software ศi a funcศionalitฤศilor acestora.
Cum se face testarea de fiabilitate
Testarea de fiabilitate este costisitoare รฎn comparaศie cu alte tipuri de testare. Prin urmare, este necesarฤ o planificare ศi un management adecvat รฎn timp ce se efectueazฤ teste de fiabilitate. Aceasta include procesul de testare care urmeazฤ sฤ fie implementat, date pentru mediul de testare, programul de testare, punctele de testare etc.
Pentru a รฎncepe cu testarea de fiabilitate, testerul trebuie sฤ urmฤreascฤ รฎn continuare lucrurile,
- Stabiliศi obiective de fiabilitate
- Dezvoltaศi profilul operaศional
- Planificaศi ศi executaศi teste
- Utilizaศi rezultatele testelor pentru a lua decizii
Dupฤ cum am discutat mai devreme, existฤ trei categorii รฎn care putem efectua teste de fiabilitate, - Modelare, mฤsurare ศi รฎmbunฤtฤศire.
Parametrii cheie implicaศi รฎn testarea fiabilitฤศii sunt: โโ-
- Probabilitatea de funcศionare fฤrฤ defecศiuni
- Durata de funcศionare fฤrฤ defecศiuni
- Mediul รฎn care se executฤ
Pasul 1) Modelare
Tehnica de modelare software poate fi รฎmpฤrศitฤ รฎn douฤ subcategorii:
1. Modelarea predictiilor
2. Modelare estimativฤ
- Rezultate semnificative pot fi obศinute prin aplicarea unor modele adecvate.
- Se pot face ipoteze ศi abstracศii pentru a simplifica problemele ศi niciun model nu va fi potrivit pentru toate situaศiile. Diferenศele majore dintre cele douฤ modele sunt:
| Probleme | Modele de predicศie | Modele de estimare |
|---|---|---|
| Referinศฤ de date | Foloseศte date istorice | Utilizeazฤ datele curente din dezvoltarea de software. |
| Cรขnd este utilizat รฎn ciclul de dezvoltare | De obicei, acesta va fi creat รฎnainte de fazele de dezvoltare sau de testare. | De obicei, va fi folosit mai tรขrziu รฎn ciclul de viaศฤ al dezvoltฤrii software. |
| Interval de timp | Va prezice fiabilitatea รฎn viitor. | Acesta va prezice fiabilitatea fie pentru momentul prezent, fie รฎn timpul viitor. |
Pasul 2) Mฤsurare
Fiabilitatea software-ului nu poate fi mฤsuratฤ direct; prin urmare, alศi factori corelaศi sunt luaศi รฎn considerare pentru a estima fiabilitatea software-ului. Practicile actuale de mฤsurare a fiabilitฤศii software-ului sunt รฎmpฤrศite รฎn patru categorii: -
Mฤsurarea 1: Valorile produsului
Valorile de produs sunt o combinaศie a 4 tipuri de valori:
- Dimensiunea software-ului: โ Line of Code (LOC) este o abordare iniศialฤ intuitivฤ pentru mฤsurarea dimensiunii software-ului. Doar codul sursฤ este numฤrat รฎn aceastฤ mฤsurฤtoare, iar comentariile ศi alte declaraศii neexecutabile nu vor fi luate รฎn considerare.
- Punct de funcศie Metric:- Funcศia Pont Metric este metoda de mฤsurare a funcศionalitฤศii dezvoltฤrii software. Acesta va lua รฎn considerare numฤrul de intrฤri, ieศiri, fiศiere master, etc. Mฤsoarฤ funcศionalitatea furnizatฤ utilizatorului ศi este independent de limbajul de programare.
- Complexitate este direct legatฤ de fiabilitatea software-ului, deci este importantฤ reprezentarea complexitฤศii. Metrica orientatฤ spre complexitate determinฤ complexitatea structurii de control a unui program prin simplificarea codului รฎntr-o reprezentare graficฤ.
- Valori de acoperire a testului:- Este o modalitate de estimare a defecศiunii ศi a fiabilitฤศii prin finalizarea testelor produselor software. Fiabilitatea software-ului รฎnseamnฤ cฤ este funcศia de a determina dacฤ sistemul a fost complet verificat ศi testat.
Mฤsurarea 2: Mฤsuri de management de proiect
- Cercetฤtorii au realizat cฤ un management bun poate duce la produse mai bune.
- Un management bun poate obศine o fiabilitate mai mare prin utilizarea unor procese mai bune de dezvoltare, management al riscului ศi management al configuraศiei.
Mฤsurarea 3: Mฤsurarea procesului
Calitatea produsului este direct legatฤ de proces. Mฤsurile de proces pot fi utilizate pentru a estima, monitoriza ศi รฎmbunฤtฤศi fiabilitatea ศi calitatea software-ului.
Mฤsurarea 4: Valori de eroare ศi defecศiune
Mฤsurile de erori ศi defecศiuni sunt utilizate รฎn principal pentru a verifica dacฤ sistemul este complet lipsit de defecศiuni. Atรขt tipurile de defecte gฤsite รฎn timpul procesului de testare (adicฤ รฎnainte de livrare), cรขt ศi defecศiunile raportate de utilizatori dupฤ livrare sunt colectate, rezumate ศi analizate pentru a atinge acest obiectiv.
Fiabilitatea software-ului este mฤsuratฤ รฎn termeni de timpul mediu dintre defecศiuni (MTBF). MTBF constฤ din
- Mean to failure (MTTF): este diferenศa de timp dintre douฤ eศecuri consecutive.
- Timpul mediu de reparare (MTTR): este timpul necesar pentru remedierea defecศiunii.
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ฤศire
รmbunฤtฤศirea depinde รฎn totalitate 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 ศi el. Douฤ constrรขngeri principale, timpul ศi bugetul vor limita eforturile depuse pentru รฎmbunฤtฤศirea fiabilitฤศii software-ului.
Exemple de metode pentru testarea fiabilitฤศii
Testarea fiabilitฤศii se referฤ la exersarea unei aplicaศii pentru a descoperi ศi elimina defecศiunile รฎnainte ca sistemul sฤ fie implementat.
Existฤ รฎn principal trei abordฤri utilizate pentru testarea fiabilitฤศii
- Fiabilitate Test-Retest
- Fiabilitatea formelor paralele
- Consecvenศ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 distanศฤ. Timpul ar trebui sฤ fie suficient de scurt pentru a putea fi evaluate abilitฤศile examinatului รฎn domeniu. Relaศia dintre scorurile examinatului de la douฤ administraศii diferite este estimatฤ prin corelaศie 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 cu รฎntrebฤri, aceste forme paralele de examen oferฤ securitate. Fiabilitatea formelor paralele este estimatฤ prin administrarea ambelor forme ale examenului cฤtre acelaศi grup de examinaศi. Scorurile examinatului la cele douฤ formulare de testare sunt corelate pentru a determina cรขt de similare funcลฃioneazฤ cele douฤ forme de testare. Aceastฤ estimare a fiabilitฤศii este o mฤsurฤ a modului รฎn care pot fi aศteptate scorurile consecvente ale examinatorilor รฎn toate formularele de testare.
Consecvenศa deciziei
Dupฤ ce facem Test-Retest Reliability ศi Parallel Form Reliability, vom obศine un rezultat al examinatorilor fie cฤ au promovat, fie cฤ nu au reuศit. Fiabilitatea acestei decizii de clasificare este estimatฤ รฎn fiabilitatea coerenศei deciziilor.
Importanศa testฤrii fiabilitฤศii
O evaluare aprofundatฤ a fiabilitฤศii este necesarฤ pentru a รฎmbunฤtฤศi performanศa produselor ศi proceselor software. Testarea fiabilitฤศii software-ului va ajuta รฎn mare mฤsurฤ managerii ศi practicienii de software.
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ฤ pentru a determina cรขt timp se va executa software-ul fฤrฤ eศec.
- Distribuศia cazului 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 acelei funcศii sau subset.
Instrumente de testare a fiabilitฤศii
Unele dintre Instrumente de testare a fiabilitฤศii utilizate pentru fiabilitatea software-ului sunt:
1. WEIBULL++: - Fiabilitate de viaศฤ Analiza datelor
2. RGA:- Analiza creศterii fiabilitฤศii
3. RCM:-รntreศinere centratฤ pe fiabilitate
Rezumat
Testarea fiabilitฤศii este o parte importantฤ a unui program de inginerie a fiabilitฤศii. Mai corect, este sufletul unui program de inginerie a fiabilitฤศii. รn plus, testele de fiabilitate sunt concepute รฎn principal pentru a descoperi anumite moduri de defecศiune ศi alte probleme รฎn timpul testฤrii software-ului.
In Inginerie Software, Testarea de fiabilitate poate fi clasificatฤ รฎn trei segmente,
- Modelare
- Mฤsurare
- รmbunฤtฤลฃire
Factori care influenศeazฤ fiabilitatea software-ului
- Numฤrul de erori prezente รฎn software
- Modul รฎn care utilizatorii opereazฤ sistemul



