La automatización está avanzando a pasos agigantados. En las pruebas de software y la garantía de calidad (QA), se ha convertido en un componente esencial. A medida que la tecnología avanza, también lo hace la necesidad de automatización. Sin embargo, siempre será necesario realizar pruebas eficaces y no automatizadas.
Las pruebas exploratorias son un buen ejemplo.
Si se aprovechan eficazmente, las pruebas exploratorias pueden alterar significativamente el futuro de las pruebas y de la garantía de calidad. El término "prueba exploratoria" fue acuñado por Cem Kaner en 1988. Tal y como existen hoy en día, las pruebas exploratorias implican un aprendizaje, un diseño y una ejecución simultáneos, y una confianza en el compromiso de los testers individuales para descubrir errores que evaden otros análisis. Las pruebas exploratorias adecuadas realizan análisis exhaustivos de extremo a extremo que revelan comportamientos inesperados. Las pruebas basadas en sesiones documentan los esfuerzos de las pruebas exploratorias.
Al ser un tipo de evaluación de riesgos, las pruebas exploratorias hacen lo siguiente:
1. Establece el plan de ejecución. El plan de ejecución establece una misión clara para una sesión de pruebas. Los testers definen el alcance de la misión investigando y haciendo preguntas sobre la historia del usuario.
Un ejemplo de plan de ejecución son los hacks de seguridad en el campo de inicio de sesión para identificar cualquier vulnerabilidad. Puede lograrse con la técnica Pomodoro:
- Divida la prueba en casillas de tiempo.
- Concéntrese en el examen durante 25 minutos: elimine todo aquello que le distraiga, como el correo electrónico, las redes sociales, etc.
- Al final de la prueba, dedique cinco minutos a reflexionar.
El "objetivo" es lo que está explorando. Puede ser una característica, un requisito o un módulo. Los recursos pueden ser conjuntos de datos, técnicas o características independientes. En cuanto a la información, puede hacerse las siguientes preguntas:
- ¿Qué piensa encontrar?
- ¿Busca alguna violación de las normas, o simplemente un gráfico de rendimiento, seguridad y funcionalidad?
2. Identifica las variables constantes y destaca cualquier circunstancia periférica. Si se comunica con las partes interesadas acerca de las técnicas de pruebas exploratorias, se puede hacer una lista de las cosas que deberían ocurrir y las que nunca deberían ocurrir. Asegúrese de hacer las preguntas adecuadas ("¿Cómo fue el proceso de prueba?¿Cuáles eran los riesgos?") para registrar adecuadamente los defectos.
3. Establece la heurística. La heurística es un enfoque práctico para la resolución de problemas que genera una solución funcional, aunque sea imperfecta. Para establecer la heurística, los testers deben:
- Dé prioridad a las pruebas de los elementos más importantes y más arriesgados. Evite el exceso de guiones: Esto también es clave para las pruebas basadas en sesiones. Los testers deben pensar de forma creativa, fuera de los esquemas, y sin ataduras a un guion o libro de reglas establecido.
- Desafíe sus expectativas sobre el proceso. Vaya más allá de sus capacidades básicas y pruebe también los requisitos implícitos. De este modo, tendrá presente la perspectiva del usuario final durante todo el proceso. Al colaborar con los equipos de desarrollo a lo largo de las pruebas, se asegurará de que el proceso de pruebas alcanza todo su valor. La garantía de calidad es responsabilidad de todo el equipo.
- Facilite la comunicación: cree una línea de comunicación constante entre los equipos de desarrollo y de control de calidad. El diseño de las pruebas debe incluir opciones de retroalimentación inmediata para el equipo de desarrollo. Cree una documentación de revisión exhaustiva: realice revisiones por pares y externas durante las pruebas para evaluar la calidad de la documentación.
4. Aumenta la cobertura de las pruebas. Aunque es prácticamente imposible abordar todos los escenarios durante las pruebas, las pruebas exploratorias identificarán y abordarán las lagunas. Para garantizar una etiqueta de prueba adecuada y coherente, los testers deben documentar los defectos restantes al final de cada sesión. Además, un análisis posterior debe identificar por qué estos defectos no se identificaron inicialmente. El análisis debe identificar una solución para prevenir futuros defectos y abordar futuros problemas.
Conclusión
Los trabajadores están comprensiblemente ansiosos por las capacidades de la inteligencia artificial y de la tecnología robótica. Aunque la inteligencia artificial está preparada para sustituir a algunos trabajadores humanos, las pruebas exploratorias quedarán fuera del alcance de la automatización. Los robots, por muy hábiles que sean, no pueden reemplazar el pensamiento y el buen juicio. Al explorar las posibilidades de las pruebas exploratorias, se garantiza la seguridad del empleo hasta bien entrado el siglo XXI.