Testování jako součást procesu aneb co je to QA
Hodnocení uživatelů: / 0
NejhoršíNejlepší 

Ve spojení s pojmem "testování software" se často objevuje také jiný pojem "Quality assurance". Mezi těmito dvěma pojmy není rovnítko. Existence testování ještě neznamená implementaci Quality assurance (QA). O co tedy jde?

Vývoj softwaru je proces, který se (pokud má mít smysl) řídí určitými pravidly. Metodik, které se při tomto procesu mohou uplatniti je celá řada, počínaje metodikami kladoucími důraz na dokumentaci (např. RUP) a konče dnes stále oblíbenějšími metodikami agilními, které jsou naopak značně neformální. Ale ať už je vývoj řízen v duchu kterékoli metodiky, nezastupitelné místo v něm má ověřování kvality vyvíjené aplikace. 

Pokud si chceme říct jaký je rozdíl mezi testováním a QA, musíme přecházející odstavec poněkud otočit. Právě volba vhodné metodiky vývoje a především její úspěšná implementace má zásadní vliv na kvalitu výsledného softwaru. Testování má za úkol odhalovat chyby, QA ale slouží k zajištění, že výsledný produkt je "kvalitní". Tedy nejen že pracuje jak má, neobsahuje chyby, ale naplňuje také cíle pro které byl jeho vývoj navržen, splňuje představy jeho uživatelů a v neposlední řadě je jeho vývoj také efektivní. 

Zavedení QA do vývoje softwaru v podstatě znamená, že jsou jasně definovány role a jejich zodpovědnosti, jsou navrženy a aplikovány metody verifikace správnosti "výstupů" v jednotlivých fázích vývoje. Tedy například způsob přebírání jednotlivých dokumentací (třeba zákaznických požadavků, analýzy atd.) nebo způsobem dodávek hotového kódu a jeho ověřování. Ať už je zvolen přístup formální (a ověřování je v jednotlivých fázích zachycováno do příslušných dokumentů) nebo naopak neformální vždy musí existovat osoba odpovědná za kvalitu aktuálního výstupu a také osoba zodpovědná za ověřování této kvality.

Mělo by být jasné, že za kvalitu celého produktu nese odpovědnost tester. On je tím, kdo nakonec řekne, zda vytvořená aplikace je vhodná k používání a splňuje vše, co se od ní čeká. Pokud se po skončení vývoje objeví v aplikaci chyby, první otázky směřují (nebo by měly) na testera, protože právě jemu tyto chyby proklouzly. K tomu, aby si tuto odpovědnost mohl vzít tester na svá bedra, musí dostat příležitost odvést dobře svoji práci. A to se vracíme zpátky - musí existovat QA začleněné do vývoje, které dá testerovi tu moc kvalitu výsledného produktu ovlivnit.

Stále bohužel existuje mnoho firem a vývojových týmů, které si (možná) důležitost testování uvědomují, ale nedávají mu dostatečný prostor při plánování vývoje a tím ani v jeho reálném průběhu. Velice častá je ta praxe, kdy se testeři "do hry" dostávají až v okamžiku, kdy aplikace buď existuje nebo její vývoj už začal. Jsou tak zcela ignorována nebezpečí chyb, vzniklých například špatným zpracováním zákaznických požadavků nebo špatnou analýzou. Tyto chyby se pak mohou projevit až při testování dokončené aplikace a v tu chvíli může být jejich náprava značným problémem.

Častou chybou je také podcenění časové dotace testování v rámci celého vývoje. Mnoho projektových managerů bere fázi testování jako jakýsi buffer pro případ, že by se ostatní fáze protáhly. Uplatňuje se pak efekt valícího se kamene, který bohužel příliš často fázi testování semele.

Fungující QA je to, čemu se firmy snaží přiblížit. Jak už jsem tu uvedl, jedinou cestou jak toho dosáhnout je aplikovat kontrolu kvality v celém procesu vývoje.

 

 

 

Nejbližší události


Testování software, Powered by Joomla!; Joomla templates by SG web hosting