
Jag har aldrig anvÀnt Dr. Web. Jag har ingen aning om hur det fungerar. Men det har inte hindrat mig frÄn att skriva en rad automatiserade tester för det (och bara lathet har hindrat mig frÄn att skriva hundratals fler):
- Installationstest av Dr. Web;
- Test av ÄtkomstbegrÀnsning till externa enheter (USB-minnen);
- Test av ÄtkomstbegrÀnsning till katalogen mellan program;
- Test av ÄtkomstbegrÀnsning till katalogen mellan anvÀndare i systemet (förÀldrakontroll).
SÄdana och mÄnga andra tester kan skapas som varma bullar, och inte bara relaterat till Dr. Web, och inte bara relaterat till antivirusprogram. I denna artikel kommer jag att berÀtta hur man gör det.
Förberedelse
För testerna behöver vi en virtuell maskin med Windows. Jag har förberett den manuellt genom att utföra följande ÄtgÀrder:
- Egentligen installerade jag Windows 10 Pro x64;
- Under installationen skapade jag en huvud anvÀndare "testo" med lösenordet "1111";
- Jag aktiverade autoinloggning för denna anvÀndare;
För att automatisera testerna kommer jag att anvÀnda plattformen Testo. Vad det Àr och hur man anvÀnder det kan man lÀsa . Nu behöver vi importera den fÀrdiga virtuella maskinen i automatiserade tester. Det Àr vÀldigt enkelt att göra:

HĂ€r antas att /path/to/win10.qcow2 â Ă€r sökvĂ€gen till disketten frĂ„n den virtuella maskinen som jag förberett manuellt. HĂ€r slutar förberedelsen och aktionen börjar.
Test Nr 1 â Installerar Dr. Web!
Först mÄste vi lösa frÄgan om att överföra distributionspaketet av Dr. Web till den virtuella maskinen. Det kan göras (till exempel) med hjÀlp av ett USB-minne:

Allt vi behöver göra Àr att lÀgga installationsprogrammet för Dr. Web i mappen ${DR_WEB_DIR} (det exakta vÀrdet för denna parameter kommer vi att ange vid starten av testo). Och Testo kommer att se till att denna installerare finns pÄ USB-minnet.
Nu kan vi börja sjÀlva skrivandet av testet. Vi inleder testet med enkla saker: vi slÄr pÄ den virtuella maskinen (efter skapandet kommer den att vara avstÀngd), vi vÀntar pÄ att skrivbordet dyker upp, vi slÄr pÄ USB-minnet och öppnar dess innehÄll genom Utforskaren:

SkÀrmdump vid slutet av scenariot

Vi kan naturligtvis starta installationsprogrammet direkt hĂ€rifrĂ„n, frĂ„n USB-minnet. Men vi gör det hellre pĂ„ rĂ€tt sĂ€tt â vi kopierar installationsprogrammet till skrivbordet och startar installationsprogrammet dĂ€rifrĂ„n. Hur skulle vi kopiera filen? Hur skulle en mĂ€nniska göra det?

SkÀrmdump dÀr filkopieringen fortfarande pÄgÄr

Allt kopiering Àr nu framgÄngsrikt avslutat! Du kan nu stÀnga fönstret med USB-minnet och ta ut det:

SkÀrmdump efter att vi stÀngt utforskaren

Nu nÀr installationsprogrammet ligger pÄ skrivbordet behöver vi dubbelklicka pÄ det för att starta installationsprocessen. SjÀlva installationen handlar om att klicka pÄ knappar och kryssrutor och Àr inte sÀrskilt intressant:

SkÀrmdump vid installationens slut

Vi avslutar vÄrt test med en omstart. Och glöm inte att kontrollera att det har dykt upp en ikon med Dr. Web pÄ skrivbordet efter omstarten:

SkÀrmdump efter omstart

Bra jobbat! Vi har automatiserat installationen av antivirusprogrammet Dr. Web! LÄt oss ta en kort paus och se hur det ser ut i aktion:

