He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Nunca he usado Dr. Web. No tengo ni idea de cómo funciona. Pero eso no me impidió escribir una serie de pruebas automatizadas para él (y solo la pereza me impidió escribir un centenar más):

  1. Prueba de instalación de Dr. Web;
  2. Prueba de restricción de acceso a dispositivos extraíbles (memorias USB);
  3. Prueba de segmentación del acceso al directorio entre programas;
  4. Prueba de segmentación del acceso al directorio entre usuarios del sistema (control parental).

Se pueden crear este y muchos otros tipos de pruebas como si fueran pasteles calientes, y no solo en relación a Dr. Web, ni solo para antivirus. En este artículo, hablaré sobre cómo hacerlo.

Preparación

Para las pruebas necesitaremos una máquina virtual con Windows a bordo. La preparé manualmente, llevando a cabo las siguientes acciones:

  1. En realidad, instalé Windows 10 Pro x64;
  2. Durante la instalación, creé un usuario principal "testo" con la contraseña "1111";
  3. Activé el inicio de sesión automático para este usuario;

Para la automatización de las pruebas, utilizaré la plataforma Testo. Qué es y cómo usarla se puede leer en aquí. Ahora necesitamos importar la máquina virtual lista a las pruebas automatizadas. Esto es muy sencillo de hacer:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Aquí se supone que /path/to/win10.qcow2 — es la ruta al disco de la máquina virtual que preparé manualmente. Aquí termina la preparación y comienza la acción.

Prueba №1 — ¡Instalamos Dr. Web!

Primero debemos resolver el tema de trasladar el instalador de Dr. Web a la máquina virtual. Esto se puede hacer (por ejemplo) con una memoria USB:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Lo único que necesitamos hacer es colocar el instalador de Dr. Web en la carpeta ${DR_WEB_DIR} (el valor exacto de este parámetro lo estableceremos al iniciar testo). Y Testo se encargará de que este instalador esté en la memoria USB.

Ahora podemos comenzar, en realidad, a escribir la prueba. Por ahora, empecemos con cosas simples: encenderemos la máquina virtual (después de crearla estará apagada), esperaremos a que aparezca el escritorio, conectaremos la memoria USB y abriremos su contenido a través del explorador:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla al final del сценарий

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Podemos, por supuesto, ejecutar el instalador directamente desde aquí, desde la memoria USB. Pero preferiremos hacerlo de manera correcta: copiaremos el instalador al escritorio y lo ejecutaremos desde allí. ¿Cómo copiamos el archivo? ¿Cómo lo haría una persona?

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla en la que aún se está copiando el archivo

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

¡Listo, la copia se ha completado con éxito! Ahora puedes cerrar la ventana con la memoria USB y sacarla:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla después de cerrar el explorador

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Ahora que el instalador está en el escritorio, debemos hacer doble clic en él para iniciar el proceso de instalación. La instalación en sí consiste en hacer clic en botones y marcar casillas, y no es muy interesante:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla al finalizar la instalación

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Terminamos nuestra prueba con un reinicio. Y al final, no olvidemos verificar que después del reinicio, el ícono de Dr. Web ha aparecido en el escritorio:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla después del reinicio

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

¡Gran trabajo! Hemos automatizado la instalación del antivirus Dr. Web. Tomemos un pequeño descanso y veamos cómo se ve en acción:

Reproducir video

Pasamos a probar las características.

Prueba n.º 2 — Restricción de acceso a las memorias USB

La primera característica de la lista es la restricción de acceso a las memorias USB. Para ello, planificaremos una prueba bastante simple:

  1. Intentaremos insertar una memoria USB y crear un archivo vacío allí — debería funcionar. Sacaremos la memoria USB;
  2. Activaremos el bloqueo de dispositivos extraíbles en el Centro de Seguridad Dr. Web;
  3. Volveremos a insertar la memoria USB y trataremos de eliminar el archivo creado. La acción debería ser bloqueada.

Crearemos una nueva memoria USB, la insertaremos en Windows y trataremos de crear una carpeta. ¿Qué puede ser más fácil?

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla al final del сценарий

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Creamos un nuevo archivo de texto a través del menú contextual del explorador:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla después de renombrar el archivo

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Desconectamos la memoria USB, haciendo esto de forma segura:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Ahora hemos confirmado que se puede trabajar con la memoria USB, lo que significa que podemos proceder a bloquearla en el Centro de Seguridad Dr. Web. Para ello, primero debemos abrir el centro de seguridad:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla con la ventana del Centro de Seguridad

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Podemos notar que para abrir cualquier aplicación en Windows se deben realizar prácticamente las mismas acciones (hacer clic en la barra de búsqueda, esperar a que aparezca la ventana con las aplicaciones más populares, escribir el nombre de la aplicación de interés, esperar a que aparezca en la lista y, por último, presionar Enter). Por lo tanto, este grupo de acciones se puede resumir en un macro open_app, al que se le pasará el nombre de la aplicación a abrir como parámetro:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Este macro nos será útil más adelante.

Lo primero que haremos al abrir el Centro de Seguridad Dr. Web será habilitar la capacidad de realizar cambios:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Ahora haremos clic en los menús e ingresaremos al menú "Configurar reglas de acceso al dispositivo". En este menú, marcaremos la opción "Bloquear medios extraíbles".

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla de la ventana Dispositivos y Datos Personales

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Intentemos abrir ahora la memoria USB:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla del mensaje de error

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Así, poco a poco, escribimos nuestra primera prueba al probar una característica tangible en Dr. Web. Es hora de descansar y meditar, observando los resultados de nuestro trabajo:

