Ve všem, co děláme, se snažíme zajistit nekompromisní kvalitu.

Kvalita ve vývoji

Všechny funkce vyvíjených informačních systémů jsou pokryty automatickými funkčními testy.

Test ověřuje aplikaci jako celek, takže používá uživatelské rozhraní aplikace stejně jako skutečný uživatel a ověřuje změny provedené aplikací přímo v databázi. Testy každé funkce se zaměřují na funkčnost v základním průběhu, funkčnost v alternativních průbězích, validaci vstupních položek i důsledné zajištění bezpečnosti. Komplexnější algoritmy mají vlastní jednotkové testy, které usnadňují jejich vývoj.

Používáme "test-driven development" metodiku: při vývoji každé funkčnosti vyvineme nejdříve test, spustíme ho a ověříme, že neprochází. Pak teprve vyvineme vlastní funkčnost, znovu spustíme test a ověříme, že prochází. Tak zajistíme 100% pokrytí funkčnosti systému testy.

Pro snadnější psaní testů používáme vlastní testovací nástroj Light Air.

Protože jsou testy automatické, můžeme kdykoliv ověřit, že všechny testy procházejí, stačí jen stisknout tlačítko. Při jakékoliv úpravě, změně nebo doplnění aplikace si tak okamžitě ověříme, že všechny funkce aplikace stále bezchybně fungují. Pokud má změna aplikace dopad na jiné funkce, automatické testy to okamžitě odhalí a případné problémy tak můžeme ihned vyřešit.

100% pokrytí automatickými testy nám tak dává velkou sebejistotu při změnách aplikace: nemusíme se bát, že změnou narušíme jiné funkce. To umožňuje rychlé změny aplikace podle nových nebo měnících se požadavků zákazníka.

Když vývojář naimplementuje novou funkci a test začne procházet, má skvělý pocit z dobře vykonané práce. Když víme, že všechny testy procházejí, můžeme klidně spát. Vyvíjet kvalitně nás prostě baví.

Kvalita v provozu

Při nasazení nové aplikace do provozního prostředí provedeme její zátěžový test. Pomocí testovacího nástroje JMeter simulujeme extrémní zátěž paralelních požadavků (např. desítek nebo stovek), typicky o řád nebo o dva řády více, než je očekávaná maximální zátěž. Tak zajistíme, že při maximální zátěži bude aplikace fungovat s přijatelnou odezvou.

Každou aplikaci pravidelně monitorujeme, typicky s intervalem 1 hodina. Pokud by monitor zjistil, že aplikace není dostupná, odešle nám e-mailovou zprávu. O nedostupnosti bychom se tak obratem dozvěděli a mohli bychom ji vyřešit i dříve, než uživatelé vůbec zjistí, že došlo k výpadku.

Aplikační server podléhá pravidelnému monitoringu, který ověřuje, že je server v chodu.

Konečně je na aplikačním serveru monitorováno vytížení procesoru. Pokud přesáhne vytížení procesoru aplikačního serveru danou mez, monitor nás na tuto skutečnost okamžitě upozorní. Vysoká zátěž serveru je typický příznak, který se objevuje před vlastním výpadkem. Tento monitor nás tak upozorní na možný očekávaný výpadek ještě před tím, než vůbec nastal!