Vi gÄr vidare till testning av funktioner.
Test nr 2 â BegrĂ€nsa Ă„tkomst till USB-minnen
Den första funktionen pĂ„ listan â begrĂ€nsa Ă„tkomst till USB-minnen. LĂ„t oss planera ett rĂ€tt framgĂ„ngsrikt test:
- Vi försöker sĂ€tta in ett USB-minne och skapa en tom fil dĂ€r â det borde fungera. Ta ut USB-minnet;
- Vi aktiverar blockeringsfunktionen för externa enheter i Dr. Web Security Center;
- SÀtt in USB-minnet igen och försök ta bort den skapade filen. à tgÀrden borde blockeras.
Vi skapar ett nytt USB-minne, sÀtter in det i Windows och försöker skapa en mapp. Vad kan vara enklare?

SkÀrmdump vid slutet av scenariot

Vi skapar en ny textfil via snabbmenyn i utforskaren:

SkÀrmdump efter att filen har döpts om

Vi kopplar bort USB-minnet, gör det pÄ ett sÀkert sÀtt:

Nu har vi sÀkerstÀllt att vi kan arbeta med USB-minnet, och dÀrför kan vi börja blockera det i Dr. Webs sÀkerhetscenter. För att göra detta mÄste vi först öppna sÀkerhetscentret:

SkÀrmdump med sÀkerhetscentrets fönster

Vi kan mÀrka att för att öppna ett vilket program som helst i Windows mÄste vi faktiskt utföra samma steg (klicka pÄ sökfÀltet, vÀnta pÄ att fönstret med populÀra program dyker upp, skriva in namnet pÄ det intressanta programmet, vÀnta pÄ att det visas i listan och slutligen trycka pÄ Enter). DÀrför kan denna grupp av ÄtgÀrder samlas i ett makro open_app, dÀr namnet pÄ det öppnade programmet kommer att skickas som parameter:

Detta makro kommer att vara anvÀndbart för oss.
Det första vi gör nÀr vi öppnar Dr. Webs sÀkerhetscenter Àr att aktivera möjligheten att göra Àndringar:

Nu klickar vi lite i menyerna och gÄr till menyn "Konfigurera enhetstillgÄngsregler". I denna meny markerar vi alternativet "Blockera flyttbara medier".

SkÀrmdump med fönstret Enheter och Personlig data

LÄt oss försöka öppna USB-minnet nu:

SkÀrmdump med felmeddelande

SÄ hÀr har vi lÄngsamt och metodiskt skrivit det första testet med att testa en ganska konkret funktion i Dr. Web. Det Àr dags att ta en paus och meditera medan vi ser pÄ resultaten av vÄrt arbete:

Test nr 3 - à tkomstbegrÀnsning till katalogen mellan program
Den grundlÀggande idén med detta testfall Àr att kontrollera hur Dr. Web fungerar nÀr Ätkomsten till en viss mapp begrÀnsas. Mer specifikt, vi mÄste skydda mappen frÄn att Àndras, men lÀgga till ett undantag för nÄgot tredjepartsprogram. SjÀlva testet ser ut som följer:
- Vi installerar ett tredjepartsprogram pÄ operativsystemet, för vilket vi senare kommer att lÀgga till ett undantag nÀr det gÀller Ätkomst till den skyddade mappen. Dagens tredjepartsprogram Àr filhanteraren ;
- Vi skapar en mapp med en fil som vi kommer att skydda med alla medel;
- Vi öppnar Dr. Webs sÀkerhetscenter och aktiverar skyddet för denna mapp;
- Vi konfigurerar undantaget för FreeCommander;
- LÄt oss försöka ta bort filen frÄn den skyddade mappen pÄ vanligt sÀtt (via Windows Utforskaren). Det borde inte gÄ;
- Vi försöker ta bort filen via FreeCommander. Det borde gÄ.
Oj, mycket arbete. LÄt oss börja snabbare - sÄ slutför vi snabbare.
Punkt ett, installationen av FreeCommander skiljer sig inte mycket frÄn installationen av Dr.Web. Vanlig rutin: vi sÀtter i USB-minnet, startar installationsprogrammet och sÄ vidare. Vi hoppar över det och gÄr direkt till det intressanta.
Om du Àr intresserad av hur man installerar FreeCommander
Vi börjar enkelt: vi skapar ett USB-minne dÀr vi lÀgger distributionspaketet av FreeCommander, och sedan sÀtter vi in USB-minnet i operativsystemet och öppnar det:

