Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Nikdy jsem Dr. Web nepoužíval. Nemám ponětí, jak funguje. Ale to mi nebránilo napsat pro něj řadu automatizovaných testů (a jen lenost mi zabránila napsat další stovku):

  1. Test na instalaci Dr. Web;
  2. Test na omezení přístupu k přenosným zařízením (flash diskům);
  3. Test na rozdělění přístupu k adresáři mezi programy;
  4. Test na rozdělění přístupu k adresáři mezi uživateli systému (rodičovská kontrola).

Takové a mnohé další testy lze tvořit jako na běžícím pásu, a to nejen pro Dr. Web, a nejen pro antiviry. V tomto článku vám ukážu, jak na to.

Příprava

Pro testy budeme potřebovat virtuální stroj s Windows. Připravil jsem ho ručně provedením následujících manipulací:

  1. Samozřejmě, nainstaloval jsem Windows 10 Pro x64;
  2. Během instalace jsem vytvořil hlavního uživatele "testo" s heslem "1111";
  3. Aktivoval jsem automatické přihlášení pro tohoto uživatele;

Pro automatizaci testů budu používat platformu Testo. Co to je a jak to používat si můžete přečíst zde. Nám nyní zbývá importovat připravený virtuální stroj do automatizovaných testů. Udělat to je velmi jednoduché:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Zde se předpokládá, že /path/to/win10.qcow2 — to je cesta k disku té virtuální mašiny, kterou jsem připravil ručně. Na tom je příprava u konce a začíná akce.

Test č. 1 — Instalujeme Dr. Web!

Nejprve je třeba vyřešit otázku přenosu distribučního balíčku Dr. Web na virtuální stroj. Udělat to můžete (například) pomocí flash disku:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Vše, co musíme udělat, je umístit instalátor Dr. Web do složky ${DR_WEB_DIR} (přesnou hodnotu tohoto parametru určíme při spouštění testo). A Testo se postará o to, aby tento instalátor skončil na flash disku.

Teď se můžeme pustit do samotného psaní testu. Zatím začneme s jednoduchými věcmi: zapneme virtuální stroj (po vytvoření bude vypnutý), počkáme na zobrazení plochy, zapneme flash disk a otevřeme jeho obsah ve Windows Průzkumníku:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot na konci scénáře

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Můžeme samozřejmě spustit instalátor přímo odsud, z flash disku. Ale raději to uděláme poctivě — zkopírujeme instalátor na plochu a spustíme ho odtud. Jak ale zkopírovat soubor? Jak by to udělal člověk?

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Snímek obrazovky, na kterém stále probíhá kopírování souboru

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Vše, kopírování bylo úspěšně dokončeno! Nyní můžeme zavřít okno s flash diskem a vytáhnout ho:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Snímek obrazovky po zavření průzkumníka

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Nyní, když se instalátor objevil na ploše, musíme na něj dvakrát kliknout, abychom spustili proces instalace. Samotná instalace spočívá v prostém odklikávání tlačítek a zaškrtávacích políček a nenabízí velký zájem:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Snímek obrazovky v okamžiku dokončení instalace

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Náš test ukončíme restartováním. A na závěr nezapomeňte zkontrolovat, že se na ploše po restartu objevila ikona s Dr. Web:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Snímek obrazovky po restartu

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Skvělá práce! Automatizovali jsme instalaci antiviru Dr. Web! Pojďme si chvíli odpočinout a podívat se, jak to vypadá v akci:

Přehrát video

Přejdeme k testování funkcí.

Test č. 2 — Omezení přístupu k flash diskům

První funkce na seznamu — omezení přístupu k flash diskům. Naplánujeme si poměrně přímočarý test:

  1. Zkusíme vložit flash disk a vytvořit na něm prázdný soubor — mělo by to vyjít. Vytáhneme flash disk;
  2. Aktivujeme blokaci přenosných zařízení v Dr. Web Security Center;
  3. Ještě jednou vložíme flash disk a pokusíme se smazat vytvořený soubor. Akce by měla být zablokována.

Vytvoříme si nový flash disk, vložíme ho do Windows a pokusíme se vytvořit složku. Co může být jednodušší?

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot na konci scénáře

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Vytváříme nový textový soubor přes kontextovou nabídku průzkumníka:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Snímek obrazovky po přejmenování souboru

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Odpojujeme flash disk, děláme to bezpečně:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Nyní jsme se ujistili, že s flash diskem lze pracovat, a tedy můžeme přistoupit k jeho blokaci v centru bezpečnosti Dr. Web. Nejprve musíme otevřít centrum bezpečnosti:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Snímek obrazovky s oknem Security Center

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Můžeme si všimnout, že pro otevření jakékoli aplikace v systému Windows je třeba provést prakticky stejné kroky (kliknout na vyhledávací řádek, počkat na zobrazení okna s populárními aplikacemi, zadat název zajímavé aplikace, počkat, až se objeví v seznamu a nakonec stisknout Enter). Proto tuto skupinu akcí můžeme shrnout do makra open_app, do kterého jako parametr bude předáváno jméno otevírané aplikace:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Toto makro se nám ještě bude hodit.

První, co uděláme při otevření centra bezpečnosti Dr. Web — povolíme možnost provádět změny:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Nyní trochu klikneme na nabídky a přejdeme do menu "Nastavit pravidla přístupu k zařízení". V tomto menu zaškrtneme možnost "Blokovat přenosná média".

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot s oknem Zařízení a osobní data

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Zkusíme nyní otevřít flash disk:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot s chybovým hlášením

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Takto pomalu a jistě jsme napsali první test, který testuje docela hmatatelnou funkci v Dr. Web. Je čas si odpočinout a meditovat, a podívat se na výsledky naší práce:

