Testovanie softvéru
Testovanie softvéru je metóda na kontrolu, či skutočný softvérový produkt zodpovedá očakávaným požiadavkám, a na zabezpečenie toho, aby bol softvérový produkt bez chýb. Zahŕňa vykonanie softvérových / systémových komponentov pomocou manuálnych alebo automatizovaných nástrojov na vyhodnotenie jednej alebo viacerých zaujímavých vlastností. Účelom testovania softvéru je identifikovať chyby, medzery alebo chýbajúce požiadavky na rozdiel od skutočných požiadaviek.
Niektorí uprednostňujú testovanie softvéru ako testovanie bielej a čiernej skrinky. Zjednodušene povedané, Testovanie softvéru znamená overenie testovanej aplikácie (AUT). Tento výukový program predstavuje publiku testovací softvér a zdôvodňuje jeho dôležitosť.
V tomto návode sa dozviete:
- Čo je to Testovanie softvéru?
- Prečo je testovanie softvéru dôležité?
- Aké sú výhody testovania softvéru?
- Testovanie v softvérovom inžinierstve
- Druhy testovania softvéru
- Stratégie testovania v softvérovom inžinierstve
- Testovanie programu
Prečo je testovanie softvéru dôležité?
Testovanie softvéru je dôležité, pretože ak sa v softvéri vyskytnú chyby alebo chyby, je možné ich včas identifikovať a vyriešiť pred dodaním softvérového produktu. Správne otestovaný softvérový produkt zaisťuje spoľahlivosť, bezpečnosť a vysoký výkon, čo ďalej vedie k úspore času, efektívnosti nákladov a spokojnosti zákazníkov.
Testovanie je dôležité, pretože chyby softvéru môžu byť drahé alebo dokonca nebezpečné. Chyby softvéru môžu potenciálne spôsobiť peňažné a ľudské straty a história je plná takýchto príkladov.
- V apríli 2015 sa terminál Bloomberg v Londýne zrútil kvôli chybe softvéru, ktorá zasiahla viac ako 300 000 obchodníkov na finančných trhoch. Prinútilo vládu odložiť predaj dlhu za 3 miliardy libier.
- Automobily Nissan stiahli z trhu viac ako 1 milión automobilov z dôvodu zlyhania softvéru v senzorických detektoroch airbagov. Z dôvodu zlyhania tohto softvéru boli hlásené dve nehody.
- Spoločnosť Starbucks bola nútená zavrieť asi 60 percent obchodov v USA a Kanade kvôli zlyhaniu softvéru v jej POS systéme. V jednom momente obchod podával kávu zadarmo, pretože nedokázali transakciu spracovať.
- Niektorí z maloobchodných reťazcov tretích strán v Amazone zaznamenali zníženie ceny svojich produktov na 1p z dôvodu chyby softvéru. Zostali im ťažké straty.
- Zraniteľnosť vo Windows 10. Táto chyba umožňuje používateľom uniknúť z bezpečnostných karantén cez chybu v systéme win32k.
- V roku 2015 sa stíhacie lietadlo F-35 stalo obeťou softvérovej chyby, vďaka ktorej nemohol správne detekovať ciele.
- Airbus A300 spoločnosti China Airlines havaroval kvôli softvérovej chybe 26. apríla 1994, pričom zahynulo 264 nevinných ľudí naživo
- V roku 1985 nefungoval kanadský prístroj na radiačnú terapiu Therac-25 kvôli chybe softvéru a pacientom dodával smrteľné dávky žiarenia, pričom 3 ľudia boli mŕtvi a ďalší 3 kriticky zranili.
- V apríli 1999 spôsobila softvérová chyba zlyhanie vypustenia vojenského satelitu za 1,2 miliardy dolárov, čo je najnákladnejšia nehoda v histórii
- V máji 1996 softvérová chyba spôsobila, že na bankové účty 823 zákazníkov významnej americkej banky bolo pripísaných 920 miliónov amerických dolárov.
Ak video nie je prístupné, kliknite sem
Aké sú výhody testovania softvéru?
Výhody testovania softvéru sú tieto:
- Nákladovo efektívne: Je to jedna z dôležitých výhod testovania softvéru. Včasné testovanie ktoréhokoľvek IT projektu vám pomôže ušetriť peniaze z dlhodobého hľadiska. V prípade, že sa chyby zachytia v skoršej fáze testovania softvéru, ich oprava stojí menej.
- Zabezpečenie: Je to najzraniteľnejšia a najcitlivejšia výhoda testovania softvéru. Ľudia hľadajú dôveryhodné produkty. Pomáha pri skoršom odstraňovaní rizík a problémov.
- Kvalita produktu: Je nevyhnutnou požiadavkou každého softvérového produktu. Testovanie zaručuje, že sa zákazníkom dodáva kvalitný produkt.
- Spokojnosť zákazníka: Hlavným cieľom každého produktu je uspokojiť svojich zákazníkov. Testovanie UI / UX zaisťuje najlepší používateľský zážitok.
Testovanie v softvérovom inžinierstve
Podľa ANSI / IEEE 1059 je Testovanie v softvérovom inžinierstve proces hodnotenia softvérového produktu s cieľom zistiť, či aktuálny softvérový produkt spĺňa požadované podmienky alebo nie. Proces testovania zahŕňa vyhodnotenie funkcií softvérového produktu z hľadiska požiadaviek z hľadiska chýbajúcich požiadaviek, chýb alebo chýb, bezpečnosti, spoľahlivosti a výkonu.
Druhy testovania softvéru
Testovanie sa zvyčajne delí do troch kategórií.
- Funkčné testovanie
- Nefunkčné testovanie alebo testovanie výkonu
- Údržba (regresia a údržba)
Kategória testovania | Druhy testovania |
---|---|
Funkčné testovanie |
|
Nefunkčné testovanie |
|
Údržba |
|
Toto nie je úplný zoznam, pretože existuje viac ako 150 typov testovacích typov, ktoré sa stále pridávajú. Upozorňujeme tiež, že nie všetky typy testovania sú použiteľné pre všetky projekty, ale závisia od povahy a rozsahu projektu.
Stratégie testovania v softvérovom inžinierstve
Tu sú dôležité stratégie v softvérovom inžinierstve:
Testovanie jednotky: Tento prístup k testovaniu softvéru sleduje programátor pri testovaní jednotky programu. Pomáha vývojárom zistiť, či jednotlivá jednotka kódu funguje správne alebo nie.
Testovanie integrácie: Zameriava sa na konštrukciu a dizajn softvéru. Musíte vidieť, že integrované jednotky fungujú bez chýb alebo nie.
Testovanie systému: Pri tejto metóde sa váš softvér zostavuje ako celok a potom sa testuje ako celok. Táto stratégia testovania okrem iného kontroluje funkčnosť, bezpečnosť, prenosnosť.
Testovanie programu
Testovanie programu v testovaní softvéru je metóda vykonávania skutočného softvérového programu s cieľom testovať správanie programu a hľadať chyby. Softvérový program sa vykoná s údajmi z testovacieho prípadu na analýzu správania programu alebo odozvy na testovacie údaje. Dobré programové testovanie má vysoké šance na nájdenie chýb.
Zhrnutie základov testovania softvéru:
- Testovanie softvéru je definované ako aktivita na kontrolu, či sa skutočné výsledky zhodujú s očakávanými výsledkami, a na zabezpečenie toho, aby softvérový systém neobsahoval chyby.
- Testovanie je dôležité, pretože chyby softvéru môžu byť drahé alebo dokonca nebezpečné.
- Dôležitými dôvodmi na použitie testovania softvéru sú: nákladovo efektívne, zabezpečenie, kvalita produktu a spokojnosť zákazníka.
- Testovanie sa zvyčajne klasifikuje do troch kategórií funkčné testovanie, nefunkčné testovanie alebo testovanie výkonu a údržba.
- Dôležitými stratégiami v softvérovom inžinierstve sú: testovanie jednotiek, testovanie integrácie, testovanie platnosti a testovanie systému.