
Nikdy jsem nepoužíval Dr. Web. Nemám tušení, jak to funguje. Ale to mi nebránilo napsat pro něj několik automatických testů (a jen lenost mi zabránila napsat dalších sto):
- Test instalace Dr. Web;
- Test na omezení přístupu k externím zařízením (flash diskům);
- Test na rozdělení přístupu k adresáři mezi programy;
- Test na rozdělení přístupu k adresáři mezi uživateli systému (rodičovská kontrola).
Takové a mnohé další testy lze vytvářet jako na běžícím páse, a to nejen na Dr. Web, a nejen na antivirech. V tomto článku vám ukážu, jak to udělat.
Príprava
Pro testy budeme potřebovat virtuální stroj s Windows. Připravoval jsem ho ručně, a provedl jsem na něm následující úpravy:
- Odsud jsem nainstaloval Windows 10 Pro x64;
- Během instalace jsem vytvořil hlavního uživatele "testo" s heslem "1111";
- Povolil jsem automatické přihlášení pro tohoto uživatele;
K automatizaci testů budu používat platformu Testo. Co to je a jak s tím pracovat se můžete dočíst . Teď potřebujeme importovat hotový virtuální stroj do automatických testů. Udělat to je velmi jednoduché:

Předpokládá se, že /path/to/win10.qcow2 — to je cesta k disku toho virtuálního stroje, který jsem připravil ručně. Na tom příprava končí a začíná akce.
Test č. 1 — Instalujeme Dr. Web!
Nejprve je třeba vyřešit otázku přenosu instalačního balíčku Dr. Web na virtuální stroj. Můžeme to udělat (například) pomocí flash disku:

Vše, co musíme udělat — je vložit instalátor Dr. Web do složky ${DR_WEB_DIR} (přesnou hodnotu tohoto parametru určíme při spuštění testo). A Testo se postará o to, aby tento instalátor skončil na flashce.
Nyní můžeme přistoupit k samotnému psaní testu. Zatím začněme test s jednoduchými věcmi: zapneme virtuální stroj (po vytvoření bude vypnutý), počkáme na zobrazení pracovní plochy, zapneme flash disk a otevřeme jeho obsah přes Průzkumníka:

Snímek obrazovky na konci scénáře

Samozřejmě můžeme nainstalátor spustit přímo отсud, z flash disku. Ale uděláme to lépe — zkopírujeme instalační program na pracovní plochu a spustíme ho отсud. Jak tedy zkopírovat soubor? Jak by to udělal člověk?

Snímek obrazovky, kde se soubor ještě kopíruje

Všetko, kopírovanie bolo úspešne dokončené! Teraz môžeme zavrieť okno s flashkou a vytiahnuť ju:

Snímka obrazovky po zatvorení Prieskumníka

Teraz, keď sa inštalátor nachádza na pracovnej ploche, musíme naň dvakrát kliknúť, aby sme spustili proces inštalácie. A samotná inštalácia spočíva v jednoduchom klikaní na tlačidlá a zaškrtávacích políčok a nie je príliš zaujímavá:

Snímka obrazovky na konci inštalácie

Ukončujeme náš test reštartom. A na konci nezabudneme skontrolovať, či sa po reštarte na pracovnej ploche objavila ikona s Dr. Web:

Snímka obrazovky po reštarte

Skvelá práca! Automatizovali sme inštaláciu antivírusu Dr. Web! Poďme si na chvíľu oddýchnuť a pozrieť sa, ako to vyzerá v akcii:

Prechádzame k testovaniu funkcií.
Test č. 2 — Obmedzenie prístupu k flash diskom
Prvá funkcia v zozname — obmedzenie prístupu k flash diskom. Na to si naplánujeme celkom priamočiarý test:
- Skúsime vložiť flash disk a vytvoriť tam prázdny súbor — malo by to fungovať. Vytiahneme flash disk;
- Zapneme blokovanie prenosných zariadení v Dr. Web Security Center;
- Ešte raz vložíme flash disk a pokúsime sa odstrániť vytvorený súbor. Akcia by mala byť zablokovaná.
Vytvoríme si nový flash disk, vložíme ho do Windows a pokúsime sa vytvoriť priečinok. Čo môže byť jednoduchšie?