Přehrát video

Test č. 3 — Rozdělení přístupu k adresáři mezi programy

Základní myšlenkou tohoto testovacího případu je ověřit fungování Dr. Web při omezení přístupu k určitému adresáři. Konkrétně je nutné chránit adresář před jakýmikoliv změnami, ale přidat výjimku pro nějaký externí program. Samotný test vypadá takto:

  1. Nainstalujeme na OS externí program, pro který později přidáme výjimku pro přístup k chráněnému adresáři. Dnes je externím programem dne — správce souborů FreeCommander;
  2. Vytvoříme složku s souborem, kterou budeme chránit všemi silami;
  3. Otevřeme centrum zabezpečení Dr. Web a zapneme tam ochranu této složky;
  4. Nastavíme výjimku pro FreeCommander;
  5. Zkusíme odstranit soubor z chráněné složky obvyklým způsobem (přes Průzkumníka Windows). Nemělo by to vyjít;
  6. Zkusíme soubor odstranit přes FreeCommander. To by mělo vyjít.

Uf, hodně práce. Čím rychleji začneme, tím rychleji skončíme.

Bod první, instalace FreeCommander se od instalace Dr.Web příliš neliší. Obvyklá rutina: zasunuli jsme flash disk, spustili instalátor a tak dále. Přejdeme hned k zajímavému.

Pokud vás přece jen zajímá, jak nainstalovat FreeCommander,

Začneme jednoduše: vytvoříme flash disk, na který umístíme distribuci FreeCommander, a poté během testu zasuneme flash disk do OS a otevřeme jej:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Pak několik kliknutí pro spuštění instalace:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Instalace není příliš zajímavá, prostě klikáme všude "Další", a na konci nezapomínáme zrušit zaškrtávací políčka pro zobrazení ReadMe a okamžité spuštění FreeCommander.

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Drobný závěr testu, zavíráme všechna okna a vyndaváme flash disk.

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Hotovo!

Pro práci s Dr. Web vytvoříme nový test dr_web_restrict_program, který se bude opírat o výsledky předchozího testu win10_install_freecommander.

Začneme test vytvořením složky Protected na ploše:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot po vytvoření složky

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Vstoupíme do složky Protected a vytvoříme tam soubor my_file.txt, který bude hrát roli chráněného souboru:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Ach, mělo by to být také uděláno jako makro, ale co teď ...

Screenshot po vytvoření souboru

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Skvělé, nyní je potřeba zapnout ochranu složky. Jdeme známou cestou a otevřeme Dr. Web, nezapomeňte zapnout režim změn. Poté přejdeme do menu "Data Loss Prevention".

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot s oknem Data Loss Prevention

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Chvilku budeme pracovat s myší a přidáme naši složku Protected do seznamu chráněných:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot s průvodcem přidání chráněné složky

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Nyní je potřeba nastavit výjimku pro přístup ke složce pro FreeCommander. Ještě chvíli práce s myší:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot s přidaným programem-výjimkou

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Nyní opatrně zavřeme všechna okna a pokusíme se smazat soubor "my_file.txt" standardním způsobem:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot s oznámením od Dr.Web

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Ale nic nevyšlo — to znamená, že Dr. Web skutečně zasáhl! Polovina testu je za námi, ale ještě musíme zkontrolovat, jestli výjimka pro FreeCommander funguje. K tomu otevřeme FreeCommander a přejdeme do složky Protected:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot s oknem FreeCommander

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

A zkusíme smazat soubor my_file.txt:

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Screenshot po smazání souboru

Automatizoval jsem testování Dr. Web. Dokážete to i vy?

Výjimka pro FreeCommander funguje!

Skvělá práce! Velký a složitý testovací případ — a vše automatizováno. Trochu relaxace:

Přehrát video

Test č. 4 — Rodičovská kontrola

Tento poslední dnešní testovací případ postavíme následujícím způsobem:

  1. Vytvoříme nového uživatele MySuperUser;
  2. Přihlásíme se jako tento uživatel;
  3. Vytvoříme soubor my_file.txt jako nový uživatel;
  4. Otevřeme centrum zabezpečení Dr. Web a zapneme rodičovskou kontrolu pro tento soubor;
  5. V rodičovské kontrole omezíme práva uživatele MySuperUser na jím vytvořený soubor;
  6. Zkusíme přečíst a smazat soubor my_file.txt od MySuperUser a podíváme se na výsledek.

Nedám sem scénář testu. Postupuje stejně, jak předchozí testy: aktivně pracujeme s myší a klávesnicí. Přitom na tom nezáleží, co automatizujeme — buď Dr.Web, nebo vytváření nového uživatele ve Windows. Ale pojďme se podívat, jak bude probíhat test:

Přehrát video

Závěr

→ Zdroje všech testů si můžete prohlédnout zde

Dále, všechny tyto testy si můžete spustit na svém zařízení. K tomu potřebujete interpretátor testovacích skriptů Testo. Můžete si jej stáhnout zde.

Dr. Web se ukázal jako dobrý trénink, ale inspiraci pro další úspěchy bych chtěl načerpat z vašich přání. Napište do komentářů své návrhy, jaké automatizované testy byste chtěli vidět v budoucnu. V dalším článku se je pokusím automatizovat, uvidíme, co z toho vzejde.

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster