Kvalita IT řešení závisí na kvalitě testů, kterými prošli – to je zřejmé tvrzení. Vzhledem k tomu, že testy hrají v našem vývoji a dodávání softwaru významnou roli, rozhodli jsme se sdílet několik dobrých testovacích praktik vycházejících z našich aktivit týkajících se GE Smallworld GIS řešení. Kromě toho ukážeme, jak vypadá proces testování v Globemě.
Začněme testováním aplikací založených na GE Smallworld GIS:
- nezapomeňte zkopírovat vývojové prostředí do databáze a vytvořit z něj samostatné zkušební prostředí
- netestujte na serveru, kde je prostředí nainstalováno, ale spusťte aplikaci na pracovních stanicích mimo sdílené mapy
- nezapomeňte na rozšiřování obrázků, abyste se ujistili, že jsou všechny záplaty načteny
- spusťte aplikaci pomocí konzole emacs. Pomocí této konzole můžete přečíst základní informace o zjištěné chybě a zkopírovat její obsah
- připravte různé skupiny s uživateli a odpovídajícím způsobem nastavte přístupové úrovně
- připravte příslušný testovací balíček, na kterém budete provádět některé testy, například vektorové a rastrové soubory v různých formátech a v různých souřadnicových systémech, dokumenty připojené k souborům apod.
- testujte alternativy v příslušných bankách: ACE, STYLE, GIS, atd.
- nahrajte záplaty s opravami na dané místo, například DH.GIS…\SW_APP\EC…\source\image_patches, a postupně v chronologickém pořadí zadávejte čísla záplat do seznamu záplat
Je dobrým zvykem psát testy pro:
- různá prostředí Smallworld – například jedna obrazovka, duální display atd.
- pro různé uživatele s různými úrovněmi přístupu k: tabulkám, parametrům a alternativám
- regresní testy – chyby zjištěné dříve a opravené by měly být znovu testovány společně s funkční oblastí okolo opravené chyby
- různé typy testů: výkon, škálovatelnost, bezpečnost, použitelnost, údržba a funkční postupy
Testování v Globemě – jak to funguje?
Především je založeno na iteračním přístupu s využitím agilních metodik, jako je Scrum. Iterativní model vývoje softwaru umožňuje spolupráci programátorů, testerů, analytiků a klientů již v počáteční fázi.
Tento přístup umožňuje:
- validaci připravených požadavků s potřebami klienta
- flexibilní reakci na možné změny požadavků. Včasné odhalení nesrovnalostí mezi požadavky, návrhem a výsledky implementace
- detekce a neutralizace největších hrozeb během počátečních fúzí – integrační testování v menším
- minimalizace počtu záplat – každá iterace končí sloučením
- objektivní posouzení stavu projektu a kvality služeb
- samotný vývojový proces je během projektu vylepšen – retrospektiva na konci každé iterace zahrnuje také to, co lze zlepšit.
Defekty softwaru nejsou pouze výsledkem chyb při kódování – velká část je výsledkem chyb při vytváření požadavků. Proto začínáme testy ve fázi analýzy:
- provádíme validaci požadavků (požadavky musejí být proveditelné, jednoznačné, měřitelné, jednotné, kompatibilní, srozumitelné)
- dáváme požadavkům priority
- definujeme konstrukční a výrobní rizika
- s vědomím účelu projektu a požadavků připravujeme testovací strategii.
Aby byla zajištěna vysoká kvalita softwaru, jsou do procesu testování zapojeni především certifikovaní zaměstnanci ISTQB, ITIL a REQB.
V neposlední řade – testování je absolutně nezbytným prvkem při vývoji a dodávání softwaru. Existuje mnoho důvodů, včetně: