Co je testování spolehlivosti? (Příklad)
Co je testování spolehlivosti?
Testování spolehlivosti je proces testování softwaru, který kontroluje, zda software může provádět bezporuchovou operaci v konkrétním prostředí po určitou dobu. Účelem testování spolehlivosti je ujistit se, že softwarový produkt je bez chyb a dostatečně spolehlivý pro svůj očekávaný účel.
Spolehlivost znamená „vynášet totéž“, jinými slovy slovo „spolehlivý“ znamená, že je něco spolehlivé a že to pokaždé poskytne stejný výsledek. Totéž platí pro testování spolehlivosti.
Příklad testování spolehlivosti
Pravděpodobnost, že počítač v obchodě bude fungovat osm hodin bez pádu, je 99 %; toto se nazývá spolehlivost.
Testování spolehlivosti lze rozdělit do tří segmentů,
- Modelování
- a) Měření dodržování pokynů
- Zlepšení
Následující vzorec slouží pro výpočet pravděpodobnosti selhání.
Probability = Number of failing cases/ Total number of cases under consideration
Faktory ovlivňující spolehlivost softwaru
- Počet chyb přítomných v softwaru
- Způsob, jakým uživatelé obsluhují systém
Testování spolehlivosti je jedním z klíčů k lepší kvalitě softwaru. Toto testování pomáhá odhalit mnoho problémů v návrhu softwaru a funkčnosti.
Hlavním účelem testování spolehlivosti je ověřit, zda software splňuje požadavek spolehlivosti zákazníka.
Testování spolehlivosti bude provedeno na několika úrovních. Komplexní systémy budou testovány na úrovni jednotky, sestavy, subsystému a systému.
Proč provádět testování spolehlivosti?
Testování spolehlivosti se provádí za účelem testování výkonu softwaru za daných podmínek.
Cílem testování spolehlivosti je,
- Najít strukturu opakujících se selhání.
- Pro zjištění počtu vyskytujících se selhání je zadaný čas.
- Odhalit hlavní příčinu neúspěchu.
- Provádět Testování výkonu různých modulů softwarových aplikací po odstranění závady.
I po vydání produktu dokážeme minimalizovat možnost výskytu závad a tím zlepšit spolehlivost softwaru. Některé z nástrojů, které jsou k tomu užitečné, jsou – Trend Analysis, Orthogonal Přeběhnout Klasifikace a formální metody atd.
Typy testování spolehlivosti
Testování spolehlivosti softwaru zahrnuje testování funkcí, Testování zatížení, a Regresní testování
Testování funkcí:-
Vybrané testování kontroluje funkce poskytované softwarem a provádí se v následujících krocích:-
- Každá operace v softwaru se provede alespoň jednou.
- Interakce mezi těmito dvěma operacemi je omezena.
- Každá operace musí být zkontrolována pro její správné provedení.
Testování zátěže: -
Obvykle bude software fungovat lépe na začátku procesu a poté začne degradovat. Testování zátěže se provádí za účelem kontroly výkonu softwaru při maximální zátěži.
Regresní test: -
Regresní testování se používá hlavně ke kontrole, zda nebyly zavedeny nějaké nové chyby kvůli opravě předchozích chyb. Regresní testování se provádí po každé změně nebo aktualizaci softwarových funkcí a jejich funkcí.
Jak provést testování spolehlivosti
Testování spolehlivosti je nákladné ve srovnání s jinými typy testování. Při testování spolehlivosti je tedy vyžadováno správné plánování a řízení. To zahrnuje testovací proces, který má být implementován, data pro testovací prostředí, testovací plán, testovací body atd.
Na začátku testování spolehlivosti musí tester sledovat věci,
- Stanovte si cíle spolehlivosti
- Vypracujte provozní profil
- Plánujte a provádějte testy
- Použijte výsledky testů k rozhodování
Jak jsme diskutovali dříve, existují tři kategorie, ve kterých můžeme provádět testování spolehlivosti,- Modelování, měření a zlepšování.
Klíčové parametry zahrnuté do testování spolehlivosti jsou:
- Pravděpodobnost bezporuchového provozu
- Délka doby bezporuchového provozu
- Prostředí, ve kterém se provádí
Krok 1) Modelování
Techniku softwarového modelování lze rozdělit do dvou podkategorií:
1. Predikční modelování
2. Modelování odhadů
- Aplikací vhodných modelů lze dosáhnout smysluplných výsledků.
- Pro zjednodušení problémů lze vytvořit předpoklady a abstrakce a žádný jednotlivý model nebude vhodný pro všechny situace. Hlavní rozdíly mezi těmito dvěma modely jsou:
Problémy | Predikční modely | Odhadní modely |
---|---|---|
Odkaz na data | Využívá historická data | Využívá aktuální data z vývoje softwaru. |
Při použití ve vývojovém cyklu | Obvykle bude vytvořen před fázemi vývoje nebo testování. | Obvykle se použije později v životním cyklu vývoje softwaru. |
Časové okno | Předpovídá spolehlivost do budoucna. | Bude předpovídat spolehlivost buď pro současnou dobu, nebo v budoucnosti. |
Krok 2) Měření
Spolehlivost softwaru nelze měřit přímo; proto se při odhadu spolehlivosti softwaru berou v úvahu další související faktory. Současné postupy měření spolehlivosti softwaru jsou rozděleny do čtyř kategorií:
Měření 1: Metriky produktu
Produktové metriky jsou kombinací 4 typů metrik:
- Velikost softwaru: – Line of Code (LOC) je intuitivní počáteční přístup k měření velikosti softwaru. Do této metriky se započítává pouze zdrojový kód a komentáře a další nespustitelné příkazy se nezapočítávají.
- Funkční bod Metrický:- Funkce Pont Metric je metoda pro měření funkčnosti vývoje softwaru. Zváží počet vstupů, výstupů, hlavních souborů atd. Měří funkčnost poskytovanou uživateli a je nezávislá na programovacím jazyce.
- Komplexita přímo souvisí se spolehlivostí softwaru, takže reprezentovat složitost je důležité. Metrika orientovaná na složitost určuje složitost řídicí struktury programu zjednodušením kódu do grafického znázornění.
- Testovací metriky pokrytí:- Je to způsob odhadu chyb a spolehlivosti dokončením testů softwarových produktů. Spolehlivost softwaru znamená, že je to funkce, která určuje, že systém byl kompletně ověřen a testován.
Měření 2: Metriky projektového řízení
- Výzkumníci si uvědomili, že dobré řízení může vést k lepším produktům.
- Dobrá správa může dosáhnout vyšší spolehlivosti pomocí lepšího vývoje, řízení rizik a procesů správy konfigurace.
Měření 3: Metriky procesu
Kvalita produktu přímo souvisí s procesem. Procesní metriky lze použít k odhadování, monitorování a zlepšování spolehlivosti a kvality softwaru.
Měření 4: Metriky poruch a poruch
Metriky poruch a poruch se používají především ke kontrole, zda je systém zcela bezporuchový. K dosažení tohoto cíle jsou shromažďovány, sumarizovány a analyzovány jak typy chyb nalezených během procesu testování (tj. před dodáním), tak i poruchy hlášené uživateli po dodání.
Spolehlivost softwaru se měří pomocí střední doba mezi poruchami (MTBF). MTBF se skládá z
- Střední hodnota selhání (MTTF): Je to časový rozdíl mezi dvěma po sobě jdoucími poruchami.
- Střední doba opravy (MTTR): Je to doba potřebná k odstranění poruchy.
MTBF = MTTF + MTTR
Spolehlivost dobrého softwaru je číslo mezi 0 a 1.
Spolehlivost se zvyšuje, když jsou z programu odstraněny chyby nebo chyby.
Krok 3) Zlepšení
Zlepšení zcela závisí na problémech, které se vyskytly v aplikaci nebo systému, nebo na vlastnostech softwaru. Podle složitosti softwarového modulu se bude lišit i způsob vylepšení. Dvě hlavní omezení, čas a rozpočet, omezí úsilí vynaložené na zlepšení spolehlivosti softwaru.
Příklad metod pro testování spolehlivosti
Testování spolehlivosti spočívá v tom, že aplikace zjišťuje a odstraňuje chyby před nasazením systému.
Pro testování spolehlivosti se používají hlavně tři přístupy
- Test-retest spolehlivost
- Spolehlivost paralelních tvarů
- Konzistence rozhodování
Níže jsme se pokusili vše vysvětlit na příkladu.
Test-retest spolehlivost
Aby bylo možné odhadnout spolehlivost testu a opakovaného testu, jedna skupina testovaných provede proces testování pouze s několikadenním nebo týdenním odstupem. Čas by měl být dostatečně krátký, aby bylo možné posoudit dovednosti zkoušeného v dané oblasti. Vztah mezi skóre vyšetřovaného ze dvou různých podání se odhaduje pomocí statistické korelace. Tento typ spolehlivosti ukazuje, do jaké míry je test schopen produkovat stabilní, konzistentní skóre v průběhu času.
Spolehlivost paralelních tvarů
Mnoho zkoušek má několik formátů otázek, tyto paralelní formy zkoušek poskytují bezpečnost. Spolehlivost paralelních forem se odhaduje podáním obou forem zkoušky stejné skupině zkoušených. Skóre vyšetřovaného na dvou testovacích formách jsou korelovány, aby se určilo, jak podobně fungují obě testovací formy. Tento odhad spolehlivosti je měřítkem toho, jak lze očekávat konzistentní výsledky testovaných napříč formuláři testu.
Konzistence rozhodování
Poté, co provedeme Test-Retest Reliability a Parallel Form Reliability, dostaneme výsledek, zda testovaní buď uspěli, nebo neuspěli. Spolehlivost tohoto klasifikačního rozhodnutí se odhaduje ve spolehlivosti konzistence rozhodnutí.
Význam testování spolehlivosti
Ke zlepšení výkonu softwarových produktů a procesů je nutné důkladné posouzení spolehlivosti. Testování spolehlivosti softwaru do značné míry pomůže softwarovým manažerům a odborníkům z praxe.
Chcete-li zkontrolovat spolehlivost softwaru prostřednictvím testování: -
- Velký počet testovacích případů by měl být prováděn po delší dobu, aby se zjistilo, jak dlouho bude software fungovat bez selhání.
- Distribuce testovacích případů by měla odpovídat skutečnému nebo plánovanému provoznímu profilu softwaru. Čím častěji je funkce softwaru prováděna, tím větší procento testovacích případů by mělo být přiděleno této funkci nebo podmnožině.
Nástroje pro testování spolehlivosti
Některé Nástroje pro testování spolehlivosti používané pro spolehlivost softwaru jsou:
1. WEIBULL++:- Životnost spolehlivosti Analýza dat
2. RGA: - Analýza růstu spolehlivosti
3. RCM:-Údržba zaměřená na spolehlivost
Shrnutí
Testování spolehlivosti je důležitou součástí programu spolehlivostního inženýrství. Přesněji řečeno, je to duše programu inženýrství spolehlivosti. Kromě toho jsou testy spolehlivosti určeny především k odhalení konkrétních poruchových režimů a dalších problémů během testování softwaru.
In Softwarové inženýrství, Testování spolehlivosti lze rozdělit do tří segmentů,
- Modelování
- a) Měření dodržování pokynů
- Zlepšení
Faktory ovlivňující spolehlivost softwaru
- Počet chyb přítomných v softwaru
- Způsob, jakým uživatelé obsluhují systém