
Nikada nisam koristio Dr. Web. Nemam pojma kako funkcionira. No, to me nije spriječilo da napišem niz automatiziranih testova (samo me lijenost spriječila da napišem još stotinu drugih):
- Test instalacije Dr. Weba;
- Test ograničenja pristupa vanjskim uređajima (USB uređajima);
- Test ograničenja pristupa direktoriju između programa;
- Test ograničenja pristupa direktoriju između korisnika sustava (roditeljska kontrola).
Ove i brojne druge testove možemo izrađivati poput vrućih peciva, i to ne samo za Dr. Web, već i za antivirusne programe općenito. U ovom članku ću objasniti kako to učiniti.
Priprema
Za testove će nam trebati virtualka s Windows sustavom. Pripremio sam je ručno, izvršavajući sljedeće radnje:
- Dakle, instalirao sam Windows 10 Pro x64;
- Tijekom instalacije kreirao sam glavnog korisnika 'testo' s lozinkom '1111';
- Uključio sam automatsko prijavljivanje za tog korisnika;
Za automaciju testova koristit ću platformu Testo. O tome što je to i kako ga koristiti možete pročitati . Nama je sada potrebno importirati gotovu virtualku u automatizirane testove. To je vrlo jednostavno:

Ovdje se pretpostavlja da /path/to/win10.qcow2 — to je put do diska te virtualke koju sam pripremio ručno. Ovdje priprema završava, a akcija počinje.
Test br. 1 — Instaliramo Dr. Web!
Za početak moramo riješiti pitanje prijenosa instalacijskog paketa Dr. Web na virtualnu mašinu. To možemo učiniti (na primjer) putem USB sticka:

Sve što trebamo učiniti je staviti instalacijski paket Dr. Web u mapu ${DR_WEB_DIR} (točnu vrijednost tog parametra odredit ćemo prilikom pokretanja testo). A Testo će se pobrinuti da se ovaj instalator dođe na USB stick.
Sada možemo započeti s pisanjem testa. Za sada ćemo započeti s jednostavnim stvarima: uključit ćemo virtualku (nakon stvaranja bit će isključena), pričekat ćemo da se pojavi radna površina, uključiti USB stick i otvoriti sadržaj putem istraživača:

Snimka zaslona u trenutku završetka scenarija

Naravno, možemo pokrenuti instalator direktno odavde, s USB sticka. No, bolje je učiniti sve kako treba — kopirat ćemo instalator na radnu površinu i pokrenuti ga odatle. Kako da kopiramo datoteku? Kako bi to učinio čovjek?

Snimka zaslona dok se još odvija kopiranje datoteke

Sve, kopiranje je uspješno završeno! Sada možete zatvoriti prozor s USB-om i izvaditi ga:

Screenshoot nakon zatvaranja preglednika

Sada kada je instalacijski program na radnoj površini, trebamo dvaput kliknuti na njega kako bismo pokrenuli proces instalacije. A sama instalacija sastoji se od jednostavnog klikanja na gumbe i potvrde, pa ne predstavlja veliki interes:

Screenshoot u trenutku završetka instalacije

Završavamo naš test ponovnim pokretanjem. I na kraju ne zaboravite provjeriti da li se ikona s Dr. Web-om pojavila na radnoj površini nakon ponovnog pokretanja:

Screenshoot nakon ponovnog pokretanja

Odličan posao! Automatizirali smo instalaciju antivirusnog programa Dr. Web! Idemo malo predahnuti i pogledati kako to izgleda u akciji:

Prelazimo na testiranje značajki.
Test br. 2 — Ograničavanje pristupa USB uređajima
Prva značajka na popisu — ograničavanje pristupa USB uređajima. Za to ćemo isplanirati prilično jednostavan test:
- Pokušat ćemo umetnuti USB uređaj i stvoriti praznu datoteku — to bi trebalo uspjeti. Izvlačimo USB;
- Uključujemo blokadu vanjskih uređaja u Dr. Web Security Centeru;
- Još jednom umetnemo USB uređaj i pokušavamo izbrisati stvorenu datoteku. Radnja bi trebala biti blokirana.
Stvorit ćemo novu USB memoriju, umetnuti je u Windows i pokušati stvoriti mapu. Što može biti jednostavnije?

Snimka zaslona u trenutku završetka scenarija

Kreiramo novu tekstualnu datoteku putem kontekstnog izbornika preglednika:

Screenshoot nakon preimenovanja datoteke

Isključujemo USB uređaj, radimo to sigurno:

Sada smo se uvjerili da možemo raditi s USB-om, što znači da možemo pristupiti njegovom blokiranju u Dr. Web sigurnosnom centru. Za to prvo trebamo otvoriti sigurnosni centar:

Screenshoot s prozorom sigurnosnog centra

Možemo primijetiti da su koraci za otvaranje bilo koje aplikacije u Windowsima praktički isti (kliknite na pravac pretraživanja, pričekajte da se otvori prozor s popularnim aplikacijama, upišite ime aplikacije koja vas zanima, pričekajte da se pojavi na popisu i na kraju pritisnite Enter). Stoga ovu grupu radnji možemo izdvojiti u makro open_app, kojem će se kao parametar proslijediti ime aplikacije koja se otvara:

Ovaj makro će nam još zatrebati.
Prvo što ćemo učiniti kada otvorimo Dr. Web sigurnosni centar — omogućit ćemo mogućnost unosa promjena:

Sada ćemo malo proći kroz izbornike i ući u izbornik "Konfiguriraj pravila pristupa uređajima". U ovom izborniku stavljamo kvačicu na opciju "Blokiraj zamjenjive medije".

Snimka zaslona s prozorom Uređaji i osobni podaci

Pokušajmo sada otvoriti USB stick:

Snimka zaslona s porukom o grešci