Snímek obrazovky na konci scénáře

Vytvárame nový textový súbor cez kontextové menu Prieskumníka:

Snímka obrazovky po premenovaní súboru

Odpojíme flash disk, robíme to bezpečne:

Teraz sme sa uistili, že s flashkou sa pracovať dá, a teda môžeme pristúpiť k jej blokovaniu v centre bezpečnosti Dr. Web. Na to sa najprv musíme otvoriť centrum bezpečnosti:

Snímka obrazovky s oknom Security Center

Môžeme si všimnúť, že na otvorenie akejkoľvek aplikácie vo Windows je potrebné vykonať v podstate rovnaké kroky (kliknúť na vyhľadávací riadok, počkať na zobrazenie okna s populárnymi aplikáciami, zadať názov zaujímanej aplikácie, počkať, kým sa objaví v zozname, a napokon stlačiť Enter). Preto túto skupinu akcií môžeme vyčleniť do makra open_app, do ktorého bude ako parameter odosielané meno otváranej aplikácie:

Toto makro nám ešte príde vhod.
Prvé, čo urobíme, keď otvoríme centrum bezpečnosti Dr. Web, je aktivovať možnosť vykonávať zmeny:

Teraz si už trochu popozeráme po ponukách a navštívime menu "Nastaviť pravidlá prístupu k zariadeniu". V tomto menu zaškrneme položku "Blokovať prenosné médiá".

Screenshot s oknom Zariadenia a osobné údaje

Skúsime teraz otvoriť flash disk:

Screenshot s chybovým hlásením

Takto pomaly a neomylné sme napísali prvý test s testovaním celkom viditeľnej funkcie v Dr. Web. Nastal čas si oddýchnuť a meditovať, hľadiac na výsledky našich snáh:

Test č. 3 — Rozdelenie prístupu k adresáru medzi programami
Hlavná myšlienka tohto testovacieho prípadu — overiť prácu Dr. Web pri obmedzení prístupu k konkrétnej zložke. Konkrétne, treba chrániť zložku pred akýmikoľvek zmenami, ale pridať výnimku pre nejaký externý program. Samotný test vyzerá nasledovne:
- Nainstalujeme do OS externý program, pre ktorý neskôr pridáme výnimku pri prístupe k chránenému adresáru. Dnes je externým programom dňa — správca súborov ;
- Vytvoríme zložku so súborom, ktorú budeme chrániť všetkými silami;
- Otvoríme centrum zabezpečenia Dr. Web a zapneme tam ochranu tejto zložky;
- Nastavíme výnimku pre FreeCommander;
- Skúsime odstrániť súbor z chráneného adresára bežným spôsobom (cez Prieskumník Windows). Nemalo by to vyjsť;
- Skúsime odstrániť súbor cez FreeCommander. Malo by to výjsť.
Uf, veľa práce. Rýchlejšie začneme — rýchlejšie skončíme.
Prvý bod, inštalácia FreeCommander sa od inštalácie Dr.Web veľmi nelíši. Bežná rutina: vložili sme flash disk, spustili inštalátor atď. Prejdeme to a hneď sa dostaneme k zaujímavému.
Ak vás predsa len zaujíma, ako nainštalovať FreeCommander
Začneme s jednoduchým: vytvoríme flash disk, do ktorého umiestnime distribúciu FreeCommander, a potom v teste vložíme flash disk do OS a otvoríme ho:

Ďalej niekoľko kliknutí, aby sme spustili inštaláciu:

