0% encontró este documento útil (0 votos)
0 vistas31 páginas

10. Testing de Software

El documento aborda el testing de software, definiéndolo como la evaluación técnica de un producto para determinar su calidad. Se destacan la importancia de detectar errores tempranamente, los tipos de pruebas funcionales y no funcionales, y la relevancia de la documentación en el proceso de testing. Además, se enfatiza que una buena práctica de testing contribuye a mejorar la calidad del software y optimizar su mantenimiento.

Cargado por

vale.colman1
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas31 páginas

10. Testing de Software

El documento aborda el testing de software, definiéndolo como la evaluación técnica de un producto para determinar su calidad. Se destacan la importancia de detectar errores tempranamente, los tipos de pruebas funcionales y no funcionales, y la relevancia de la documentación en el proceso de testing. Además, se enfatiza que una buena práctica de testing contribuye a mejorar la calidad del software y optimizar su mantenimiento.

Cargado por

vale.colman1
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Informática Médica

Testing de Software

Clase 11: jueves 22 de octubre de 2024


17:00 a 19:00

Prof. Ing. Franco Simini, Asist. Lic. Natalia Garay-Badenian


Ayud. Téc. Carolina Arámbulo, Ayud. Br. Danel Méndez y Ayud Br. Alejandra Rial

Núcleo de Ingeniería Biomédica de las Facultades de Medicina e Ingeniería


1
[Link]
1. ¿Qué es el testing de software?

2. ¿Por qué es importante testear?

3. Tipos de pruebas de software

4. Importancia de la Documentación

2
1. ¿Qué es el testing
de software?

3
Testing de software
"Realizar una investigación técnica de un producto
bajo prueba, con el fin de brindar información
relativa a la calidad del software, a los diferentes
actores involucrados en un proyecto." *

Es investigar un producto para determinar su


calidad.

4
*Testing Computer Software, 2nd Edition, C. Kaner, J. Falk, H Q. Nguyen, Ed. Wiley, 1999
Objetivos

● Evaluar y mejorar la calidad del producto,


identificando defectos y problemas.

● Verificar el comportamiento de un programa en


funcionamiento a través de un grupo limitado de
casos de prueba, debidamente seleccionados en
relación al comportamiento esperado.

5
Funcionamiento variable

● La prueba de un programa inicia con entrada de


datos.

● La entrada de datos no es siempre suficiente para


definir una prueba: un sistema complejo y no
determinista podría tener diferentes
comportamientos con la misma entrada de datos,
dependiendo del estado en el que se encuentre.

6
Conjunto limitado de pruebas

● Cuantas más pruebas mejor

● Cada prueba cuesta tiempo y dinero

Se busca el equilibrio

7
Ejemplo: Tipos de Usuarios

● Todos caracteres alfabéticos


● Todos alfanuméricos
● Todos numéricos
● Numéricos y símbolos especiales
● Mayusculas y minusculas
● …
● Máximo 8 caracteres

8
¿Cuántas pruebas serían necesarias?

El usuario deberá ser solamente caracteres alfabéticos:

● criterio económico pruebo un usuario de cada


uno de los demás tipos

● criterio exhaustivo pruebo todas combinaciones


de caracteres, cifras y símbolos especiales :
millones de millones de pruebas

9
Selección de pruebas

● Existen diferentes tipos de pruebas (caja negra, caja


blanca, etc. )

● Esto deja espacio para que el tester aplique su


criterio de selección de pruebas con muy diferentes
grados de efectividad.

● Seleccionar la prueba más apropiada para cada


situacion es un problema complejo

● En la práctica se usa:
○ la experiencia en el diseño de pruebas
○ el análisis de riesgo 10
Esperado

El comportamiento esperado se puede comprobar


comparando los resultados obtenidos durante la prueba
con:

● las especificaciones
● el comportamiento anticipado en los
requerimientos
● mensajes de usuarios beta

11
Aplicación cotidiana

● El testing es algo que está en la vida diaria de todos


nosotros.

● Constantemente estamos comparando la calidad de


los objetos con sus requerimientos.

Ej: Un calefón con calificación energética A es mejor que uno clase C. Si


bien ambos cumplen con el requerimiento para el que fueron diseñados,
uno lo hace de manera más eficiente y económica que el otro. La
comparación doméstica es, a paridad de uso, el consumo antes y
después del cambio
12
2. ¿Por qué es
importante testear?

13
Ventajas del testing

● Detectar fallas que presenta el sistema de manera


temprana.

● Analizar las futuras fallas, cuanto antes se detecte un error,


más barato y sencillo es de solucionar

● Lograr que el software tenga la menor cantidad de errores


posibles.

Ventajas para futuros productos


Mejorar los procesos antiguos para generar una mejor producción
sin volver a repetir los mismos fallos del pasado.
14
¿Cuándo comenzar las pruebas?

● Durante el desarrollo
● Permite corregir bugs (fallos) a tiempo
● No esperar a la entrega beta para iniciar la
pesquisa de errores.

La detección y corrección temprana ahorran


dinero y tiempo de desarrollo y pruebas.

15
3. Tipos de pruebas de
Software

16
Funcional vs No Funcional
Ambas evaluan el estado de un sistema,
programa o aplicación.

17
Cuáles son requisitos funcionales y
cuáles no lo son?

Un requisito no funcional especifica características de


operación del sistema (tiempo, seguridad, cantidad de
usuarios, etc.) que deben ser evaluadas en un sistema
y no sus comportamientos específicos.

Por el contrario, un requisito funcional específica


comportamientos específicos del sistema. (Login,
Logout, Editar perfil, etc.)

18
Pruebas para requisitos funcionales

Verifican que el software cumple con su


especificación (ej. regresión, pruebas de interfaz)

19
Tipos de pruebas para requisitos
funcionales:

● Pruebas unitarias: prueba de subprogramas


● Pruebas de integración: se prueba uniendo
funciones/subprogramas de a poco
● Pruebas alfa y beta: un grupo representativo de usuarios
utilizan el programa en las instalaciones del desarrollador y
externamente respectivamente
● Pruebas de aceptación/ calificación: comprobar que se
satisfacen los requisitos para el mercado al que se destina el
software.
● Pruebas de regresión: aseguran de que las nuevas
actualizaciones de software no hayan introducido errores en las
20
funcionalidades existentes.
Pruebas para requisitos NO funcionales

Describen comportamientos accesorios y verifican


características de operación del sistema en ciertas
condiciones de entorno.

Ejemplos:

● seguridad
● de carga
● rendimiento

21
Tipos de pruebas para requisitos
NO funcionales:

● Pruebas de seguridad: libres de lagunas,


vulnerabilidades, amenazas, riesgos
● Pruebas de estrés: estabilidad del sistema
● Pruebas de rendimiento: tiempo de respuesta y
capacidad
● Pruebas de escalabilidad: cuantos más usuarios
podemos admitir
● Pruebas de instalabilidad: procedimientos para lograr
un sistema de software instalado que se pueda utilizar

22
Beneficios de las pruebas para
requisitos NO funcionales

● Tener un sistema más seguro


● Menos proclive a caer cuando la concurrencia
de usuarios aumente
● Mejor usabilidad y buen rendimiento en general
● Optimización del sistema para consumir menos
recursos y por ende que su mantenimiento sea
más económico

23
4. Importancia de la
Documentación

24
Uso de documentos para las pruebas
● Necesario en todas las fases del desarrollo de software
● Asegura la trazabilidad
● Facilita la comunicación entre los miembros del equipo
● Permite la repetición de pruebas
● Proporciona una base para el mantenimiento y mejora continua del
software.
● Proporciona una guía clara sobre los requisitos, los objetivos y las
funcionalidades del software a probar.
● Contribuye a un proceso de testing más eficiente, por lo tanto a
mayor calidad del software

25
Caso de uso
● Escenarios detallados que describen cómo un usuario
interactúa con el software y cómo este debería responder.
● Proporciona una estructura para expresar requisitos
funcionales.
● Ayudan a comprender los flujos de trabajo y las interacciones.

Ej:
CU1: Rol Cliente
CU2: Rol Empleado sucursal

26
Especificación de Requisitos de
Software (ESRE)
● Define los requisitos del software de manera detallada y precisa.
● Sirve como base para diseñar y realizar pruebas.

27
Historias de Usuario
● Breves descripciones de una funcionalidad deseada, escritas
desde la perspectiva del usuario.
● Proporcionan contexto para las pruebas y ayudan a priorizar
características.

28
¿Cómo documentar un error?

● Fecha y hora
● Detalles del sistema que estábamos utilizando: sistema operativo y
su versión, navegador, si es una app o es versión web
● Breve descripción del error
● Pasos a seguir para reproducirlo
● Resultado esperado y resultado obtenido
● Capturas de pantalla que lo evidencien
● Clasificar severidad y prioridad

29
En resumen…

● El testing de software determina la calidad del sistema


● Es importante la detección y corrección temprana de errores
● Existen dos grupos de requerimientos: Los funcionales que es
decir las acciones que debe cumplir un sistema , mientras que el
otro grupo (no funcionales) es todo aquello que concierne a cómo
opera el sistema.
● Documentar toda incidencia con la mayor cantidad de información
para poder replicarla.

30
Gracias!

31

También podría gustarte