Obrovské softvérové spoločnosti, ako je Google, uspeli napriek chybám s nízkou prioritou v ich softvéri, ale menšie spoločnosti a začínajúce podniky nemajú tento luxus.
Zákazníci očakávajú, že produkty robia to, čo tvrdia, na stránke predaja alebo v dokumentácii. S toľkými možnosťami tam vonku, nebudú premýšľať dvakrát o skákaní loď, ak výrobok stráca svoj čas a peniaze. Preto softvér podlieha prísnym testom pred uvoľnením, aby:
zdôrazniť rozdiely medzi pôvodnou koncepciou a konečným výstupom
skontrolujte, či softvér pracuje tak, ako plánovali dizajnéri
overovať konečný produkt - výrobok musí spĺňať požiadavky zákazníka
posúdi vlastnosti a kvalitu
Testovanie sleduje prísny plán. Tým sa optimalizuje využívanie cenných zdrojov - zručností, času a peňazí, pričom sa zainteresovaným stranám poskytnú základné informácie, aby sa produkt mohol dostať dopredu. Cieľom je uľahčiť dobré skúsenosti koncového používateľa prostredníctvom silného programu zabezpečenia kvality . Keď sú stávky také vysoké, manažéri QA sú niektorí z najlepších zarábajúcich sa v oblasti tech.Testing zvyčajne nasleduje tieto kroky:
Analýza požiadaviek, keď manažéri načrtávajú plán na zavedenie vhodnej testovacej stratégie.
Začnú sa testy a výsledky sa podrobia analýze.
Všetky chyby sú opravené a softvér prechádza regresným testovaním - systém, ktorý kontroluje program, stále funguje po úpravách.
Správa o ukončení testu podrobne popisuje celý proces a výsledky.
Metódy testovania softvéru
Tu sú rôzne metódy používané na posúdenie správania a výkonu produktu.
Čierna skrinka a testovanie bielych kníh sú dve základné metódy.
- Čierna skrinka testovanie - Tiež nazýva funkčné alebo špecifikácie-založené testovanie, táto metóda sa zameriava na výstup. Testeri sa netýkajú vnútorných mechanizmov. Skontrolujú len, že softvér robí to, čo má. Znalosť kódovania nie je potrebná a testeri pracujú na úrovni používateľského rozhrania.
- Testovanie bielej krabice - táto metóda využíva kódovacie know-how ako súčasť skúšobného postupu. Keď výrobok zlyhá, testeri idú tak hlboko do kódu, ako je potrebné na nájdenie príčiny. Vývojári softvéru to robia sami, pretože určujú, ako by mal produkt fungovať. Štruktúru a testovanie sklenených krabičiek sú iné názvy pre túto metódu.
- Statické testovanie - skúšajúci skúmajú kód a dokumentáciu softvéru, ale nevykonávajú program. Statické testy začínajú začiatkom vývoja produktu počas overovacieho procesu.
- Dynamické testovanie - softvér sa vykonáva s rôznymi vstupmi a testeri porovnávajú výstupy s očakávaným správaním pomocou tejto metódy.
- GUI testovanie - testuje vlastnosti GUI - formátovanie textu, textové polia, tlačidlá, zoznamy, rozloženie, farby, písma, veľkosti písma atď. Testovanie grafického rozhrania je časovo náročné a spoločnosti tretích strán často namiesto vývojárov nesú úlohu.
Testovacie úrovne
Tieto sú potrebné na identifikáciu oblastí slabosti a prekrývania v každej fáze vývojového cyklu vývoja softvéru.
- Testovanie jednotiek - Vývojári testujú najzákladnejšie časti kódu, ako sú triedy, rozhrania a funkcie / postupy. Vedia, ako by ich kód mal reagovať a môžu sa prispôsobiť v závislosti od výstupu.
- Testovanie komponentov - Iné názvy sú testovanie modulov alebo programov. Je to podobné testovanie jednotiek, ale obsahuje vyššiu úroveň integrácie. Moduly softvéru sa testujú na chyby, aby sa overila ich individuálna funkcia.
- Testovanie integrácie - identifikuje chyby pri integrácii modulov. Rôzne integračné testy sú zdola nahor, zhora nadol a funkčné prírastkové.
- Testovanie systému - komponenty projektu sú testované ako celok v rôznych prostrediach touto metódou. Spadá pod metódu čiernej skrinky a je jedným z konečných testov v procese. Určuje, či systém funguje tak, ako by mal na uspokojenie potrieb podnikov a používateľov.
- Alpha testovanie - Interní zamestnanci testujú softvér na stránkach vývojára v simulovanom alebo aktuálnom prostredí. Potom vývojári opravia chyby a iné problémy.
- Beta testovanie - známy aj ako testovanie v teréne, klient testuje produkt na vlastnom mieste v reálnych podmienkach. Klient môže ponúknuť skupine koncových používateľov možnosť otestovať softvér pomocou predbežných verzí alebo verzií beta. Spätná väzba o možných zlepšeniach sa potom odošle vývojárovi.
- Akceptačné testovanie - Tiež v rámci testovania čiernej skrinky klient testuje softvér, aby zistil, či vývojár vytvoril program podľa požadovaných špecifikácií.
Typy testov
Tieto softvérové testy sa zameriavajú na konkrétne ciele.
- Testovanie inštalácie - Inžinier testovania softvéru a správca konfigurácie vykonajú tento test, aby zabezpečili, že koncový používateľ môže nainštalovať a spustiť program. Zahŕňa oblasti, ako sú inštalačné súbory, umiestnenie inštalácie a oprávnenia správcu.
- Testovanie vývoja - implementuje celý rad synchronizovaných stratégií na detekciu a prevenciu chýb. Zahŕňa statickú analýzu kódu, recenzie peer-kódu, sledovateľnosť a analýzu metrík. Cieľom je znížiť riziká a ušetriť náklady.
- Testovanie použiteľnosti - Skúsenosť používateľa sa týmto testom dostane do pozornosti. Určuje, ako dobre je navrhnuté grafické rozhranie a jeho jednoduché používanie. Test kontroluje presnosť a účinnosť funkcií a emocionálne reakcie testovaných subjektov.
- Testovanie zdravia - To znamená, či softvér stojí za čas a náklady na pokračovanie ďalších testov. Príliš veľa nedostatkov a agresívnejších testov nesleduje.
- Testovanie dymu - Testovanie dymu odhaľuje základné chyby, ktoré sú dostatočne závažné, aby zabránili uvoľneniu. Ak sa to vykoná na novom systéme, nazýva sa to overovací test.
- Regresné testovanie - Keď systém prechádza modifikáciou, regresné testovanie monitoruje neočakávané správanie. Poukazuje na nepriaznivé účinky na moduly alebo komponenty.
- Deštruktívne testovanie - Testeri vstupujú do abnormálnych položiek a rozpoznávajú schopnosť softvéru spravovať neočakávaný vstup. To ukazuje vývojárom, ako robustný je program pri správe chýb.
- Testovanie obnovenia - ak sa hardvér alebo iné funkcie zlyhajú, tento test ukazuje, ako sa softvér môže obnoviť a pokračovať v jeho používaní.
- Automatizované testovanie - toto vykonáva funkcie, ktoré sa ťažko implementujú manuálne. Používa špecifický softvér na spustenie testov a poskytovanie údajov o skutočných a očakávaných výsledkoch.
- Testovanie kompatibility - Softvér musí bežať v rôznych výpočtových prostrediach, a preto kontroluje kompatibilitu s rôznymi systémami. Napríklad softvér pracuje s rôznymi operačnými systémami a webovými prehliadačmi?
- Testovanie výkonu - Toto je hĺbkový test, ktorý skúma výkonnosť softvéru v rôznych scenároch. Poskytujú sa informácie o reakciách, stabilite, alokácii zdrojov a rýchlosti. Navyše v tomto procese zohrávajú aj podtriedy, ako objem, kapacita a skúšky špic.
- Bezpečnostné testovanie - Tým sa meria schopnosť softvéru chrániť bezpečnosť používateľov. To znamená autorizačné funkcie, autentifikáciu, dôvernosť, integritu, dostupnosť a neodopieranie.
- Testovanie dostupnosti - to nie je to isté ako testovanie použiteľnosti. To určuje rozsah, v akom môžu používatelia rôznych schopností - učenie a fyzické postihnutia zahrnúť - používať softvér.
- Testovanie v oblasti internacionalizácie a lokalizácie - výsledky ukazujú, ako sa softvér môže prispôsobiť rôznym jazykom a regionálnym požiadavkám. To zahŕňa pridávanie komponentov pre konkrétne miesta a preklad textu.
Testovanie softvéru je nevyhnutnou súčasťou uvedenia produktu na trh. A bez testerov by neexistoval rozsiahly sortiment dostupného softvéru. Staňte sa certifikovaným softvérovým testerom prostredníctvom organizácií, ako je BCS, Chartered Institute for IT, ISTQB® (International Qualification Board) a ASQ (predtým Americká spoločnosť pre kvalitu).