Jeg har automatiseret testningen af Dr. Web. Kan du også?

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

  1. Test for installation af Dr. Web;
  2. Test for begrænsning af adgang til flytbare enheder (USB-sticks);
  3. Test for adskillelse af adgang til mapper mellem programmer;
  4. 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:

  1. Jeg installerede Windows 10 Pro x64;
  2. Under installationen oprettede jeg hovedbrugeren "testo" med adgangskoden "1111";
  3. 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 her. Vi skal nu importere den klar til brug virtuelle maskine ind i autotestene. Det er meget enkelt:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot på tidspunktet for scenariets afslutning

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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?

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot, mens filen stadig kopieres

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot efter lukning af stifinder

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot ved installationens afslutning

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot efter genstart

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Afspil video

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:

  1. Lad os prøve at indsætte et flashdrev og oprette en tom fil der — det skulle være muligt. Vi tager flashdrevet ud;
  2. Vi aktiverer blokeringen af flytbare enheder i Dr. Web Security Center;
  3. 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?

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot på tidspunktet for scenariets afslutning

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Vi opretter en ny tekstfil via kontekstmenuen i stifinder:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot efter omdøbning af filen

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Vi frakobler flashdrevet, vi gør det sikkert:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot med vinduet Security Center

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot af vinduet Enheder og Personlige data

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot af fejlmeddelelsen

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Afspil video

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:

  1. 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 FreeCommander;
  2. Vi opretter en mappe med en fil, som vi vil beskytte for enhver pris;
  3. Vi åbner Dr. Webs sikkerhedscenter og aktiverer beskyttelsen af denne mappe;
  4. Vi konfigurerer en undtagelse for FreeCommander;
  5. Vi prøver at slette filen fra den beskyttede mappe på almindelig vis (gennem Windows Stifinder). Det skal ikke lykkes;
  6. 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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Derefter er der et par klik for at starte installationen:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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.

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Screenshot efter oprettelse af mappen

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Åh, jeg skulle også have gjort dette til et makro, men nå ja ...

Skærmbillede efter oprettelse af filen

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Skærmbillede med vinduet Data Loss Prevention

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Skærmbillede med guiden tilføjelse af beskyttet mappe

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Skærmbillede med tilføjet program- undtagelse

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Skærmbillede med besked fra Dr.Web

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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:

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Skærmbillede med vinduet FreeCommander

Jeg har automatiseret testningen af Dr. Web. Kan du også?

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

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Skærmbillede efter sletning af filen

Jeg har automatiseret testningen af Dr. Web. Kan du også?

Undtagelsen for FreeCommander fungerer!

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

Afspil video

Test nr. 4 - Forældre kontrol

Denne sidste testcase for i dag vil vi opbygge som følger:

  1. Vi opretter en ny bruger MySuperUser;
  2. Vi logger ind under denne bruger;
  3. Vi opretter en fil my_file.txt på vegne af den nye bruger;
  4. Vi åbner sikkerhedscenteret Dr. Web og aktiverer forældre kontrol for denne fil;
  5. I forældre kontrollen begrænser vi rettighederne for brugeren MySuperUser til den fil, han selv har oprettet;
  6. Vi forsøger at læse og slette filen my_file.txt på 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:

Afspil video

Konklusion

→ Kilderne til alle testene kan du se her

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

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

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster