Co je Software Quality Assurance?
Zajištění kvality softwaru zahrnuje testování návrhu a implementace počítačového softwaru a zajištění, že splňuje minimální standard kvality. Jádrem procesu zajišťování kvality je testování, což je metoda, pomocí které se analyzuje každý krok vývojového cyklu, aby se zjistily závady, jako jsou poruchy nebo bezpečnostní problémy. Nejběžněji známou součástí procesu zajištění kvality softwaru je testování softwaru a kódu; zahrnuje však i další aspekty technického cyklu. Mezi další aspekty softwarového inženýrství, které jsou předmětem analýzy kvality, patří fáze návrhu a implementace.
Celková koncepce zajištění kvality softwaru vyžaduje, aby se začalo ve fázi plánování softwaru. Špatně naplánovaný software může být obtížné nebo nemožné napsat způsobem, který splňuje očekávání organizace, která ho představila. Řízení kvality ve fázi návrhu zahrnuje studium důsledků specifikací nebo cílů projektu, jakož i plánů organizace k dosažení jejich cílů. Výhodou analýzy kvality ve fázi návrhu je to, že zjistí a eliminuje chyby brzy, spíše než později ve vývojovém cyklu, kdy je řešení problémů s návrhem mnohem dražší.
Primární osoba odpovědná za provádění testovacího procesu je softwarový testovací technik, známý také jako analytik kvality softwaru. Tato osoba navrhuje a provádí plány zkoušek, které pomohou organizaci zlepšit kvalitu jejich softwaru. V ideálním případě by programátor nikdy neměl testovat svůj vlastní produkt, což znamená, že v rámci projektu jsou programátor a testovací technik dvěma různými lidmi.
Plány zkoušek jsou kritickou součástí systému zajišťování kvality, zejména fáze testování softwaru. Účelem plánů zkoušek je určit podmínky, které označují úspěch nebo selhání softwaru. Typický plán zkoušek bude zahrnovat komplexní seznam programů a podprogramů nebo postupů, které musí být testovány, jakož i techniky zapojené do testování. Další kritickou funkcí plánu zkoušek je určení, které vady jsou nepřijatelné. Testovací plány jsou obvykle navrženy před vývojem skutečného softwarového kódu projektu.
Když testovací inženýři píší programy pro implementaci testovacích plánů, nazývají se testovací skripty. Testovací skripty jsou nezbytnou součástí procesu zajištění kvality softwaru. Jejich účelem je automatizovat testování existujícího kódu programu za účelem nalezení závad. Navíc testovací inženýři obvykle používají komerčně navržené testovací nástroje k hledání možných problémů. Testovací plány jsou implementovány ve fázi kódování vývoje softwaru.
Do fáze testování procesu zajištění kvality softwaru je zapojeno několik důležitých kroků. Patří sem testování jednotek, které posuzuje integritu různých částí softwarového kódu, jakož i injekce chyb, které jsou navrženy tak, aby prozkoumaly, jak programy reagují na chybná data. Mezi další kroky patří testování zátěže nebo zátěžové testování, které ukazuje, jak program funguje při intenzivním používání, a testování narušení nebo zabezpečení k testování odolnosti programu proti neoprávněnému přístupu. Softwarový projekt je také obvykle podroben testování použitelnosti, aby se ověřilo, že výsledný program je pro ostatní snadno použitelný.
Specialisté, kteří se zabývají testováním softwarového kódu, jsou obvykle rozděleni do dvou skupin, z nichž jedna se nazývá testery černé skříňky a druhá známá jako testery bílé skříňky nebo skleněné skříňky. Testování černé skříňky je více povrchní proces, který začíná ve fázi kódování softwaru a nezkoumá žádný základní počítačový kód. Zkoumá použitelnost softwaru, kosmetickou konzistenci a výskyt chyb a chybných funkcí.
Testování bílé skříňky je proces, který začíná na samém začátku procesu zajištění kvality softwaru, ve fázi návrhu. Zahrnuje predikci potenciálních problémů před skutečným napsáním kódu, jakož i psaní testovacích plánů a pokročilých testovacích skriptů. Na rozdíl od testování černé skříňky zahrnuje testování bílé skříňky také studium základního počítačového kódu.
Zajištění kvality se vztahuje také na fázi implementace softwaru, což je okamžik, kdy je software téměř dokončen a je nainstalován do počítačových systémů pro vyhodnocení. Tato fáze je často označována jako alfa testování a nastává, když je téměř hotový produkt nainstalován a testován vývojářskými pracovníky. Když je software prezentován potenciálním zákazníkům mimo společnost, nazývá se beta testování. Pokud se po uvolnění softwaru objeví závady a je třeba vyvinout opravu, použije se regresní testování, aby aktualizace zajistily, že se nové chyby nevytvoří.