Dnes v noci naši systémoví správci úspěšně nasadili do produkce, v rámci nahlášené odstávky, novou verzi FREDa, tedy systému, který je základem doménového registru .cz. (kromě toho, že je využíván pro národní domény v dalších více než deseti zemích světa). Co to ale vlastně znamená?
Tak předně, pokud se vše podařilo dobře, žádný další článek o této akci nevyjde. Prostě proto, že výsledkem je opět plně fungující .cz registr, žádné fronty lidí u přepážek nebo přetížené či kolabující systémy. Prostě nic pro prime time večerních zpráv nebo první strany našich novin. Co by ale mohlo být v technické příloze?
Verze FREDa 2.33, na které nyní .cz registr běží, přinesla výčtem jen několik málo změn, ale jejich implementace vyžadovala poměrně značné úsilí našich vývojářů a testerů. Pokračovali jsme totiž v přepisování (modernizaci a zvyšování bezpečnosti) části EPP, která slouží pro komunikaci registru s registrátory. Tentokrát se inovace kódu dotkly zejména metod pro poll zprávy a práci s kreditem a byly provedeny tak, aby nezměnily stávající rozhraní. Došlo pouze ke změnách u textací elementu „reason“ v EPP odpovědích, k drobným úpravám „result code“. Nová verze FREDa také přináší možnost správy korespondenční adresy přes EPP, kterou ale zapneme až po otestování registrátory začátkem roku 2018. Dále jsme nasadili novou verzi slučování kontaktů, které eliminuje duplicity v registru. Spouštění podle této nové verze provedeme v následujících týdnech. V nové verzi jsou obsaženy další, drobnější změny, zejména pro optimalizaci interní práce s daty z registru našimi operátory zákaznické podpory.
Mohlo by se zdát, že je tímto popis přínosů verze 2.33 u konce. Opak je ale pravdou. Zdaleka největším přínosem totiž bylo, že jsme výrazným způsobem vylepšili nástroje pro testování nových verzí FREDa. Do nového testovacího frameworku jsme investovali více jak dva měsíce práce a to nejen testerů, ale také backendových vývojářů, kterým tímto děkuji za dočasné opuštění jejich úkolů a za výraznou pomoc při zvýšení efektivity práce testerů. Díky kombinaci testerských a vývojářských zkušeností se nám podařilo vybudovat testovací framework backendové části centrálního registru, který umožňuje jednoduše implementovat testovací případy, takže se implementátor testu může více soustředit na to důležitější, tj. CO potřebuje otestovat a ne JAK. Navíc implementátor testů není vůbec zatěžován generickými kontrolami, které vnitřně provádí testovací framework. Pro představu dva příklady – časová značka EPP odpovědi generovaná serverem musí být platný čas v rozsahu mezi odesláním požadavku na server a přijetím odpovědi. Druhý příklad – v negativním scénáři, který nemá skončit úspěchem, se nesmí změnit data objektu v registru. Vývoji předcházela definice testovacích případů, což jsme využili nejen pro implementaci testů, ale i v analýze a návrhu frameworku. Pomocí nového testovacího frameworku máme již implementováno téměř 2000 prioritních testů a dalších několik set testů střední priority máme naplánováno dokončit později. Předpokládáme, že nadstandardní investice do testovacího frameworku se vyplatí nejen u této verze FREda, ale u všech dalších, protože odstraní obrovský balík ruční testerské práce, kterou by bylo nutné vykonávat při každém větším zásahu do EPP.
Práce to bylo tolik, že jsme pro zlepšení vizualizace stavu zpracování využili naši chytrou zeď. A ani se nedivím, že při jednom pátečním večeru se na zdi objevily i Pac-man se Space Intruders…