Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Ik heb nooit Dr. Web gebruikt. Ik heb geen idee hoe het werkt. Maar dat heeft me er niet van weerhouden om een aantal geautomatiseerde tests voor het te schrijven (en alleen luiheid hield me tegen om nog een paar honderd andere te schrijven):

  1. Test voor de installatie van Dr. Web;
  2. Test voor het beperken van toegang tot verwijderbare apparaten (USB-sticks);
  3. Test voor het scheiden van toegang tot mappen tussen programma's;
  4. Test voor het scheiden van toegang tot mappen tussen gebruikers in het systeem (ouderlijk toezicht).

Dergelijke en vele andere tests kunnen als warme broodjes worden gebakken, en niet alleen voor Dr. Web, en niet alleen voor antivirusprogramma's. In dit artikel zal ik uitleggen hoe je dit kunt doen.

Voorbereiding

Voor de tests hebben we een virtuele machine met Windows nodig. Ik heb deze handmatig voorbereid door de volgende handelingen uit te voeren:

  1. Ik heb Windows 10 Pro x64 geĆÆnstalleerd;
  2. Tijdens de installatie heb ik de hoofdgebruiker "testo" aangemaakt met het wachtwoord "1111";
  3. Ik heb de autologin voor deze gebruiker ingeschakeld;

Voor de automatisering van de tests zal ik het platform Testo gebruiken. Wat het is en hoe je het gebruikt, kun je lezen hier. Wat we nu nodig hebben, is om de kant-en-klare virtuele machine in de geautomatiseerde tests te importeren. Dit is heel eenvoudig:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Hier wordt ervan uitgegaan dat /path/to/win10.qcow2 — dit is het pad naar de schijf van de virtuele machine die ik handmatig heb voorbereid. Hiermee is de voorbereiding voltooid en begint de actie.

Test ā„–1 — We installeren Dr. Web!

Eerst moeten we de kwestie van het overzetten van de Dr. Web-distributie naar de virtuele machine oplossen. Dit kan (bijvoorbeeld) met een USB-stick:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Alles wat we hoeven te doen, is de Dr. Web-installateur in de map te plaatsen ${DR_WEB_DIR} (de exacte waarde van deze parameter geven we op bij het starten van testo). En Testo zorgt ervoor dat deze installateur op de USB-stick terechtkomt.

Nu kunnen we beginnen met het schrijven van de test. Laten we beginnen met eenvoudige dingen: we schakelen de virtuele machine in (na de creatie is deze uitgeschakeld), we wachten op het verschijnen van het bureaublad, we schakelen de USB-stick in en openen de inhoud ervan via de Verkenner:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot op het moment van afronding van het scenario

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

We kunnen de installateur natuurlijk rechtstreeks vanaf hier, vanaf de USB-stick, starten. Maar laten we het netjes doen — we zullen de installateur naar het bureaublad kopiĆ«ren en de installateur vanaf daar starten. Hoe kopiĆ«ren we het bestand? Hoe zou een mens dit doen?

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot waarop het bestand nog steeds wordt gekopieerd

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Alles is gelukt, de kopie is succesvol voltooid! Je kunt nu het venster met de USB-stick sluiten en deze eruit halen:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot na het sluiten van de Verkenner

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Nu het installatieprogramma op het bureaublad staat, moeten we er twee keer op klikken om het installatieproces te starten. De installatie zelf bestaat uit simpelweg op knoppen en vinkjes klikken en is niet erg interessant:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot op het moment van afronding van de installatie

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

We voltooien onze test met een herstart. En vergeet niet te controleren of er na de herstart een pictogram van Dr. Web op het bureaublad verschijnt:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot na de herstart

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Goed gedaan! We hebben de installatie van antivirus Dr. Web geautomatiseerd! Laten we even pauzeren en bekijken hoe dit in actie eruit ziet:

Video afspelen

Laten we overgaan naar het testen van de functies.

Test nr. 2 - Toegangsbeperking tot USB-sticks

De eerste functie op de lijst is het beperken van toegang tot USB-sticks. Hiervoor plannen we een vrij rechtlijnige test:

  1. We zullen proberen een USB-stick in te voegen en daar een leeg bestand te maken - dat zou moeten werken. We halen de USB-stick eruit;
  2. We schakelen de blokkering van externe apparaten in Dr. Web Security Center in;
  3. We steken opnieuw de USB-stick erin en proberen het aangemaakte bestand te verwijderen. De actie zou geblokkeerd moeten worden.

Laten we een nieuwe USB-stick maken, deze aansluiten op Windows en proberen een map aan te maken. Wat kan er eenvoudiger zijn?

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot op het moment van afronding van het scenario

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

We maken een nieuw tekstbestand aan via het contextmenu van de Verkenner:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot na het hernoemen van het bestand

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

We trekken de USB-stick eruit, doen dit veilig:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Nu zijn we ervan overtuigd dat we met de USB-stick kunnen werken, wat betekent dat we kunnen beginnen met het blokkeren ervan in het Dr. Web-beveiligingscentrum. Hiervoor moeten we eerst het beveiligingscentrum openen:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot van het venster van het Security Center

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

We merken dat de stappen om elke applicatie in Windows te openen in wezen hetzelfde zijn (klik op de zoekbalk, wacht tot het venster met populaire applicaties verschijnt, voer de naam van de interessante applicatie in, wacht tot deze in de lijst verschijnt en druk ten slotte op Enter). Daarom kunnen we deze acties groeperen in een macro open_app, waarbij de naam van de te openen applicatie als parameter wordt doorgegeven:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Deze macro kunnen we nog goed gebruiken.

Het eerste wat we doen nadat we het Dr. Web-beveiligingscentrum hebben geopend, is het inschakelen van de mogelijkheid om wijzigingen aan te brengen:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Laten we nu wat door de menu's klikken en naar het menu "Configure device access rules" gaan. In dit menu zetten we een vinkje bij "Block removable media."

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot van het venster Apparaten en Persoonlijke Gegevens

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Laten we nu proberen de USB-stick te openen:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot van de foutmelding

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Zo hebben we rustig aan onze eerste test geschreven met het testen van een vrij tastbare functie in Dr. Web. Het is tijd om even pauze te nemen en te mediteren terwijl we naar de resultaten van ons werk kijken:

Video afspelen

Test ā„–3 — Toegangsbeheer tussen programma's

Het belangrijkste idee van deze testcase is om de werking van Dr. Web te controleren bij het beperken van de toegang tot een bepaalde map. Concreet moet de map tegen wijzigingen worden beschermd, maar er moet een uitzondering voor een extern programma worden toegevoegd. De test ziet er als volgt uit:

  1. We installeren een extern programma op het besturingssysteem, waarvoor we later een uitzondering bij de toegang tot de beschermde map zullen toevoegen. Vandaag is het externe programma van de dag — de bestandsmanager FreeCommander;
  2. We maken een map met een bestandje aan dat we met alle middelen willen beschermen;
  3. We openen het Dr. Web beveiligingscentrum en schakelen daar de bescherming van deze map in;
  4. We stellen een uitzondering in voor FreeCommander;
  5. We proberen een bestand uit de beschermde map op de gebruikelijke manier te verwijderen (via Verkenner van Windows). Dit mag niet lukken;
  6. We proberen het bestand te verwijderen via FreeCommander. Dit zou moeten lukken.

Poeh, veel werk. Laten we snel beginnen — dan zijn we snel klaar.

Eerste punt, de installatie van FreeCommander verschilt niet veel van de installatie van Dr.Web. Gewone routine: we steken de USB-stick in, starten de installer en ga zo maar door. Laten we dit overslaan en meteen naar het interessante deel gaan.

Als je toch nieuwsgierig bent hoe je FreeCommander installeert

Laten we beginnen met het eenvoudige deel: we maken een USB-stick aan waarop we de distributie van FreeCommander plaatsen, en steken deze vervolgens in het besturingssysteem en openen deze:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Vervolgens een paar klikken om de installatie te starten:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