Tako polako, polako smo napisali prvi test s testiranjem prilično opipljive značajke u Dr. Webu. Došlo je vrijeme da predahnemo i promislimo, gledajući rezultate našeg rada:

Test br. 3 — Ograničavanje pristupa direktoriju između programa
Osnovna ideja ovog testnog slučaja je provjeriti rad Dr. Weba pri ograničavanju pristupa određenoj mapi. Konkretno, potrebno je zaštititi mapu od bilo kakvih promjena, ali dodati iznimku za neku vanjsku aplikaciju. Sam test izgleda ovako:
- Instalirat ćemo vanjsku aplikaciju na OS, za koju ćemo kasnije dodati iznimku za pristup zaštićenoj mapi. Danas je vanjska aplikacija dana — File Manager ;
- Stvaramo mapu s datotekom koju ćemo štititi svim svojim snagama;
- Otvorimo centar sigurnosti Dr. Web i uključimo zaštitu za tu mapu;
- Postavit ćemo iznimku za FreeCommander;
- Pokušajmo obrisati datoteku iz zaštićene mape na uobičajen način (kroz Windows Explorer). To ne bi trebao biti uspjeh;
- Pokušajmo izbrisati datoteku putem FreeCommandera. To bi trebalo uspjeti.
Uf, puno posla. Što brže počnemo — to brže završimo.
Prvi korak, instalacija FreeCommandera ne razlikuje se mnogo od instalacije Dr.Weba. Obična rutina: umetnuli smo USB stick, pokrenuli instalacijski program i tako dalje. Preskočit ćemo to i odmah preći na zanimljivije.
Ako vas ipak zanima kako instalirati FreeCommander
Počnimo s jednostavnim: stvorit ćemo USB stick u koji ćemo staviti distribuciju FreeCommandera, a zatim ćemo u testu umetnuti USB stick u OS i otvoriti ga:

Zatim nekoliko klikova da bismo pokrenuli instalaciju:

Instalacija nije previše zanimljiva, samo kliknemo svugdje "Dalje", a na kraju ne zaboravimo isključiti kvačice za pregled ReadMe i trenutni početak FreeCommandera.

Završavamo test zatvarajući sve prozore i vadeći USB stick.

Gotovo!
Za rad s Dr. Webom stvorit ćemo novi test dr_web_restrict_program, koji će se oslanjati na rezultat prethodnog testa win10_install_freecommander.
Započnimo test stvaranjem mape Protected na radnoj površini:

Snimka zaslona nakon stvaranja mape

Uđite u mapu Protected i tamo stvorite datoteku my_file.txt, koji će igrati ulogu zaštićene datoteke:

Ah, trebali bismo to također oblikovati u makronaredbu, ali dobro ...
Snimka zaslona nakon stvaranja datoteke

Odlično, sada trebamo aktivirati zaštitu mape. Idemo poznatom stazom i otvaramo Dr. Web, ne zaboravljajući uključiti način izmjena. Nakon toga prelazimo u izbornik "Data Loss Prevention".

Snimka zaslona s prozorom Data Loss Prevention

Malo ćemo raditi s mišem i dodati našu mapu Protected na popis zaštićenih:

Snimka zaslona s čarobnjakom za dodavanje zaštićene mape

Sada trebamo postaviti iznimku za pristup mapi za FreeCommander. Još malo rada s mišem:

Snimka zaslona s dodanom programom-iznimkom

Sada pažljivo zatvaramo sve prozore i pokušavamo obrisati datoteku "my_file.txt" na uobičajen način:

Snimka zaslona s porukom od Dr.Web

Ali nije uspjelo — znači Dr. Web je zaista radio! Pola testa je iza nas, ali još moramo provjeriti radi li iznimka za FreeCommander. Za to otvaramo FreeCommander i odlazimo u mapu Protected:

Snimka zaslona s prozorom FreeCommander

Pa ćemo pokušati obrisati datoteku my_file.txt:

Snimka zaslona nakon brisanja datoteke

Iznimka za FreeCommander radi!
Odličan posao! Veliki i složeni testni slučaj — i sve automatizirano. Malo opuštanja:

Test br. 4 — Roditeljska kontrola
Ovaj posljednji testni slučaj danas ćemo izgraditi na sljedeći način:
- Stvorit ćemo novog korisnika MySuperUser;
- Prijavit ćemo se kao ovaj korisnik;
- Stvorit ćemo datoteku
my_file.txtu ime novog korisnika; - Otvorit ćemo centar sigurnosti Dr. Web i uključiti roditeljsku kontrolu za ovu datoteku;
- U roditeljskoj kontroli ograničit ćemo prava korisnika MySuperUser na njemu samom stvorenu datoteku;
- Pokušat ćemo pročitati i obrisati datoteku
my_file.txtu ime MySuperUser i vidjeti rezultat.
Neću ovdje navoditi scenarij testa. Izgrađen je na isti princip kao i prethodni testovi: aktivno radimo s mišem i tipkovnicom. Pri tome nam nije važno što automatiziramo — bilo Dr.Web, bilo stvaranje novog korisnika u Windowsima. No, hajde da vidimo kako ćemo izgledati prilikom izvođenja takvog testa:

Zaključak
→ Izvori svih testova možete pogledati
Štoviše, sve ove testove možete provesti na svojoj mašini. Za to će vam trebati interpreter testnih scenarija Testo. Možete ga preuzeti .
Dr. Web je bio dobar trening, ali bih inspiraciju za buduće podvige volio dobiti iz vaših prijedloga. Pišite u komentarima svoje preporuke o tome koje automatske testove biste željeli vidjeti u budućnosti. U sljedećem članku ću pokušati automatizirati te testove, vidjet ćemo što će od toga ispasti.
Izvor: habr.com
