Software y los
Procesos de
Testing
GFI Informtica
ndice
ndice
Introduccin
Visin General del Proceso de Pruebas
El software lo desarrollan las personas, y stas comenten errores; no
se puede prevenir completamente la introduccin de stos defectos,
pero si se puede trabajar para localizarlos especialmente los mas
crticos.
Decisiones de pruebas deberan basarse en satisfaccin del cliente.
Este es el objetivo ltimo.
Mayor parte de los defectos se concentran en las etapas tempranas
del proceso de desarrollo y el costo de correccin aumenta a medida
que permanece no detectado.
De perogrullo: los defectos mas costosos son aquellos que no se
detectan.
Introduccin
Visin General del Proceso de Pruebas
El proceso de Pruebas es una parte del ciclo de vida del
Software.
Interviniendo desde la concepcin detallada de la aplicacin
y colaborando hasta su puesta final en produccin, dando
as en su conjunto un alto nivel de calidad.
PRUEBAS
PRUEBAS
PRUEBAS
CODIFICACIN
INTEGRACIN
INTEGRACININTEGRACIN
Ideal
Ideal Pruebas
Pruebas
Ideal Pruebas
PRUEBAS
PRUEBAS
PRUEBAS
Evolucin Real
Evolucin
Evolucin Real
INTEGRACIN
INTEGRACIN
INTEGRACIN
CODIFICACIN
CODIFICACIN
CODIFICACIN
DISEO DETALLADO
DISEO
DETALLADO
DISEO
DETALLADO
REQUISITOS
REQUISITOS
REQUISITOS
DISEO ALTO NIVEL
DISEO
DISEOALTO
ALTONIVEL
NIVEL
Planificacin Estandar
Estandar
Planificacin
Planificacin Estandar
Pruebas
Software
Gestin del
Ciclo de
Vida de la
Calidad
Software
Introduccin
Metodologa
Herramientas
Recursos
ndice
Introduccin
La evolucin de los modelos especficos de test aumenta
satisfactoriamente la calidad de dichos procesos y
consecuentemente, los coloca en una posicin relevante dentro
de la ingeniera del software.
Los modelos y estndares de evaluacin de procesos de
software ofrecen herramientas para establecer niveles de
madurez de desarrollo y mantenimiento del software. Sin
embargo, la sido constatado que estos modelos y estndares no
dirigen adecuadamente sus enfoques a los procesos de test. En
este sentido, se presentan, a continuacin, tres modelos de
evaluacin y mejora de procesos de test:
Acercamiento a la gestin de pruebas (Test Management
Approach, TMap)
Modelo de Mejora del Proceso de test (Test Process Improvement,
TPI)
Modelo de Madurez del Test (Test Maturity Model, TMM)
TMap
TPI
TMM
Metodologas - TMap
La metodologa TMAP, est basada en cuatro piedras
angulares:
Proceso de desarrollo relacionado con el modelo de
ciclo de vida para las actividades de pruebas (L)
Slida Organizacin (O)
Recursos e Infraestructura (I)
Tcnicas utilizables para varias actividades de
pruebas (T)
Metodologas - TMap
Modelo de ciclo de vida de Pruebas
Metodologas - TMap
Tcnicas
Metodologas - TMap
Infraestructura y Herramientas
Metodologas - TMap
Organizacin
TMap
TPI
TMM
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 SEICMM ( 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.
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.
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
Eficiente (6-10)
las prioridades internas y
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.
Metodologas - TPI
Aplicacin del Modelo TPI
TMap
TPI
TMM
Metodologas - TMM
El modelo TMM es un modelo de
evaluacin del proceso de test,
guiado por el conjunto bsicos de
conceptos del CMM y compuesto
por dos componentes
principales: un conjunto de
niveles de madurez y un
modelo de evaluacin.
ndice
Testing independiente
El que desarrolla no prueba
Mayor experiencia y concentracin
Nadie est motivado para encontrar sus propios errores
Metodologa de trabajo:
Priorizacin: Se suele aplicar orientacin al riesgo.
Medicin: Uso de herramientas de anlisis. Se obtienen mtricas de
nivel tcnico que permiten la deteccin de incumplimientos y/o
deficiencias, cuyo conjunto se expresa en:
Informes de auditoria.
Plan de mejora. Informe de recomendaciones para la mejora.
Publicar
versin
Integracin
continua
Generacin
informes
Notificacin va
mail
Generacin
informe SAC
Publicacin
informes
Publicar
versin
El jefe de proyecto
publica el entregable en
el repositorio comn
CVS
Integracin
continua
Generacin
informes
Notificacin va
mail
Generacin
informe SAC
Publicacin
informes
Herramientas:
CVS:
Implementa un sistema de gestin de
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 .
Publicar
versin
El proceso de integracin
continua (automtico)
detecta la nueva versin
en el repositorio y
ejecuta un conjunto de
tareas programadas
Integracin
continua
Generacin
informes
Notificacin va
mail
Generacin
Informe SAC
Publicacin
informes
Herramientas:
Continuum v1.0.2:
Servidor de integracin continua.
Realiza tareas programadas sobre
proyectos basados en java.
Alto grado de integracin con Maven.
Notificacin va mail
Nueva versin
software
Publicar
versin
Integracin
continua
Generacin
informes
Notificacin va
mail
Generacin
Informe SAC
Publicacin
informes
Publicar
versin
Herramientas:
Changelog v1.8.2
QALab v0.7.2
CheckStyle v2.5
JavaDoc Reporte v1.7
Jcoverage v1.0.9
Jdepend v1.5
NCSS v1.3
Pmd v1.6
FindBugs v0.9.2
File-Activity 1.5.2
Integracin
continua
Generacin
informes
Notificacin va
mail
Generacin
informe SAC
Publicacin
informes
Se generarn
automticamente
los informes de
calidad
programados.
Publicacin de Informes
Nueva versin
software
Publicar
versin
Integracin
continua
Generacin
informes
Notificacin va
mail
Generacin
informe SAC
Herramientas:
Maven v1.0.2:
Herramienta para la gestin y comprensin de proyectos java.
Estndar de mercado en el mundo free.
Metodologa XP.
Herramientas:
Apache v utilizada por explotacin:
Servidor http referente del mercado.
Publicacin
informes
Se publicarn de forma
automtica los informes
generados en el portal de
calidad
Generacin de resumen
Nueva versin
software
Publicar
versin
Integracin
continua
Generacin
informes
Notificacin va
mail
Generacin
informe SAC
Publicacin
informes
Arquitectura
Internet
Internet
CVS
desarrollo
Continuum
Apache
SAC
Equipo
desarrollo
Responsable
proyecto
CVS
SAC
(entregas)
Gesti
Gestin
versiones
Preexplotacin
Maven
Desarrollo
Recursos
SAC
Frontal
Explotacin
ndice
Inconvenientes OpenSource
Estabilidad/Fiabilidad
El soporte suele ser una incgnita (comunidades de usuarios/desarrolladores).
Normalmente es escaso o nulo
Inconvenientes Comerciales
Herramientas Comerciales
Gestin de
Pruebas
Automatizacin
Carga y
Estrs
Reporte de
Incidencias
Pruebas
Manuales
ndice
Acercamiento Tradicional
Factora de Pruebas
Aseguramiento de la Calidad
Gestin de Pruebas
Seguridad
Help Desk
Gestin de Clientes
Gestin de la configuracin SW
Comunicacin
Gestin del proceso
Gestin de la Infraestructura
Formacin
Alcance de su experiencia
Tipos de Test
Entornos de Test
Testing basado en riesgo
Experiencia en su dominio especfico del negocio
Empleados propios y con experiencia en testing
Focalizados en herramientas
Focalizados en Tecnologas
Web, .Net, Java, Cliente/Servidor, Mainframe
Desafos iniciales
Justificacin de costos iniciales para el cliente
Falta de sinergia a travs de diferentes reas de negocio del cliente
Sin certeza de por donde empezar y como proceder
Conflictos entre estandarizacin del proceso y el ahorro del costo a
travs del outsourcing
Indicador
Valor Objetivo
=100%
3 iteraciones
>90%
=100%
3 iteraciones
>90%
FASE DE PRUEBAS
Criticidad
1
2
Indicador
Valor Objetivo
>90%
3 iteraciones
>90%
>90%
2 iteraciones
>90%
Indicador
Valor Objetivo
>90%
2 iteraciones
>90%
>90%
2 iteraciones
>90%
Ruegos y Preguntas
Validacin
Funcional
Pruebas de
Carga
Conjunto de pruebas
dinmicas que aseguran el
comportamiento del sistema
en determinados escenarios
Automatizacin
del Servicio
Test de
Usabilidad
Automatizacin de las
actividades de SQA: anlisis
de cdigo, ejecucin de
casos, reporte de defectos,
gestin de pruebas
Revisin de la seguridad
del cdigo
Revisin de la seguridad de
las aplicaciones,
principalmente web ante las
vulnerabilidades conocidas
Inspeccin
documental
Validacin, verificacin y
trazabilidad de requisitos y
documentacin funcional
Test de
Caja Blanca
Revisin del diseo y
codificacin de las distintas
capas: Interfaz de usuario,
datos e integracin
Gracias