Díky autonomnímu testování jsme v Seznamu schopni kontrolovat velké množství stránek bez manuálního procházení. Vyvinuli jsme i vlastní open-source nástroj, QApe, který nám s testováním pomáhá. Jak funguje prozradil Filip Šátek, vedoucí týmu vývoje.
Filipe, jakou roli v Seznamu hraje tvůj tým?
Obecně se věnujeme především testování, automatizaci procesů a monitorování webových aplikací. Vytváříme nástroje, které tohle vše umožňují a distribuujeme je do dalších týmů, které už se starají o konkrétní služby. Tyto nástroje pak využívají třeba Novinky, Seznam Zprávy, Proženy a další obsahové weby Seznamu. Také máme příležitost experimentovat s novými technologiemi a realizovat zajímavé nápady. Takhle jsme se dostali třeba k tématu autonomního testování ze kterého vzešel QApe.
Můžeš ve stručnosti vysvětlit, co je to QApe?
QApe je náš open-source nástroj určený pro autonomní testování webů. Jednoduše řečeno prochází webovou stránku a hledá v ní chyby. Když se mu podaří nějakou odhalit, pokusí se identifikovat nejkratší scénář pro její nasimulování a v případě úspěchu založí issue. Je to takový manuální tester, kterému stačí zadat cíl a on už se postará o zbytek.
Jak s QApe pracujeme v Seznamu?
Jelikož po úvodní konfiguraci už není potřeba další zásadní údržba, tak QApe pracuje spíše pro nás. Již při vývoji nám automaticky v krátkých intervalech testuje naše webové aplikace s každou úpravou kódu, abychom odhalili chybu ideálně ještě před nasazením. A jelikož jsou naše weby dynamické a problém může vzniknout i bez nutnosti nasazení nové verze, máme ještě druhé použití, kde QApe běží na každé službě nepřetržitě dnem i nocí a neustále se snaží objevovat nové chyby.
Na jakých dalších projektech jsi s týmem pracoval?
Těch projektů je opravdu hodně. Navíc je potřeba brát v potaz i jejich následnou údržbu, protože releasem to u nás typicky nekončí. Častým úkolem je zavedení nového typu testování, nebo předělání aktuálního řešení do modernějších technologií, které nám přinesou nové vymoženosti, či lepší efektivitu. Občas vyvíjíme i vlastní řešení, pokud se nám nepodaří najít vhodnou alternativu z open-source světa. Postavili jsme tak kromě QApe třeba i vlastní nástroj pro vizuální regresní testování. Nevěnujeme se také jen testování, ale vyvíjíme i další komponenty, které napomáhají stabilitě služeb. Příkladem může být projekt Sorry Page, který si drží v záloze funkční varianty webů a v případě, že služba reálně vydá chybu, tak se místo ní vydá alespoň tato záložní varianta a uživatel se tak dostane stále k obsahu i kdyby byla služba z nějakého důvodu úplně nedostupná.
Jaký trend v oblasti testování očekáváš v nejbližších letech?
Testování dostává čím dál více prostoru, vznikají neustále nové nástroje a v agilním prostředí se automatizované testování stává prakticky nutností. Myslím, že se oblast autonomního testování bude aktivně rozvíjet a častěji bude využívat technologií machine learningu, či umělé inteligence. Ovšem psaní automatizovaných testů bude pravděpodobně stále trendem příštích let. O budoucnosti testování a jaký vliv by na ni mohlo mít autonomní testování, se chystám promluvit na Tesena konferenci 2021 v bloku “Future testing”, kam bych Vás tímto rád pozval.