Obrovské softwarové společnosti, jako je Google, uspějí i přes chyby s nízkou prioritou v jejich softwaru, ale menší společnosti a začínající podniky nemají tento luxus.
Zákazníci očekávají, že produkty budou dělat to, co tvrdí, na stránce prodeje nebo v dokumentaci. S tolika možností, že tam nebudou myslet dvakrát na skákání lodi, pokud produkt zbyde jejich času a peněz. Software proto před uvolněním provádí přísné testy, aby:
zdůraznit rozdíly mezi původní koncepcí a konečným výstupem
ověřte, zda software pracuje podle toho, jak návrháři plánovali
ověřit konečný produkt - produkt musí splňovat požadavky zákazníka
posoudit vlastnosti a kvalitu
Testování sleduje přísný plán. Tím se optimalizuje využívání cenných zdrojů - dovedností, času a peněz, a zároveň se poskytují zúčastněným stranám základní informace, aby se produkt mohl předat. Cílem je usnadnit dobré zkušenosti koncového uživatele prostřednictvím silného programu zajištění kvality . S tak vysokými sázkami jsou manažeři QA někteří z nejlepších zaměstnanců v tech.Testování obvykle vychází z těchto kroků:
Analýza požadavků, kdy manažeři načrtávají plán, aby zavedli vhodnou zkušební strategii.
Zkoušky začínají a výsledky procházejí analýzou.
Jakékoliv chyby jsou opraveny a software prochází regresními testy - systém po kontrole programu stále funguje po úpravách.
Zpráva o ukončení testu podrobně popisuje celý proces a výsledky.
Metody testování softwaru
Zde jsou různé metody používané při hodnocení chování a výkonu produktu.
Testování černé skříňky a testování bílé krabice jsou dvě základní metody.
- Testování černé skříně - také nazývané funkční nebo specifikované testování, tato metoda se zaměřuje na výstup. Testery se netýkají vnitřních mechanismů. Ověřují, že software dělá to, co má. Znalost kódování není nutná a testery pracují na úrovni uživatelského rozhraní.
- Testování bílé krabice - Tato metoda využívá kódovací know-how jako součást zkušebního postupu. Když produkt selže, testeri jdou tak hluboko do kódu, jak je potřeba najít příčinu. Vývojáři softwaru to dělají sami, protože určují, jak má produkt fungovat. Testování struktury a testování skla jsou dalšími názvy této metody.
- Statické testování - Testery zkoumají kód a dokumentaci softwaru, ale nevykonávají program. Statické testy začínají brzy ve vývoji produktu během ověřovacího procesu.
- Dynamické testování - software je prováděn s různými vstupy a testovací uživatelé porovnávají výstupy s očekávaným chováním s touto metodou.
- GUI testování - testuje vlastnosti GUI - formátování textu, textové pole, tlačítka, seznamy, rozvržení, barvy, písma, velikost písma apod. Testování grafického uživatelského rozhraní je časově náročné a společnosti třetí strany se na místo tohoto vývojáře často zabývají.
Testovací úrovně
Jsou nezbytné k identifikaci oblastí slabosti a překrytí v každé fázi životního cyklu vývojového softwaru.
- Testování jednotek - Vývojáři testují nejzákladnější části kódu jako třídy, rozhraní a funkce / postupy. Vědí, jak by měl jejich kód odpovídat a může provádět úpravy v závislosti na výkonu.
- Testování komponent - Jiná jména jsou testování modulů nebo programů. Je to podobné testování jednotky, ale obsahuje vyšší úroveň integrace. Moduly softwaru jsou testovány na závady a ověřeny jejich jednotlivé funkce.
- Testování integrace - identifikuje chyby při integraci modulů. Různé integrační testy jsou zdola nahoru, shora dolů a funkční inkrementálně.
- Testování systému - součásti projektu jsou testovány jako celek v různých prostředích touto metodou. Spadá pod metodu černé krabice a je jedním ze závěrečných testů v procesu. Určuje, zda systém funguje tak, jak má, aby vyhovoval potřebám podniků a uživatelů.
- Testování alfa - interní zaměstnanci testují software na webu vývojáře v simulovaném nebo aktuálním prostředí. Poté vývojáři opravují chyby a další problémy.
- Beta testování - Známý také jako testování v terénu, klient testuje produkt na vlastním místě v reálných podmínkách. Klient může nabídnout skupině koncových uživatelů možnost otestovat software pomocí předběžných verzí nebo verzí beta. Zpětná vazba ohledně možných vylepšení je potom odeslána vývojáři.
- Přijímací testování - Také v rámci testování černé skříně klienta testuje software, aby zjistil, zda vývojář vytvořil program podle požadovaných specifikací.
Typy testů
Tyto softwarové testy se zaměřují na konkrétní cíle.
- Testování instalace - testovací inženýr a správce konfigurace provádějí tento test, aby zajistili, že koncový uživatel může nainstalovat a spustit program. Pokrývá oblasti, jako jsou instalační soubory, umístění instalace a oprávnění správce.
- Vývojové testování - implementuje řadu synchronizovaných strategií pro detekci a prevenci defektů. Zahrnuje statickou analýzu kódu, přehledy peer-kódu, sledovatelnost a analýzu metrik. Cílem je snížit rizika a ušetřit náklady.
- Testování použitelnosti - zkušenost uživatelů s touto zkouškou přichází v centru pozornosti. Měří, jak dobře je grafické uživatelské rozhraní navrženo a jeho snadné použití. Zkouška kontroluje přesnost a účinnost funkcí a emoční reakce testovaných subjektů.
- Testování zdatnosti - to znamená, zda software stojí za to, aby si dal další testy. Příliš mnoho nedostatků a agresivnějších testů nedodrží.
- Testování kouře - Test kouře odhaluje základní poruchy, které jsou dostatečně závažné, aby zabránily uvolnění. Pokud se to provádí na nové sestavě, nazývá se test ověření sestavy.
- Regresní testování - Když systém prochází modifikací, regresní testování sleduje neočekávané chování. Upozorňuje na nepříznivé účinky na moduly nebo součásti.
- Detektivní testování - Testery zadávají abnormální záznamy a rozpoznají schopnost softwaru spravovat neočekávané vstupy. To ukazuje vývojářům, jak robustní je program při správě chyb.
- Testování zotavení - Pokud se hardware nebo jiné funkce nezdaří, tento test ukazuje, jak dobře se software může obnovit a pokračovat v práci.
- Automatizované testování - provádí funkce, které se obtížně implementují ručně. Používá specifický software k provádění testů a poskytuje údaje o skutečných versus očekávaných výsledcích.
- Testování kompatibility - Software musí být spuštěn v různých počítačích, takže kontroluje kompatibilitu s různými systémy. Například software pracuje s různými operačními systémy a webovými prohlížeči?
- Testování výkonu - Jedná se o hloubkový test, který zkoumá výkonnost softwaru v různých scénářích. Informace o reaktivitě, stabilitě, alokaci zdrojů a rychlosti jsou shromážděny. Navíc dílčí testy, jako je objem, kapacita a testování hrotu, hrají v tomto procesu úlohu.
- Testování zabezpečení - měří schopnost softwaru chránit bezpečnost uživatelů. To znamená autorizační funkce, ověřování, důvěrnost, integritu, dostupnost a neodmítnutí.
- Testování dostupnosti - To není stejné jako testování použitelnosti. Toto určuje, do jaké míry mohou uživatelé různých schopností - učení a fyzické postižení zahrnout, používat software.
- Testování v oblasti internacionalizace a lokalizace - výsledky ukazují, jak se software přizpůsobuje různým jazykům a regionálním požadavkům. To zahrnuje přidání komponent pro konkrétní místa a překlad textu.
Testování softwaru je nezbytnou součástí uvedení produktu na trh. A bez testery by neexistoval rozsáhlý rozsah dostupného softwaru. Staňte se certifikovaným softwarovým testerem prostřednictvím organizací jako BCS, Chartered Institute for IT, ISTQB® (International Qualification Board) a ASQ (dříve Americká společnost pro kvalitu).