
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):
- Test na instalaci Dr. Web;
- Test na omezení přístupu k přenosným zařízením (flash diskům);
- Test na rozdělění přístupu k adresáři mezi programy;
- 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í:
- Samozřejmě, nainstaloval jsem Windows 10 Pro x64;
- Během instalace jsem vytvořil hlavního uživatele "testo" s heslem "1111";
- 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 . Nám nyní zbývá importovat připravený virtuální stroj do automatizovaných testů. Udělat to je velmi jednoduché:

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:

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:

Screenshot na konci scénáře

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?

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

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

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

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:

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

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:

Snímek obrazovky po restartu

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ř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:
- 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;
- Aktivujeme blokaci přenosných zařízení v Dr. Web Security Center;
- 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šší?

Screenshot na konci scénáře

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

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

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

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:

Snímek obrazovky s oknem Security Center

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:

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:

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".

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

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

Screenshot s chybovým hlášením

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:

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:
- 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ů ;
- Vytvoříme složku s souborem, kterou budeme chránit všemi silami;
- Otevřeme centrum zabezpečení Dr. Web a zapneme tam ochranu této složky;
- Nastavíme výjimku pro FreeCommander;
- 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;
- 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:

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

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.

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

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:

Screenshot po vytvoření složky

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

Ach, mělo by to být také uděláno jako makro, ale co teď ...
Screenshot po vytvoření souboru

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".

Screenshot s oknem Data Loss Prevention

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

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

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

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

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

Screenshot s oznámením od Dr.Web

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:

Screenshot s oknem FreeCommander

A zkusíme smazat soubor my_file.txt:

Screenshot po smazání souboru

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

Test č. 4 — Rodičovská kontrola
Tento poslední dnešní testovací případ postavíme následujícím způsobem:
- Vytvoříme nového uživatele MySuperUser;
- Přihlásíme se jako tento uživatel;
- Vytvoříme soubor
my_file.txtjako nový uživatel; - Otevřeme centrum zabezpečení Dr. Web a zapneme rodičovskou kontrolu pro tento soubor;
- V rodičovské kontrole omezíme práva uživatele MySuperUser na jím vytvořený soubor;
- Zkusíme přečíst a smazat soubor
my_file.txtod 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:

Závěr
→ Zdroje všech testů si můžete prohlédnout
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 .
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