Reproducir video

Prueba №3 — Restricción de acceso a un directorio entre programas

La idea principal de este caso de prueba es verificar el funcionamiento de Dr. Web al restringir el acceso a una carpeta específica. En concreto, se debe proteger la carpeta de cualquier cambio, pero añadir una excepción para algún programa externo. En esencia, la prueba consiste en lo siguiente:

  1. Instalaremos un programa externo en el sistema operativo, para el cual más tarde añadiremos una excepción para el acceso a la carpeta protegida. Hoy, el programa externo del día es el administrador de archivos FreeCommander;
  2. Crearemos una carpeta con un archivo que protegeremos con todos los medios;
  3. Abriremos el centro de seguridad de Dr. Web y activaremos la protección de esta carpeta;
  4. Configurar una excepción para FreeCommander;
  5. Intentaremos eliminar el archivo de la carpeta protegida de la manera habitual (a través del explorador de Windows). No debería funcionar;
  6. Intentaremos eliminar el archivo a través de FreeCommander. Debería funcionar.

Vaya, mucho trabajo. Empecemos rápido — terminaremos pronto.

Punto uno, la instalación de FreeCommander no difiere mucho de la instalación de Dr.Web. Rutina habitual: insertamos la memoria USB, ejecutamos el instalador, etc. Saltaremos esto y pasaremos directamente a lo interesante.

Si tienes curiosidad sobre cómo instalar FreeCommander

Comencemos con lo simple: crearemos una memoria USB en la que colocaremos el distribuidor de FreeCommander, y luego en la prueba insertaremos la memoria USB en el sistema operativo y la abriremos:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Luego, unos pocos clics para iniciar la instalación:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

La instalación no es muy interesante, simplemente hacemos clic en "Siguiente" en todas partes, y al final no olvidamos desmarcar las casillas para ver ReadMe y el inicio automático de FreeCommander.

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Terminamos la prueba cerrando todas las ventanas y sacando la memoria USB

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

¡Listo!

Para trabajar con Dr. Web, crearemos una nueva prueba dr_web_restrict_program, que dependerá del resultado de la prueba anterior win10_install_freecommander.

Comenzaremos la prueba creando la carpeta Protected en el escritorio:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla después de crear la carpeta

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Entramos en la carpeta Protected y creamos allí un archivo my_file.txt, que actuará como el archivo protegido:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Oh, también debería haberse hecho esto como un macro, pero bueno ...

Captura de pantalla después de crear el archivo

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Excelente, ahora necesitamos activar la protección de la carpeta. Sigamos el mismo camino familiar y abramos Dr. Web, no olvidemos activar el modo de cambios. Después, vamos al menú "Prevención de Pérdida de Datos".

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla con la ventana de Prevención de Pérdida de Datos

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Trabajemos un poco con el ratón y añadamos nuestra carpeta Protected a la lista de protegidas:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla con el asistente para agregar una carpeta protegida

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Ahora necesitamos configurar una excepción de acceso a la carpeta para FreeCommander. Un poco más de trabajo con el ratón:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla con el programa de excepción añadido

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Ahora cerraremos con cuidado todas las ventanas y probamos a eliminar el archivo "my_file.txt" de la manera estándar:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla con el mensaje de Dr.Web

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Pero no funcionó — ¡significa que Dr. Web realmente funcionó! La mitad de la prueba está hecha, pero aún necesitamos comprobar que la excepción para FreeCommander funcionará. Para ello, abrimos FreeCommander y vamos a la carpeta Protected:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla con la ventana de FreeCommander

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Y probamos a eliminar el archivo my_file.txt:

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

Captura de pantalla después de eliminar el archivo

He automatizado las pruebas de Dr. Web. ¿Y tú puedes hacerlo?

¡La excepción para FreeCommander funciona!

¡Gran trabajo! Un caso de prueba grande y complejo — y todo automatizado. Un poco de relajación:

Reproducir video

Prueba №4 — Control parental

Este último caso de prueba de hoy lo construiremos así:

  1. Crearemos un nuevo usuario MySuperUser;
  2. Iniciaremos sesión con este usuario;
  3. Crearemos un archivo my_file.txt a nombre del nuevo usuario;
  4. Abriremos el centro de seguridad de Dr. Web y activaremos el control parental para este archivo;
  5. En el control parental limitaremos los derechos del usuario MySuperUser sobre el archivo que él mismo creó;
  6. Intentaremos leer y eliminar el archivo my_file.txt a nombre de MySuperUser y veremos el resultado.

No voy a presentar aquí el script de la prueba. Se basa en el mismo principio que las pruebas anteriores: trabajando activamente con el ratón y el teclado. Mientras tanto, no importa qué estamos automatizando — ya sea Dr.Web o la creación de un nuevo usuario en Windows. Pero veamos cómo se vería la ejecución de una prueba como esta:

Reproducir video

Conclusión

→ Los códigos fuente de todas las pruebas pueden ser vistos aquí

Además, todos estos tests pueden ser ejecutados en tu máquina. Para ello, necesitarás el intérprete de scripts de prueba Testo. Puedes descargarlo aquí.

Dr. Web resultó ser un buen entrenamiento, pero me gustaría encontrar inspiración para futuros logros en sus deseos. Escriba en los comentarios sus sugerencias sobre las pruebas automáticas que le gustaría ver en el futuro. En el próximo artículo intentaré automatizarlas, veremos qué sale de eso.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster