Automatizoval som testovanie Dr. Web. Môžeš?

Automatizoval som testovanie Dr. Web. Môžeš?

Nikdy som nepoužil Dr. Web. Netuším ako to funguje. To mi však nezabránilo v napísaní niekoľkých autotestov (a len lenivosť mi zabránila napísať sto ďalších):

  1. Inštalačný test Dr. Web;
  2. Test na obmedzenie prístupu k vymeniteľným zariadeniam (flash disky);
  3. Test na obmedzenie prístupu k adresáru medzi programami;
  4. Test obmedzenia prístupu do adresára medzi systémovými používateľmi (rodičovská kontrola).

Tieto a mnohé ďalšie testy sa dajú predať ako teplé rožky, a to nielen vo vzťahu k Dr. Web, a to nielen vo vzťahu k antivírusom. V tomto článku vám poviem, ako to urobiť.

Tréning

Na testy budeme potrebovať virtuálny stroj s operačným systémom Windows. Pripravil som ho ručne vykonaním nasledujúcich manipulácií:

  1. V skutočnosti som nainštaloval Windows 10 Pro x64;
  2. Počas inštalácie som vytvoril hlavného užívateľa "testo" s heslom "1111";
  3. Povolené automatické prihlásenie pre tohto používateľa;

Na automatizáciu testov použijem platformu Testo. Čo to je a ako ho používať, si môžete prečítať tu. Teraz musíme naimportovať hotový virtuálny stroj do autotestov. Je to veľmi jednoduché:

Automatizoval som testovanie Dr. Web. Môžeš?

Tu sa predpokladá, že /path/to/win10.qcow2 - toto je cesta k disku virtuálneho stroja, ktorý som pripravil ručne. Tu končí príprava a začína akcia.

Test č.1 - Nainštalujte Dr. Web!

Najprv musíme vyriešiť otázku prenosu distribučnej súpravy Dr. Web na virtuálny stroj. Môžete to urobiť (napríklad) pomocou flash disku:

Automatizoval som testovanie Dr. Web. Môžeš?

Všetko, čo musíme urobiť, je nainštalovať Dr. Web pre otca ${DR_WEB_DIR} (presnú hodnotu tohto parametra nastavíme pri štarte testo). A samo Testo sa postará o to, aby tento inštalátor skončil na flash disku.

Teraz môžeme začať písať test. Zatiaľ začnime test jednoduchými vecami: zapnite virtuálny stroj (po vytvorení sa vypne), počkajte, kým sa objaví plocha, zapnite flash disk a otvorte jeho obsah cez Prieskumníka:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky na konci scenára

Automatizoval som testovanie Dr. Web. Môžeš?

Inštalátor môžete samozrejme spustiť priamo odtiaľto, zo samotného flash disku. Radšej však urobíme všetko čestne - skopírujeme inštalačný program na plochu a spustíme ho odtiaľ. Ako môžeme skopírovať súbor? Ako by to človek urobil?

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky súboru, ktorý sa stále kopíruje

Automatizoval som testovanie Dr. Web. Môžeš?

To je všetko, kopírovanie je úspešne dokončené! Teraz môžete zatvoriť okno s jednotkou flash a odstrániť ju:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky po zatvorení Prieskumníka

Automatizoval som testovanie Dr. Web. Môžeš?

Teraz, keď je inštalačný program na pracovnej ploche, musíme naň dvakrát kliknúť a spustiť proces inštalácie. A samotná inštalácia spočíva v jednoduchom kliknutí na tlačidlá a začiarkavacie políčka a nie je veľmi zaujímavá:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky na konci inštalácie

Automatizoval som testovanie Dr. Web. Môžeš?

Náš test dokončíme reštartom. A na záver nezabudnite skontrolovať, že po reštarte sa na ploche objavila ikona s Dr. Web:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky po reštarte

Automatizoval som testovanie Dr. Web. Môžeš?

Dobrá práca! Zautomatizovali sme inštaláciu antivírusu Dr. Web! Dajme si pauzu a uvidíme, ako to vyzerá v dynamike:

Prejdime k testovaniu funkcií.

Test č.2 - Obmedzenie prístupu k flash diskom

Prvou funkciou v zozname je obmedzenie prístupu k flash diskom. Aby sme to dosiahli, naplánujme si pomerne jednoduchý test:

  1. Skúsme vložiť USB flash disk a vytvoriť tam prázdny súbor - malo by to fungovať. Vyberieme flash disk;
  2. Povoľme blokovanie vymeniteľných zariadení v Dr. Web Security Center;
  3. Znovu vložíme USB flash disk a skúsime vymazať vytvorený súbor. Akcia musí byť zablokovaná.

Vytvorme nový flash disk, vložte ho do Windowsu a skúsme vytvoriť priečinok. Čo môže byť jednoduchšie?

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky na konci scenára

Automatizoval som testovanie Dr. Web. Môžeš?

Vytvorte nový textový súbor pomocou kontextovej ponuky Prieskumníka:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky po premenovaní súboru

Automatizoval som testovanie Dr. Web. Môžeš?

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

Automatizoval som testovanie Dr. Web. Môžeš?

Teraz sme presvedčení, že flash disk možno použiť, čo znamená, že ho môžeme začať blokovať v Centre zabezpečenia Dr. Web. Ak to chcete urobiť, musíte najskôr otvoriť Centrum zabezpečenia:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky okna Centra zabezpečenia

Automatizoval som testovanie Dr. Web. Môžeš?

Môžeme poznamenať, že na otvorenie akejkoľvek aplikácie v systéme Windows musíte vykonať prakticky rovnaké akcie (kliknite na vyhľadávací panel, počkajte, kým sa zobrazí okno s obľúbenými aplikáciami, zadajte názov aplikácie, ktorá vás zaujíma, počkajte, kým sa zobrazí v zoznam a nakoniec stlačte Enter). Preto je možné túto skupinu akcií rozdeliť do makra open_app, ktorému sa ako parameter odovzdá názov aplikácie, ktorá sa má otvoriť:

Automatizoval som testovanie Dr. Web. Môžeš?

Toto makro sa nám bude hodiť neskôr.

Prvá vec, ktorú urobíme, je otvoriť Bezpečnostné centrum Dr. Web - povoliť možnosť vykonávať zmeny:

Automatizoval som testovanie Dr. Web. Môžeš?

Teraz trochu klikneme na ponuky a prejdeme do ponuky „Konfigurovať pravidlá prístupu k zariadeniu“. V tejto ponuke začiarknite políčko „Blokovať vymeniteľné médiá“.

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky okna Zariadenia a osobné údaje

Automatizoval som testovanie Dr. Web. Môžeš?

Skúsme teraz otvoriť flash disk:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky s chybovým hlásením

Automatizoval som testovanie Dr. Web. Môžeš?

Takto sme kúsok po kúsku napísali prvý test testujúci veľmi hmatateľnú funkciu v Dr. Web. Je čas dať si prestávku a meditovať a pozerať sa na výsledky našej práce:

Test č. 3 - Rozlišovanie prístupu k adresáru medzi programami

Hlavnou myšlienkou tohto testovacieho prípadu je skontrolovať prácu Dr. Web pri obmedzení prístupu do konkrétneho priečinka. Konkrétne musíte chrániť priečinok pred akýmikoľvek zmenami, ale pridať výnimku pre nejaký program tretej strany. V skutočnosti samotný test vyzerá takto:

  1. Do OS nainštalujeme program tretej strany, pre ktorý o niečo neskôr pridáme výnimku pri prístupe k chránenému priečinku. Dnešným programom tretích strán je správca súborov freeCommander;
  2. Vytvárame priečinok so súborom, ktorý budeme chrániť zo všetkých síl;
  3. Otvorme Bezpečnostné centrum Dr. Web a povoľte tam ochranu pre tento priečinok;
  4. Nastavme výnimku pre FreeCommander;
  5. Skúsme vymazať súbor z chráneného priečinka bežným spôsobom (cez Windows Explorer). Nemalo by to fungovať;
  6. Skúsme súbor odstrániť pomocou FreeCommander. Malo by to fungovať.

Wow, veľa práce. Čím skôr začneme, tým skôr skončíme.

Prvý bod, inštalácia FreeCommander sa príliš nelíši od inštalácie Dr.Web. Zvyčajná rutina: vloženie jednotky flash, spustenie inštalátora atď. Preskočme to a prejdime rovno k zaujímavostiam.

Ak vás stále zaujíma, ako nainštalovať FreeCommander

Začnime niečím jednoduchým: vytvorte flash disk, do ktorého umiestnime distribučnú súpravu FreeCommander a potom v teste vložíme flash disk do OS a otvoríme ho:

Automatizoval som testovanie Dr. Web. Môžeš?

Potom niekoľkými kliknutiami spustíte inštaláciu:

Automatizoval som testovanie Dr. Web. Môžeš?

