Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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):

  1. Test instalace Dr. Web;
  2. Test na omezení přístupu k externím zařízením (flash diskům);
  3. Test na rozdělení přístupu k adresáři mezi programy;
  4. 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:

  1. Odsud jsem nainstaloval Windows 10 Pro x64;
  2. Během instalace jsem vytvořil hlavního uživatele "testo" s heslem "1111";
  3. 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 tu. Teď potřebujeme importovat hotový virtuální stroj do automatických testů. Udělat to je velmi jednoduché:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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?

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Snímka obrazovky po zatvorení Prieskumníka

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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á:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Snímka obrazovky na konci inštalácie

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Snímka obrazovky po reštarte

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Prehrajte video

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:

  1. Skúsime vložiť flash disk a vytvoriť tam prázdny súbor — malo by to fungovať. Vytiahneme flash disk;
  2. Zapneme blokovanie prenosných zariadení v Dr. Web Security Center;
  3. 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?

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Snímka obrazovky po premenovaní súboru

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Snímka obrazovky s oknom Security Center

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Screenshot s oknom Zariadenia a osobné údaje

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Skúsime teraz otvoriť flash disk:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Screenshot s chybovým hlásením

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Prehrajte video

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:

  1. 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 FreeCommander;
  2. Vytvoríme zložku so súborom, ktorú budeme chrániť všetkými silami;
  3. Otvoríme centrum zabezpečenia Dr. Web a zapneme tam ochranu tejto zložky;
  4. Nastavíme výnimku pre FreeCommander;
  5. 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ť;
  6. 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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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.

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Screenshot po vytvorení zložky

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Ach, mal by som to tiež spracovať ako makro, ale nuž...

Snímek obrazovky po vytvorení súboru

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Snímek obrazovky s oknom Prevencia straty údajov

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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:

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Snímek obrazovky s oknom FreeCommander

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

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

Automatizoval som testovanie Dr. Web. A čo vy, dokážete to?

Výnimka pre FreeCommander funguje!

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

Prehrajte video

Test č. 4 — Rodičovská kontrola

Tento posledný testovací prípad pre dnešok postavíme nasledovne:

  1. Vytvoríme nového používateľa MySuperUser;
  2. Prihlásime sa pod týmto používateľom;
  3. Vytvoríme súbor my_file.txt v mene nového používateľa;
  4. Otvoríme centrum zabezpečenia Dr. Web a zapneme rodičovskú kontrolu pre tento súbor;
  5. V rodičovskej kontrole obmedzíme práva používateľa MySuperUser na ním vytvorený súbor;
  6. Skúsime prečítať a odstrániť súbor my_file.txt v 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:

Prehrajte video

Záver

→ Zdrojové kódy všetkých testov si môžete pozrieť tu

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

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

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster