Vyhledávání

Realizace automatizovaných testů

Zde uvádíme několik námětů, jak je možné jednoduše začít nebo rozšířit testování na projektu.

Jak začít s automatizovaným testováním na projektu

Úvodní setup testů při inicializaci projektu zahrnuje kontinuální integraci, statickou analýzu kódu a unit testy. Příprava testovacího prostředí je jednoduchý, standardizovaný proces, který lze snadno aplikovat na většinu nových i existujících projektů.

V současné době existuje dostatek kvalitních opensource nástrojů, na kterých je možné v řádově jednotkách MD postavit požadovanou konfiguraci.

Výčet některých nástrojů:

  • Kontinuální integrace: Cruise Control, Hudson,…
  • Statická analýza kódu: FindBugs, PMD, Jdepend,…
  • Unit testy: jUnit, TestNG, jMock, EasyMock, DbUnit, …

Smoke testy

Smoke testy jsou dalším nenáročným způsobem jak zvýšit kvalitu a začít s testováním na projektu. Jsou založeny na sadě testů, které verifikují základní funkčnost systému. Minimalizují problémy s integrací a umožňují odhalení časové stopy začátku některých chyb. Udržují produkt funkční a přispívají tak k lepšímu vnímání produktu vývojáři, čímž zvyšují morálku týmu.

Důležitá myšlenka v tomto kontextu je pravidelné provádění denního buildu a následně smoke testů. Firma Microsoft používá smoke testy jako hlavní testovací strategii. Každou noc se spouští build a následně unit testy. Microsoft proklamuje, že smoke testy jsou finančně nejefektivnější metoda pro odhalení defektů a zkušenosti Profinitu toto tvrzení potvrzují.

Smoke testy jsou po úvodním nastavení testovacího prostředí projektu dalším finančně i časově nenáročným krokem. V řádově jednotkách až desítkách MD je možné implementovat základní sadu testů.

Statická analýza kódu

Statická analýza kódu může výrazně pomoci při testování aplikace, protože upozorňuje na problémové partie kódu, které jsou s velkou pravděpodobností chybné nebo neodpovídají dobrým praktikám softwarové konstrukce.

Statická analýza kódu typicky najde problémy související s referencováním neinicializovaných referencí na objekty, upozorní na možné překlepy při použití dvou podobných proměnných. Většina nástrojů navíc obsahuje databázi typických chyb, kterých se programátoři opakovaně a často dopouští (problémy se synchronizací, s API Java SE, atd.). Použitím vhodných nástrojů lze výrazně zkrátit čas nutný na přezkoumání kódu, což je většinou standardní součást QA na úrovni projektu či celé firmy.

Pro statickou analýzu kódu existuje dostatek kvalitních opensource nástrojů, např. FindBugs, PMD, lint4j. Je možné je používat samostatně, integrovat do vývojového nástroje (např. Eclipse) nebo integrovat do build procesu (Ant)

Zátěžové testy

Zátěžové testování podává důležité informace o okrajových podmínkách systému z hlediska výkonu. Výpadek systému může mít obrovské finanční a marketingové důsledky. Důležitější než znát chování systému při přetížení je vědět, kde hranice přetížení leží. Dle těchto informací je možné dále řídit činnosti jako plánování marketingových kampaní (tak, aby to systém nepoložilo) nebo investice do výkonového rozšiřování systému.

Zátěžové testování je možné realizovat v několika krocích:

  1. Deklarovat současnou maximální zátěž (vstupní údaj)

  2. Vytvořit testovací scénáře pro zátěžové testování (jednotky až desítky MD)

  3. Využít nebo implementovat existující testovací nástroj (desítky MD)

  4. Provést výkonové testování, monitorovat odezvu systému (jednotky až desítky MD)

  5. Analyzovat dopady a řešení – optimalizace kódu, optimalizace procesů, posílení hardwaru, zvětšení propustnosti kanálů.

Zátěžové testování je možné realizovat s náklady v řádech desítek MD. Existuje několik open source nástrojů, které je možné využít.

Pro více informací nás kontaktujte.