Inštalácia nie je veľmi zaujímavá, jednoducho klikáme všade na "Ďalej" a na konci nezabudneme odškrtnúť zaškrtávacie políčka s prehliadaním ReadMe a okamžitým spustením FreeCommander.

Končíme test uzavretím všetkých okien a vytiahnutím flash disku.

Hotovo!
Pre prácu s Dr. Web vytvoríme nový test dr_web_restrict_program, ktorý sa bude spoliehať na výsledok predchádzajúceho testu win10_install_freecommander.
Začneme test vytvorením zložky Protected na pracovnej ploche:

Screenshot po vytvorení zložky

Vstúpime do zložky Protected a vytvoríme tam súbor my_file.txt, ktorý bude zohrávať úlohu chráneného súboru:

Ach, mal by som to tiež spracovať ako makro, ale nuž...
Snímek obrazovky po vytvorení súboru

Výborne, teraz je potrebné zapnúť ochranu priečinka. Ideme známou cestou a otvárame Dr. Web, nezabudnime zapnúť režim zmien. Po tom prejdeme do menu "Prevencia straty údajov".

Snímek obrazovky s oknom Prevencia straty údajov

Trochu popracujeme s myšou a pridáme náš priečinok Protected do zoznamu chránených:

Snímek obrazovky s majstrom na pridanie chráneného priečinka

A teraz je potrebné nastaviť výnimku pre prístup k priečinku pre FreeCommander. Ešte trochu práce s myšou:

Snímek obrazovky s pridaným programom-výnimkou

Teraz opatrne zavrieme všetky okná a vyskúšame odstrániť súbor "my_file.txt" štandardným spôsobom:

Snímek obrazovky s hlásením od Dr.Web

Ale nič sa nepodarilo — znamená to, že Dr. Web naozaj fungoval! Polovica testu je za nami, ale musíme ešte skontrolovať, či výnimka pre FreeCommander bude fungovať. Na to otvoríme FreeCommander a prejdeme do priečinka Protected:

Snímek obrazovky s oknom FreeCommander

A skúsime odstrániť súbor my_file.txt:

Snímek obrazovky po odstránení súboru

Výnimka pre FreeCommander funguje!
Skvelá práca! Veľký a zložitý testovací prípad — a všetko automatizované. Trochu oddychu:

Test č. 4 — Rodičovská kontrola
Tento posledný testovací prípad pre dnešok postavíme nasledovne:
- Vytvoríme nového používateľa MySuperUser;
- Prihlásime sa pod týmto používateľom;
- Vytvoríme súbor
my_file.txtv mene nového používateľa; - Otvoríme centrum zabezpečenia Dr. Web a zapneme rodičovskú kontrolu pre tento súbor;
- V rodičovskej kontrole obmedzíme práva používateľa MySuperUser na ním vytvorený súbor;
- Skúsime prečítať a odstrániť súbor
my_file.txtv mene MySuperUser a pozrieme sa na výsledok.
Tu nebudem uvádzať scenár testu. Buduje sa podľa rovnakého princípu ako predchádzajúce testy: aktívne pracujeme s myšou a klávesnicou. Pri tom nám nezáleží, čo automatizujeme — či už Dr.Web, alebo vytváranie nového používateľa vo Windows. Ale pozrime sa, ako budeme vyzerať pri behu takého testu:

Záver
→ Zdrojové kódy všetkých testov si môžete pozrieť
Navyše, všetky tieto testy si môžete spustiť na svojom počítači. Na to budete potrebovať interpreter testových scenárov Testo. Stiahnuť ho môžete .
Dr. Web sa ukázal ako dobrý tréning, ale inšpiráciu pre ďalšie výkony by som chcel čerpať z vašich prianí. Píšte do komentárov svoje návrhy na automatizované testy, ktoré by ste chceli vidieť v budúcnosti. V ďalšom článku sa pokúsim ich automatizovať, uvidíme, čo z toho vznikne.
Zdroj: habr.com
