
Nunca usei o Dr. Web. Não tenho ideia de como ele funciona. Mas isso não me impediu de escrever uma série de autotestes (e apenas a preguiça me impediu de escrever mais uma centena deles):
- Teste de instalação do Dr. Web;
- Teste de restrição de acesso a dispositivos removíveis (pendrives);
- Teste de restrição de acesso a diretórios entre programas;
- Teste de restrição de acesso a diretórios entre usuários do sistema (controle parental).
Esses e muitos outros testes podem ser feitos como pãezinhos quentes, e não só em relação ao Dr. Web, e não só em relação a antivírus. Neste artigo, vou explicar como fazer isso.
Preparação
Para os testes, precisamos de uma máquina virtual com Windows. Eu a preparei manualmente, realizando as seguintes operações:
- Na verdade, instalei o Windows 10 Pro x64;
- Durante a instalação, criei um usuário principal chamado "testo" com a senha "1111";
- Ativei o login automático para esse usuário;
Para automatizar os testes, vou usar a plataforma Testo. O que é isso e como usá-la pode ser lido . Agora, precisamos importar a máquina virtual pronta para os autotestes. Isso é muito simples:

Aqui assume-se que /path/to/win10.qcow2 — é o caminho para o disco da máquina virtual que preparei manualmente. A preparação termina aqui e a ação começa.
Teste nº 1 — Instalando o Dr. Web!
Para começar, precisamos resolver a questão de transferir o instalador do Dr. Web para a máquina virtual. Isso pode ser feito (por exemplo) com um pen drive:

Tudo o que precisamos fazer é colocar o instalador do Dr. Web na pasta ${DR_WEB_DIR} (o valor exato desse parâmetro será definido ao iniciar testo). E o Testo cuidará para que esse instalador esteja no pen drive.
Agora podemos começar, de fato, a escrever o teste. Por enquanto, vamos começar com coisas simples: ligaremos a máquina virtual (depois de criada, ela estará desligada), aguardaremos a aparição da área de trabalho, ativaremos o pen drive e abriremos seu conteúdo através do explorador:

Captura de tela no momento de conclusão do roteiro

Podemos, é claro, iniciar o instalador direto daqui, do próprio pen drive. Mas faremos tudo de forma correta — vamos copiar o instalador para a área de trabalho e executá-lo a partir daí. Como podemos copiar o arquivo? Como faria uma pessoa?

Captura de tela enquanto o arquivo ainda está sendo copiado

Tudo pronto, a cópia foi concluída com sucesso! Agora você pode fechar a janela com o pen drive e removê-lo:

Captura de tela após o fechamento do explorador

Agora que o instalador está na área de trabalho, precisamos clicar duas vezes nele para iniciar o processo de instalação. A instalação em si consiste apenas em clicar em botões e marcar caixas de seleção, não representa grande interesse:

Captura de tela ao final da instalação

Concluímos nosso teste reiniciando o sistema. E no final, não esqueçamos de verificar se o ícone do Dr. Web apareceu na área de trabalho após a reinicialização:

Captura de tela após a reinicialização

Ótimo trabalho! Automatizamos a instalação do antivírus Dr. Web! Vamos fazer uma pausa e ver como isso funciona em ação:

Vamos passar para o teste das funcionalidades.
Teste nº 2 — Restrição de acesso a pen drives
A primeira funcionalidade da lista é a restrição de acesso a pen drives. Para isso, planejaremos um teste bastante direto:
- Tentaremos conectar um pen drive e criar um arquivo vazio — deve funcionar. Retiraremos o pen drive;
- Ativaremos a bloqueio de dispositivos removíveis no Dr. Web Security Center;
- Conectaremos o pen drive novamente e tentaremos excluir o arquivo criado. A ação deve ser bloqueada.
Vamos criar um novo pen drive, conectá-lo ao Windows e tentar criar uma pasta. O que pode ser mais fácil?

Captura de tela no momento de conclusão do roteiro

Criamos um novo arquivo de texto através do menu de contexto do explorador:

Captura de tela após renomear o arquivo

Desconectamos o pen drive, fazemos isso de forma segura:

Agora verificamos que é possível trabalhar com o pen drive, portanto, podemos começar a bloqueá-lo no centro de segurança do Dr. Web. Para isso, primeiro, precisamos abrir o centro de segurança:

Captura de tela da janela do Security Center

Podemos notar que, para abrir qualquer aplicativo no Windows, é preciso realizar praticamente as mesmas ações (clicar na barra de pesquisa, esperar a janela com os aplicativos populares aparecer, digitar o nome do aplicativo de interesse, aguardar até que ele apareça na lista e, finalmente, pressionar Enter). Portanto, esse grupo de ações pode ser destacado em um macro open_app, no qual o nome do aplicativo a ser aberto será passado como parâmetro:

Esse macro ainda será útil para nós.
A primeira coisa que faremos ao abrir o centro de segurança do Dr. Web é ativar a capacidade de fazer alterações:

Agora vamos clicar em alguns menus e acessar o menu "Configurar regras de acesso a dispositivos". Neste menu, marcaremos a opção "Bloquear mídia removível".

Captura de tela da janela Dispositivos e Dados Pessoais

Vamos tentar abrir o pen drive agora:

Captura de tela da mensagem de erro

Assim, pouco a pouco, escrevemos nosso primeiro teste testando uma funcionalidade bastante tangível no Dr. Web. É hora de fazer uma pausa e meditar sobre os resultados do nosso trabalho:

Teste nº 3 — Restrição de acesso à pasta entre programas
A ideia principal deste caso de teste é verificar o funcionamento do Dr. Web ao restringir o acesso a uma pasta específica. Concretamente, precisamos proteger a pasta contra qualquer alteração, mas adicionar uma exceção para algum programa de terceiros. Na verdade, o teste se apresenta da seguinte maneira:
- Instalaremos um programa de terceiros no sistema operacional, para o qual adicionaremos uma exceção mais tarde ao acessar a pasta protegida. Hoje, o programa de terceiros é o gerenciador de arquivos ;
- Vamos criar uma pasta com um arquivo que protegeremos com todas as forças;
- Abriremos o centro de segurança do Dr. Web e ativaremos a proteção desta pasta;
- Configurar uma exceção para o FreeCommander;
- Vamos tentar excluir o arquivo da pasta protegida pelo método convencional (pelo Windows Explorer). Não deve funcionar;
- Vamos tentar excluir o arquivo pelo FreeCommander. Deve funcionar.
Ufa, muito trabalho. Vamos começar rápido — e assim terminamos mais rápido.
O primeiro ponto, a instalação do FreeCommander não é muito diferente da instalação do Dr.Web. A rotina habitual: inserimos o pen drive, iniciamos o instalador e assim por diante. Vamos pular isso e ir direto ao interessante.
Se você está mesmo interessado em como instalar o FreeCommander
Começaremos pelo simples: criaremos um pen drive onde colocaremos o instalador do FreeCommander e depois, no teste, inseriremos o pen drive no sistema operacional e o abriremos:

Em seguida, alguns cliques para iniciar a instalação:

A instalação não é muito interessante, basta clicar em "Avançar" em todos os lugares, e no final não se esqueça de desmarcar as opções de visualização do ReadMe e de iniciar o FreeCommander imediatamente.

Finalizamos o teste, fechando todas as janelas e removendo o pen drive.

Pronto!
Para trabalhar com o Dr. Web, criaremos um novo teste dr_web_restrict_program, que se baseará no resultado do teste anterior win10_install_freecommander.
Vamos começar o teste criando a pasta Protected na área de trabalho:

Captura de tela após a criação da pasta

Entramos na pasta Protected e criamos um arquivo lá my_file.txt, que irá atuar como o arquivo protegido:

Ah, deveria ter feito isso como um macro também, mas tudo bem ...
Captura de tela após a criação do arquivo

Ótimo, agora precisamos ativar a proteção da pasta. Vamos pelo caminho conhecido e abrimos o Dr. Web, não se esqueça de ativar o modo de alterações. Em seguida, vamos ao menu "Prevenção de Perda de Dados".

Captura de tela da janela de Prevenção de Perda de Dados

Vamos trabalhar um pouco com o mouse e adicionar nossa pasta Protected à lista de pastas protegidas:

Captura de tela do assistente para adicionar uma pasta protegida

Agora precisamos configurar a exceção de acesso à pasta para o FreeCommander. Mais um pouco de trabalho com o mouse:

Captura de tela do programa de exceção adicionado

Agora fechemos cuidadosamente todas as janelas e tentemos excluir o arquivo "my_file.txt" da maneira padrão:

Captura de tela da mensagem do Dr.Web

Mas não funcionou — então o Dr. Web realmente fez seu trabalho! Metade do teste está para trás, mas ainda precisamos verificar se a exceção para o FreeCommander funcionará. Para isso, abra o FreeCommander e vá para a pasta Protected:

Captura de tela da janela do FreeCommander

Vamos tentar excluir o arquivo my_file.txt:

Captura de tela após a exclusão do arquivo

A exceção para o FreeCommander está funcionando!
Ótimo trabalho! Um grande e complexo caso de teste — tudo automatizado. Um pouco de relaxamento:

Teste nº 4 — Controle dos Pais
Este último caso de teste do dia será construído da seguinte forma:
- Criaremos um novo usuário MySuperUser;
- Faremos login como este usuário;
- Criaremos um arquivo
my_file.txtem nome do novo usuário; - Abriremos o centro de segurança do Dr. Web e ativaremos o controle parental para este arquivo;
- No controle parental, limitaremos os direitos do usuário MySuperUser sobre o arquivo que ele mesmo criou;
- Tentaremos ler e excluir o arquivo
my_file.txtem nome de MySuperUser e veremos o resultado.
Não vou apresentar aqui o roteiro do teste. Ele segue o mesmo princípio que os testes anteriores: trabalhamos ativamente com o mouse e teclado. Nesse processo, não importa o que estamos automatizando — seja o Dr.Web ou a criação de um novo usuário no Windows. Mas vamos ver como será a execução deste teste:

Conclusão
→ Você pode ver os fontes de todos os testes
Além disso, você pode executar todos esses testes na sua máquina. Para isso, você precisará do interpretador de roteiros de teste Testo. Você pode baixá-lo .
Dr. Web foi um bom treinamento, mas gostaria de encontrar inspiração para futuros desafios nas suas sugestões. Deixe nos comentários suas propostas de testes automatizados que você gostaria de ver no futuro. No próximo artigo, tentarei automatizá-los e veremos como isso vai se desenrolar.
Fonte: habr.com
