Ispitivanje pouzdanosti
Ispitivanje pouzdanosti je postupak testiranja softvera kojim se provjerava može li softver izvesti operaciju bez grešaka tijekom određenog vremenskog razdoblja u određenom okruženju. Svrha ispitivanja pouzdanosti je osigurati da je softverski proizvod bez grešaka i dovoljno pouzdan za očekivanu svrhu.
Pouzdanost znači "donijeti isto", drugim riječima, riječ "pouzdano" znači da je nešto pouzdano i da će svaki put dati isti ishod. Isto vrijedi i za ispitivanje pouzdanosti.
U ovom vodiču naučit ćete-
- Što je ispitivanje pouzdanosti?
- Primjer ispitivanja pouzdanosti
- Čimbenici koji utječu na pouzdanost softvera
- Zašto raditi ispitivanje pouzdanosti
- Vrste ispitivanja pouzdanosti
- Kako obaviti ispitivanje pouzdanosti
- Primjeri metoda za ispitivanje pouzdanosti
- Alati za ispitivanje pouzdanosti
Primjer ispitivanja pouzdanosti
Vjerojatnost da računalo u trgovini radi i radi osam sati bez pada, iznosi 99%; to se naziva pouzdanošću.
Ispitivanje pouzdanosti može se podijeliti u tri segmenta,
- Modeliranje
- Mjerenje
- Poboljšanje
Sljedeća je formula za izračunavanje vjerojatnosti kvara.
Vjerojatnost = Broj slučajeva koji propadaju / Ukupan broj slučajeva koji se razmatraju
Čimbenici koji utječu na pouzdanost softvera
- Broj grešaka u softveru
- Način na koji korisnici upravljaju sustavom
- Ispitivanje pouzdanosti jedan je od ključeva za bolju kvalitetu softvera. Ovo testiranje pomaže otkriti mnoge probleme u dizajnu i funkcionalnosti softvera.
- Glavna svrha ispitivanja pouzdanosti je provjeriti zadovoljava li softver zahtjev pouzdanosti kupca.
- Ispitivanje pouzdanosti provest će se na nekoliko razina. Složeni sustavi testirat će se na razini jedinice, sklopa, podsustava i sustava.
Zašto raditi ispitivanje pouzdanosti
Ispitivanje pouzdanosti vrši se za testiranje performansi softvera pod zadanim uvjetima.
Cilj provođenja ispitivanja pouzdanosti su,
- Da bi se pronašla struktura ponavljajućih kvarova.
- Da biste pronašli broj kvarova koji se javljaju, određeno je vrijeme.
- Otkriti glavni uzrok neuspjeha
- Provesti ispitivanje performansi različitih modula softverske aplikacije nakon otklanjanja kvara
Nakon izdavanja proizvoda, možemo smanjiti mogućnost pojave kvarova i time poboljšati pouzdanost softvera. Neki od alata korisnih za ovo su - Analiza trenda, Klasifikacija pravokutnih oštećenja i formalne metode itd.
Vrste ispitivanja pouzdanosti
Ispitivanje pouzdanosti softvera uključuje ispitivanje svojstava, ispitivanje opterećenja i testiranje regresije
Ispitivanje značajki: -
Istaknuto testiranje provjerava značajku koju pruža softver i provodi se u sljedećim koracima: -
- Svaka operacija u softveru izvršava se najmanje jednom.
- Interakcija između dviju operacija je smanjena.
- Svaka se operacija mora provjeriti radi li se pravilno.
Ispitivanje opterećenja: -
Obično će softver raditi bolje na početku postupka, a nakon toga će se početi degradirati. Ispitivanje opterećenja provodi se radi provjere performansi softvera pod najvećim radnim opterećenjem.
Regresijski test: -
Regresijsko testiranje uglavnom se koristi za provjeru jesu li uvedene nove bugove zbog ispravljanja prethodnih bugova. Ispitivanje regresije provodi se nakon svake promjene ili nadogradnje softverskih značajki i njihovih funkcionalnosti.
Kako obaviti ispitivanje pouzdanosti
Ispitivanje pouzdanosti skupo je u usporedbi s drugim vrstama ispitivanja. Dakle, potrebno je pravilno planiranje i upravljanje tijekom ispitivanja pouzdanosti. To uključuje postupak testiranja koji treba implementirati, podatke za test okruženje, raspored ispitivanja, točke ispitivanja itd.
Za početak ispitivanja pouzdanosti, ispitivač mora nastaviti slijediti stvari,
- Uspostavite ciljeve pouzdanosti
- Razviti operativni profil
- Planirajte i izvršite testove
- Upotrijebite rezultate testa za donošenje odluka
Kao što smo ranije razgovarali, postoje tri kategorije u kojima možemo izvršiti ispitivanje pouzdanosti, - modeliranje, mjerenje i poboljšanje .
Ključni parametri koji su uključeni u ispitivanje pouzdanosti su: -
- Vjerojatnost rada bez kvarova
- Duljina vremena rada bez kvarova
- Okruženje u kojem se izvršava
Korak 1) Modeliranje
Tehnika modeliranja softvera može se podijeliti u dvije potkategorije:
1. Modeliranje predviđanja
2. Modeliranje procjene
- Značajni rezultati mogu se dobiti primjenom prikladnih modela.
- Za pojednostavljivanje problema mogu se napraviti pretpostavke i apstrakcije, a niti jedan model neće biti prikladan za sve situacije.
Glavne razlike dvaju modela su: -
Pitanja | Modeli predviđanja | Modeli procjene |
---|---|---|
Referenca podataka | Koristi povijesne podatke | Koristi trenutne podatke iz razvoja softvera. |
Kada se koristi u razvojnom ciklusu | Obično će se stvoriti prije faze razvoja ili ispitivanja. | Obično će se koristiti u kasnijoj fazi životnog ciklusa razvoja softvera. |
Vremenski okvir | Predvidjet će pouzdanost u budućnosti. | Predvidjet će pouzdanost ili za sadašnje vrijeme ili za buduće vrijeme. |
Korak 2) Mjerenje
Pouzdanost softvera ne može se izravno izmjeriti, pa se stoga uzimaju u obzir drugi povezani čimbenici kako bi se procijenila pouzdanost softvera. Trenutne prakse mjerenja pouzdanosti softvera podijeljene su u četiri kategorije: -
1. Metrika proizvoda: -
Mjerni podaci proizvoda kombinacija su 4 vrste mjernih podataka:
- Veličina softvera : - Line of Code (LOC) intuitivan je početni pristup za mjerenje veličine softvera. U ovaj se mjerni podatak računa samo izvorni kod, a komentari i drugi neizvršivi izrazi neće se računati.
- Metrička točka funkcije : - Funkcijska pont metrika je metoda za mjerenje funkcionalnosti razvoja softvera. Razmatrat će broj ulaza, izlaza, matične datoteke itd. Mjeri funkcionalnost koja se isporučuje korisniku i neovisna je o programskom jeziku.
- Složenost : - Izravno je povezana s pouzdanošću softvera, pa je predstavljanje složenosti važno. Komplicirano orijentirana metrika metoda je utvrđivanja složenosti upravljačke strukture programa pojednostavljivanjem koda u grafički prikaz.
- Testiranje mjernih podataka : - To je način procjene kvara i pouzdanosti izvođenjem cjelovitog ispitivanja softverskih proizvoda. Softverska pouzdanost znači da je funkcija utvrđivanja je li sustav u potpunosti provjeren i testiran.
2. Metrika upravljanja projektima
- Istraživači su shvatili da dobro upravljanje može rezultirati boljim proizvodima.
- Dobar menadžment može postići veću pouzdanost korištenjem boljeg razvojnog procesa, procesa upravljanja rizikom, procesa upravljanja konfiguracijom itd.
3. Metrike procesa
Kvaliteta proizvoda izravno je povezana s postupkom. Metrika procesa može se koristiti za procjenu, nadzor i poboljšanje pouzdanosti i kvalitete softvera.
4. Metrika kvarova i kvarova
Metrika kvarova i kvarova uglavnom se koristi za provjeru je li sustav u potpunosti bez kvarova. Kako bi se postigao taj cilj, sakupljaju se, sažimaju i analiziraju obje vrste grešaka otkrivenih tijekom postupka ispitivanja (tj. Prije isporuke), kao i greške koje su korisnici prijavili nakon isporuke.
Pouzdanost softvera mjeri se u smislu srednjeg vremena između kvarova (MTBF) . MTBF se sastoji od
- Srednje do neuspjeha (MTTF): To je razlika u vremenu između dva uzastopna kvara
- Prosječno vrijeme za popravak (MTTR): Vrijeme je potrebno za otklanjanje kvara.
MTBF = MTTF + MTTR
Pouzdanost dobrog softvera je broj između 0 i 1.
Pouzdanost se povećava kada se uklone pogreške ili programske pogreške.
Korak 3) Poboljšanje
Poboljšanje u potpunosti ovisi o problemima koji su se pojavili u aplikaciji ili sustavu ili pak o karakteristikama softvera. Prema složenosti softverskog modula, način poboljšanja također će se razlikovati. U poboljšanje pouzdanosti softvera ulažu se dva glavna ograničenja: vrijeme i proračun koji će ograničiti napore.
Primjeri metoda za ispitivanje pouzdanosti
Testiranje pouzdanosti odnosi se na vježbanje aplikacije tako da se kvarovi otkrivaju i uklanjaju prije postavljanja sustava.
Za ispitivanje pouzdanosti koriste se uglavnom tri pristupa
- Test-Retest Pouzdanost
- Pouzdanost paralelnih oblika
- Dosljednost odluke
U nastavku smo sve to pokušali objasniti na primjeru.
Test-Retest Pouzdanost
Da bi se procijenila pouzdanost ponovnog testiranja, jedna skupina ispitanika provest će postupak testiranja u razmaku od nekoliko dana ili tjedana. Vrijeme bi trebalo biti dovoljno kratko da se mogu procijeniti vještine ispitanika u tom području. Odnos između rezultata ispitanika iz dvije različite uprave procjenjuje se statističkom korelacijom. Ova vrsta pouzdanosti pokazuje u kojoj je mjeri test u stanju stvoriti stabilne, konzistentne rezultate tijekom vremena.
Pouzdanost paralelnih oblika
Mnogi ispiti imaju više formata ispitnih radova, ovi paralelni oblici ispita pružaju sigurnost. Pouzdanost paralelnih obrazaca procjenjuje se davanjem oba oblika ispita istoj skupini ispitanika. Rezultati ispitanika na dva testna obrasca korelirani su kako bi se utvrdilo koliko slično funkcioniraju dva testna obrasca. Ova procjena pouzdanosti mjeri koliko se može očekivati dosljednost rezultata ispitanika u ispitnim obrascima.
Dosljednost odluke
Nakon testiranja i ponovne provjere pouzdanosti i paralelne forme pouzdanosti, dobit ćemo rezultat ispitanika koji su položili ili uspjeli. Pouzdanost ove odluke o klasifikaciji procjenjuje se u pouzdanosti dosljednosti odluke.
Važnost ispitivanja pouzdanosti
Za poboljšanje performansi softverskog proizvoda i procesa potrebna je temeljita procjena pouzdanosti. Testiranje pouzdanosti softvera u velikoj će mjeri pomoći menadžerima softvera i praktičarima.
Da biste provjerili pouzdanost softvera testiranjem: -
- Velik broj test slučajeva trebao bi se izvršavati dulje vrijeme kako bi se saznalo koliko dugo će se softver izvršavati bez kvara.
- Raspodjela testnih slučajeva trebala bi odgovarati stvarnom ili planiranom operativnom profilu softvera. Što se češće izvršava funkcija softvera, to je veći postotak testnih slučajeva koji bi trebali biti dodijeljeni toj funkciji ili podskupu.
Alati za ispitivanje pouzdanosti
Neki od alata za ispitivanje pouzdanosti koji se koriste za pouzdanost softvera su:
1. WEIBULL ++: - Analiza podataka o životu pouzdanosti
2. RGA: - Analiza rasta pouzdanosti
3. RCM: Održavanje usmjereno na pouzdanost
Sažetak:
Ispitivanje pouzdanosti važan je dio programa inženjerstva pouzdanosti. Točnije, to je duša programa pouzdanog inženjeringa.
Nadalje, testovi pouzdanosti uglavnom su namijenjeni otkrivanju određenih načina otkaza i drugih problema tijekom testiranja softvera.
U softverskom inženjerstvu ispitivanje pouzdanosti može se podijeliti u tri segmenta,
- Modeliranje
- Mjerenje
- Poboljšanje
Čimbenici koji utječu na pouzdanost softvera
- Broj grešaka u softveru
- Način na koji korisnici upravljaju sustavom