Úvod
V předchozím článku jsme si řekli, co to vlastně WQR a proč se jejími výsledky zabývat. Zaměřili jsme se na QA v agilním prostředí a DevOps, umělou inteligenci a strojové učení. Teď si posvítíme na to, jakým směrem se vydává automatizace a proč se vyplatí investovat do nových testovacích prostředí a nástrojů.
Automatizace testů
- Automatizace testů je stále perspektivní a rozvíjející se oblast, postupující směrem k „chytřejšímu testování“ – o velkém potenciálu v oblasti automatizace testů hovoří i čísla: jen 58 % dotazovaných je spokojeno s úrovní automatizace ve svých společnostech.
- Sledujte novinky v oblasti nástrojů pro automatizaci testů.
- Vzdělávejte se v oblasti automatizace, absolvujte specializovaná školení.
- Zvažujte, které oblasti automatizovat a na jaké úrovni testování bude automatizace nejefektivnější.
- Berte automatizaci jako dlouhodobou investici, dobře promyslete její strategii. Pokud s automatizací nemáte dostatek zkušeností, přizvěte k definici vhodné strategie experty.
- Navyšuje se míra „in-sprint“ automatizace
- Volte nástroje/frameworky umožňující efektivní automatizaci, zvažujte využití nástrojů pro scriptless automatizaci.
- Mějte jako součást definice hotového (definition of done) implementované automatizované testy.
- Odklon od automatizace „hrubou silou“ k „chytré automatizaci“ – zcela jasný posun dle hesla „test smarter, not harder“.
Využívejte nástroje, které umí definovat obsah testovací sady na základě vyhodnocení oblastí změn v testovaném software (i zde pomáhají AI algoritmy).
- Volte vhodné nástroje/frameworky, z nichž postavíte svůj test stack – oblast nástrojů pro automatizaci testů je dnes velmi široká a je patrný trend odklonu od komerčních molochů typu „one-size-fits-all“ k vytváření heterogenních testovacích frameworků složených z řady (mnohdy open source) komponent.
- Využívejte nástroje, které jsou kompatibilní se zvoleným CI/CD prostředím.
- Využívejte nástroje, které umožňují odvození testovacích případů na základě modelu.
- Zvažujte využití scriptless nástrojů, vyhodnocujte, jaký produkují kód a jak se dokážou vyrovnat s jeho případnou manuální úpravou.
Management testovacích dat (TDM) a testovacích prostředí (TEM)
- Potřeba inteligentnějšího využívání nástrojů pro management testovacích dat
- Chtějte od nástrojů pro management testovacích dat víc než jen masking (anonymizaci) produkčních dat. Využijte nástroje pro tvorbu testovacích dat, které budou obsahovat různé kombinace (matematicky správněji permutace) atributů, které využijete v testech (a v produkci se třeba zatím nevyskytují).
- Využívejte nástroje pro inteligentní automatizovanou tvorbu syntetických testovacích dat (nemusíte používat specializované nástroje, spoustu práce v této oblasti mohou udělat nástroje pro automatizaci testů).
- Posun k využívání testovacích prostředí v cloudu
- Využívejte cloudu pro rychlou stavbu prostředí pro testy. Plaťte jen za dobu, kdy prostředí skutečně využíváte a těžte z propracovaného monitoringu.
- Posun k využívání kontejnerů pro tvorbu testovacího prostředí
- Využívejte kontejnery pro efektivní správu testovacích prostředí.
- Zapojte využívání kontejnerů do CI/CD pipeline.
- Monitoring testovacích prostředí je stále zanedbávanou disciplínou – pouze cca 30 % respondentů odpovědělo, že mají nasazený efektivní monitoring testovacích prostředí.
- Snažte se využívat stejné nástroje pro monitoring testovacích prostředí jako využíváte pro monitoring produkce.
- Zpřístupněte vizualizaci dat z monitoringu testovacího prostředí testerům a omezte míru false-positive defektů.
- Nedostatečná strategie tvorby a uchovávání testovacích dat pro opakované použití – je to poměrně rozsáhlá oblast a je zde velký prostor pro zvýšení efektivity týmů.
- Věnujte pozornost tvorbě promyšlené strategie práce s testovacími prostředími a testovacími daty.
- Zvažte využití sdíleného týmu specialistů na oblast TEM/TDM, vybudujte na úrovni organizace expertízu v této oblasti.
Co vytáhnout z celé řady námětů, které jsou uvedené v jednotlivých oblastech? Těžko říct. Záleží na tom, v jaké oblasti se pohybujete, v čem jste silní a kde máte rezervy. Ve mně nejvíce rezonuje téma testování v agilním světě, koncepty DevOps, důraz na širší technické znalosti testerů a uvážený přístup k automatizaci testů.