Sedan nÄgra klick för att starta installationen:

Installationen Àr inte sÀrskilt intressant, vi klickar bara pÄ "NÀsta" överallt, och glöm inte att avmarkera rutorna för att visa ReadMe och omedelbart starta FreeCommander i slutet.

Vi avslutar testet genom att stÀnga alla fönster och ta ut USB-minnet.

Klart!
För att arbeta med Dr. Web skapar vi ett nytt test dr_web_restrict_program, som kommer att basera sig pÄ resultatet av det föregÄende testet win10_install_freecommander.
Vi börjar testet med att skapa en mapp som heter Protected pÄ skrivbordet:

SkÀrmdump efter att ha skapat mappen

Vi gÄr in i mappen Protected och skapar en fil dÀr my_file.txt, som kommer att fungera som den skyddade filen:

Ă h, jag skulle ocksĂ„ ha ordnat detta som ett makro, men jaja âŠ
SkÀrmdump efter skapandet av filen

UtmÀrkt, nu mÄste vi aktivera skyddet för mappen. Vi gÄr den vÀlkÀnda vÀgen och öppnar Dr. Web, kom ihÄg att aktivera lÀget för Àndringar. DÀrefter gÄr vi till menyn "Data Loss Prevention".

SkÀrmdump av Data Loss Prevention-fönstret

Lite musarbete, och vi lÀgger till vÄr mapp Protected till listan över skyddade:

SkÀrmdump av guiden för att lÀgga till skyddad mapp

Nu mÄste vi stÀlla in ett undantag för att fÄ Ätkomst till mappen för FreeCommander. Lite mer musarbete:

SkÀrmdump med det tillagda undantagsprogrammet

Nu stÀnger vi försiktigt alla fönster och försöker ta bort filen "my_file.txt" pÄ det vanliga sÀttet:

SkÀrmdump med meddelande frÄn Dr.Web

Men inget fungerade â sĂ„ Dr. Web har verkligen fungerat! HalvvĂ€gs genom testet, men vi mĂ„ste fortfarande kontrollera att undantaget för FreeCommander fungerar. För detta öppnar vi FreeCommander och gĂ„r till mappen Protected:

SkÀrmdump av FreeCommander-fönstret

LÄt oss försöka ta bort filen my_file.txt:

SkÀrmdump efter att filen har tagits bort

Undantaget för FreeCommander fungerar!
Bra jobbat! En stor och komplex testfall â och allt Ă€r automatiserat. Lite avkoppling:

Test nr 4 â FörĂ€ldrakontroll
Detta sista testfall för idag kommer att byggas upp pÄ följande sÀtt:
- Vi skapar en ny anvÀndare MySuperUser;
- Logga in som denna anvÀndare;
- Skapa en fil
my_file.txti namnet pĂ„ den nya anvĂ€ndaren; - Ăppna sĂ€kerhetscentret Dr. Web och aktivera förĂ€ldrakontrollen för denna fil;
- I förÀldrakontrollen begrÀnsar vi behörigheterna för anvÀndaren MySuperUser för filen som han skapat;
- Försök lÀsa och ta bort filen
my_file.txti namnet av MySuperUser och se pÄ resultatet.
Jag kommer inte att ange testscenariot hĂ€r. Det baseras pĂ„ samma princip som de tidigare testen: vi arbetar aktivt med mus och tangentbord. Det spelar ingen roll vad vi automatiserar â vare sig Dr.Web eller skapandet av en ny anvĂ€ndare i Windows. Men lĂ„t oss Ă€ndĂ„ se hur ett sĂ„dant test kommer att se ut:

Slutsats
â KĂ€llkoden för alla tester kan du se
Dessutom kan du köra alla dessa tester pÄ din egen maskin. För detta behöver du testscenario-tolken Testo. Du kan ladda ner den. .
Dr. Web visade sig vara en ganska bra trÀning, men jag skulle vilja hÀmta inspiration för framtida prestationer frÄn era önskemÄl. Skriv gÀrna i kommentarerna dina förslag pÄ vilka automatiserade tester ni skulle vilja se i framtiden. I nÀsta artikel kommer jag att försöka automatisera dem, lÄt oss se vad som kommer ut av det.
KĂ€lla: habr.com
