Professional Documents
Culture Documents
Software y los
Procesos de
Testing
GFI Informtica
La Calidad del Software y los Procesos de Testing
ndice
Planificacin Estandar
Planificacin Estandar Evolucin Real
Evolucin Ideal
Ideal Pruebas
Pruebas
Planificacin Estandar Evolucin Real Ideal Pruebas
INTEGRACIN
INTEGRACIN
INTEGRACIN
CODIFICACIN
CODIFICACIN
INTEGRACININTEGRACIN
CODIFICACIN
DETALLADO
PRUEBAS
PRUEBAS
PRUEBAS
DETALLADO
DISEO DETALLADO
NIVEL
ALTONIVEL
CODIFICACIN
DISEO ALTO NIVEL
INTEGRACIN
DISEO
DISEOALTO
PRUEBAS
DISEO
REQUISITOS
REQUISITOS
PRUEBAS
DISEO
REQUISITOS
PRUEBAS
La Calidad del Software y los Procesos de Testing
Introduccin Algo mas que pruebas Software
Pruebas
Software
Gestin del
Ciclo de
Vida de la
Calidad
Software
La Calidad del Software y los Procesos de Testing
Introduccin
La falta de cualquiera de estos vertices implica
problemas evidentes:
Carencia Problema Metodologa
Herramientas Falta de
Productividad
Metodologa Proceso
catico y no
repetible
Herramientas Recursos
La Calidad del Software y los Procesos de Testing
ndice
TMap
TPI
TMM
La Calidad del Software y los Procesos de Testing
Metodologas - TMap
Tcnicas
La Calidad del Software y los Procesos de Testing
Metodologas - TMap
Infraestructura y Herramientas
La Calidad del Software y los Procesos de Testing
Metodologas - TMap
Organizacin
La Calidad del Software y los Procesos de Testing
Metodologas de pruebas alineadas con procesos de desarrollo
TMap
TPI
TMM
La Calidad del Software y los Procesos de Testing
Metodologas - TPI
El modelo TPI est basado en las mejores prcticas de la industria
relativas a la mejora del proceso de pruebas. El modelo incluye guas
prcticas para evaluar el nivel de madurez de pruebas de una
organizacin as como los pasos para mejorar el proceso.
El propsito de tales mejoras podra ser alcanzar el nivel 3 del SEI-
CMM ( Capability Maturity Model ).
El modelo se compone de 20 reas
Clave, cada una con diferentes
niveles de madurez. Los niveles de
todas las reas Clave estn integrados
en una Matriz de Madurez. Cada
nivel est descrito por varios Puntos
de Verificacin. Tambin forman
parte del modelo algunas
Sugerencias de Mejora que ayudan
a alcanzar el nivel deseado.
La Calidad del Software y los Procesos de Testing
Metodologas - TPI
Niveles
Puntos de Verificacin
Los requisitos para cada nivel estn
definidos en forma de Puntos de
Verificacin ( Checkpoints ): son
preguntas que necesitan ser respondidas
afirmativamente para poder calificar a
dicho nivel. A partir de las listas de
verificacin se puede evaluar un proceso
de pruebas y se puede determinar para
cada rea Clave el Nivel alcanzado. A
medida que se considera mejorada cada
rea Clave, los Puntos de Verificacin
son acumulables: para poder clasificar
para el nivel B, el proceso de pruebas
necesita responder afirmativamente
tanto a los Puntos de Verificacin del
nivel B como del nivel A.
La Calidad del Software y los Procesos de Testing
Metodologas - TPI
Matriz de Madurez
Todos los Niveles y reas Clave
estn interrelacionados en una
Matriz de Madurez de Optimizada (11-13)
Pruebas. Se ha concebido como
una buena manera de expresar
las prioridades internas y Eficiente (6-10)
dependencias entre Niveles y
reas Clave. Controlada (1-5)
No existe graduacin entre
Niveles: mientras que un
proceso de pruebas no est
clasificado enteramente como
nivel B, permanecer en el nivel
A.
El propsito principal de la matriz es mostrar los puntos fuertes y dbiles del
actual proceso de pruebas y ofrecer una ayuda a la hora de determinar la prioridad
de las acciones de mejora.
La Calidad del Software y los Procesos de Testing
Metodologas - TPI
Aplicacin del Modelo TPI
El proceso de mejora de pruebas es similar a
cualquier otro proceso de mejora. La figura
siguiente muestra las diferentes actividades de un
proceso de mejora.
La Calidad del Software y los Procesos de Testing
Metodologas de pruebas alineadas con procesos de desarrollo
TMap
TPI
TMM
La Calidad del Software y los Procesos de Testing
Metodologas - TMM
Notificacin va Generacin
mail informe SAC
Notificacin va Generacin
mail informe SAC
Herramientas:
El jefe de proyecto
publica el entregable en
CVS:
el repositorio comn Implementa un sistema de gestin de
CVS
versiones.
Mantiene el registro de todo el trabajo y los
cambios en la implementacin de un
proyecto, permitiendo la colaboracin entre
distintos desarrolladores.
Es un referente en software libre de gestin
de versiones .
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource . Inspeccin de Cdigo
Proceso de integracin continua
Nueva versin Publicar Integracin Generacin Publicacin
software versin continua informes informes
Notificacin va Generacin
mail Informe SAC
El proceso de integracin
continua (automtico) Herramientas:
detecta la nueva versin
en el repositorio y
Continuum v1.0.2:
ejecuta un conjunto de Servidor de integracin continua.
tareas programadas
Realiza tareas programadas sobre
proyectos basados en java.
Alto grado de integracin con Maven.
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource . Inspeccin de Cdigo
Notificacin va mail
Nueva versin Publicar Integracin Generacin Publicacin
software versin continua informes informes
Notificacin va Generacin
mail Informe SAC
Notificacin va Generacin
mail informe SAC
Herramientas:
Changelog v1.8.2 Se generarn
QALab v0.7.2 automticamente
CheckStyle v2.5 los informes de
JavaDoc Reporte v1.7 calidad
Jcoverage v1.0.9 programados.
Jdepend v1.5
NCSS v1.3
Pmd v1.6
FindBugs v0.9.2
File-Activity 1.5.2
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource . Inspeccin de Cdigo
Publicacin de Informes
Nueva versin Publicar Integracin Generacin Publicacin
software versin continua informes informes
Notificacin va Generacin
mail informe SAC
Herramientas:
Maven v1.0.2:
Se publicarn de forma
Herramienta para la gestin y comprensin de proyectos java.
automtica los informes
Estndar de mercado en el mundo free. generados en el portal de
Metodologa XP. calidad
Herramientas:
Apache v utilizada por explotacin:
Servidor http referente del mercado.
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource . Inspeccin de Cdigo
Generacin de resumen
Nueva versin Publicar Integracin Generacin Publicacin
software versin continua informes informes
Notificacin va Generacin
mail informe SAC
Equipo SAC
desarrollo
Gesti
Gestin Recursos Frontal
versiones SAC
Preexplotacin Explotacin
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource
La herramienta permite
realizar drill-down para
visualizar la cobertura de
las clases pertenecientes a
un determinado paquete
Ventajas OpenSource
Coste licencias es nulo!
Construidas con los mismos principios que las comerciales:
Arquitectura
Metodologa/Tcnicas
Extensibles/Integrables (Cdigo abierto)
En algunos casos y para ciertos entornos, son ms potentes que las comerciales!
Inconvenientes OpenSource
Normalmente slo disponibles para entornos web/java
Entornos de desarrollo espartanos
En ocasiones, lenguajes propietarios
En su desarrollo prima la funcionalidad bsica frente a la avanzada y/o
utilidades/gadgets
El aprendizaje suele ser costoso
Material de formacin muy bsico o inexistente
No suele disponerse de guidelines metodolgicos
Estabilidad/Fiabilidad
El soporte suele ser una incgnita (comunidades de usuarios/desarrolladores).
Normalmente es escaso o nulo
La Calidad del Software y los Procesos de Testing
Aspectos diferenciadores Herramientas comerciales frente a Opensource
Ventajas Comerciales
Multientorno: web/java, middleware, C/S, legacy (mainframe)
Entornos de desarrollo
IDE grficos plenos de utilidades
Lenguajes abiertos
Entornos de ejecucin con herramientas de anlisis, monitorizacin, diagnstico,
Robustez y Escalabilidad
Arquitecturas tolerantes a fallos
Metodologa/Tcnicas: El fabricante aporta las suyas propias
Integradas
Por supuesto las de un mismo fabricante
En muchas ocasiones, entre fabricantes
Integrables (mediante APIS)
Herramientas de Reporting potentes
Integradas con paquetes ofimticos con su correspondiente plantillaje
Dashboards ejecutivos (Web)
Soporte tcnico solvente (cuesta, pero existe!)
Inconvenientes Comerciales
Coste licencias. Suele asustar!
La Calidad del Software y los Procesos de Testing
Aspectos diferenciadores Herramientas comerciales frente a Opensource
Conclusiones:
Empezar con opensource no es mala idea:
En entornos web/java exclusivamente
Las herramientas funcionan
Parte del conocimiento adquirido es reaprovechable.
Pero ojo, hay que tener en cuenta los costes!
Hay un sobreesfuerzo asociado al uso de opensource con
respecto a comerciales (la productividad no es la misma)
que hay que tener en cuenta:
Un proyecto grande o varios proyectos pequeos pueden
justificar la inversin en comerciales
Migrar de opensource a comerciales tiene un coste de
reciclaje tcnico
Definitivamente, en algn momento tendremos que
adquirir alguna herramienta comercial:
Por adecuacin al entorno
Por limitaciones en la funcionalidad de las opensource
Por necesidades de reporting avanzado
Por capricho? A quin no le gusta el Ferrari?
La Calidad del Software y los Procesos de Testing
Herramientas Comerciales
Gestin de
Pruebas
Automatiza- Carga y
cin Estrs
Reporte de Pruebas
Incidencias Manuales
La Calidad del Software y los Procesos de Testing
ndice
Gestin de la configuracin SW
Aseguramiento de la Calidad
Help Desk
Gestin de Clientes
Gestin de Pruebas
Seguridad
La Calidad del Software y los Procesos de Testing
Factora de Pruebas Operativa
La Calidad del Software y los Procesos de Testing
Factora de Pruebas Perfil del Proveedor
FASE DE PRUEBAS
Criticidad Indicador Valor Objetivo
20% sobre el total de pruebas en el plan de pruebas >90%
1
3 iteraciones >90%
Ruegos y Preguntas
Validacin Pruebas de
Funcional Carga
Test de caja negra basados Conjunto de pruebas
en los requisitos y las dinmicas que aseguran el
especificaciones funcionales comportamiento del sistema
en determinados escenarios
Automatizacin Test de
del Servicio Usabilidad
Automatizacin de las Validacin del diseo y
actividades de SQA: anlisis facilidad de uso de los
de cdigo, ejecucin de interfaces de usuario,
casos, reporte de defectos, siguiendo los estndares de
gestin de pruebas mercado
Gracias