Inštalácia nie je príliš zaujímavá, stačí kliknúť všade na „Ďalej“ a na konci nezabudnite vypnúť začiarkavacie políčka pre prezeranie ReadMe a okamžité spustenie FreeCommander

Automatizoval som testovanie Dr. Web. Môžeš?

Test ukončíme zatvorením všetkých okien a vybratím flash disku.

Automatizoval som testovanie Dr. Web. Môžeš?

Hotovo!

Na spoluprácu s Dr. Web vytvoríme nový test dr_web_restrict_program, ktorý sa bude opierať o výsledok predchádzajúceho testu win10_install_freecommander.

Začnime test vytvorením chráneného priečinka na pracovnej ploche:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky po vytvorení priečinka

Automatizoval som testovanie Dr. Web. Môžeš?

Prejdite do priečinka Protected a vytvorte tam súbor my_file.txt, ktorý bude hrať úlohu chráneného súboru:

Automatizoval som testovanie Dr. Web. Môžeš?

Oh, mal by som to dať aj vo forme makra, ale dobre...

Snímka obrazovky po vytvorení súboru

Automatizoval som testovanie Dr. Web. Môžeš?

Skvelé, teraz musíte povoliť ochranu priečinkov. Ideme po známej ceste a otvárame Dr. Web, nezabudnite povoliť režim zmeny. Potom prejdite do ponuky „Prevencia straty údajov“.

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky okna Prevencia straty údajov

Automatizoval som testovanie Dr. Web. Môžeš?

Poďme trochu pracovať s myšou a pridať náš chránený priečinok do zoznamu chránených:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky Sprievodcu pridaním chráneného priečinka

Automatizoval som testovanie Dr. Web. Môžeš?

Teraz musíme nastaviť výnimku pre prístup do priečinka pre FreeCommander. Trochu viac práce s myšou:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky s pridaným programom výnimky

Automatizoval som testovanie Dr. Web. Môžeš?

Teraz opatrne zatvorte všetky okná a skúste vymazať súbor „my_file.txt“ štandardným spôsobom:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky so správou od Dr.Web

Automatizoval som testovanie Dr. Web. Môžeš?

Ale nič nevyšlo - to znamená, že Dr. Web naozaj fungoval! Polovica testu je za nami, ale ešte musíme skontrolovať, či výnimka pre FreeCommander bude fungovať. Ak to chcete urobiť, otvorte FreeCommander a prejdite do priečinka Protected:

Automatizoval som testovanie Dr. Web. Môžeš?

Snímka obrazovky okna FreeCommander

Automatizoval som testovanie Dr. Web. Môžeš?

No, skúsme vymazať súbor my_file.txt:

Automatizoval som testovanie Dr. Web. Môžeš?

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

Automatizoval som testovanie Dr. Web. Môžeš?

Výnimka FreeCommander funguje!

Dobrá práca! Veľký a komplexný testovací prípad – a všetko je automatizované. Trochu uvoľnene:

Test č. 4 - Rodičovská kontrola

Tento posledný testovací prípad pre dnešok zostavíme takto:

  1. Vytvorme nového používateľa MySuperUser;
  2. Prihláste sa pod týmto používateľom;
  3. Vytvorme súbor my_file.txt v mene nového užívateľa;
  4. Otvorme Bezpečnostné centrum Dr. Web a povoliť rodičovskú kontrolu pre tento súbor;
  5. V rámci rodičovskej kontroly obmedzíme práva používateľa MySuperUser na ním vytvorený súbor;
  6. Pokúsme sa prečítať a odstrániť súbor my_file.txt v mene MySuperUser a pozrite sa na výsledok.

Nebudem sem dávať testovací skript. Je postavená na rovnakom princípe ako predchádzajúce testy: aktívne pracujeme s myšou a klávesnicou. Zároveň je pre nás jedno, čo automatizujeme – či už je to Dr.Web, alebo vytvoríme nového používateľa vo Windowse. Pozrime sa však, ako by takýto test vyzeral:

Záver

→ Môžete si pozrieť zdroje všetkých testov tu

Okrem toho môžete všetky tieto testy spustiť na vlastnom počítači. Na to budete potrebovať prekladač testovacích skriptov Testo. Môžete si ho stiahnuť tu.

DR. Web sa ukázal byť dobrým cvičením, ale rád by som čerpal inšpiráciu pre ďalšie exploity z vašich želaní. Napíšte do komentárov vaše návrhy, aké autotesty by ste chceli v budúcnosti vidieť. V ďalšom článku sa ich pokúsim zautomatizovať, uvidíme, čo z toho vznikne.

Zdroj: hab.com

Pridať komentár