El problema es que algunas personas no entienden que la automatización no es "fácil" ni "rápida".
No estoy de acuerdo con tu premisa aquí.
Soy un gran defensor de las pruebas automatizadas, sin importar si se trata de pruebas unitarias, pruebas de integración o pruebas de IU. Hay muchas herramientas excelentes disponibles para implementar pruebas automatizadas.
Comparemos las pruebas automatizadas con las pruebas manuales basadas en el siguiente ejemplo:
En una aplicación web, pruebe la funcionalidad "Cambiar contraseña" de un usuario existente utilizando un navegador.
Prueba manual :
- Inicie la aplicación web
- Abrir el navegador
- Maldición, hay un error. ¿Por qué? ¡Oh, olvidé iniciar la base de datos!
- Ok, apaga la aplicación web
- Inicia la base de datos
- Inicie la aplicación web
- Actualizar el navegador
- Hmm, ¿cuál era la contraseña de nuestro usuario de prueba nuevamente?
- Echando un vistazo a la base de datos
- ¡Oh, la tabla de usuarios está vacía! Tengo que crear un nuevo usuario.
- Registre un nuevo usuario en la aplicación web: ingresando nombre de usuario, contraseña, dirección de correo electrónico
- ¿Por qué no puedo iniciar sesión con mi nuevo usuario? ¡Necesito hacer clic en el enlace de confirmación en el correo electrónico!
- Bueno, le he dado al usuario un correo electrónico como "test@example.com". Vayamos a la base de datos y configuremos la columna "activa" en "Sí".
- Iniciar sesión. ¡Esta vez funciona!
- Hmm, ¿qué quería probar de nuevo ...?
¿Fácil? Realmente no. Hay muchas trampas posibles en el proceso.
¿Rápido? No. El trabajo manual lleva tiempo.
Ahora, intentemos escribir una prueba automatizada :
- Necesitamos encontrar herramientas para nuestro lenguaje de programación para iniciar automáticamente la base de datos y el servidor web. La investigación e implementación lleva tiempo.
- La base de datos debe estar limpia cuando comience la prueba. Crear los guiones lleva tiempo.
- Necesitamos escribir la prueba. Como necesitamos un usuario, también debemos registrar uno nuevo para nuestra prueba. Requiere tiempo.
- Finalmente, podemos escribir lo que queremos probar: cambiar la contraseña del usuario. Con nuestra herramienta de prueba de navegador, esto se hace bastante rápido en comparación con las tareas anteriores.
¿Fácil? ¡No! Necesitábamos investigar las herramientas, implementarlas, corregir algunos errores en nuestras pruebas.
¿Rápido? ¡No! Lleva incluso más tiempo que hacer una prueba manual.
Pero, hay una gran diferencia aquí: para futuras pruebas, solo necesita escribir la prueba en sí , el último punto en la lista, que se hizo comparable rápidamente. No es necesario realizar todas las investigaciones y guiones de inicio para realizar más pruebas.
Y después de haber escrito el examen, puede comenzarlo fácilmente. En unos pocos segundos (o tal vez minutos, si el inicio de la base de datos y la aplicación web tarda mucho), verá si la rutina "Cambiar contraseña" funciona o no. Si hay un error, corríjalo y vuelva a ejecutar la prueba; verá de inmediato si el error está solucionado. Rápido y fácil .
Escribir pruebas automatizadas no es fácil ni rápido en primer lugar, pero ejecutarlas sí lo es.
Y este es el punto donde vuelve el tiempo invertido.