Logo Studenta

QA E7- Análisis, planificación y ejecución de pruebas I

¡Este material tiene más páginas!

Vista previa del material en texto

Módulo 3 / Encuentro 7/20
Análisis,
planificación y
ejecución de
pruebas I
OBJETIVOS DEL MÓDULO 3
¿Qué habilidades desarrollarás?
● Aprendizaje cooperativo entre pares
● Atención al detalle para el análisis de requerimientos
¿Qué herramientas técnicas aprenderás?
● Matriz de casos de prueba
● Diseño de plan de pruebas
● Métricas y reportes
● Manejo de defectos
*No es necesario solicitar permiso de edición del documento, si
deseas puedes crear una copia �Archivo > Crear una copia]*
Introducción
¡Te damos la bienvenida a tu séptimo encuentro de trabajo!
Damos inicio a un nuevo módulo en el que profundizaremos en la ejecución de
las pruebas. El encuentro anterior estuvo cargado de mucha práctica…
¡Felicitaciones a todos por el esfuerzo!
Bien llegó la hora de iniciar la sesión. ¡A conocerse!…. ya lo saben, nombre,
lugar de procedencia y… aquí tienen una pregunta para facilitar la socialización
¿Cómo fue que decidieron elegir esta carrera? ¿Qué los convocó?
MATERIAL DE LECTURA
Estrategia y análisis
¿Recuerdan que mencionamos los enfoques “estáticos y dinámicos”? Pues
bien, retomaremos este tema y profundizaremos en tres grupos de actividades
asociadas:
● Análisis
● Planificación de pruebas
● Ejecución de pruebas
Análisis de requerimientos o insumos
Ya mencionamos en reiteradas ocasiones que la base para diseñar las pruebas
es el insumo que tengamos a disposición. Este, puede llegarnos en formato
requerimientos, especificaciones, casos de uso, historias de usuario, diagramas
de flujo o inclusive una combinación de estos elementos o ninguno.
El tipo y calidad del insumo que tengamos dependerá del nivel de organización
y recursos de nuestro equipo de trabajo.
En este punto, podemos poner en práctica lo visto en “proceso de revisión y
técnicas” ya que el análisis de requerimientos consiste básicamente en revisar
el insumo que tenemos para luego diseñar nuestro plan de pruebas y reportar
cualquier defecto encontrado en la documentación.
2
Estos son los pasos para realizar un análisis detallado:
1. Revisar el insumo a disposición.
2. Determinar si se entiende la necesidad se quiere cubrir y cómo se la
quiere cubrir a partir del insumo.
3. Tratamos de pensar por fuera del documento. ¿Falta algo? ¿Algo nos
genera duda? En este punto conviene revisar alguna funcionalidad,
producto o información ya existente que nos ayude a analizar
críticamente el documento en busca de errores u omisiones.
¿NECESITAS UN EJEMPLO?
Si el documento que revisamos describe cambios para una funcionalidad ya
existente, podemos revisar en paralelo esa funcionalidad para verificar que los
cambios descritos se apliquen.
4. Registramos las preguntas que nos hicimos para consultar a quien
corresponda.
Una vez que entendimos la necesidad que se desea cubrir, los objetivos, el
scope (o alcance del proyecto) que finalizamos el análisis de la documentación,
hicimos todas las preguntas y obtuvimos respuestas, podemos comenzar con
el proceso de diseño de las pruebas que llevaremos a cabo.
TIP😉 ¡Siempre se debe tener en cuenta los atributos de la calidad!
¿Recuerdas que los estudiamos en el módulo 1? Nos referimos a las ISOS
9126 y 2500. Al revisarlos seguramente surgirán inquietudes para resolver.
¿NECESITAS UN EJEMPLO?
Podríamos necesitar información sobre:
● Si el producto debe cumplir con algún estándar de accesibilidad o de
seguridad.
● Si debe tener requisitos mínimos de performance y eficiencia.
● Qué sucede con la interoperabilidad, si el sistema debe poder
comunicarse con otro.
3
● Qué sucede con la portabilidad (en qué sistemas operativos y/o en qué
exploradores debería funcionar)
Las respuestas a esas preguntas nos darían la pauta sobre la necesidad de
incluir pruebas para evaluar esos aspectos o si debemos incluir el uso de
alguna herramienta que nos permita evaluarlos. Incluso nos indica si debemos
solicitar ayuda de algún otro equipo.
A continuación les ofrecemos preguntas disparadoras sobre algunos temas
para abordar la etapa de análisis. No es un cuestionario obligatorio, pero
puede ayudarnos a ejercitar la mirada crítica a la hora de leer y comprender la
documentación.
Sugerimos que en este punto puedes poner en práctica técnicas de “diseño de
caso de prueba” tales como las tablas de decisión para identificar fácilmente si
en la documentación falta describir alguna condición o resultado esperado.
1 Respecto de los “Roles y permisos”
¿Cualquier usuario podría usar el sistema y todas sus funcionalidades? ¿Hay
algún tipo de usuario que pueda / no pueda completar algún tipo de acción
específica?
2 Respecto de las “Condiciones”
¿Se debe cumplir alguna condición para llevar a cabo esta acción?
Por ejemplo: Para ingresar al sistema por primera vez, ¿debo tener un usuario
creado? ¿Quién puede crear ese usuario? ¿Yo mismo? ¿Alguien con el rol de
administrador?
¿O quizás no? ¿El sistema crea un usuario para mí automáticamente la primera
vez que ingreso?
¿El sistema no requiere la existencia de un usuario para interactuar con él?
4
3 Respecto de los “Inputs válidos/inválidos”
¿Existen para esta funcionalidad grupos de acciones o inputs válidos e
inválidos?
En aquellos formularios en los que se puede ingresar datos, ¿los campos son
son para texto libre? ¿o tipos de campos en los cuales se espera que ingrese
cierto tipo de información? Ej, sólo números, sólo números con formato
telefónico de estados unidos, solo números con formato de documento de
identidad, sólo emails.
Secreto de la industria 1�
Aún en los campos de texto libre seguramente no se pueda
ingresar cualquier tipo de texto libre. Por cuestiones de
seguridad, el ingreso de scripts o código ejecutable no esté
permitido.
4 Respecto de “Outputs o comportamientos esperados”
¿Tengo en claro cuál es el comportamiento esperado para cada funcionalidad y
combinación de inputs?
¡¡¡Pro tip alert!!!😨 No den por sentado que la documentación o insumo
recibido está libre de errores.
Diseño de plan de pruebas
Con el análisis del insumo reflexionamos y delineamos escenarios.
Esos escenarios de prueba son descripciones de alto nivel de aquello que
tenemos que probar.
5
¡Disclaimer! El diseño del plan de prueba entra dentro de la planificación.
Pero en la planificación de las pruebas podrían entrar más actividades >
las actividades necesarias para completar un plan de pruebas más
elaborado con toda o alguna de la información sobre estimación, plazos,
estrategia, análisis de riesgo. etc.
De alguna forma, podemos decir que la planificación incluye al diseño del
plan. La planificación de la prueba implica actividades que definen los
objetivos de la prueba y el enfoque para cumplir los objetivos de prueba
dentro de las limitaciones impuestas por el contexto. Los planes de prueba
pueden revisarse en función de los comentarios de las actividades de
monitorización y control.
Cada escenario se complejiza a partir de la descripción en detalle hasta lograr
lo que se denomina como “Casos de prueba".
Al analizar los requerimientos se podría delinear los siguientes escenarios:
● Probar inicio de sesión válido.
● Probar intento de inicio de sesión con email no registrado.
● Probar intento de inicio de sesión con contraseña incorrecta.
Estas descripciones generales son escenarios de prueba que me permiten
tomar nota y recordar funcionalidades que deseo probar. De cada escenario de
prueba es probable que surjan una cantidad de casos de prueba.
Cada caso de prueba debe ser preciso, apuntar a una finalidad particular y
ser lo suficientemente claro para que otra persona lo pueda ejecutar aún sin
conocer el sistema.
6
Un plan de pruebas puede incluir simplemente una matriz de casos de pruebas
-es decir, las pruebas ordenadas- o un documento más complejo y elaborado
que incluya otro tipo de información tal como:
● Descripción
● ID del plan
● Organización
● Autoridad de
aprobación
● Historial de cambios
● Introducción
● Alcance
● Referencias
● Glosario
● Contexto de pruebas
● Análisis de riesgos
● Estrategia de pruebas
● Actividadesde testing
y estimaciones
● Equipo
● Agenda de trabajo
Matriz de casos de prueba
Como ya mencionamos, es útil organizar los casos de prueba dentro de una
matriz. Pero, ¿qué es una matriz? Es una tabla compuesta por filas y columnas.
Las filas presentan un caso de prueba y las columnas la información que debe
ser completada por cada caso.
¿NECESITAS UN EJEMPLO?
7
Secreto de la industria 1�
No todos los grupos de trabajo usan matrices de casos de
prueba, o bien porque no llevan un orden o bien porque utilizan
algún sistema de creación de casos de prueba que genera la
misma trazabilidad que generaría la matriz.
Hay diversas herramientas en el mercado que permiten organizar los casos de
pruebas en matices. Algunas son pagas, otras gratuitas. Las hay gratuitas
hasta cierto cantidad de usuarios
¿NECESITAS UN EJEMPLO?
Está es una visualización de la herramienta Zephyr en su versión Scale:
Zephyr ofrece tres versiones que son gratuitas hasta cierto número de usuarios
y se integra fácilmente a jira, una herramienta de gestión de desarrollo,
ampliamente usada en el mundo del desarrollo de software.
8
En la vista de arriba, los casos de prueba están agrupados por módulo del
sistema bajo prueba.
El identificador de trazabilidad se genera de manera automática para cada
prueba y las etiquetas de estado pueden ser creadas con texto libre por el
administrador de la herramienta.
En el ejemplo de arriba la etiqueta “TBC BY PO/FA” significa to “be confirmed by
product owner or functional analyst” y se utiliza para marcar los casos de
prueba que fueron creados pero que tiene algún detalle a confirmar por el
analista del producto.
¿NECESITAS UN EJEMPLO?
En la imagen de abajo se ve el detalle de un caso de prueba en particular.
Aunque la información está ordenada de un modo distinto al que vimos en la
matriz de trazabilidad clásica (formato de tabla) la información que se captura
es más o menos la misma:
9
10
El uso de herramientas para la gestión de las pruebas puede agregar un
componente de trazabilidad algo más potente que una planilla de cálculos, ya
que el plan de pruebas de un componente o funcionalidad específico puede
quedar directamente asociada a la historia de desarrollo creada en la
herramienta.
¿NECESITAS UN EJEMPLO?
Aquí se muestra un ejemplo de cómo es posible visualizar un grupo de pruebas
para un componente específico en una historia de usuario dentro de Jira:
11
¡MANOS A LA OBRA!
Es hora consolidar, repasar y revisar los conceptos vistos hasta el momento.
¿Recuerdas a qué llamamos “caso de prueba”?
Retomemos la definición:
Un test case o caso de prueba es una serie de precondiciones (en caso de
ser necesarias) valores (o datos de entrada) acciones (o pasos a ejecutar) y
descripción de un resultado esperado que se utiliza para probar que una
condición o funcionalidad específica se comporte de la manera deseado.
A continuación indicamos los pasos necesarios para generar pruebas para una
condición específica:
● Identificar la condición o funcionalidad que se va a probar.
● Diseñar el o los casos de prueba que van a verificar esa condición o
funcionalidad.
● Diseñar el procedimiento de ejecución de las pruebas.
¿NECESITAS UN EJEMPLO?
Con todo lo dicho, esto sería un flujo de trabajo:
Anteriormente sugerimos algunos ejemplos de matriz de casos de prueba y
vimos que la información a completar puede variar dependiendo de la
organización del equipo, su orden y el nivel de trazabilidad que requieran.
Es fundamental que cada caso de prueba contenga:
● Título descriptivo del caso de prueba
● Funcionalidad específica a cubrir y contexto
● Datos de entrada
● Resultado esperado
12
TIP😉
Podría pasar que en momentos de tiempos ajustados quizás no llegaras a
escribir el “paso a paso” detallado para cada caso de prueba.
De ser así, ten en mente incluir al menos la información fundamental con
una descripción clara y concreta. Para que cualquier persona que no
conozca el sistema que se va a probar entienda cómo ejecutar el caso de
prueba.
Ejercicio #1
Del siguiente listado de casos de pruebas, identifica aquellas que
están descritas correctamente.
Probar inicio de sesión
Iniciar sesión en Gmail.com/login con $usuario (rol administrador) y
$contraseña válidos. Se llega a bandeja de entrada con mensaje:
“Bienvenido $usuario”
Contraseña incorrecta
Intentar iniciar sesión desde Firefox con un usuario no registrado. Se
muestra mensaje: usuario inexistente
Probar exportar reporte
Exportar reporte Excel desde Brave browser en Administración > ventas
con usuario con permiso “export:reporte Ventas”
Intentar ingresar con un usuario registrado y un password válido luego
de tres intentos de ingreso fallidos. La cuenta se bloquea y el usuario no
puede ingresar. Se muestra el mensaje: usuario bloqueado
¡Comparte las respuestas con tu equipo! Puedes ver la solución aquí.
MATERIAL DE LECTURA
Casos de prueba positivos y casos de prueba negativos
Los casos de prueba positivos conocidos también como “el camino feliz” son
aquellos pasos que verifican el correcto funcionamiento del uso principal y
esperado de una funcionalidad.
13
https://docs.google.com/document/d/1t2UOiKcCyLJs54Xo7b9OC7Rl9W6s71eD6rfEEfB5nj4/edit?usp=sharing
¿NECESITAS UN EJEMPLO?
Para la funcionalidad de login o ingreso a un sistema, el camino feliz sería que
se ingrese en el campo “usuario” un nombre de usuario válido para ese sistema
y la contraseña correcta relacionada al mismo.
Todos los posibles errores de log in en un sistema, no forman parte del camino
feliz si no de caminos alternativos agrupados en lo que llamamos “casos
negativos”.
Casos positivos = camino feliz
Casos negativos = caminos alternativos
En el ejercicio anterior habrás notado que hay una palabra clave que se utiliza
para los casos de prueba negativos, esta es: INTENTAR
Generalmente usamos esta palabra para los casos de prueba negativos ya que
da cuenta de que la acción descrita no debería poder realizarse.
Secreto de la industria 2�
Las palabras claves pueden ser útiles para la rápida lectura e
interpretación de los casos de prueba que se diseñan.
Ejercicio #2
A continuación, encontrarás dos definiciones funcionales con base
en diferentes metodologías: casos de uso e historias de usuario.
Para cada grupo debes:
● Listar los casos de prueba que propondrías. NO olvides incluir casos de
prueba positivos y negativos.
● Ordenar los casos de prueba por prioridades, de la más alta a la más baja.
Agregarles la clasificación de prioridad: Alta, media o baja.
14
Extra: Si quieres, puedes usar una matriz de casos de prueba, ya sea en
formato tabla / Excel o usando una herramienta gratuita como Zephyr (en Jira)
Pueden utilizar la siguiente plantilla y revisar la solución aquí.
Tiempo estimado: resolver este ejercicio te podría llevar entre una hora y una
hora y media del encuentro en vivo.
Caso de uso: El usuario con rol Administrador accede al perfil del usuario y visualiza las
opciones, deshabilitar usuario, desbloquear cuenta, restablecer contraseña, editar usuario.
*El administrador puede editar: nombre de usuario, email de usuario, rol de usuario.
*El administrador puede clickear en la opción deshabilitar usuario para bloquear el acceso
del usuario seleccionado al sistema. Si cliquea en deshabilitar usuario, la cuenta de usuario
se bloquea y el texto cambia a “habilitar usuario” . Si cliquea en “habilitar usuario” el usuario
recobra el acceso al sistema
*El administrador puede cliquear en desbloquear cuenta para desbloquear una cuenta que se
encuentra bloqueada porque el usuario ingresó un contraseña incorrecto más de 5 veces.
*El administrador puede cliquear la opción restablecer contraseña que envía un email a la
casilla de correo seleccionada en el campo email de usuario.
Si la cuenta del usuario no se encuentra bloqueada, la opción desbloquear cuenta se
encuentra deshabilitada.
Si la cuenta del usuario se encuentra deshabilitada, las opciones: restablecer contraseña y
desbloquear cuenta se encuentran deshabilitadas.El panel de usuario solo se encuentra visible en los registros de personas de tipo usuario del
sistema. Las personas que no son usuarios del sistema no tienen panel de usuario.
Permisos necesarios para el rol administrador: ver panel de usuario, resetear password de
usuarios, editar usuarios, deshabilitar/habilitar usuarios, desbloquear cuenta de usuarios.
User story o historia de usuario: Como usuario del sistema quiero poder restablecer mi
contraseña de acceso para mantener mi cuenta segura.
Criterios de aceptación:
El email de restablecimiento de contraseña se envía a la dirección de correo electrónico
completada en el campo user email del perfil del usuario siempre que el usuario no esté
bloqueado ni deshabilitado.
¿Estamos llegando al final del encuentro y aun así te has quedado
con ganas de seguir aprendiendo más?
Accede a los siguientes documentos para profundizar en el
concepto de “Historia de usuario” o “User Story”.
15
https://docs.google.com/document/d/1OJjPhUR65Qw5etHbnFhWodjmXukp-dcUKKxZrooyPdw/edit?usp=sharing
https://docs.google.com/document/d/15sLL-2vcZZ2vAWcHAayC26cgFDMG3xrUKZ08wYiJGLY/edit?usp=sharing
● What’s in a Story?
● ¿Qué hay en una historia?
¡Hora de cerrar!
¡Han dado lo mejor! Felicitaciones ¿Tienen dudas? No olviden nuestra
comunidad de prácticas, la encuentran en Discord, siempre dispuesta a la
cooperación.
¡Llegó el momento de los pulsos. ¿Te gustaría recibir? Demuéstrales a tus
compañeros qué estás presente para promover su aprendizaje y el tuyo
también.
16
https://dannorth.net/whats-in-a-story/
http://adrianmoya.com/2012/08/que-hay-en-una-historia/#sthash.xWJibi6q.dpbs

Continuar navegando