De installatie is niet erg interessant; we klikken gewoon op "Volgende" overal en vergeten aan het eind niet om de vinkjes voor het bekijken van ReadMe en het onmiddellijk starten van FreeCommander uit te schakelen.

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

We beƫindigen de test door alle vensters te sluiten en de USB-stick eruit te trekken.

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Klaar!

Voor het werk met Dr. Web creƫren we een nieuwe test dr_web_restrict_program, die gebaseerd zal zijn op het resultaat van de vorige test win10_install_freecommander.

Laten we de test beginnen met het creƫren van een map genaamd Protected op het bureaublad:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot na het aanmaken van de map

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

We gaan de map Protected in en maken daar een bestand aan my_file.txt, dat de rol van het te beschermen bestand zal spelen:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Oh, ik had dit ook als macro moeten inrichten, maar goed …

Screenshot na het aanmaken van het bestand

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Geweldig, nu moeten we de mapbeveiliging inschakelen. Volg het vertrouwde pad en open Dr. Web, vergeet niet de wijzigingsmodus in te schakelen. Vervolgens gaan we naar het menu "Data Loss Prevention".

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot met het venster Data Loss Prevention

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Laten we wat met de muis werken en onze map Protected aan de lijst met beschermde items toevoegen:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot met de wizard voor het toevoegen van een beschermde map

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Nu moeten we de toegangsexclusie voor de map instellen voor FreeCommander. Nog wat muiswerk:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot met het toegevoegde uitzondering-programma

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Nu sluiten we voorzichtig alle vensters en proberen we het bestand "my_file.txt" op de standaard manier te verwijderen:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot met de melding van Dr.Web

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Maar het is niet gelukt — dus Dr. Web heeft echt gewerkt! De helft van de test is voorbij, maar we moeten nog controleren of de uitzondering voor FreeCommander werkt. Hiervoor openen we FreeCommander en gaan we naar de map Protected:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot met het venster van FreeCommander

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Laten we proberen het bestand my_file.txt te verwijderen:

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

Screenshot na het verwijderen van het bestand

Ik heb het testen van Dr. Web geautomatiseerd. Kunt u dat ook?

De uitzondering voor FreeCommander werkt!

Fantastisch werk! Een grote en complexe testcase — en alles is geautomatiseerd. Even ontspannen:

Video afspelen

Test ā„–4 — Ouderlijk toezicht

Deze laatste testcase van vandaag zullen we als volgt opbouwen:

  1. We maken een nieuwe gebruiker MySuperUser aan;
  2. We loggen in als deze gebruiker;
  3. We maken een bestand aan my_file.txt namens de nieuwe gebruiker;
  4. We openen het beveiligingscentrum van Dr. Web en schakelen het ouderlijk toezicht in voor dit bestand;
  5. In het ouderlijk toezicht beperken we de rechten van de gebruiker MySuperUser op het door hem gemaakte bestand;
  6. We proberen het bestand my_file.txt te lezen en te verwijderen als MySuperUser en kijken naar het resultaat.

Ik zal hier het testschema niet geven. Het is opgebouwd volgens hetzelfde principe als de eerdere tests: we werken actief met de muis en het toetsenbord. Daarbij maakt het niet uit wat we automatiseren — of het nu Dr.Web is of het aanmaken van een nieuwe gebruiker in Windows. Maar laten we toch eens bekijken hoe zo'n test er uit zou zien:

Video afspelen

Conclusie

→ De bronnen van alle tests kunt u bekijken hier

Bovendien kunt u al deze tests op uw eigen machine uitvoeren. Hiervoor heeft u de interpreter voor testscripts Testo nodig. U kunt het downloaden hier.

Dr. Web was een goede oefening, maar ik zou de inspiratie voor toekomstige prestaties graag uit uw wensen halen. Laat uw suggesties in de reacties achter over welke autotests u in de toekomst zou willen zien. In het volgende artikel zal ik proberen ze te automatiseren, laten we kijken wat daarvan komt.

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster