QA E4 - Introducción A La Pruebas
QA E4 - Introducción A La Pruebas
QA E4 - Introducción A La Pruebas
Introducción
a las pruebas
2
MATERIAL DE LECTURA
2. Introducción
¿Qué es el Testing?
El testing o prueba de software es un método para verificar si el producto de
software real cumple con los requisitos esperados y busca garantizar que el
producto de software esté libre de defectos.
3
¿Cuáles son los objetivos del testing?
Uno de los objetivos de las pruebas de software es evitar los errores en las
primeras etapas del desarrollo. La detección temprana de errores reduce
significativamente el costo y el esfuerzo. La prevención de defectos implica
hacer un análisis de causa raíz de los defectos encontrados previamente y
luego tomar medidas específicas para prevenir la ocurrencia de ese tipo de
errores en el futuro. Las pruebas eficientes ayudan a proporcionar una
aplicación sin errores. Si previene los defectos, se reducirá el recuento general
de defectos en el producto, lo que garantiza aún más un producto de alta
calidad para el cliente.
1
Análisis estático y análisis dinámico son dos tipos de evaluación de código. ¿Tienes tiempo
extra y deseas explorar más? Aquí puedes adelantar algunos conceptos.
4
puede ser realizada por el mismo equipo de desarrollo o por el equipo de QA
(quality assurance).
3. Verificar requerimientos:
El principal objetivo de las pruebas debe ser satisfacer las necesidades del
cliente. Los testers prueban el producto y aseguran la implementación de
todos los requisitos especificados. El desarrollo de todos los casos de prueba,
independientemente de la técnica de prueba, garantiza la verificación de la
funcionalidad de cada caso de prueba ejecutado. El tester también debe crear
una matriz de trazabilidad de requisitos (RTM)2, que garantizará el mapeo de
todos los casos de prueba a los requisitos. RTM es una forma efectiva de
garantizar que los casos de prueba tengan la cobertura de requisitos
adecuada.
5. Construir confianza:
6. Reducir riesgos:
2
Lo verás más adelante, pero si no aguantas, te dejamos esta definición: La trazabilidad de
requerimientos es la capacidad de registrar las relaciones existentes entre la necesidad dada
por un interesado (stakeholder), el requerimiento de proyecto y la solución implementada
finalmente.
5
tecnología elegida, la implementación o el mantenimiento del producto. Si no
controlamos estas incertidumbres, podremos tener riesgos potenciales no solo
durante las fases de desarrollo sino también durante todo el ciclo de vida del
producto. Por lo tanto, el objetivo principal de las pruebas de software es
integrar el proceso de gestión de riesgos para identificar cualquier riesgo lo
antes posible en el proceso de desarrollo.3
3
Recuerda este objetivo cuando al final del encuentro de hoy estés leyendo sobre el caso de
Microsoft. #spoiler
6
Otros casos incluyen que el software sea desarrollado para una región
específica y deba seguir las reglas y regulaciones legales de esa región.
Además, el producto de software puede tener que ser compatible con los
estándares de prueba nacionales e internacionales.
Tip de aprendizaje:
Toma nota o escribe estos objetivos e intenta recordar si has visto errores de
este tipo en tu propia experiencia como usuario. Por ejemplo, en el número 5
(construir confianza), nosotros recordamos esas páginas web que a primera
vista no nos resultan confiables ya que tienen demasiada información no
relacionada al objetivo principal. ¿Quieres ver un ejemplo? No sabemos muy
bien qué desean estas personas, pero desde el primer clic que ya no
pondríamos nuestra tarjeta de crédito en este sitio.
7
4. Satisfacción del Cliente: El objetivo principal de cualquier producto es
dar satisfacción a sus clientes. Las pruebas de UI/UX garantizan la mejor
experiencia de usuario.
¿NECESITAS UN EJEMPLO?
Si tuviéramos que explicar a soporte técnico qué nos pasó, ¿podrías hacerlo? Y
si fueras soporte técnico, ¿podrías ayudar a este usuario con este nivel de
detalle en el error?
8
MATERIAL DE LECTURA
Errores de software y bugs
Un error es una desviación de lo que se esperaba como exacto o correcto. En
software, un bug es un error, defecto o falla en un programa o sistema que
causa “un resultado inesperado o incorrecto o un comportamiento no
deseado.“
1. Errores funcionales
9
La funcionalidad esperada del botón Cancelar es que el modal de Eliminar
publicación se cierre y que se regrese a la página original de la publicación, sin
eliminarla. Si el botón de cancelar no es clicable, estamos frente a un error de
funcionalidad.
El software presenta al usuario opciones o CTA (call to action) que son poco
claros o que no realizan la acción que dicen realizar. Por ejemplo, no hay Menú
de ayuda o Instrucciones para usuarios nuevos. O acciones que son centrales
al software pero no figuran en la sección de Preguntas Frecuentes. Hasta
puede ser que un botón lea “Guardar” y esté ejecutando “Eliminar.”
Imagen 4.4: Pantalla con copy erróneo en botón Guardar. Fuente: producción propia.
10
Esta pantalla permite que el usuario complete su perfil. Pero, no hay opción
para que el usuario se vaya de esta pantalla sin completar su perfil. Ya que el
botón “Cancelar” no se le provee al usuario, este es un error de comando
faltante.
4
¿GUI o UI? ¡Hora de googlear un concepto fundamental más! Tip: Saber usar los términos UX,
UI y GUI te distingue en el mundo laboral. Muchos principiantes cometen el error de pensar que
se refieren al mismo concepto. ¡Destácate desde el día #1!
11
Nota: estos errores de sintaxis no se refieren a errores en la sintaxis del
código. Esos los ven los desarrolladores cuando hacen sus tests funcionales.
12
Otros ejemplos de mal manejo de errores pueden lucir como las pantallas a
continuación:
Imagen 4.10:
Pantalla
“Unexpected
error”. Fuente:
producción propia.
6. Errores de cálculo
Este tipo de errores ocurre cuando una porción del código del software tiene
algún error. Algunos ejemplos son:
● Errores de lógica
● Fórmulas incorrectas
● Tipos de datos no alineados (texto vs números, por ejemplo)
● Errores de código
● Errores en las funciones internas del código
● Bases de datos inexistentes o mal asignadas
13
los propulsores del orbitador no funcionen correctamente. Debido a este error,
el orbitador se estrelló casi inmediatamente al llegar a Marte.
14
Antes de continuar, vamos a poner en práctica tus habilidades de detección de
errores.
¡MANOS A LA OBRA!
Ejercicio
Para cada uno de los ejemplos presentados a continuación, completa una tabla
como esta indicando el tipo de error que visualizas (de los 7 tipos vistos), si
tienes suficiente información para documentarlo o tienes preguntas y si existe
superposición de errores (más de un tipo al mismo tiempo en un ejemplo).
15
Ejemplo 2: El misterio del teclado
16
Ejemplo 5: Guardar y compartir
Pregunta bonus:
¿Por qué no podemos mostrar ejemplos de todos los tipos de errores? 5
5
Da para debate. :-)
17
MATERIAL DE LECTURA
Error, defecto y falla
Error Acción humana que produce un resultado incorrecto
18
trabajar en español sobre elementos que han sido creados en inglés, y la
dificultad que existe para saber cómo nombrar a cada uno de ellos.
¿NECESITAS UN EJEMPLO?
Aproximadamente, unos 100 mil errores. Es por eso que en 2008, Microsoft
contaba con 90 mil empleados, muchos de los cuales se dedicaban a escribir,
arreglar y testear esas millones de líneas de código. En la década del 90,
Microsoft implementó el reporte automatizado de errores.
Hoy en día estamos muy acostumbrados a ver este tipo de soluciones y rastreo
de errores, pero para ese entonces era una idea muy innovadora.
19
Una vez que Windows XP ya estaba funcionando en más de 1000 millones de
computadoras personales, cada error que ocurría se cargaba automáticamente
en este sistema6 y los equipos de soluciones trabajaban directamente con los
reportes que se generaban a partir de los millones de reportes enviados por los
usuarios.
¿Puedes imaginar lo que costó arreglar este defecto? Si quieres saber más,
¡prepárate! El material es abundante. Podemos darte algunas pistas para que
sepas qué leer primero. Busca MS08-067 y Conficker.7
¡Hora de cerrar!
¡Gran momento para recordar y agradecer a nuestro equipo de hoy! ¿Ya se han
vuelto a encontrar con alguien de los equipos anteriores?
6
¿Quieres saber más? Se llama WER, Windows error reporting.
7
Solo podemos adelantarte que esto ocurrió en 2008… y en 2019 el total de sistemas
afectados rondaba las 500.000 computadoras.
20