Testování spolehlivosti
Reliability Testing je proces testování softwaru, který kontroluje, zda software může provádět bezporuchovou operaci po určitou dobu v konkrétním prostředí. Účelem testování spolehlivosti je zajistit, aby byl softwarový produkt bez chyb a dostatečně spolehlivý pro svůj očekávaný účel.
Spolehlivost znamená „přinést to samé“, jinými slovy slovo „spolehlivý“ znamená, že je něco spolehlivé a že to přinese pokaždé stejný výsledek. Totéž platí pro testování spolehlivosti.
V tomto výukovém programu se naučíte
- Co je testování spolehlivosti?
- Příklad testování spolehlivosti
- Faktory ovlivňující spolehlivost softwaru
- Proč dělat testování spolehlivosti
- Druhy testování spolehlivosti
- Jak provést testování spolehlivosti
- Ukázkové metody pro testování spolehlivosti
- Nástroje pro testování spolehlivosti
Příklad testování spolehlivosti
Pravděpodobnost, že počítač v obchodě je v provozu po dobu osmi hodin bez zhroucení, je 99%; toto se označuje jako spolehlivost.
Testování spolehlivosti lze rozdělit do tří segmentů,
- Modelování
- Měření
- Zlepšení
Následující vzorec slouží k výpočtu pravděpodobnosti selhání.
Pravděpodobnost = počet selhávajících případů / celkový počet zvažovaných případů
Faktory ovlivňující spolehlivost softwaru
- Počet poruch v softwaru
- Způsob, jakým uživatelé provozují systém
- Testování spolehlivosti je jedním z klíčů k lepší kvalitě softwaru. Toto testování pomáhá objevit mnoho problémů v designu a funkčnosti softwaru.
- Hlavním účelem testování spolehlivosti je zkontrolovat, zda software splňuje požadavek spolehlivosti zákazníka.
- Testování spolehlivosti bude prováděno na několika úrovních. Složité systémy budou testovány na úrovni jednotek, sestav, subsystémů a systémů.
Proč dělat testování spolehlivosti
Testování spolehlivosti se provádí za účelem testování výkonu softwaru za daných podmínek.
Cílem provádění testování spolehlivosti je,
- Najít strukturu opakujících se poruch.
- Chcete-li zjistit počet vyskytujících se poruch, je zadaná doba.
- Zjistit hlavní příčinu selhání
- Po opravě vady provést testování výkonu různých modulů softwarové aplikace
Po vydání produktu také můžeme minimalizovat možnost vzniku vad a tím zlepšit spolehlivost softwaru. Mezi užitečné nástroje patří: Analýza trendů, Klasifikace ortogonálních defektů a formální metody atd.
Druhy testování spolehlivosti
Testování spolehlivosti softwaru zahrnuje testování funkcí, testování zatížení a testování regrese
Testování funkcí: -
Doporučené testování zkontroluje funkci poskytovanou softwarem a provádí se v následujících krocích: -
- Každá operace v softwaru je provedena alespoň jednou.
- Interakce mezi těmito dvěma operacemi je omezena.
- Každá operace musí být zkontrolována na správné provedení.
Testování zátěže: -
Obvykle bude software fungovat lépe na začátku procesu a poté začne degradovat. Provádí se zátěžové testování, které kontroluje výkon softwaru při maximální pracovní zátěži.
Regresní test: -
Regresní testování se používá hlavně ke kontrole, zda byly zavedeny nějaké nové chyby z důvodu opravy 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 nutné správné plánování a správa. To zahrnuje testovací proces, který má být implementován, data pro testovací prostředí, plán testů, testovací body atd.
Chcete-li začít s testováním spolehlivosti, tester musí sledovat následující věci,
- Stanovte cíle spolehlivosti
- Vypracovat provozní profil
- Plánujte a provádějte testy
- K podpoře rozhodnutí použijte výsledky testů
Jak jsme již dříve zmínili, 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
- Doba bezporuchového provozu
- Prostředí, ve kterém se provádí
Krok 1) Modelování
Techniku modelování softwaru lze rozdělit do dvou podkategorií:
1. Predikční modelování
2. Modelování odhadu
- Smysluplných výsledků lze dosáhnout použitím vhodných modelů.
- Lze učinit předpoklady a abstrakce ke zjednodušení problémů a žádný model nebude vhodný pro všechny situace.
Hlavní rozdíly dvou modelů jsou: -
Problémy | Predikční modely | Odhadové modely |
---|---|---|
Referenční údaje | 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 v pozdější fázi životního cyklu vývoje softwaru. |
Časové okno | Předpoví spolehlivost v budoucnu. | Bude předpovídat spolehlivost pro současnou i budoucí dobu. |
Krok 2) Měření
Spolehlivost softwaru nelze měřit přímo, a proto jsou pro odhad spolehlivosti softwaru brány v úvahu další související faktory. Současné postupy měření spolehlivosti softwaru jsou rozděleny do čtyř kategorií: -
1. Metriky produktu: -
Metriky produktu 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 počítá pouze zdrojový kód a komentáře a další nespustitelné příkazy se nepočítají.
- Metrický bod funkce : - Funkce Pont Metric je metoda pro měření funkčnosti vývoje softwaru. Bude brát v úvahu počet vstupů, výstupů, hlavních souborů atd. Měří funkčnost poskytovanou uživateli a je nezávislá na programovacím jazyce.
- Složitost : - Je to přímo spojené se spolehlivostí softwaru, takže reprezentace složitosti je důležitá. Metrika zaměřená na složitost je metoda určování složitosti řídicí struktury programu zjednodušením kódu do grafické podoby.
- Metriky pokrytí testu : - Jedná se o způsob odhadu chyby a spolehlivosti provedením úplného testu softwarových produktů. Spolehlivost softwaru znamená, že je to funkce určující, že systém byl zcela ověřen a otestován.
2. Metriky projektového řízení
- Vědci si uvědomili, že dobrá správa může vést k lepším produktům.
- Dobrá správa může dosáhnout vyšší spolehlivosti použitím lepšího procesu vývoje, procesu řízení rizik, procesu správy konfigurace atd.
3. Metriky procesu
Kvalita produktu přímo souvisí s procesem. Metriky procesu lze použít k odhadu, monitorování a zlepšení spolehlivosti a kvality softwaru.
4. Metriky poruch a poruch
Metriky poruch a selhání se používají hlavně 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 poruch zjištěné během procesu testování (tj. Před dodáním), tak i selhání hlášené uživateli po dodání.
Spolehlivost softwaru se měří jako střední doba mezi poruchami (MTBF) . MTBF se skládá z
- Mean to failure (MTTF): Je to časový rozdíl mezi dvěma po sobě jdoucími poruchami
- Střední doba na opravu (MTTR): Je čas 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) Vylepšení
Vylepš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í. Do zlepšení spolehlivosti softwaru jsou vložena dvě hlavní omezení, čas a rozpočet, které omezí úsilí.
Ukázkové metody pro testování spolehlivosti
Testování spolehlivosti je o cvičení aplikace tak, aby byly chyby objeveny a odstraněny před nasazením systému.
Pro testování spolehlivosti se používají hlavně tři přístupy
- Spolehlivost testu a opětovného testování
- Spolehlivost paralelních formulářů
- Konzistence rozhodnutí
Níže jsme se pokusili vysvětlit vše pomocí příkladu.
Spolehlivost testu a opětovného testování
K odhadu spolehlivosti opakovaného testu provede jedna skupina zkoumaných testovací proces pouze s odstupem několika dní nebo týdnů. Čas by měl být dostatečně krátký, aby bylo možné posoudit dovednosti zkoumaných v dané oblasti. Vztah mezi skóre zkoumané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 čase.
Spolehlivost paralelních formulářů
Mnoho zkoušek má více formátů otázek, tyto paralelní formy zkoušek zajišťují bezpečnost. Spolehlivost paralelních forem se odhaduje správou obou forem zkoušky ke stejné skupině zkoumaných. Skóre zkoumaných na dvou testovacích formulářích jsou korelována, aby se zjistilo, jak podobně fungují tyto dvě testovací formy. Tento odhad spolehlivosti je měřítkem toho, jak lze očekávat konzistentní skóre zkoumaných napříč testovacími formami.
Konzistence rozhodnutí
Po provedení Test-Retest Reliability and Parallel Form Reliability, dostaneme výsledek zkoumaných, kteří buď prošli, nebo neuspěli. Spolehlivost tohoto rozhodnutí o klasifikaci se odhaduje na spolehlivost konzistence rozhodnutí.
Důležitost testování spolehlivosti
Ke zlepšení výkonu softwarového produktu a procesu 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.
Chcete-li ověřit spolehlivost softwaru pomocí testování: -
- Velké množství testovacích případů by mělo být provedeno po delší dobu, aby se zjistilo, jak dlouho bude software spuštěn bez selhání.
- Distribuce testovacích případů by měla odpovídat skutečnému nebo plánovanému operačnímu profilu softwaru. Čím častěji se provádí funkce softwaru, tím větší je procento testovacích případů, které by měly být alokovány dané 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 ++: - Spolehlivost analýza životních dat
2. RGA: - Analýza růstu spolehlivosti
3. RCM: - Údržba zaměřená na spolehlivost
Souhrn:
Testování spolehlivosti je důležitou součástí inženýrského programu spolehlivosti. Přesněji řečeno, je duší spolehlivého inženýrského programu.
Testy spolehlivosti jsou navíc určeny především k odhalení konkrétních režimů selhání a dalších problémů během testování softwaru.
V softwarovém inženýrství lze testování spolehlivosti rozdělit do tří segmentů,
- Modelování
- Měření
- Zlepšení
Faktory ovlivňující spolehlivost softwaru
- Počet poruch v softwaru
- Způsob, jakým uživatelé provozují systém