Preskušanje zanesljivosti
Preizkušanje zanesljivosti je postopek preizkušanja programske opreme, ki preverja, ali programska oprema lahko v določenem časovnem obdobju v določenem okolju izvede operacijo brez napak. Namen preizkušanja zanesljivosti je zagotoviti, da programski izdelek ne vsebuje napak in je dovolj zanesljiv za pričakovani namen.
Zanesljivost pomeni "prinašati enako", z drugimi besedami beseda "zanesljiv" pomeni, da je nekaj zanesljivo in da bo vsakič dalo enak izid. Enako velja za preskušanje zanesljivosti.
V tej vadnici boste izvedeli-
- Kaj je preizkušanje zanesljivosti?
- Primer preskušanja zanesljivosti
- Dejavniki, ki vplivajo na zanesljivost programske opreme
- Zakaj narediti preskus zanesljivosti
- Vrste preverjanja zanesljivosti
- Kako narediti preskus zanesljivosti
- Primeri metod za preskušanje zanesljivosti
- Orodja za preizkušanje zanesljivosti
Primer preskušanja zanesljivosti
Verjetnost, da računalnik v trgovini deluje in deluje osem ur brez zrušitve, je 99%; to se imenuje zanesljivost.
Preskušanje zanesljivosti lahko razdelimo na tri segmente,
- Modeliranje
- Merjenje
- Izboljšava
Naslednja formula je za izračun verjetnosti okvare.
Verjetnost = število neuspešnih primerov / skupno število obravnavanih primerov
Dejavniki, ki vplivajo na zanesljivost programske opreme
- Število napak v programski opremi
- Način, kako uporabniki upravljajo s sistemom
- Preizkušanje zanesljivosti je eno ključnih za boljšo kakovost programske opreme. To testiranje pomaga odkriti številne težave pri oblikovanju in funkcionalnosti programske opreme.
- Glavni namen preskušanja zanesljivosti je preveriti, ali programska oprema izpolnjuje zahteve po zanesljivosti kupca.
- Preskušanje zanesljivosti bo izvedeno na več ravneh. Kompleksni sistemi bodo preizkušeni na ravni enote, sklopa, podsistema in sistema.
Zakaj narediti preskus zanesljivosti
Preskus zanesljivosti se opravi za preizkušanje zmogljivosti programske opreme v danih pogojih.
Cilj preizkušanja zanesljivosti so:
- Poiskati strukturo ponavljajočih se napak.
- Število napak, ki se pojavijo, je določeno v določenem času.
- Odkriti glavni vzrok okvare
- Izvesti preizkušanje zmogljivosti različnih modulov programske aplikacije po odpravi napake
Tudi po izdaji izdelka lahko zmanjšamo možnost nastanka napak in s tem izboljšamo zanesljivost programske opreme. Nekatera orodja, ki so za to koristna, so - Analiza trendov, klasifikacija pravokotnih napak in formalne metode itd.
Vrste preverjanja zanesljivosti
Preizkušanje zanesljivosti programske opreme vključuje preizkušanje lastnosti, preskušanje obremenitve in testiranje regresije
Testiranje lastnosti: -
Izbrano testiranje preveri funkcijo programske opreme in se izvede v naslednjih korakih: -
- Vsaka operacija v programski opremi se izvede vsaj enkrat.
- Interakcija med obema operacijama je zmanjšana.
- Vsako operacijo je treba preveriti, ali se pravilno izvaja.
Preskušanje obremenitve: -
Običajno bo programska oprema na začetku postopka delovala bolje, po tem pa se bo začela poslabšati. Testiranje obremenitve se izvaja za preverjanje delovanja programske opreme pri največji obremenitvi.
Regresijski test: -
Regresijsko testiranje se v glavnem uporablja za preverjanje, ali so bile zaradi odprave prejšnjih napak uvedene nove napake. Regresijsko testiranje se izvede po vsaki spremembi ali posodobitvi funkcij programske opreme in njihovih funkcij.
Kako narediti preskus zanesljivosti
Preskušanje zanesljivosti je drago v primerjavi z drugimi vrstami testiranja. Med preizkušanjem zanesljivosti je torej potrebno pravilno načrtovanje in upravljanje. To vključuje postopek testiranja, ki ga je treba izvesti, podatke o testnem okolju, urnik preskusov, testne točke itd.
Za začetek preizkušanja zanesljivosti mora tester nadaljevati,
- Določite cilje zanesljivosti
- Razviti operativni profil
- Načrtujte in izvedite teste
- Za odločanje uporabite rezultate testov
Kot smo že omenili, obstajajo tri kategorije, v katerih lahko izvedemo preizkušanje zanesljivosti, - modeliranje, merjenje in izboljšanje .
Ključni parametri preskušanja zanesljivosti so:
- Verjetnost brezhibnega delovanja
- Čas delovanja brez okvar
- Okolje, v katerem se izvaja
1. korak) Modeliranje
Tehniko modeliranja programske opreme lahko razdelimo v dve podkategoriji:
1. Modeliranje napovedi
2. Ocenjevalno modeliranje
- Pomembne rezultate lahko dobimo z uporabo primernih modelov.
- Za poenostavitev problemov je mogoče predvidevati predpostavke in abstrakcije in noben model ne bo primeren za vse situacije.
Glavne razlike dveh modelov so: -
Vprašanja | Modeli predvidevanja | Ocenjevalni modeli |
---|---|---|
Referenca podatkov | Uporablja zgodovinske podatke | Uporablja trenutne podatke iz razvoja programske opreme. |
Ko se uporablja v razvojnem ciklu | Običajno bo ustvarjen pred razvojno ali preskusno fazo. | Običajno se bo uporabljal v poznejši fazi življenjskega cikla razvoja programske opreme. |
Časovni okvir | Napovedala bo zanesljivost v prihodnosti. | Napovedala bo zanesljivost bodisi za zdaj bodisi za prihodnost. |
2. korak) Merjenje
Zanesljivosti programske opreme ni mogoče izmeriti neposredno, zato se za oceno zanesljivosti programske opreme upoštevajo drugi povezani dejavniki. Trenutne prakse merjenja zanesljivosti programske opreme so razdeljene v štiri kategorije: -
1. Meritve izdelkov: -
Meritve izdelkov so kombinacija 4 vrst meritev:
- Velikost programske opreme : - Line of Code (LOC) je intuitiven začetni pristop za merjenje velikosti programske opreme. V tej metriki se šteje samo izvorna koda, komentarji in drugi neizvršljivi stavki pa ne.
- Function point Metric : - Function Pont Metric je metoda za merjenje funkcionalnosti razvoja programske opreme. Upošteval bo število vhodov, izhodov, glavne datoteke itd. Meril je funkcionalnost, ki je bila dostavljena uporabniku, in je neodvisen od programskega jezika.
- Kompleksnost : - Neposredno je povezana z zanesljivostjo programske opreme, zato je predstavljanje kompleksnosti pomembno. Metrika, usmerjena v kompleksnost, je metoda za določanje kompleksnosti nadzorne strukture programa s poenostavitvijo kode v grafični prikaz.
- Test Coverage Metrics : - To je način ocenjevanja napak in zanesljivosti z izvedbo celotnega preizkusa programskih izdelkov. Zanesljivost programske opreme pomeni, da je funkcija ugotavljanja, ali je bil sistem v celoti preverjen in preizkušen.
2. Meritve projektnega vodenja
- Raziskovalci so ugotovili, da lahko dobro upravljanje povzroči boljše izdelke.
- Z dobrim upravljanjem lahko dosežemo večjo zanesljivost z uporabo boljšega razvojnega postopka, postopka obvladovanja tveganj, postopka upravljanja konfiguracije itd.
3. Metrike procesa
Kakovost izdelka je neposredno povezana s postopkom. Metrike procesa lahko uporabimo za oceno, spremljanje in izboljšanje zanesljivosti in kakovosti programske opreme.
4. Meritve napak in napak
Meritve napak in napak se v glavnem uporabljajo za preverjanje, ali sistem popolnoma deluje brez napak. Za dosego tega cilja se zberejo, povzamejo in analizirajo tako vrste napak, ugotovljene med preskusnim postopkom (tj. Pred dostavo), kot tudi napake, o katerih poročajo uporabniki po dostavi.
Zanesljivost programske opreme se meri v smislu povprečnega časa med napakami (MTBF) . MTBF je sestavljen iz
- Pomeni do okvare (MTTF): To je časovna razlika med dvema zaporednima okvarama
- Povprečni čas za popravilo (MTTR): čas, potreben za odpravo napake.
MTBF = MTTF + MTTR
Zanesljivost dobre programske opreme je število med 0 in 1.
Zanesljivost se poveča, ko se odstranijo napake ali napake v programu.
Korak 3) Izboljšanje
Izboljšanje je popolnoma odvisno od težav, ki so se pojavile v aplikaciji ali sistemu, ali pa od lastnosti programske opreme. Glede na zahtevnost programskega modula se bo razlikoval tudi način izboljšav. Dve glavni omejitvi časa in proračuna, ki bosta omejili prizadevanja, sta vloženi v izboljšanje zanesljivosti programske opreme.
Primeri metod za preskušanje zanesljivosti
Preizkušanje zanesljivosti je namenjeno izvajanju aplikacije, tako da se napake odkrijejo in odstranijo pred uvedbo sistema.
Za preskušanje zanesljivosti se uporabljajo predvsem trije pristopi
- Test-Retest zanesljivost
- Zanesljivost vzporednih obrazcev
- Doslednost odločitve
Spodaj smo vse to poskušali razložiti s primerom.
Test-Retest zanesljivost
Za oceno zanesljivosti preskusa in ponovnega preskusa bo ena skupina preiskovancev izvedla postopek testiranja v razmiku le nekaj dni ali tednov. Čas mora biti dovolj kratek, da se lahko ocenijo spretnosti preiskovancev na tem območju. Razmerje med rezultati preiskovancev iz dveh različnih uprav je ocenjeno s statistično korelacijo. Ta vrsta zanesljivosti dokazuje, v kolikšni meri lahko test sčasoma ustvari stabilne in dosledne ocene.
Zanesljivost vzporednih obrazcev
Številni izpiti imajo več formatov vprašalnikov, te vzporedne oblike izpita zagotavljajo varnost. Zanesljivost vzporednih obrazcev se oceni z uporabo obeh oblik izpita isti skupini preiskovancev. Ocene preiskovancev na dveh testnih obrazcih so korelirane, da se ugotovi, kako podobno delujeta testni obrazcu. Ta ocena zanesljivosti je merilo, kako pričakovati je mogoče dosledne ocene preiskovancev v testnih obrazcih.
Doslednost odločitve
Po opravljeni preizkusni in ponovni preizkusni zanesljivosti in vzporedni zanesljivosti obrazcev bomo dobili izpit ali opravili ali ne. Zanesljivost te odločitve o razvrstitvi je tista, ki se ocenjuje glede zanesljivosti skladnosti odločitve.
Pomen preskušanja zanesljivosti
Za izboljšanje delovanja programskega izdelka in postopka je potrebna temeljita ocena zanesljivosti. Testiranje zanesljivosti programske opreme bo v veliki meri pomagalo upravljavcem in izvajalcem programske opreme.
Za preverjanje zanesljivosti programske opreme s testiranjem: -
- Veliko število testnih primerov bi bilo treba izvajati dlje časa, da bi ugotovili, kako dolgo se bo programska oprema izvajala brez napak.
- Porazdelitev testnih primerov se mora ujemati z dejanskim ali načrtovanim operativnim profilom programske opreme. Pogosteje kot se izvaja funkcija programske opreme, večji je odstotek testnih primerov, ki jih je treba dodeliti tej funkciji ali podskupini.
Orodja za preizkušanje zanesljivosti
Nekatera orodja za preizkušanje zanesljivosti, ki se uporabljajo za zanesljivost programske opreme, so:
1. WEIBULL ++: - Analiza podatkov o življenjski dobi zanesljivosti
2. RGA: - Analiza rasti zanesljivosti
3. RCM: -Zanesljivo vzdrževanje
Povzetek:
Preskušanje zanesljivosti je pomemben del programa zanesljivega inženiringa. Bolj pravilno je duša inženirskega programa zanesljivosti.
Poleg tega so preskusi zanesljivosti v glavnem namenjeni odkrivanju določenih načinov napak in drugih težav med testiranjem programske opreme.
Pri programskem inženirstvu lahko preskušanje zanesljivosti razdelimo na tri segmente,
- Modeliranje
- Merjenje
- Izboljšava
Dejavniki, ki vplivajo na zanesljivost programske opreme
- Število napak v programski opremi
- Način, kako uporabniki upravljajo s sistemom