Tento tutoriál predstavuje sedem základných princípov testovania softvéru, ktoré by mal poznať každý tester softvéru a odborník na zabezpečenie kvality.
7 Princípy testovania softvéru
- Testovanie preukázalo prítomnosť defektov
- Vyčerpávajúce testovanie nie je možné
- Včasné testovanie
- Porucha klastrovania
- Paradox pesticídov
- Testovanie je závislé od kontextu
- Absencia omylov
Naučme sa princípy testovania pomocou nasledujúceho príkladu videa -
Ak video nie je prístupné, kliknite sem
Pozadie
Je dôležité, aby ste pri testovaní softvéru dosiahli optimálne výsledky testu bez odchýlenia sa od cieľa. Ako však zistíte, že dodržiavate správnu stratégiu testovania? Preto sa musíte držať niekoľkých základných princípov testovania. Tu uvádzame bežných sedem testovacích princípov, ktoré sa v softvérovom priemysle bežne používajú.
Aby ste tomu porozumeli, zvážte scenár, pri ktorom presúvate súbor z priečinka A do priečinka B.
Vymyslite všetky možné spôsoby, ako to môžete otestovať.
Okrem bežných scenárov môžete vyskúšať aj nasledujúce podmienky
- Pokúšam sa presunúť súbor, keď je otvorený
- Na vloženie súboru do priečinka B nemáte bezpečnostné práva
- Priečinok B je na zdieľanej jednotke a úložná kapacita je plná.
- Priečinok B už má súbor s rovnakým názvom, zoznam je v skutočnosti nekonečný
- Alebo predpokladajme, že máte na testovanie 15 vstupných polí, pričom každé má 5 možných hodnôt, počet testovaných kombinácií by bol 5 15.
Ak by ste otestovali všetky možné kombinácie projektu, ČAS & NÁKLADY NA VÝKON by exponenciálne vzrástli. Potrebujeme určité zásady a stratégie, aby sme optimalizovali testovacie úsilie
Tu je 7 princípov:
1) Vyčerpávajúce testovanie nie je možné
Áno! Vyčerpávajúce testovanie nie je možné. Namiesto toho potrebujeme optimálne množstvo testovania na základe posúdenia rizika aplikácie.
A otázka za milión dolárov znie: ako určíte toto riziko?
Aby sme na to odpovedali, urobme si cvičenie
Podľa vášho názoru, ktorá operácia s najväčšou pravdepodobnosťou spôsobí zlyhanie vášho operačného systému?
Som si istý, že väčšina z vás by uhádla, keď otvoríte 10 rôznych aplikácií súčasne.
Ak by ste teda testovali tento operačný systém, uvedomili by ste si, že chyby sa pravdepodobne budú vyskytovať v činnosti viacerých úloh, a preto je potrebné ich dôkladne otestovať, čo nás privádza k nášmu ďalšiemu princípu klastrovania defektov.
2) Zhlukovanie defektov
Zhlukovanie chýb, ktoré uvádza, že malý počet modulov obsahuje väčšinu zistených chýb. Toto je uplatnenie Paretovho princípu na testovanie softvéru: približne 80% problémov sa nachádza v 20% modulov.
Na základe skúseností môžete takéto rizikové moduly identifikovať. Ale tento prístup má svoje vlastné problémy
Ak sa tie isté testy opakujú znova a znova, nakoniec tie isté testovacie prípady už nenájdu nové chyby.
3) Paradox pesticídov
Opakované použitie tej istej zmesi pesticídov na eradikáciu hmyzu počas chovu povedie v priebehu času k tomu, že si hmyz vytvorí odolnosť voči pesticídom. Účinok pesticídov na hmyz je teda neúčinný. To isté platí pre testovanie softvéru. Ak sa uskutoční rovnaká sada opakujúcich sa testov, bude metóda na objavovanie nových chýb zbytočná.
Aby sme to prekonali, je potrebné testovacie prípady pravidelne kontrolovať a revidovať a pridávať nové a odlišné testovacie prípady, ktoré pomáhajú nájsť ďalšie chyby.
Testéri nemôžu jednoducho závisieť od existujúcich testovacích techník. Musí neustále dohliadať na to, aby zlepšil existujúce metódy a zefektívnil tak testovanie. Ale aj po tom všetkom potu a tvrdej práci pri testovaní nikdy nemôžete tvrdiť, že váš produkt neobsahuje chyby. Aby sme sa v tomto bode dostali domov, pozrime sa na toto video z verejného uvedenia systému Windows 98 na trh
Myslíte si, že spoločnosť ako MICROSOFT by poriadne netestovala svoj OS a riskovala by svoju reputáciu, len aby pri svojom verejnom uvedení havarovala!
4) Testovanie ukazuje prítomnosť chýb
Princíp testovania teda uvádza, že - Testovanie hovorí o prítomnosti chýb a nehovorí o absencii chýb. tj Testovanie softvéru znižuje pravdepodobnosť neobjavených chýb zostávajúcich v softvéri, ale aj keď sa nezistia žiadne chyby, nejde o dôkaz správnosti.
Čo však robiť, ak budete pracovať mimoriadne usilovne, dodržiavať všetky preventívne opatrenia a zabezpečiť, aby bol váš softvérový produkt bez chýb 99%. Softvér nezodpovedá potrebám a požiadavkám klientov.
To nás vedie k nášmu ďalšiemu princípu, ktorý hovorí, že- Absencia chyby
5) Absencia chyby - klam
Je možné, že softvér neobsahujúci 99% chýb je stále nepoužiteľný. To môže byť prípad, ak je systém dôkladne testovaný na nesprávnu požiadavku. Testovanie softvéru nie je len zisťovanie chýb, ale aj kontrola, či softvér zodpovedá potrebám firmy. Absencia chyby je klam, tj hľadanie a oprava chýb nepomôže, ak je zostava systému nepoužiteľná a nespĺňa potreby a požiadavky používateľa.
Na vyriešenie tohto problému uvádza nasledujúci princíp testovania, že Early Testing
6) Včasné testovanie
Skoré testovanie - Testovanie by sa malo začať čo najskôr v životnom cykle vývoja softvéru. Aby boli prípadné chyby vo fáze požiadaviek alebo návrhu zachytené v počiatočných fázach. Je oveľa lacnejšie opraviť Poruchu v počiatočných fázach testovania. Ako skoro by sa však malo začať s testovaním? Odporúča sa, aby ste chybu začali hľadať v okamihu, keď sú definované požiadavky. Viac o tomto princípe v ďalšom tréningovom návode.
7) Testovanie je závislé od kontextu
Testovanie je závislé od kontextu, čo v podstate znamená, že spôsob, akým testujete web elektronického obchodu, sa bude líšiť od spôsobu, akým testujete komerčnú aplikáciu. Všetky vyvinuté softvéry nie sú identické. V závislosti od typu aplikácie môžete použiť iný prístup, metodiky, techniky a typy testovania. Napríklad testovanie, akýkoľvek POS systém v maloobchode sa bude líšiť od testovania bankomatu.
Mýtus: "Princípy sú len orientačné. V praxi ich nebudem používať."
To je veľmi nepravdivé. Princípy testovania vám pomôžu vytvoriť efektívnu stratégiu testovania a navrhnúť testovacie prípady chytania chýb.
Ale naučiť sa princípy testovania je ako naučiť sa prvýkrát šoférovať.
Spočiatku, kým sa naučíte jazdiť, venujete pozornosť každému a všetkému, ako je radenie rýchlostných stupňov, rýchlosť, manipulácia so spojkou atď. Ale so skúsenosťami sa sústredíte iba na jazdu, ostatné už prichádzajú prirodzene. Také, že dokonca vediete rozhovory s ostatnými cestujúcimi v aute.
To isté platí pre princípy testovania. Skúsení testeri tieto princípy internalizovali na úroveň, ktorú ich dokážu aplikovať aj bez premýšľania. Preto mýtus, že princípy sa v praxi nepoužívajú, jednoducho nie je pravdivý.