
Jeg har aldrig brugt Dr. Web. Jeg har ingen idé om, hvordan det fungerer. Men det har ikke forhindret mig i at skrive en række autotests for det (og kun dovenskab har forhindret mig i at skrive endnu et hundrede andre):
- Test for installation af Dr. Web;
- Test for begrænsning af adgang til flytbare enheder (USB-sticks);
- Test for adskillelse af adgang til mapper mellem programmer;
- Test for adskillelse af adgang til mapper mellem brugere i systemet (forældrekontrol).
Sådanne og mange andre tests kan laves som småsager, ikke kun i forhold til Dr. Web, og ikke kun i forhold til antivirusser. I denne artikel vil jeg fortælle, hvordan det gøres.
Forberedelse
Til testene har vi brug for en virtuel maskine med Windows. Jeg har forberedt den manuelt ved at udføre følgende handlinger:
- Jeg installerede Windows 10 Pro x64;
- Under installationen oprettede jeg hovedbrugeren "testo" med adgangskoden "1111";
- Jeg aktiverede automatisk login for denne bruger;
Til automatisering af testene vil jeg bruge platformen Testo. Hvad det er og hvordan man bruger det, kan man læse . Vi skal nu importere den klar til brug virtuelle maskine ind i autotestene. Det er meget enkelt:

Her antages det, at /path/to/win10.qcow2 — det er stien til disken på den virtuelle maskine, jeg har forberedt manuelt. Herefter slutter forberedelsen, og handlingen begynder.
Test nr. 1 — Installation af Dr. Web!
Vi skal først finde ud af, hvordan vi får distributionsfilen af Dr. Web over på den virtuelle maskine. Det kan gøres (for eksempel) med en USB-stick:

Alt, hvad vi skal gøre, er at lægge installeringsprogrammet af Dr. Web i mappen ${DR_WEB_DIR} (den nøjagtige værdi af denne parameter vil vi angive ved lanceringen af testo). Og Testo sørger selv for, at denne installer bliver på USB-sticken.
Nu kan vi begynde at skrive testen. Lad os starte med de simple ting: tænde for den virtuelle maskine (efter oprettelse vil den være slukket), vente på, at skrivebordet vises, tænde for USB-sticken og åbne dens indhold gennem stifinder:

Screenshot på tidspunktet for scenariets afslutning

Man kan selvfølgelig starte installeringsprogrammet lige herfra, fra USB-sticken. Men vi gør det bedre — vi kopierer installeringsprogrammet til skrivebordet og starter installeringsprogrammet derfra. Hvordan kopierer vi filen? Hvordan ville en person gøre det?

Screenshot, mens filen stadig kopieres

Alt har været vellykket! Du kan nu lukke vinduet med flashdrevet og tage det ud:

Screenshot efter lukning af stifinder

Nu, hvor installationsprogrammet er på skrivebordet, skal vi dobbeltklikke på det for at starte installationsprocessen. Selve installationen består af enkle klik og valg, og er ikke særlig interessant:

Screenshot ved installationens afslutning

Vi afslutter vores test med en genstart. Og husk, at vi i slutningen skal tjekke, at der efter genstarten vises et ikon med Dr. Web på skrivebordet:

Screenshot efter genstart

Fremragende arbejde! Vi har automatiseret installationen af antivirusprogrammet Dr. Web! Lad os tage en kort pause og se, hvordan det ser ud i aktion:

Lad os gå videre til test af funktionerne.
Test nr. 2 — Begrænsning af adgang til flashdrev
Den første funktion på listen er begrænsning af adgang til flashdreve. Til dette planlægger vi en ret ligefrem test:
- Lad os prøve at indsætte et flashdrev og oprette en tom fil der — det skulle være muligt. Vi tager flashdrevet ud;
- Vi aktiverer blokeringen af flytbare enheder i Dr. Web Security Center;
- Vi indsætter flashdrevet igen og prøver at slette den oprettede fil. Handlingen skal være blokeret.
Vi opretter et nyt flashdrev, indsætter det i Windows og prøver at oprette en mappe. Hvad kunne være lettere?

Screenshot på tidspunktet for scenariets afslutning

Vi opretter en ny tekstfil via kontekstmenuen i stifinder:

Screenshot efter omdøbning af filen

Vi frakobler flashdrevet, vi gør det sikkert:

Nu har vi bekræftet, at vi kan arbejde med flashdrevet, og så kan vi gå videre med at blokere det i Dr. Webs sikkerhedscenter. For dette skal vi først åbne sikkerhedscentret:

Screenshot med vinduet Security Center

Vi kan bemærke, at åbning af ethvert program i Windows kræver næsten de samme handlinger (klik på søgelinjen, vent på at vinduet med populære programmer vises, indtast navnet på det ønskede program, vent på, at det vises i listen, og til sidst tryk på Enter). Derfor kan denne gruppe af handlinger fremhæves i en makro open_app, hvor navnet på det program, der åbnes, vil blive sendt som parameter:

Denne makro vil vi få brug for senere.
Det første, vi vil gøre, når vi åbner Dr. Webs sikkerhedscenter, er at aktivere muligheden for at lave ændringer:

Lad os nu klikke lidt rundt i menuerne og gå ind i menuen "Konfigurer enhedsadgangsregler". Her vil vi sætte flueben ved punktet "Bloker flytbare medier".

Screenshot af vinduet Enheder og Personlige data

Lad os prøve at åbne USB-stik nu:

