
Non ho mai usato Dr. Web. Non ho idea di come funzioni. Ma ciò non mi ha impedito di scrivere una serie di test automatici (e solo la pigrizia mi ha fermato dal scriverne altri cento):
- Test di installazione di Dr. Web;
- Test di limitazione dell'accesso a dispositivi rimovibili (chiavette USB);
- Test di differenziazione dell'accesso a una cartella tra i programmi;
- Test di differenziazione dell'accesso a una cartella tra gli utenti del sistema (controllo genitori).
Test di questo tipo e molti altri possono essere creati come se fossero pasticcini, non solo per Dr. Web, ma anche per altri antivirus. In questo articolo spiegherò come farlo.
Preparazione
Per i test avremo bisogno di una macchina virtuale con Windows. L'ho preparata manualmente eseguendo le seguenti operazioni:
- In realtà, ho installato Windows 10 Pro x64;
- Durante l'installazione ho creato l'utente principale "testo" con la password "1111";
- Ho abilitato l'accesso automatico per questo utente;
Per automatizzare i test userò la piattaforma Testo. Cos'è e come usarla puoi leggerlo . Ora ci serve importare la macchina virtuale pronta nei test automatici. È molto semplice farlo:

Qui si presume che /path/to/win10.qcow2 — sia il percorso del disco della macchina virtuale che ho preparato manualmente. Qui termina la preparazione e inizia l'azione.
Test n. 1 — Installiamo Dr. Web!
Per prima cosa dobbiamo risolvere la questione del trasferimento del pacchetto di installazione di Dr. Web sulla macchina virtuale. Questo può essere fatto (ad esempio) tramite una chiavetta USB:

Tutto ciò che dobbiamo fare è mettere l'installer di Dr. Web nella cartella ${DR_WEB_DIR} (il valore esatto di questo parametro lo specificheremo all'avvio di testo). E Testo si occuperà di far sì che questo installatore si trovi sulla chiavetta.
Ora possiamo iniziare a scrivere il test. Per ora iniziamo con cose semplici: accendiamo la macchina virtuale (dopo la creazione sarà spenta), aspettiamo che appaia il desktop, colleghiamo la chiavetta e apriamo il suo contenuto tramite Esplora risorse:

Screenshot al termine dello scenario

Possiamo, ovviamente, avviare l'installer direttamente da qui, dalla chiavetta. Ma faremo tutto per bene: copieremo l'installer sul desktop e lo avvieremo da lì. Come facciamo a copiare il file? Come lo farebbe una persona?

Screenshot, dove è ancora in corso la copia del file

Tutto, la copia è stata completata con successo! Ora puoi chiudere la finestra con la chiavetta USB e rimuoverla:

Screenshot dopo la chiusura di Explorer

Ora che l'installer è sulla scrivania, dobbiamo fare doppio clic su di esso per avviare il processo di installazione. L'installazione stessa consiste semplicemente nel cliccare su pulsanti e selettori e non presenta particolare interesse:

Screenshot al termine dell'installazione

Concludiamo il nostro test con un riavvio. Alla fine, non dimentichiamo di controllare che dopo il riavvio l'icona di Dr. Web sia apparsa sul desktop:

Screenshot dopo il riavvio

Ottimo lavoro! Abbiamo automatizzato l'installazione dell'antivirus Dr. Web! Facciamo una piccola pausa e vediamo come si presenta in azione:

Passiamo alla prova delle funzionalità.
Test n. 2 — Limitazione dell'accesso alle chiavette USB
La prima funzionalità della lista è la limitazione dell'accesso alle chiavette USB. Per questo pianificheremo un test piuttosto semplice:
- Proviamo a inserire la chiavetta e creare un file vuoto — dovrebbe funzionare. Rimuoviamo la chiavetta;
- Attiviamo il blocco dei dispositivi rimovibili in Dr. Web Security Center;
- Inseriamo nuovamente la chiavetta e proviamo a eliminare il file creato. L'azione dovrebbe essere bloccata.
Creiamo una nuova chiavetta, inseriamola in Windows e proviamo a creare una cartella. Cosa può esserci di più semplice?

Screenshot al termine dello scenario

Creiamo un nuovo file di testo tramite il menu contestuale di Explorer:

Screenshot dopo la rinomina del file

Scolleghiamo la chiavetta, facendo questo in modo sicuro:

Ora abbiamo confermato che è possibile lavorare con la chiavetta, quindi possiamo procedere a bloccarla nel centro sicurezza Dr. Web. Per fare ciò, dobbiamo prima aprire il centro sicurezza:

Screenshot finestra Security Center

Possiamo notare che per aprire qualsiasi applicazione in Windows è necessario eseguire praticamente le stesse azioni (fare clic sulla barra di ricerca, attendere la comparsa della finestra con le applicazioni più popolari, digitare il nome dell'applicazione di interesse, attendere che appaia nell'elenco e infine premere Invio). Pertanto, questo insieme di azioni può essere evidenziato in un macro open_app, al quale verrà passato come parametro il nome dell'applicazione da aprire:

Questo macro ci sarà ancora utile.
La prima cosa che faremo aprendo il centro sicurezza Dr. Web è attivare la possibilità di apportare modifiche:

Ora faremo qualche clic nei menu e entreremo nel menu "Configura le regole di accesso al dispositivo". In questo menu metteremo un segno di spunta all'opzione "Blocca i supporti removibili".

Screenshot della finestra Dispositivi e Dati Personali

Proviamo ad aprire ora la chiavetta USB:

Screenshot del messaggio di errore

