Lo que aprendí de Rapid Software Testing con Michael Bolton
Como testers tenemos ciertos conceptos fuertemente incorporados sobre qué significa ser un tester, qué tareas deben desempeñarse y cómo hacerlas. Resulta fácil entonces que nos formemos una imagen de cómo debe ser un tester. Pero qué sucedería si alguien nos dijera que existe una alternativa a lo que conocemos, toda una nueva metodología a nuestro alcance que trae consigo nuevos conceptos. Les proponemos vaciar el vaso y compartirles una perspectiva personal sobre qué me sucedió cuando el Rapid Software Testing se presentó como una nueva metodología disponible, cargada de nuevos y disruptivos conceptos.
Expositor: Gonzalo Mancebo
1. Lo que aprendí de
Rapid Software Testing
con Michael Bolton
Gonzalo Mancebo
gmancebo@genexusconsulting.com
@gomancebo
2. Spoiler alert!
No es un curso de RST
Introducción y definición formal
de
RST (Rapid Software Testing)
Mis ideas y experiencias sobre
RST que me parecen
interesantes/relevantes
compartir
7. ¿Qué es Rapid Software Testing?
Conjunto de habilidades
(mayoritariamente tácitas)
Conjunto de heurísticas
Llevar adelante el proceso de
testing y lograr su objetivo
Habilidad de contar la historia
8. Algo de lo que aprendí de
Rapid Software Testing
Nuevo concepto de testing
Modelos, Cobertura, Oráculos…
Cómo hacer mi trabajo visible
9. Nuevo concepto de testing
Contexto
Leo las especificaciones
Identifico ítems específicos a ser
checkeados
Preparo casos de prueba
Ejecuto casos de prueba
10. Nuevo concepto de testing
Verdadero contexto
Leo las especificaciones
Este… ¡No hay especificaciones!
¡Opa! No, si acá está, a ver…
¡Noooo! Esto es viejo y no se entiende
Ya sé, mejor le pregunto a alguien…
¿¡Por qué a mí Dios!? Nadie tiene idea de
cómo debería funcionar
¿Qué hago, no tengo nada para testear?
11. Nuevo concepto de testing
El testing es…
Evaluar un producto
aprendiendo de él a través de
la exploración y la
experimentación
12. Nuevo concepto de testing
Los testers no son QA
Problema: Cualquier cosa sobre el producto que
amenace su valor
Calidad: Es el valor del producto para alguna
persona que importe
Tester y QA son distintos roles
Brindar información sobre el estado de un
producto y los riesgos asociados para que los
interesados tomen decisiones informadas
14. Nuevo concepto de testing
Testing no es sobre Casos de Prueba
Observar
•• Operar el
producto
para
observar
su
comporta-
miento
Evaluar
•• Ejecutar
pruebas
•• Evaluar
resultados
Reportar
•• Reportar
las fallas
¡Checking!
Forma parte del testing pero no testing
15. Modelos
La importancia de los modelos
Un modelo es una idea, actividad u objeto..
Ideas en la mente, personas, demostraciones o programas
Que representa otra idea, actividad u objeto.
Como algo complejo que necesito estudiar
Un buen modelo es aquel que ayuda a entender o
manipular aquello que representa
¿Un modelo del cuerpo humano?
16. Modelos
Preguntas guiadas por riesgo
¿Cómo probaría y cuántas pruebas?
El sistema debe operar en el rango de -25 a 50 grados
• ¿Qué es el sistema?
• ¿Qué pasa con el sistema operando fuera de ese rango?
• ¿A qué tipo de grados se refiere?
• ¿Por qué opera a ese rango y no en otro?
Testing es sobre hacer las preguntas
correctas,
En base a riesgos para encontrar y comunicar
problemas
17. Preguntas guiadas por riesgos
Preguntas
Riesgo
Modelar la realidad a probar
Determinar el cubrimiento
Determinar oráculos
Determinar procedimientos
Configurar, Operar y
Observar el sistema
Evaluar resultados
Aplicar heurística de
finalización de actividades
Reportar resultados
18. Cobertura
En RST una forma de modelar el cubrimiento
Elementos del producto
Estructura
Función
Data
Interfaces
Plataforma
Operaciones
Tiempo
Capacidad
Performance
Usabilidad
Seguridad
Que tan profundamente examinamos el producto con
respecto a sus modelos
20. Rapid Software Testing
Oráculos
Los Oráculos no son perfectos y
los testers no somos jueces
No es necesario decidir a ciencia cierta si algo es un
BUG, sino que debemos asegurarnos de encontrar
una razón justificada de que puede existir una
amenaza al valor del producto para alguien que
importa.
Por eso es importante encontrar buenos oráculos
que permitan brindar credibilidad
22. Testing en tres historias
• Una historia sobre el estado del producto
Sobre qué hace, cómo falla y cómo puede
fallar de forma que importe al cliente
• Una historia sobre cómo lo testeamos
Cómo lo operamos y lo observamos
Cómo reconocimos problemas
Qué se ha probado y qué no se ha probado
todavía
• Una historia sobre qué tan bueno fue el
producto
El riesgo de testear o no testear
Qué hizo el testing más rápido o lento
Cuán testeable el producto es
Qué necesitas o recomiendas
Bugs
Cobertura
Issues
Oráculos
23. ¿Por qué hablamos hoy de
Rapid Software Testing?
Cada proyecto ocurre bajo
condiciones de incertidumbre
y presión de tiempo.