Pruebas Exploratorias
Pruebas exploratorias
El término “testing exploratorio” fue introducido por Cem Kaner, se refiere a ejecutar las
pruebas a medida que se piensa en ellas, sin gastar demasiado tiempo en
preparar o explicarlas, confiando en los instintos.
De hecho, Según Cem Kaner “El testing exploratorio es un estilo de testing que enfatiza la
libertad personal y la responsabilidad del tester para optimizar continuamente
la calidad de su trabajo tratando el aprendizaje a través de las pruebas, el
diseño de las pruebas, la ejecución de las pruebas y la interpretación del
resultado de las pruebas como actividades que se apoyan mutuamente y que se
ejecutan en paralelo a lo largo del proyecto”.
Cem Kaner
Es decir, es una técnica de prueba en la cual quien la
efectúa controla activamente el diseño durante el proceso y utiliza la
información obtenida en la exploración para diseñar nuevas y mejores pruebas. Durante este proceso la persona que prueba es quién diseña
los tests en la misma medida en que logra desentrañar los misterios del
software que evalúa, es decir que en un momento inicial puede que el líder del
grupo de establezca la misión de las pruebas exploratorias, pero él que prueba
es el responsable del camino a seguir el cuál puede ir modificando durante el
proceso. Debido a esta particularidad del testing o pruebas exploratorias es
que se hace necesario que los “probadores”
posean una mente abierta, pensamiento crítico, ser un buen observador, ideas
variadas, ser curioso para poder detectar incidentes y evaluar los riesgos.
Deben hacer uso de heurísticas en la producción de ideas variadas de forma que
las pruebas sean lo más diversas posible y acorde con las características del
producto que se está probando.
¿Por qué usarlo?
- Apoyo al proceso de programación detectando riesgos adicionales que no vienen recogidos en el diseño de pruebas.
- Para evaluar el producto final, encontrar insuficiencias y áreas de mejora, para obtener más funcionalidades.
- Sencillo y se puede hacer en momentos tempranos del sprint, herramienta natural.
- Es dinámico y se obtiene un feedback rápido para los entregables del sprint.
Funciones
a realizar durante las pruebas exploratorias
Para conocer más el producto y facilitar el trabajo se
determinarán distintas funciones a realizar durante las pruebas exploratorias:
Funciones primarias:
se asocian con la funcionalidad del producto y son esenciales para un objetivo
en concreto. Un conjunto de funciones pueden constituir una función primaria,
por ejemplo, las distintas funciones de una barra de herramientas no se
consideran primarias, pero toda la barra de herramientas si puede considerarse
una función primaria.
Funciones
contributivas: colaboran con la funcionalidad del producto, pero no se
consideran primarias.
Fases principales de las pruebas exploratorias
1. Exploración del producto: para conocer a fondo cómo cumplir
con los requisitos hay que registrar los objetivos, las funciones, los tipos de
datos que se procesan y las zonas de inestabilidad del producto. Para llevar a
cabo esta exploración, hay que contar con la compresión general de la
tecnología, la información sobre el producto y la cantidad de tiempo en el que
se va a realizar el trabajo.
2. Diseño de pruebas: crear diferentes estrategias para
observar y evaluar por completo el producto.
3. Ejecución de pruebas: explorar el producto para poder
formular una hipótesis de cómo funciona y cuáles pueden ser sus puntos débiles.
4. Heurística: reglas generales que ayudarán a cómo probar
correctamente el producto.
5. Resultados revisables: cuando se finalicen las pruebas
exploratorias, el tester debe ser capaz de explicar cualquier aspecto del
programa y mostrar cómo se cumplen los requisitos indicados en el
procedimiento. De manera que, todos los requisitos hayan sido probados al menos
una vez durante todo el proceso de trabajo.
Técnicas dentro del proceso de pruebas exploratorias
Existen diferentes técnicas dentro del proceso de pruebas
exploratorias, aun cuando es posible aplicar el estilo libre a la hora de poner
en realizarlas, existen otras modalidades de aplicación, por ejemplo:
1. Pruebas exploratorias basada en sesiones: esta técnica
originalmente llamada “Session Based Test Management” de James Bach, consiste
en organizar el proceso en sesiones documentadas adecuadamente. Una sesión de
prueba comprende generalmente un itinerario, que se establece a partir de la
misión y eventualmente, algunas de las heurísticas a ser usadas. Su principal
ventaja radica en que, a pesar de su bajo costo relativo, permite elaborar
reportes de avance, registrar el itinerario seguido, gestionar y medir el
proceso. Es, además, adaptable y flexible. Estas características son
especialmente importantes cuando se está haciendo pruebas independientes para
un cliente. Su desventaja es que depende fuertemente de las habilidades y
preparación de los probadores o evaluadores.
2. Prueba funcional parcial: Se usa para testear
funcionalidades individuales inmediatamente luego de implementadas, con el
objetivo de decidir sobre su conformidad con los requerimientos y concepciones
reales del diseño. Permite una rápida retroalimentación a los desarrolladores
en etapas tempranas del ciclo de desarrollo.
3. Pruebas exploratorias realizadas por usuarios: En muchas
organizaciones, los usuarios exploran si las diferentes funcionalidades se
adecuan a los escenarios reales de su trabajo. Estos usuarios tienen además del
conocimiento del negocio, roles y responsabilidades variadas, que determinan
naturalmente misiones específicas para las pruebas que desenvuelven, no es
preciso simularlas.
4. Pruebas de humo exploratorias: Se utiliza para tener una
visión global y rápida sobre el nivel de calidad de una nueva versión de un
producto, liberada para probar, en particular cuando las actualizaciones se
producen periódica y frecuentemente. Se recorre la lista de funcionalidades
básicas para detectar defectos o cambios en las funcionalidades. Por otra parte,
se recorre la lista de las correcciones para verificar que realmente se hayan
realizado, así como las mejoras para verificar su comportamiento desde la
perspectiva del usuario final.
5. Pruebas de regresión exploratorias: Cuando existen fuertes
restricciones de tiempo, recursos humanos o financieros para realizar una
prueba de regresión exhaustiva, el proceso se concentra en las correcciones y
mejoras desarrolladas. Se basa fuertemente en la experiencia del probador para
explorar la posible introducción de nuevos defectos o el surgimiento de efectos
negativos colaterales.
Ventajas de la aplicación de las pruebas exploratorias.
- No se necesitan productos formales previos (determinadas entregas documentales) para la realización del proceso de pruebas, lo que cual supone una disminución del esfuerzo realizado por el equipo de proyecto.
- Producen una mayor motivación en el equipo que realiza las pruebas, ya que no se limitan a ejecutar paso a paso casos de prueba redactados por otros y verificar que el resultado coincide con el indicado y además permite obtener un conocimiento funcional del sistema que resulta fundamental independientemente de quien redacte los planes de prueba.
Inconvenientes de las pruebas exploratorias.
- El conocimiento funcional de determinados sistemas puede ser muy complejo, lo cual podría provocar que en las primeras pruebas realizadas por el equipo, determinados aspectos funcionales de importancia, que no han sido bien desarrollados, no se detecten.
- Si no se documentan de alguna manera las pruebas que se están realizando puede provocar que en el futuro sea complicado volver a repetirlas.
Posibles aplicaciones de las pruebas exploratorias.
- Las pruebas exploratorias son técnicas adaptables ya que con mayor o menor efectividad se puede aplicar en la mayoría de los proyectos y, además, será la única opción posible (aunque se pueda combinar con otras técnicas) en proyectos donde los requisitos o especificaciones del sistema no se hayan recogido de manera formal o no se disponga de dicha información.
- Esta técnica también se aplica cuando se quiere complementar las tareas realizadas por un equipo de pruebas con las realizadas por otro independiente. El primer resultado puede tener un carácter más estricto, dejando el segundo para descubrir posibles errores no especificados en casos de prueba.
- También resultan válidas en sistemas de información, que, por su complejidad, no requieren de un proceso formal para la realización de las pruebas, pudiéndose aplicar pruebas exploratorias a la globalidad del mismo o bien a partes concretas, dejando en este caso algunos aspectos funcionales que se puedan considerar más importantes para verificarse mediante casos de prueba específicos diseñado para ellos.
Conclusión
En conclusión, es claro que se debe de tener muy claro que lo
que es el testing exploratorio y como requiere su planificación, limitación de
tiempo y objetivo, es importante también documentar de la mejor manera todos los
tipos de pruebas que se van y se han realizado. Si no se realizan las pruebas
no obtendremos resultados. Algo a destacar es que debemos de lograr obtener la
satisfacción del cliente en cualquier proyecto, y considerar siempre que el
proyecto haya logrado completarse de la mejor manera como, totalmente exitoso.
Respecto a lo que son las pruebas exploratorias es claro que se necesitara un
equipo de testing, este debe estar formado por personas con grandes capacidades,
las cuales ayuden a superar obstáculos tales como el desconocimiento de la
aplicación a probar de algunos de sus miembros y la corta duración del
proyecto. Además, es notorio como realizar este tipo de pruebas conlleva mucho
trabajo y esfuerzo por parte del grupo de trabajo, pero ciertamente si se logra
desarrollar las diferentes actividades de la mejor manera, siempre teniendo en
cuenta no gastar demasiado tiempo en preparar o explicarlas, lo que nos puede
atrasar y ser posibles atascos para el proyecto. Si logramos evitar lo
mencionado anteriormente, es muy probable que los resultados nos lleven a que
los errores sean menos comunes y más fáciles de detectar.
Referencias Bibliográficas
C. Kaner, J. Falk, H. Nguyen, “Testing Computer
Software, 2nd Edition”, ISBN: 0471358460, Editorial
Wiley, 1999.
atSistemas. ( 10 de abril de 2017). Slideshare.
Obtenido de Pruebas Exploratorias en Entornos Ágiles: https://www.slideshare.net/atSistemas/pruebas-exploratorias-en-entornos-giles
Bermúdez, Y. D. (s.f.). Revista
TINO. Obtenido de LAS PRUEBAS EXPLORATORIAS O TESTING EXPLORATORIO:
https://revista.jovenclub.cu/las-pruebas-exploratorias-o-testing-exploratorio/
Microsof. (julio de
2012). msdn microsof. Obtenido de Pruebas exploratorias del software:
https://msdn.microsoft.com/es-es/library/jj620911(v=vs.120).aspx
NA. (s.f.). Globe.
Obtenido de Pruebas exploratorias:
https://www.globetesting.com/2012/03/pruebas-exploratorias/
Pérez B, P. A. (2007).
Obtenido de Testing exploratorio en la práctica :
http://www.ces.com.uy/documentos/JIISIC-2007.pdf
Comentarios
Publicar un comentario