Ecco come, gradualmente, abbiamo scritto il primo test per testare una funzionalità abbastanza tangibile in Dr. Web. È tempo di fare una pausa e meditare, guardando i risultati del nostro lavoro:

Test n. 3 - Limitazione dell'accesso a una cartella tra i programmi
L'idea principale di questo test è verificare il funzionamento di Dr. Web quando si limita l'accesso a una determinata cartella. In particolare, è necessario proteggere la cartella da eventuali modifiche, ma aggiungere un'eccezione per un programma esterno. In effetti, il test stesso appare come segue:
- Installeremo un programma esterno sul sistema operativo, per il quale aggiungeremo in seguito un'eccezione per l'accesso alla cartella protetta. Oggi il programma esterno del giorno è il gestore di file ;
- Creiamo una cartella con un file che proteggeremo con tutte le nostre forze;
- Apriamo il centro di sicurezza Dr. Web e attiviamo la protezione per questa cartella;
- Imposteremo un'eccezione per FreeCommander;
- Proveremo a eliminare il file dalla cartella protetta nel modo normale (tramite Esplora Risorse di Windows). Non dovrebbe funzionare;
- Proveremo a eliminare il file tramite FreeCommander. Dovrebbe funzionare.
Uff, tanto lavoro. Iniziamo presto - finiremo presto.
Punto primo, l'installazione di FreeCommander non si discosta molto dall'installazione di Dr.Web. Routine normale: inseriamo la chiavetta, avviamo l'installer e così via. Saltiamo questo e passiamo direttamente alla parte interessante.
Se sei comunque curioso su come installare FreeCommander
Iniziamo con semplice: creiamo una chiavetta USB in cui metteremo il pacchetto di installazione di FreeCommander e poi nel test collegheremo la chiavetta al sistema operativo e la apriremo:

Quindi alcuni clic per avviare l'installazione:

L'installazione non è molto interessante, clicchiamo semplicemente su "Avanti" ovunque e alla fine non dimentichiamo di disattivare le spunte per la visualizzazione di ReadMe e l'avvio immediato di FreeCommander

Concludiamo il test chiudendo tutte le finestre e scollegando la chiavetta

Fatto!
Per lavorare con Dr. Web creeremo un nuovo test dr_web_restrict_program, che si baserà sui risultati del test precedente win10_install_freecommander.
Iniziamo il test creando la cartella Protetta sul desktop:

Screenshot dopo la creazione della cartella

Entriamo nella cartella Protetta e creiamo lì un file my_file.txt, che giocherà il ruolo di file protetto:

Oh, sarebbe stato meglio farlo anche come macro, ma va bene così ...
Screenshot dopo la creazione del file

Ottimo, ora dobbiamo attivare la protezione della cartella. Seguiamo il percorso abituale e apriamo Dr. Web, ricordiamo di attivare la modalità modifiche. Dopodiché, passiamo al menu "Data Loss Prevention".

Screenshot con la finestra di Data Loss Prevention

Lavoriamo un po' con il mouse e aggiungiamo la nostra cartella Protected alla lista di quelle protette:

Screenshot con la procedura guidata per l'aggiunta di una cartella protetta

Ora dobbiamo configurare un'eccezione per l'accesso alla cartella per FreeCommander. Ancora un po' di lavoro con il mouse:

Screenshot con il programma aggiunto come eccezione

Adesso chiudiamo con attenzione tutte le finestre e proviamo a eliminare il file "my_file.txt" nel modo standard:

Screenshot con il messaggio di Dr.Web

Ma non è andata, quindi Dr. Web ha davvero funzionato! Metà del test è finita, ma dobbiamo ancora verificare se l'eccezione per FreeCommander funziona. A tal fine, apriamo FreeCommander e andiamo alla cartella Protected:

Screenshot con la finestra di FreeCommander

Proviamo a eliminare il file my_file.txt:

Screenshot dopo l'eliminazione del file

L'eccezione per FreeCommander funziona!
Ottimo lavoro! Un test case grande e complesso, e tutto automatizzato. Un po' di relax:

Test n. 4 — Controllo genitori
Questo ultimo test case per oggi lo costruiremo nel seguente modo:
- Creeremo un nuovo utente MySuperUser;
- Effettueremo il login con questo utente;
- Creeremo un file
my_file.txta nome del nuovo utente; - Apriremo il centro sicurezza di Dr. Web e attiveremo il controllo genitori per questo file;
- Nel controllo genitori limiteremo i diritti dell'utente MySuperUser sul file creato da lui;
- Proveremo a leggere ed eliminare il file
my_file.txta nome di MySuperUser e vedremo il risultato.
Non fornirò qui lo scenario del test. Si basa sullo stesso principio dei test precedenti: lavoriamo attivamente con il mouse e la tastiera. Non ci interessa cosa stiamo automatizzando — sia Dr.Web che la creazione di un nuovo utente in Windows. Ma vediamo comunque come sarà l'esecuzione di un test del genere:

Conclusione
→ Puoi vedere il codice sorgente di tutti i test
Inoltre, puoi eseguire tutti questi test sul tuo computer. Ti occorrerà l'interprete degli scenari di test Testo. Puoi scaricarlo .
Dr. Web si è rivelato un buon allenamento, ma vorrei attingere ispirazione per le mie prossime imprese dai vostri suggerimenti. Scrivete nei commenti le vostre proposte su quali autotest vorreste vedere in futuro. Nel prossimo articolo cercherò di automatizzarli, vediamo cosa ne verrà fuori.
Fonte: habr.com
