Logo Studenta

QA E8- Análisis, planificación y ejecución de pruebas II

¡Estudia con miles de materiales!

Vista previa del material en texto

Módulo 3 / Encuentro 8/20
Análisis
planificación y
ejecución de
pruebas II
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 octavo encuentro de trabajo!
A partir de ahora ya no tendrás marcado el uso de los tiempos ya que has
adquirido progresivamente la suficiente autonomía como para administrarlo tú
mismo. Por supuesto que podrás ir conversando con tu equipo para ver qué tal
vienen a medida que vayan avanzando con el contenido de hoy.
Podrás notar que las guías comienzan a tener más páginas o se complejizan
¡Ten calma! Ya eres un experto gestionando los tiempos. Además, encontrarás
que a veces hacemos breves repasos de temas ya vistos y que los tópicos y
ejercicios están acompañados de imágenes.
Continuemos con los temas iniciados el encuentro anterior.
MATERIAL DE LECTURA
Prioridad: Impacto y riesgo
¿Por qué es tan importante saber priorizar?
Testear todo es imposible, sería una actividad infinita. Por esa razón tenemos
que identificar para cada sistema que testeamos (y para cada contexto) qué
testear y qué no.
Además debemos analizar:
● Qué testear primero
● Qué pruebas son imprescindibles
● Cuáles son deseables pero prescindibles.
Con el objetivo de alcanzar un nivel de calidad aceptable para el sistema que
estamos testando en cada caso, tendríamos que tener en cuenta qué testear y
en qué orden.
2
Se debe comenzar con las pruebas más importantes. Suena obvio. Pero,
¿cómo identificamos cuáles son las pruebas más importantes para cada
sistema y contexto particular?
El objetivo de probar lo más importante primero es asegurar que lo crucial del
sistema está cubierto aun cuando no hayamos llegado a ejecutar todo nuestro
plan de prueba.
Entonces…
¿Qué es crucial de un sistema? ¿Cuáles son las funcionalidades claves?
Claramente las respuestas a estas preguntas varían de sistema en sistema. No
serán las mismas las funcionalidades principales de un home banking, de un
software, de un scanner, de una casilla de correo electrónico, de un chat o un
videojuego.
Las funcionalidades claves del sistema:
● Dependen del sistema en sí
● Probablemente estén descritas en los requerimientos o especificaciones
del sistema.
● Podrían ser las que le interesan al usuario final del sistema o las que
nuestros stakeholders indiquen.
● Podrían ser aspectos generales de calidad relacionados a la performance.
Se analizan proyecto a proyecto.
¿NECESITAS UN EJEMPLO?
En un sistema de envío de emails, la funcionalidad principal seguramente sea el
envío y recepción de correos electrónicos.
Es muy probable que otros aspectos de calidad con igual nivel de importancia
como la funcionalidad principal existan, tales como aspectos relacionados a la
seguridad.
Un sistema de envío de emails podría tener otras funcionalidades tales como el
ordenamiento de correos en diferentes carpetas, la creación de etiquetas, la
creación de múltiples bandejas de entrada entre otras.
Todos los aspectos funcionales y no funcionales deben testearse. Pero en el
orden de ejecución tendría sentido que primero se lleven a cabo las pruebas
3
que revisen los aspectos claves que afectan la calidad de ese sistema. Lo que
de ningún modo debería fallar.
Es decir, todo aquello que en caso de fallar tuviese un impacto grande, debería
ser testeado exhaustivamente.
¿NECESITAS UN EJEMPLO?
La desconfiguración del color de fondo personalizado guardado por el usuario
podría ser algo cosmético y de bajo impacto si sucede en un sistema de envío
y recepción de emails.
La desconfiguración del color de fondo personalizado guardado por el usuario
podría ser algo de prioridad e impacto alto si sucede en un sistema de creación
de páginas web (al estilo wordpress).
Es importante tener en cuenta:
a. Cuáles son las funcionalidades esenciales del sistema que vamos a
probar
b. Qué funcionalidades le interesan a los stakeholders principales o a los
usuarios finales del sistema
c. Qué aspectos de calidad no funcionales deberían estar cumplidos según
la especificación del sistema (seguridad, performance, portabilidad, etc)
Las dos palabras claves a la hora de priorizar son impacto y riesgo
Veamos las definiciones oficiales (según la RAE��
● Riesgo: contingencia o proximidad de un daño.
● Impacto: Huella o señal que deja un impacto. / Efecto de una fuerza
aplicada bruscamente. / Efecto producido en la opinión pública por un
acontecimiento, una disposición de la autoridad, una noticia, una
catástrofe. / Probabilidad de que ocurra un golpe o un efecto.
Entonces: Si un resultado inesperado - con alta probabilidad de que suceda-
tiene impacto negativo, entonces se considera que el nivel de riesgo es alto
4
Como mencionamos anteriormente, no todo resultado inesperado genera un
impacto negativo - Recuerden el ejemplo de los bug-features... bugs que
suelen confundirse con funcionalidades diseñadas adrede
Seamos conscientes y testeamos exhaustivamente y conciente aquellos
escenarios de alto riesgo.
SUPER TIP� Generamos pruebas para verificar que el sistema se comporte
de la manera esperada como se definió en las especificaciones del
sistema. Si encontramos comportamientos inesperados, generalmente los
reportamos al equipo de desarrollo para que corrijan el defecto que dio
lugar al comportamiento inesperado.
Cuando diseñamos nuestro plan de pruebas (junto al orden de prioridades o al
orden de ejecución) podemos encontrar algún bug. Es útil tener en mente las
variables riesgo e impacto para dar la prioridad correcta a cada caso.
¿NECESITAS UN EJEMPLO?
Supongamos que tenemos que probar una aplicación de calendario que debe
permitir al usuario final visualizar sus tareas y citas en su celular y en su laptop.
Como analista de calidad sé que debo asegurarme de que los aspectos
“privacidad y confidencialidad” están bien cubiertos. Por todo esto, además de
probar que las funcionalidades principales de la aplicación se comporten de la
manera esperada (creación de eventos y tareas, visualización del calendario
sincronizado en diversos dispositivos), también deben agregarse pruebas para
asegurarse que:
● Solo el usuario -dueño del calendario o con permisos de acceso al
calendario- puede manejar el sistema
● Los eventos creados en un calendario privado no son encontrables o
visibles en otros puntos de entrada.
Es útil definir un criterio de salida (aka completion criteria). Es decir, un criterio
que nos ayude a saber cuándo es seguro parar de testear.
5
Las prioridades y el criterio de salida nos dan la base que guía la planificación.
Nos permiten saber cuánto hay que testear para alcanzar los niveles de calidad
acordados.
The most important testsWill still be those that have already been done
whenever we stop �ISTQB guide).
¡MANOS A LA OBRA!
Ejercicio #1
Diseñá los planes de pruebas que usarías para testear las
aplicaciones de ejemplo que aparecieron en este artículo �Sistema
de envío de emails/Aplicación de calendario). Para el plan de
pruebas es suficiente con generar una lista con los casos de prueba escritos en
orden de prioridades.
Para cada caso de prueba indica:
● Id
● Título
● Descripción
● Precondiciones (si aplica)
● Datos de entrada (si aplica)
● Pasos
● Comportamiento esperado
● Prioridad
● Comentario (si es
necesario)
Si tu tiempo es justo puedes entregar una versión reducida que incluya:
● Id
● Título
● Descripción
● Comportamiento esperado
● Prioridad
● Comentario (si es necesario)
Para esta segunda versión deberías poder sintetizar y asegurar que el título
sea conciso y descriptivo de tal manera que una persona que no conoce el
sistema pueda ejecutar la prueba correctamente aún sin tener pasos ni los
datos deentrada.
6
Puedes ver la solución completa del ejercicio aquí (incluso te puede servir
como plantilla si no miras las respuestas)🙂
La resolución completa de este ejercicio puede implicar casi que todo el
encuentro en vivo del día de hoy.
¡Hora de cerrar!
Finalizamos el encuentro de hoy. ¿Dudas? ¿Sugerencias ? ¿inquietudes? En
Discord podrás realizar los comentarios que desees. Busca y ofrece
cooperación. ¿Estás preparado/a?
7
https://docs.google.com/document/d/1zYHWG0AYF2epuPMW8R9ACmVAMOVwdQmEBpiXD2AcjfQ/edit?usp=sharing

Continuar navegando