Tento výukový program představuje sedm základních principů testování softwaru, které by měl každý tester softwaru a odborník QA znát.
7 Zásady testování softwaru
- Testování ukazuje přítomnost vad
- Vyčerpávající testování není možné
- Včasné testování
- Vadné shlukování
- Paradox pesticidů
- Testování je závislé na kontextu
- Chybějící omyl
Naučme se principy testování s následujícím příkladem videa-
Pokud video není přístupné, klikněte sem
Pozadí
Je důležité, abyste při testování softwaru dosáhli optimálních výsledků testu, aniž byste se odchýlili od cíle. Jak ale zjistíte, že používáte správnou strategii pro testování? Proto se musíte držet několika základních principů testování. Zde je obvyklých sedm testovacích principů, které se v softwarovém průmyslu běžně používají.
Abyste tomu porozuměli, zvažte scénář, kdy přesouváte soubor ze složky A do složky B.
Vymyslete všechny možné způsoby, jak to můžete otestovat.
Kromě obvyklých scénářů můžete také otestovat následující podmínky
- Pokoušíte se přesunout soubor, když je otevřený
- K vložení souboru do složky B nemáte bezpečnostní práva
- Složka B je na sdílené jednotce a kapacita úložiště je plná.
- Složka B již má soubor se stejným názvem, ve skutečnosti je seznam nekonečný
- Nebo předpokládejme, že máte k testování 15 vstupních polí, z nichž každé má 5 možných hodnot, počet testovaných kombinací by byl 5 15
Pokud byste měli otestovat celé možné kombinace projektu, čas a náklady na provedení by exponenciálně vzrostly. Abychom optimalizovali testovací úsilí, potřebujeme určité principy a strategie
Tady je 7 zásad:
1) Vyčerpávající testování není možné
Ano! Vyčerpávající testování není možné. Místo toho potřebujeme optimální množství testování na základě posouzení rizik aplikace.
A otázka v milionech dolarů zní, jak určíte toto riziko?
Abychom na to odpověděli, udělejme si cvičení
Podle vašeho názoru, která operace s největší pravděpodobností způsobí selhání vašeho operačního systému?
Jsem si jistý, že většina z vás by uhodla, když otevíráte 10 různých aplikací najednou.
Pokud byste tedy testovali tento operační systém, uvědomili byste si, že v multitaskingové aktivitě se pravděpodobně vyskytnou defekty a je třeba je důkladně otestovat, což nás přivádí k našemu dalšímu principu Defekt Clustering
2) Shlukování vad
Shlukování vad, které uvádí, že malý počet modulů obsahuje většinu zjištěných vad. Toto je aplikace Paretova principu na testování softwaru: přibližně 80% problémů se nachází ve 20% modulů.
Podle zkušeností můžete takové rizikové moduly identifikovat. Ale tento přístup má své vlastní problémy
Pokud se stejné testy opakují znovu a znovu, nakonec stejné testovací případy již nenajdou nové chyby.
3) Paradox pesticidů
Opakované používání stejné směsi pesticidů k eradikaci hmyzu během chovu povede v průběhu času k tomu, že si hmyz vytvoří rezistenci vůči pesticidu. Neúčinnost pesticidů na hmyzu. Totéž platí pro testování softwaru. Pokud bude provedena stejná sada opakovaných testů, bude metoda k objevování nových vad k ničemu.
Abychom to překonali, je třeba testovací případy pravidelně kontrolovat a revidovat a přidávat nové a odlišné testovací případy, které pomáhají najít další defekty.
Testeři nemohou jednoduše záviset na stávajících testovacích technikách. Musí neustále hledat zdokonalování stávajících metod, aby bylo testování efektivnější. Ale i po tom všem potu a tvrdé práci při testování nikdy nemůžete tvrdit, že váš produkt neobsahuje chyby. Abychom se dostali domů, podívejme se na toto video z veřejného spuštění Windows 98
Myslíte si, že společnost jako MICROSOFT by svůj OS důkladně nevyzkoušela a riskovala by svoji reputaci, jen aby při svém veřejném spuštění narazila na jejich OS!
4) Testování ukazuje přítomnost vad
Princip testování tedy uvádí, že - Testování hovoří o přítomnosti defektů a nemluví o absenci defektů. tj. Testování softwaru snižuje pravděpodobnost neobjevení zbývajících vad softwaru, ale i když nejsou nalezeny žádné vady, není to důkaz správnosti.
Ale co kdybyste pracovali extra tvrdě, dodržovali všechna opatření a zajistili, aby byl váš softwarový produkt bezchybný o 99%. A software nesplňuje potřeby a požadavky klientů.
To nás vede k našemu dalšímu principu, který říká, že - Absence chyby
5) Absence chyby - klam
Je možné, že software, který je 99% bez chyb, je stále nepoužitelný. To může být případ, pokud je systém důkladně testován na nesprávný požadavek. Testování softwaru není jen hledání vad, ale také kontrola, zda software odpovídá obchodním potřebám. Absence chyby je klam, tj. Hledání a oprava defektů nepomůže, pokud je sestavení systému nepoužitelné a nesplňuje potřeby a požadavky uživatele.
K vyřešení tohoto problému uvádí další princip testování, že Early Testing
6) Včasné testování
Včasné testování - Testování by mělo začít co nejdříve v životním cyklu vývoje softwaru. Aby byly případné nedostatky ve fázi požadavků nebo návrhu zachyceny v raných fázích. Je mnohem levnější opravit Defekt v raných fázích testování. Ale jak brzy by měl člověk začít testovat? Doporučuje se, abyste chybu začali hledat v okamžiku, kdy jsou definovány požadavky. Více o tomto principu v pozdějším výcvikovém kurzu.
7) Testování je závislé na kontextu
Testování je závislé na kontextu, což v zásadě znamená, že způsob, jakým testujete web elektronického obchodování, se bude lišit od způsobu, jakým testujete komerční aplikaci. Veškerý vyvinutý software není totožný. V závislosti na typu aplikace můžete použít jiný přístup, metodiky, techniky a typy testování. Například testování jakéhokoli POS systému v maloobchodě se bude lišit od testování bankomatu.
Mýtus: „Principy slouží pouze jako reference. V praxi je nebudu používat.“
To je velmi nepravdivé. Principy testování vám pomohou vytvořit efektivní strategii testování a navrhnout testovací případy chycení chyb.
Ale naučit se principy testování je jako naučit se řídit poprvé.
Zpočátku, když se naučíte řídit, věnujete pozornost každému a všemu, jako je řazení, rychlost, ovládání spojky atd. Ale se zkušenostmi se soustředíte jen na řízení, zbytek přijde přirozeně. Takové, že dokonce vedete konverzace s ostatními cestujícími ve voze.
Totéž platí pro principy testování. Zkušení testeři tyto principy internalizovali na úroveň, kterou uplatňují i bez přemýšlení. Mýtus, že principy se v praxi nepoužívají, proto jednoduše není pravdivý.