Tzv. akceptační testy používá každý, kdo někdy kupoval software (třeba webové stránky či e-shop). Někdy aniž by o tom věděl. Jak píše Wikipedie: „Uživatelské akceptační testování je poslední stupeň testování softwaru před jeho definitivním převzetím zákazníkem, tedy v podstatě přejímací zkouška softwaru.“. Tedy, jednoduše řečeno, minimálně při převzetí nového webu se určitě každý podívá, co si kupuje, jak jeho web vypadá, jestli se načítají obrázky, jestli web celkově splňuje to, co splňovat má. U e-shopu pak vyzkouší, jestli mu například dorazí objednávka do e-mailu.
Akceptačním testem u nákupu ojetého auta je pokus o nastartování motoru. Každý z nás testuje v rámci časových možností. Pokud na vaše webové stránky nepřijde podezřele dlouhou dobu žádná objednávka, určitě zkusíte vyplnit formulář a „otestujete to“. Pokud objednávka projde, má se za to, že web funguje, hotovo. Problém je, že zatímco ojeté auto testujete pokaždé, když do něj nasednete, u software to tak nefunguje. Pokud nemáte nastavené akceptační testy, nemusíte o problému vědět poměrně dlouhou dobu. Problému si všimnou až potenciální zákazníci. Pokud něco nefunguje, 99 jich uteče a jeden ze 100 vás (možná) upozorní, že „to máte rozbité“.
Jak se může software rozbít, co je to za nesmysl?
Jeden by řekl, že stačí web jednou otestovat a tím je vše uzavřeno. „Vždyť jsem si to koupil, vyzkoušel a víc s tím webem nikdy nedělal“. „Jak se může rozbít software, vždyť to není auto?“ Ano, občas opravdu slyšíme podobná vyjádření… Jde o nepochopení. Normální auto musíte také občas odvézt do servisu. I software jezdí po dálnici – po té datové jménem internet, kde je hodně děr a miliardy dalších účastníků provozu. Pokud si koupíte software, co nebude nikdy připojen k internetu, servis pravděpodobně nikdy potřebovat nebudete. Pojďme se ale podívat, co vás může potkat, pokud se přeci jen se svým webem nebo jiným software vydáte na internet:
- Definice a styl písma na webu jsou velmi často načítány ze služby Google Fonts. Když vám, nebo vašim klientům, například nejde dostatečně rychle internet (stačí na pár vteřin), grafika webu se „rozbije“ v důsledku nenačtení písma
- Síť vašeho poskytovatele internetu je přehlcená (nastávalo poměrně často v období Covid lockdownů) a proto se nepodaří načíst všechny části webové stránky – grafické styly, obrázek/obrázky, výše zmíněné fonty
- Chyba na straně vašeho počítače – špatně restartovaný a nastavený firewall či antivir
- Chyba na straně vašeho poskytovatele internetu – nefunkční překlad domén na IP adresy (DNS systém) či zpožděné aktualizace dat na jejich straně
- Vaše IP adresa se nachází na černé listině v důsledku vašeho zavirovaného PC (které odesílá denně desítky spamů, aniž byste o tom věděli). Proto některé stránky váš přístup rovnou odmítnou
- Chyba na straně prohlížeče internetu – Chrome, Firefox, Edge, Opera či Safari jsou také velmi složité systémy. Občas pomůže smazání dočasných souborů, občas restart prohlížeče, někdy pouze anonymní okno
- Porouchá se / aktualizuje se software ve vašem počítači – připojení k VPN síti
- Porucha síťové karty nebo nestabilní internetové připojení
- Porucha na straně připojení mezi poskytovateli internetu
- Porucha na straně poskytovatele webhostingu – konektivita do internetu
- Porucha na straně webhostingu – aktualizace SW, plánovaný výpadek, porucha databáze
- Vaše děti si přepnuly YouTube do rozlišení 4K a zatížily internetovou konektivitu, ačkoliv jste jim to výslovně zakázali
- Začala online výuka a vaše dítě si zapnulo video (webkameru)
- Spustilo se automatické zálohování vaší firemní sítě a lokální síť je přetížená
- Váš IT správce má špatně nastavenou firemní síť, takže se nedostanete na svůj web. Zbytek světa jej ale vidí bez problémů
- Nedostatečné prostředky na webhostingu s ohledem na velikost webu/e-shopu a návštěvnosti (i roboti jako Google a tisíce dalších jsou ,,návštěvníci“ vašeho webu)
- Chyba na straně obsahu vašeho webu – používání starších verzí externích doplňků, které po nějaké době nemají šanci bez aktualizací fungovat (napojení na sociální sítě, způsob napojení na YouTube, které již přestalo být podporováno atd.)
- Nevyvedená automatická bezpečnostní aktualizace webu
- Neošetřená chyba v pluginu, který byl sice 100x levnější než software na míru, ale ten si nyní nerozumí (velmi často jen dočasně) s dalšími částmi webu
- Hacknutí vašeho webu a následné nestandardní chování webu
- Pokus o vyřazení z provozu kteréhokoliv z výše uvedených účastníků (DDoS útoky které trvají od minut až do řádu dní)
Sami vidíte, že jezdit po D1 je nakonec podstatně jednodušší, než udržet libovolný web připojený k internetu v „normálním“ stavu. Tyto problémy se rozhodně netýkají pouze jedné konkrétní platformy (například WordPress), ale jsou obecné. Na silnici si můžete svobodně vybrat, kterou „díru trefíte“, a kterou objedete. Na internetu ale neexistují hranice a rychlost je mnohonásobně vyšší. Vaše podnikání může ovlivnit kdokoliv od USA po Japonsko, aniž by za to mohla vaše firma či provozovatel webhostingu. Podobné problémy „po zajetí“ webu nenastávají každý den, ale pokaždé to zabolí. Díky akceptačním testům, které lze pustit pravidelně, můžete mít jistotu, že vše funguje jak má i bez ztráty vašeho lidského času.
U platformy WordPress je (zcela na rovinu) možným mínusem fakt, že váš web vznikl spojením software od vývojářů z různých koutů světa. Kvalita může být různá, stejně jako frekvence aktualizací. Snažíme se to řešit pečlivým výběrem ověřených řešení. Cenově jde o promile nákladů oproti vývoji na míru. Koneckonců, Škoda Kodiaq je spojená z 5000+ dílů od 500 dodavatelů a také jezdí. I po D1.
Podívejte se na aktuální DDoS útoky, které probíhají na internetu právě nyní. Opravdu myslíte, že jste nikdy nebyl(a) součástí, nebo přímo cílem útoku? Ilustruje to hezká mapka, stejně jako v počítačové hře, je i zde. Bohužel, toto není hra.
Software na kontrolu software
Svět software má ale jednoznačnou výhodu – automatizace nemá limity. Akceptační testy uzavírají kruh, kdy chcete mít svoji aplikaci (web, e-shop) pokud možno trvale funkční, ale nechcete obětovat čas ani nervy na nekonečné ruční testování. Zjišťovat jestli funguje vše tak, jak má, ideálně každý den, nebo po každé drobné aktualizaci webu. Akceptační testy dokáží nasimulovat chování typického zákazníka, udělat vše, co by udělal on a pak otestovat, jestli vše chodí tak, jak má. A to za hranicí myslitelného. Jaký akceptační test máme například napsaný na SEMTIX.cz?
- (Virtuální) uživatel přijde na homepage a podívá se, jestli na webu nejsou typické chyby (Fatal Error, Chyba 404 apod)
- Poté se pro jistotu podívá, jestli se hlavička webu a patička od minule nějak zásadně nezměnila (díky porovnání screenshotu části stránky) – tím se dají vysledovat například zmíněné chyby načítání externích knihoven a mnoho dalšího
- Na homepage se pro jistotu ještě podívá, jestli je tam správný nadpis (například slovo B2B v nadpisu)
- Pokud je vše v pořádku, přejde na stránku https://www.semtix.cz/kontakt/, zde vyplní všechny položky formuláře, jako běžný uživatel. Včetně e-mailu, telefonu, …
- Pokusí se odeslat formulář a pokud se mu to podaří, podívá se, zda je poptávka uložena v administraci webu a také, jestli do e-mailové schránky poptávka dorazila
- Pokud je i zde vše v pořádku, omrkne ještě „boční stránky“ jako blog a pár náhodných stránek, zda-li se zobrazují korektně
- Podle výsledku testu nás buď nechá v klidu pracovat, a nebo odešle e-mail s informací, že na webu je něco špatně a máme to začít řešit
Pokud bychom měli e-shop, samozřejmě by součástí testu bylo přidání produktu do košíku, jeho zakoupení, test, zda se odečetly skladové zásoby a dorazila faktura. Toto vše lze v rámci akceptačních testů nastavit tak, že na 1 kliknutí můžeme kdykoliv spustit test webu a pak počkat na případný výsledek.
Akceptační testy pro každého (se servisní smlouvou)
Akceptační testy jsme postupně zavedli pro všechny klienty, kterým se aktivně staráme o weby v rámci servisu webu. Nedílnou součástí servisu každého SW (ať je to web, antivirus, nebo Windows) jsou aktualizace, které 100x nemusí, ale jednou mohou, změnit chování aplikace. Například dočasně způsobit drobnou chybku, která má za důsledek nefunkční poptávkový formulář. Bez akceptačních testů se takové chyby opravdu velmi špatně objevují (je nemožné denně, nebo snad každou hodinu manuálně testovat). Důvodem, proč o případných chybách na webu od určité doby víme dříve, než vy či vaši zákazníci, jsou právě akceptační testy. A pokud na to máme dostatečný prostor, rovnou to řešíme, zatímco vy klidně spíte. :)
Pokud vás tento způsob údržby webu a webhostingu, zaujal, zkuste přejít na stránku https://www.semtix.cz/kontakt/ a jeden akceptační test, s vašimi reálnými údaji, zkuste vyplnit také!