Está en la página 1de 18

CAST (Computer Aided Software

Testing)
Paola Llerena Valdivia
Introducción
Calidad en Sistemas de Software
• Sistema de Software: ¿Calidad?

• Verificación y Validación de Software

Tecnicas de Verificacion de Software

• Verificación Dinámica (Pruebas de Software)


▫ Ejecutar y observar el comportamiento del
producto.

• Verificación Estática (Inspección de Software)
▫ Análisis de la representación estática del
sistema para encontrar problemas.
 Verificación de convenciones de
codificación
Detección de anti-patrones (malas
practicas)
Verificación Formal
Pruebas de Software
Pruebas de Software
• Proceso empírico para evaluar:
▫ Funcionalidad
▫ Correctitud

• A través de ejecución.

• Información sobre la calidad
Sistema Bajo Pruebas
Estado del Programa, incluyendo salidas ine
Estado del Programa

Estado del Sistema Estado del Sistema

Salidas Monitoreadas
Sistema bajo pruebas

onfiguración y recursos del sistema Impacto en dispositivos y recursos del s

Datos de otros procesos. Datos a otros procesos.


Técnicas de Pruebas de
Software
Técnicas de Pruebas de
Software
Automated Testing
CAST (Computer Aided Software
Testing)

• Proceso de automatizar los procesos actuales de
pruebas manuales, mediante el uso de
software:

▫ Controlar la ejecución de las pruebas.
▫ Comparar salidas obtenidas vs salidas
esperadas
▫ Establecer precondiciones
▫ Generar reportes
¿Por qué pruebas automatizadas?
Calidad.

 Pruebas Manuales vs. Pruebas automatizadas

 TIEMPO


Manual Testing
 Automated Testing

• Ejecutar (y re- • Costo-efectivo si hay


ejecutar) pruebas que repetir las
puede consumir pruebas muchas
mucho tiempo. veces.
• •
• Muchas pruebas • Permite
necesitan ser re automatización para
ejecutadas cada vez código que
que se recompila el evoluciona
sistema. constantemente.
• •
• Se ejecutan •
secuencialmente. • Pueden ejecutarse

simultaneamente en
muchas maquinas
Manual Testing
 Automated Testing

• Propenso a errores en • Ayuda en matrices


matrices de prueba de prueba grandes.
muy grandes. •
• •
• Si el caso de prueba
será ejecutado un
• Mayor costo en
par de veces, los configurar y
costos son bajos. ejecutar casos de
prueba.

• Mejor opción para •
pruebas de • Impráctico en
usabilidad. pruebas de
 usabilidad.
Manual Testing
 Automated Testing

• Permite realizar • Para realizarlos hay


mejores pruebas a que usar software,
medida, que que no son
incrementa la perfectos y pueden
posibilidad de contener errores.
encontrar errores •
de usuario reales. •
• •
• Se pueden realizar • Útil para algunas
todo tipo de artes del proceso
pruebas. de pruebas.

Candidatos para la automatizacion
• Pruebas Regresivas.
• Pruebas orientadas a los datos (mismo caso de
prueba con los mismos pasos, pero con
diferentes valores)
• Pruebas de Portabilidad (mismo test en
diferentes SO o diferentes navegadores)
• Partes de la aplicación que no cambiaran
pronto.
No son Candidatos para la
automatizacion

• Aéreas de la aplicación que cambian
frecuentemente (los scripts quedaran
obsoletos)
• Test de usabilidad.
• Test de exploración.
Costos
• Personas hora para realizar las pruebas:
▫ Configurar
▫ Ejecutar las pruebas automatizadas.
• Ambiente de Prueba
▫ Infraestructura
• Software de Pruebas:
▫ Tecnologías
▫ Herramientas