Screenshot af fejlmeddelelsen

Sådan har vi langsomt og sikkert skrevet den første test med testningen af en helt håndgribelig funktion i Dr. Web. Det er tid til at tage en pause og meditere over resultaterne af vores arbejde:

Test nr. 3 — Adgangsbegrænsning til mappen mellem programmer
Den grundlæggende idé med dette testcase er at kontrollere Dr. Webs funktionalitet, når adgangen til en bestemt mappe er begrænset. Mere konkret skal vi beskytte mappen mod ændringer, men tilføje et undtagelse for et eksternt program. Selve testen ser således ud:
- Vi installerer et eksternt program på styresystemet, som vi senere vil tilføje en undtagelse for i adgangen til den beskyttede mappe. Dagens eksterne program er filhåndtereren ;
- Vi opretter en mappe med en fil, som vi vil beskytte for enhver pris;
- Vi åbner Dr. Webs sikkerhedscenter og aktiverer beskyttelsen af denne mappe;
- Vi konfigurerer en undtagelse for FreeCommander;
- Vi prøver at slette filen fra den beskyttede mappe på almindelig vis (gennem Windows Stifinder). Det skal ikke lykkes;
- Vi prøver at slette filen gennem FreeCommander. Det skal lykkes.
Puh, meget arbejde. Lad os komme i gang — jo hurtigere vi starter, jo hurtigere afslutter vi.
Punkt et, installationen af FreeCommander adskiller sig ikke væsentligt fra installationen af Dr.Web. Det er den sædvanlige rutine: indsæt USB-stik, start installationsprogrammet og så videre. Lad os springe det over og gå direkte til det interessante.
Hvis du er interesseret i, hvordan man installerer FreeCommander
Lad os starte med det enkle: vi opretter et USB-stik, som vi placerer distributionsfilen for FreeCommander på, og derefter indsætter vi USB-stikket i styresystemet og åbner det:

Derefter er der et par klik for at starte installationen:

Installationen er ikke særlig spændende, vi klikker bare "Næste" overalt, og til sidst glemmer vi ikke at fjerne fluebenene for at se ReadMe og straks starte FreeCommander.

Vi afslutter testen ved at lukke alle vinduer og tage USB-stikket ud.

Færdig!
For at arbejde med Dr. Web opretter vi en ny test dr_web_restrict_program, som vil være afhængig af resultatet af den foregående test win10_install_freecommander.
Vi starter testen med at oprette mappen Protected på skrivebordet:

Screenshot efter oprettelse af mappen

Vi går ind i mappen Protected og opretter en fil der my_file.txt, som vil fungere som den beskyttede fil:

Åh, jeg skulle også have gjort dette til et makro, men nå ja ...
Skærmbillede efter oprettelse af filen

Fremragende, nu skal vi aktivere beskyttelse af mappen. Lad os gå den velkendte vej og åbne Dr. Web, og husk at aktivere ændringsmode. Derefter går vi til menuen "Data Loss Prevention".

Skærmbillede med vinduet Data Loss Prevention

Lad os arbejde lidt med musen og tilføje vores mappe Protected til listen over beskyttede:

Skærmbillede med guiden tilføjelse af beskyttet mappe

Nu skal vi konfigurere undtagelsen for adgang til mappen for FreeCommander. Lidt mere arbejde med musen:

Skærmbillede med tilføjet program- undtagelse

Nu lukker vi forsigtigt alle vinduer og prøver at slette filen "my_file.txt" på den standard måde:

Skærmbillede med besked fra Dr.Web

Men intet lykkedes - så Dr. Web fungerede virkelig! Halvdel af testen er forbi, men vi skal stadig kontrollere, at undtagelsen for FreeCommander fungerer. For at gøre dette åbner vi FreeCommander og går til mappen Protected:

Skærmbillede med vinduet FreeCommander

Og lad os prøve at slette filen my_file.txt:

Skærmbillede efter sletning af filen

Undtagelsen for FreeCommander fungerer!
Godt arbejde! En stor og kompleks testcase - og alt er automatiseret. Lidt afslapning:

Test nr. 4 - Forældre kontrol
Denne sidste testcase for i dag vil vi opbygge som følger:
- Vi opretter en ny bruger MySuperUser;
- Vi logger ind under denne bruger;
- Vi opretter en fil
my_file.txtpå vegne af den nye bruger; - Vi åbner sikkerhedscenteret Dr. Web og aktiverer forældre kontrol for denne fil;
- I forældre kontrollen begrænser vi rettighederne for brugeren MySuperUser til den fil, han selv har oprettet;
- Vi forsøger at læse og slette filen
my_file.txtpå vegne af MySuperUser og ser på resultatet.
Jeg vil ikke give testscenariet her. Det er opbygget på samme måde som de tidligere testcases: vi arbejder aktivt med musen og tastaturet. Men lad os se, hvordan en kørsel af en sådan test vil se ud:

Konklusion
→ Kilderne til alle testene kan du se
Desuden kan du køre alle disse tests på din egen maskine. For dette skal du bruge test script fortolkeren Testo. Du kan downloade det .
Dr. Web viste sig at være en god træning, men jeg vil gerne hente inspiration til fremtidige bedrifter fra jeres ønsker. Skriv gerne i kommentarerne, hvilke autotests I gerne vil se i fremtiden. I den næste artikel vil jeg prøve at automatisere dem, så lad os se, hvad der kommer ud af det.
Kilde: habr.com
