Ik automatiseerde het testen van Dr. Web. Kun je?

Ik automatiseerde het testen van Dr. Web. Kun je?

Ik heb nooit gebruik gemaakt van dr. Web. Ik heb geen idee hoe het werkt. Maar dit weerhield mij er niet van om er een aantal autotests voor te schrijven (en alleen luiheid weerhield mij ervan er nog honderd te schrijven):

  1. Installatietest Dr. Web;
  2. Test voor het beperken van de toegang tot verwijderbare apparaten (flashdrives);
  3. Test voor het beperken van de toegang tot een map tussen programma's;
  4. Test voor het beperken van de toegang tot een directory tussen systeemgebruikers (ouderlijk toezicht).

Deze en vele andere tests kunnen als zoete broodjes worden verkocht, en niet alleen in relatie tot Dr. Web, en niet alleen met betrekking tot antivirussen. In dit artikel vertel ik je hoe je dit kunt doen.

Opleiding

Voor tests hebben we een virtuele machine met Windows aan boord nodig. Ik heb het handmatig voorbereid door er de volgende manipulaties op uit te voeren:

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

Om tests te automatiseren, maak ik gebruik van het Testo-platform. Wat is het en hoe u het kunt gebruiken, kunt u lezen hier. We moeten nu de voltooide virtuele machine in autotests importeren. Het is heel gemakkelijk om dit te doen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Hier wordt aangenomen dat /path/to/win10.qcow2 - dit is het pad naar de schijf van de virtuele machine die ik handmatig heb voorbereid. Hier eindigt de voorbereiding en begint de actie.

Test nr. 1 - Installeer Dr. Web!

Eerst moeten we het probleem van het overbrengen van de Dr.-distributiekit oplossen. Web naar een virtuele machine. U kunt dit (bijvoorbeeld) doen met behulp van een flashstation:

Ik automatiseerde het testen van Dr. Web. Kun je?

Het enige wat we hoeven te doen is de Dr. Web naar papa ${DR_WEB_DIR} (we zullen de exacte waarde van deze parameter instellen bij het starten testo). En Testo zorgt er zelf voor dat dit installatieprogramma op de flashdrive terechtkomt.

Nu kunnen we beginnen met het daadwerkelijk schrijven van de test. Laten we de test voorlopig met eenvoudige dingen beginnen: schakel de virtuele machine in (na het maken wordt deze uitgeschakeld), wacht tot het bureaublad verschijnt, schakel de flashdrive in en open de inhoud ervan via Verkenner:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot aan het einde van het scenario

Ik automatiseerde het testen van Dr. Web. Kun je?

U kunt het installatieprogramma uiteraard rechtstreeks vanaf hier uitvoeren, vanaf de flashdrive zelf. Maar we kunnen beter alles eerlijk doen: we kopiëren het installatieprogramma naar het bureaublad en voeren het vanaf daar uit. Hoe kunnen we het bestand kopiëren? Hoe zou een mens dit doen?

Ik automatiseerde het testen van Dr. Web. Kun je?

Schermafbeelding van het bestand dat nog steeds wordt gekopieerd

Ik automatiseerde het testen van Dr. Web. Kun je?

Dat is alles, het kopiëren is met succes voltooid! Nu kunt u het venster sluiten met de flashdrive en deze verwijderen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Schermafbeelding na het afsluiten van Explorer

Ik automatiseerde het testen van Dr. Web. Kun je?

Nu het installatieprogramma op het bureaublad staat, moeten we erop dubbelklikken om het installatieproces te starten. En de installatie zelf komt neer op het simpelweg klikken op knoppen en selectievakjes en is niet zo interessant:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot aan het einde van de installatie

Ik automatiseerde het testen van Dr. Web. Kun je?

We voltooien onze test met een herstart. En vergeet aan het einde niet te controleren of er na het opnieuw opstarten een pictogram met Dr. op het bureaublad verscheen. Web:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot na opnieuw opstarten

Ik automatiseerde het testen van Dr. Web. Kun je?

Goed werk! We hebben de installatie van Dr. antivirus geautomatiseerd. Web! Laten we een pauze nemen en kijken hoe het er qua dynamiek uitziet:

Laten we verder gaan met het testen van functies.

Test nr. 2 - Beperking van de toegang tot flashdrives

De eerste functie op de lijst is het beperken van de toegang tot flashdrives. Laten we hiervoor een vrij eenvoudige test plannen:

  1. Laten we proberen een USB-flashstation te plaatsen en daar een leeg bestand te maken - het zou moeten werken. Laten we de flashdrive eruit halen;
  2. Laten we het blokkeren van verwijderbare apparaten inschakelen in Dr. Webbeveiligingscentrum;
  3. Laten we de USB-flashdrive opnieuw plaatsen en proberen het gemaakte bestand te verwijderen. De actie moet worden geblokkeerd.

Laten we een nieuwe flashdrive maken, deze in Windows plaatsen en proberen een map te maken. Wat kan eenvoudiger?

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot aan het einde van het scenario

Ik automatiseerde het testen van Dr. Web. Kun je?

Maak een nieuw tekstbestand via het contextmenu van de Verkenner:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot na het hernoemen van het bestand

Ik automatiseerde het testen van Dr. Web. Kun je?

We ontkoppelen de flashdrive, doen het veilig:

Ik automatiseerde het testen van Dr. Web. Kun je?

Nu zijn we ervan overtuigd dat de flashdrive gebruikt kan worden, wat betekent dat we deze kunnen gaan blokkeren in het Dr. Security Center. Web. Om dit te doen, moet u eerst het Beveiligingscentrum openen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Schermafbeelding van het Security Center-venster

Ik automatiseerde het testen van Dr. Web. Kun je?

We kunnen opmerken dat u, om een ​​applicatie in Windows te openen, vrijwel dezelfde stappen moet uitvoeren (klik op de zoekbalk, wacht tot het venster met populaire applicaties verschijnt, voer de naam van de gewenste applicatie in, wacht tot deze verschijnt in de lijst en druk ten slotte op Enter). Daarom kan deze groep acties worden gescheiden in een macro open_app, waaraan de naam van de te openen applicatie als parameter wordt doorgegeven:

Ik automatiseerde het testen van Dr. Web. Kun je?

Deze macro zal later nuttig voor ons zijn.

Het eerste wat we gaan doen is het Dr. Security Center openen. Web - schakel de mogelijkheid in om wijzigingen aan te brengen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Laten we nu een beetje op de menu's klikken en naar het menu "Apparaattoegangsregels configureren" gaan. Vink in dit menu het vakje "Verwisselbare media blokkeren" aan.

Ik automatiseerde het testen van Dr. Web. Kun je?

Schermafbeelding van het venster Apparaten en persoonlijke gegevens

Ik automatiseerde het testen van Dr. Web. Kun je?

Laten we nu proberen de flashdrive te openen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot van de foutmelding

Ik automatiseerde het testen van Dr. Web. Kun je?

Zo schreven we beetje bij beetje de eerste test waarin we een heel tastbaar kenmerk uit de Dr. Web. Het is tijd om een ​​pauze te nemen en te mediteren, kijkend naar de resultaten van onze inspanningen:

Test nr. 3 - Differentiëren van toegang tot een directory tussen programma's

Het belangrijkste idee van deze testcase is om het werk van Dr. Web bij het beperken van de toegang tot een specifieke map. Concreet moet u de map beschermen tegen eventuele wijzigingen, maar een uitzondering toevoegen voor een programma van derden. Eigenlijk ziet de test zelf er als volgt uit:

  1. We zullen een programma van derden op het besturingssysteem installeren, waarvoor we even later een uitzondering zullen toevoegen bij het openen van een beveiligde map. Het programma van vandaag van derden is bestandsbeheer FreeCommander;
  2. We maken een map aan met een bestand, dat we met alle macht zullen beschermen;
  3. Laten we het Dr. Beveiligingscentrum openen. Web en schakel daar de bescherming voor deze map in;
  4. Laten we een uitzondering instellen voor FreeCommander;
  5. Laten we proberen een bestand op de gebruikelijke manier (via Windows Verkenner) uit een beveiligde map te verwijderen. Het zou niet moeten werken;
  6. Laten we proberen het bestand te verwijderen met FreeCommander. Het zou moeten werken.

Wauw, veel werk. Hoe eerder we beginnen, hoe eerder we klaar zijn.

Punt één: het installeren van FreeCommander verschilt niet veel van het installeren van Dr.Web. De gebruikelijke routine: plaats een flashstation, start het installatieprogramma, enzovoort. Laten we dit overslaan en meteen naar de interessante dingen gaan.

Als u nog steeds geïnteresseerd bent in het installeren van FreeCommander

Laten we beginnen met iets eenvoudigs: maak een flashdrive waarin we de FreeCommander-distributiekit plaatsen, en vervolgens plaatsen we in de test de flashdrive in het besturingssysteem en openen deze:

Ik automatiseerde het testen van Dr. Web. Kun je?

Vervolgens een paar klikken om de installatie te starten:

Ik automatiseerde het testen van Dr. Web. Kun je?

De installatie is niet erg interessant, klik gewoon overal op "Volgende" en vergeet aan het einde niet de selectievakjes uit te schakelen om ReadMe te bekijken en FreeCommander onmiddellijk te starten

Ik automatiseerde het testen van Dr. Web. Kun je?

We ronden de test af door alle vensters te sluiten en de flashdrive te verwijderen.

Ik automatiseerde het testen van Dr. Web. Kun je?

Klaar!

Om samen te werken met dr. Web laten we een nieuwe test maken dr_web_restrict_program, die zal vertrouwen op het resultaat van de vorige test win10_install_freecommander.

Laten we de test starten door de beschermde map op het bureaublad te maken:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot na het aanmaken van de map

Ik automatiseerde het testen van Dr. Web. Kun je?

Ga naar de beschermde map en maak daar een bestand my_file.txt, die de rol van het beveiligde bestand zal spelen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Oh, ik zou dit ook in de vorm van een macro moeten doen, maar ach...

Screenshot na het aanmaken van het bestand

Ik automatiseerde het testen van Dr. Web. Kun je?

Geweldig, nu moet je mapbeveiliging inschakelen. We volgen het bekende pad en openen Dr. Web, vergeet niet de wijzigingsmodus in te schakelen. Ga vervolgens naar het menu “Gegevensverlies voorkomen”.

Ik automatiseerde het testen van Dr. Web. Kun je?

Schermafbeelding van het venster Preventie van gegevensverlies

Ik automatiseerde het testen van Dr. Web. Kun je?

Laten we een beetje met de muis werken en onze Beschermde map toevoegen aan de lijst met beschermde mappen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Schermafbeelding van de wizard Beschermde map toevoegen

Ik automatiseerde het testen van Dr. Web. Kun je?

Welnu, nu moeten we een uitzondering instellen voor toegang tot de map voor FreeCommander. Nog wat muiswerk:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot met toegevoegd uitzonderingsprogramma

Ik automatiseerde het testen van Dr. Web. Kun je?

Sluit nu zorgvuldig alle vensters en probeer het bestand “my_file.txt” op de standaard manier te verwijderen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot met een bericht van Dr.Web

Ik automatiseerde het testen van Dr. Web. Kun je?

Maar niets werkte - dat betekent dat Dr. Web werkte echt! De helft van de test is voorbij, maar we moeten nog controleren of de uitzondering voor FreeCommander zal werken. Open hiervoor FreeCommander en ga naar de map Protected:

Ik automatiseerde het testen van Dr. Web. Kun je?

Schermafbeelding van het FreeCommander-venster

Ik automatiseerde het testen van Dr. Web. Kun je?

Laten we proberen het bestand my_file.txt te verwijderen:

Ik automatiseerde het testen van Dr. Web. Kun je?

Screenshot na het verwijderen van het bestand

Ik automatiseerde het testen van Dr. Web. Kun je?

De FreeCommander-uitzondering werkt!

Goed werk! Een grote en complexe testcase – en alles is geautomatiseerd. Een beetje ontspannen:

Test #4 - Ouderlijk toezicht

Deze laatste testcase voor vandaag bouwen we als volgt op:

  1. Laten we een nieuwe gebruiker MySuperUser aanmaken;
  2. Laten we inloggen onder deze gebruiker;
  3. Laten we een bestand maken my_file.txt namens een nieuwe gebruiker;
  4. Laten we het Dr. Beveiligingscentrum openen. Web en schakel ouderlijk toezicht in voor dit bestand;
  5. In het kader van ouderlijk toezicht beperken wij de rechten van de gebruiker MySuperUser tot het door hem aangemaakte bestand;
  6. Laten we proberen het bestand te lezen en te verwijderen my_file.txt namens MySuperUser en bekijk het resultaat.

Ik zal het testscript hier niet geven. Het is gebouwd op hetzelfde principe als eerdere tests: we werken actief met de muis en het toetsenbord. Tegelijkertijd maakt het ons niet uit wat we automatiseren - of het nu Dr.Web is of een nieuwe gebruiker in Windows aanmaakt. Maar laten we toch eens kijken hoe het uitvoeren van zo’n test eruit zou zien:

Conclusie

→ Je kunt de bronnen van alle tests bekijken hier

Bovendien kunt u al deze tests op uw eigen machine uitvoeren. Hiervoor heeft u de Testo-testscriptinterpreter nodig. Je kunt het downloaden hier.

dr. Het web bleek een goede workout, maar ik zou graag inspiratie willen putten voor verdere exploits uit uw wensen. Schrijf in de reacties uw suggesties over welke autotests u in de toekomst graag zou willen zien. In het volgende artikel zal ik proberen ze te automatiseren, laten we kijken wat er van komt.

Bron: www.habr.com

Voeg een reactie