936_lacalidaddelsoftwareylosprocesosdetesting
DESCRIPTION
Ingenieria SoftwareTRANSCRIPT
-
La Calidad del Software y los Procesos de Testing
GFI Informtica
-
La Calidad del Software y los Procesos de Testing
ndice
aIntroduccin. Visin general del proceso de pruebas.
aMetodologas de pruebas alineadas con procesos de desarrollo
aUso de herramientas OpenSource aAspectos diferenciadores herramientas
comerciales frente a OpenSource aFactora de pruebas
-
La Calidad del Software y los Procesos de Testing
ndice
aIntroduccin. Visin general del proceso de pruebas.
aMetodologas de pruebas alineadas con procesos de desarrollo
aUso de herramientas OpenSource aAspectos diferenciadores herramientas
comerciales frente a OpenSource aFactora de pruebas
-
La Calidad del Software y los Procesos de Testing
aLa calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario. (IEEE, Std. 610-1990).aConcordancia del software producido con los requerimientos explcitamente establecidos, con los estndares de desarrollo prefijados y con los requerimientos implcitos no establecidos formalmente, que desea el usuario (Pressman, 1998)
Introduccin. Definicin de calidad software
-
La Calidad del Software y los Procesos de Testing
Introduccin Visin General del Proceso de Pruebasa 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.
a Decisiones de pruebas deberan basarse en satisfaccin del cliente. Este es el objetivo ltimo.
a 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.
a De perogrullo: los defectos mas costosos son aquellos que no se detectan.
-
La Calidad del Software y los Procesos de Testing
Planificacin Estandar Evolucin Real Ideal Pruebas
a El proceso de Pruebas es una parte del ciclo de vida del Software.
a 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.
R
E
Q
U
I
S
I
T
O
S
D
I
S
E
O
A
L
T
O
N
I
V
E
L
D
I
S
E
O
D
E
T
A
L
L
A
D
O
I
N
T
E
G
R
A
C
I
N
P
R
U
E
B
A
S
C
O
D
I
F
I
C
A
C
I
N
I
N
T
E
G
R
A
C
I
N
P
R
U
E
B
A
S
R
E
Q
U
I
S
I
T
O
S
D
I
S
E
O
A
L
T
O
N
I
V
E
L
D
I
S
E
O
D
E
T
A
L
L
A
D
O
I
N
T
E
G
R
A
C
I
N
P
R
U
E
B
A
S
C
O
D
I
F
I
C
A
C
I
N
I
N
T
E
G
R
A
C
I
N
P
R
U
E
B
A
S
R
E
Q
U
I
S
I
T
O
S
D
I
S
E
O
A
L
T
O
N
I
V
E
L
D
I
S
E
O
D
E
T
A
L
L
A
D
O
I
N
T
E
G
R
A
C
I
N
P
R
U
E
B
A
S
C
O
D
I
F
I
C
A
C
I
N
Planificacin Estandar Evolucin Real Ideal Pruebas
I
N
T
E
G
R
A
C
I
N
P
R
U
E
B
A
S
C
O
D
I
F
I
C
A
C
I
N
Planificacin Estandar Evolucin Real Ideal Pruebas
Introduccin Visin General del Proceso de 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
Proceso catico y no repetible
Metodologa
Falta de Productividad
HerramientasProblemaCarencia
Recursos
Metodologa
Herramientas
Introduccin
aLa falta de cualquiera de estos vertices implica problemas evidentes:
-
La Calidad del Software y los Procesos de Testing
ndice
aIntroduccin. Visin general del proceso de pruebas.
aMetodologas de pruebas alineadas con procesos de desarrollo
aUso de herramientas OpenSource aAspectos diferenciadores herramientas
comerciales frente a open-sourceaFactora de pruebas
-
La Calidad del Software y los Procesos de Testing
a 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.
a 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)
Metodologas de Pruebas alineadas con procesos de desarrollo
Introduccin
-
La Calidad del Software y los Procesos de Testing
Metodologas de pruebas alineadas con procesos de desarrollo
aTMapaTPIaTMM
-
La Calidad del Software y los Procesos de Testing
Metodologas - TMap
a 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)
-
La Calidad del Software y los Procesos de Testing
Metodologas - TMap
Modelo de ciclo de vida de Pruebas
-
La Calidad del Software y los Procesos de Testing
Metodologas - TMap
Tcnicas
-
La Calidad del Software y los Procesos de Testing
Infraestructura y Herramientas
Metodologas - TMap
-
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
aTMapaTPIaTMM
-
La Calidad del Software y los Procesos de Testing
Metodologas - TPI
a 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.
a 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.
a El propsito de tales mejoras podra ser alcanzar el nivel 3 del SEI-CMM ( Capability Maturity Model ).
-
La Calidad del Software y los Procesos de Testing
Metodologas - TPINiveles
Puntos de Verificacina 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 - TPIMatriz de Madureza Todos los Niveles y reas Clave
estn interrelacionados en una Matriz de Madurez de Pruebas. Se ha concebido como una buena manera de expresar las prioridades internas y dependencias entre Niveles y reas Clave.
a No existe graduacin entre Niveles: mientras que un proceso de pruebas no estclasificado enteramente como nivel B, permanecer en el nivel A.
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.
Optimizada (11-13)
Eficiente (6-10)
Controlada (1-5)
-
La Calidad del Software y los Procesos de Testing
Metodologas - TPIAplicacin del Modelo TPI
aEl 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
aTMapaTPIaTMM
-
La Calidad del Software y los Procesos de Testing
Metodologas - TMM
a 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 deniveles de madurez y un modelo de evaluacin.
-
La Calidad del Software y los Procesos de Testing
a Se describe cada nivel considerando los objetivos de la organizacin y la capacidad de test.
a La estructura de cada nivel (excepto el primero), consiste en un conjunto de objetivos de madurez soportado por sub-objetivos (o metas) de madurez que son alcanzados por las actividades, tareas y responsabilidades.
a Las actividades y tareas representan las acciones que deben ser desempeadas en cada nivel con el propsito de mejorar la capacidad del test
a Se asignan responsabilidades para las actividades y tareas, a los gestores, a los desarrolladores y testers y a los usuarios y clientes
Metodologas TMM: Conjunto de Niveles
-
La Calidad del Software y los Procesos de Testing
Metodologas TMM: Modelo de Evaluacin
a El Modelo de Evaluacin consiste en un mtodo que permite a la organizacin evaluar y mejorar sus procesos de test, basndose en un cuestionario de evaluacin, un procedimiento de evaluacin y el entrenamiento y criterios de seleccin del equipo de evaluacin.
a Los objetivos de este componente son: proveer un esquema de evaluacin de procesos de test de software y un fundamento para la mejora de dichos procesos a travs de anlisis de datos y planteamiento de acciones, as como contribuir con la ingeniera del proceso de software.
-
La Calidad del Software y los Procesos de Testing
ndice
aIntroduccin. Visin general del proceso de pruebas.
aMetodologas de pruebas alineadas con procesos de desarrollo
aUso de herramientas OpenSource aAspectos diferenciadores herramientas
comerciales frente a open-sourceaFactora de pruebas
-
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource
aGestin del Ciclo de PruebasaAutomatizacin de Pruebas FuncionalesaPruebas de CargaaInspeccin de CdigoaPruebas Unitarias
-
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource
aGestin del Ciclo de PruebasaAutomatizacin de Pruebas FuncionalesaPruebas de CargaaInspeccin de CdigoaPruebas Unitarias
-
La Calidad del Software y los Procesos de Testing
a Registrar los problemas encontradosa Separar entornos y manejar configuraciones
`Ensayando la implementacina Definir casos de prueba durante el anlisis es una
forma de documentar el producto`Es una forma de adelantarnos al problema
a Testing independiente`El que desarrolla no prueba`Mayor experiencia y concentracin`Nadie est motivado para encontrar sus propios errores
Gestin del Ciclo de Pruebas - Algunas Claves
a Documentar las pruebas`Casos de prueba, estrategia de pruebas, ejecuciones
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Herramienta de Gestin
a La gestin de las pruebas, requiere que la herramienta con la que se trabaje cumpla algunas caractersticas como:`Soportar en paralelo el desarrollo de la aplicacin y la gestin de las
pruebas` Trazabilidad de requisitos a pruebas gestionando ejecuciones as como
defectos y su resolucin`Mejora la predictibilidad del proyecto`Acceso en cualquier momento y lugar a pruebas e informes de ejecucin`Control centralizado`Mejora la colaboracin y comunicacin entre equipos y proyectos`Potencia la reutilizacin de objetos de prueba`Acceso protegido a elementos del proyecto`Sistema de informes
a Como ejemplo, se muestra la herramienta TestLink.
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Herramienta de Gestin
a TestLink, permite de manera intuitiva, la elaboracin de casos de prueba, con los pasos a seguir para su posterior ejecucin, as como de los resultados esperados, quedndose todo ordenado y accesible a travs de un rbol de navegacin.
-
La Calidad del Software y los Procesos de Testing
a Durante todo el ciclo de vida se pueden obtener mtricas tanto del los casos de prueba generados como de estado de la ejecucin de los mismos.
Herramientas Opensource Herramienta de Gestin
-
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource
aGestin del Ciclo de PruebasaAutomatizacin de Pruebas FuncionalesaPruebas de CargaaInspeccin de CdigoaPruebas Unitarias
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Automatizacin Pruebas Funcionales
a Las herramientas de Automatizacin de pruebas funcionales cumplen el siguiente ciclo de trabajo:`Planificacin de pruebas automticas`Registro de las acciones de usuario`Control y verificacin de los Checkpoints`Comprobacin resultado esperado = resultado obtenido`Gestin del mapa de interfaz de usuario`Testing modular y batch
a Como ejemplo, tenemos la herramienta Selenium, que nos permite la operativa de trabajo descrita.
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Automatizacin Pruebas Funcionales
a Primeramente, se graban las acciones del usuario sobre la aplicacin, quedndose stas recogidas en la aplicacin para su posterior tratamiento, que se realizar modificando el cdigo generado
a Prcticamente la totalidad de las herramientas Opensource, trabajan solo sobre aplicaciones Web.
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Automatizacin Pruebas Funcionales
a Los casos de prueba, pueden ser modificados para introducir puntos de control, pausas, verificaciones, etc.a La ejecucin de los mismos se puede planificar, agrupando casos y programndolos.aSe obtienen informes sobre los resultados de las ejecuciones.
-
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource
aGestin del Ciclo de PruebasaAutomatizacin de Pruebas FuncionalesaPruebas de CargaaInspeccin de CdigoaPruebas Unitarias
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas de Carga
a Las herramientas para la realizacin de pruebas de Carga, tiene las siguientes funcionalidades`Planificacin de pruebas de carga`Creacin de los escenarios de prueba`Simulacin de n usuarios concurrentes`Anlisis de resultados de ejecucin de los distintos
escenarios
a A continuacin podemos ver la operativa ejemplificada con la herramienta OpenSta
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas de Carga
a Para la ejecucin del test, se introducen datos como nmero de usuarios, scripts que compondrn la ejecucin y elementos a ser testados como % Cpu,memoria, etc...
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas de Carga
a Durante la ejecucin de la prueba, se puede monitorizar todos los recursos que sean de nuestro inters.
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas de Carga
a Posteriormente a la ejecucin, se pueden obtener tanto log como grficas con las estadsticas de la prueba. Algunas de ellas son las de puntos de medida respecto del tiempo, puntos de medida respecto del nmero de usuarios, nmero de usarios activos, errores HTTP, etc
-
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource
aGestin del Ciclo de PruebasaAutomatizacin de Pruebas FuncionalesaPruebas de CargaaInspeccin de CdigoaPruebas Unitarias
-
La Calidad del Software y los Procesos de Testing
a Las inspecciones del cdigo tienen el objetivo de detectar aspectos que influyen en la calidad de ste:`Errores de ejecucin`Mermas de rendimiento`Cdigo muerto`Redundancia de cdigo` Incumplimiento de arquitectura` Incumplimiento de estndares tcnicos a nivel de codificacin.`Mantenibilidad del cdigo
a 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.
Uso de Herramientas Opensource . Inspeccin de Cdigo
-
La Calidad del Software y los Procesos de Testing
Publicarversin
Nueva versin software
Se realiza la entrega de una nueva versin de software por parte del proveedor.
Integracincontinua
Generacininformes
Publicacininformes
Notificacin vamail
Generacininforme SAC
Uso de Herramientas Opensource . Inspeccin de CdigoEntrega de una nueva versin
-
La Calidad del Software y los Procesos de Testing
Integracincontinua
Generacininformes
Publicacininformes
Notificacin vamail
Generacininforme SAC
Publicarversin
Nueva versin software
El jefe de proyecto publica el entregable en el repositorio comn CVS
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 .
Uso de Herramientas Opensource . Inspeccin de CdigoPublicacin de la nueva versin
-
La Calidad del Software y los Procesos de Testing
El proceso de integracin continua (automtico) detecta la nueva versin en el repositorio y ejecuta un conjunto de tareas programadas
Herramientas: Continuum v1.0.2:
Servidor de integracin continua. Realiza tareas programadas sobre proyectos basados en java. Alto grado de integracin con Maven.
Generacininformes
Publicacininformes
Notificacin vamail
GeneracinInforme SAC
Nueva versin software
Publicarversin
Integracincontinua
Proceso de integracin continuaUso de Herramientas Opensource . Inspeccin de Cdigo
-
La Calidad del Software y los Procesos de Testing
Generacininformes
Publicacininformes
GeneracinInforme SAC
Nueva versin software
Publicarversin
Notificacin vamail
Integracincontinua
Se notificar por mail, al conjunto de usuarios definidos, la nueva entrega.:
Jefe de proyecto. SAC. Etc.
Notificacin va mailUso de Herramientas Opensource . Inspeccin de Cdigo
-
La Calidad del Software y los Procesos de Testing
Publicacininformes
Notificacin vamail
Generacininforme SAC
Nueva versin software
Publicarversin
Integracincontinua
Generacininformes
Se generarn automticamente los informes de calidad programados.
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
Generacin de informes automticamenteUso de Herramientas Opensource . Inspeccin de Cdigo
-
La Calidad del Software y los Procesos de Testing
Generacininformes
Generacininforme SAC
Nueva versin software
Publicarversin
Integracincontinua
Se publicarn de forma automtica los informes generados en el portal de calidad
Notificacin vamail
Publicacininformes
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 de InformesUso de Herramientas Opensource . Inspeccin de Cdigo
-
La Calidad del Software y los Procesos de Testing
Generacininformes
Nueva versinsoftware
Publicarversin
Integracincontinua
Notificacin vamail
Publicacininformes
Generacininforme SAC
El SAC generar un informe con los resultados de las inspecciones realizadas al cdigo: Resumen ejecutivo (direccin). Detalle tcnico (equipo tcnico).
Generacin de resumenUso de Herramientas Opensource . Inspeccin de Cdigo
-
La Calidad del Software y los Procesos de Testing
Responsableproyecto
Internet
CVSSAC
(entregas)
Continuum
Maven
Apache
Preexplotacin
SAC
Desarrollo
GestiGestinnversionesversiones
RecursosRecursosSACSAC
FrontalFrontal
Explotacin
CVSdesarrollo
Equipodesarrollo
Internet
ArquitecturaUso de Herramientas Opensource . Inspeccin de Cdigo
-
La Calidad del Software y los Procesos de Testing
Uso de Herramientas Opensource
aGestin del Ciclo de PruebasaAutomatizacin de Pruebas FuncionalesaPruebas de CargaaInspeccin de CdigoaPruebas Unitarias
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas Unitarias
a El peso de la generacin de las pruebas unitarias recae sobre el equipo de desarrollo.
a La responsabilidad del equipo de SQA es la de ejecutar el conjunto de pruebas unitarias, validar los resultados y medir el grado de cobertura de las mismas.
a El conjunto de pruebas unitarias proporcionadas por el equipo de desarrollo debe cumplir los siguientes normas:` Ejecutables de forma automtica.` Independencia del entorno.` Autocontenidas.
Preprocesamiento.Ejecucin.Postprocesamiento.
a A continuacin se muestra un ejemplo de la labor del equipo de SQA en un conjunto de pruebas basadas en Junit y Cobertura.
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas Unitarias
aJunit es un framework ampliamente utilizado para la automatizacin de pruebas unitarias.
aEl equipo SQA ejecutarlas pruebas unitarias proporcionadas por el equipo de desarrollo obteniendo un informe con el resultado de la ejecucin de las mismas.
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas Unitarias
aCobertura es una herramienta opensource que mide la cobertura de las pruebas por medio de la instrumentalizacin del cdigo y la posterior medicin de las lneas de cdigo ejecutadas por el conjunto de casos de prueba unitarios.
aEl equipo de SQA instrumentalizara el cdigo y posteriormente ejecutara el conjunto de pruebas unitarias analizando los resultados.
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas Unitarias
aA continuacin se muestra una salida estndar de la herramienta:
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas Unitarias
aCobertura calcula la cobertura de las pruebas contabilizando:`Nmero de lneas de cdigo ejecutadas.`Nmero de ramas ejecutadas.
aAdicionalmente Cobertura calcula la complejidad ciclomtica (Mc-Cabe) de cada una de las clases.
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas Unitarias
a La herramienta permite realizar drill-down para visualizar la cobertura de las clases pertenecientes a un determinado paquete
a Y llegar al mximo detalle visualizando las lneas de cdigo ejecutadas en una determinada clase
-
La Calidad del Software y los Procesos de Testing
Herramientas Opensource Pruebas Unitarias
aEsta herramienta permite al equipo de SQA validar el porcentaje de cobertura de las pruebas unitarias realizadas por el equipo de desarrollo, identificando mdulos poco probados o no probados.
aLos resultados de la herramienta permiten ampliar el plan de prueba unitario con casos de prueba especficos que cubran el cdigo no testeado.
aTambin permite identificar porciones de cdigo muerto que no es posible ejecutar.
-
La Calidad del Software y los Procesos de Testing
ndice
aIntroduccin. Visin general del proceso de pruebas.
aMetodologas de pruebas alineadas con procesos de desarrollo
aUso de herramientas OpenSourceaAspectos diferenciadores herramientas
comerciales frente a OpensourceaFactora de pruebas
-
La Calidad del Software y los Procesos de Testing
Aspectos diferenciadores Herramientas comerciales frente a Opensource
a 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!
a 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
a 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!)a Inconvenientes Comerciales
` Coste licencias. Suele asustar!
-
La Calidad del Software y los Procesos de Testing
Aspectos diferenciadores Herramientas comerciales frente a Opensource
Conclusiones:a Empezar con opensource no es mala idea:
` En entornos web/java exclusivamente` Las herramientas funcionan` Parte del conocimiento adquirido es reaprovechable.
a 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 tcnicoa 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
AutomatizaAutomatizaAutomatiza---cicicinnn
Reporte de Reporte de Reporte de IncidenciasIncidenciasIncidencias
Carga y Carga y Carga y EstrEstrEstrsss
Pruebas Pruebas Pruebas ManualesManualesManuales
GestiGestiGestin de n de n de PruebasPruebasPruebas
Herramientas Comerciales
-
La Calidad del Software y los Procesos de Testing
ndice
aIntroduccin. Visin general del proceso de pruebas.
aMetodologas de pruebas alineadas con procesos de desarrollo
aUso de herramientas OpenSourceaAspectos diferenciadores herramientas
comerciales frente a OpensourceaFactora de pruebas
-
La Calidad del Software y los Procesos de Testing
Factora de Pruebas - Conceptos
a Grupo dedicado que provee testing como un servicio compartido
a Emplea un conjunto de personas que se especializan en uno o mltiples tipos de testing o uno o mas dominios de negocio o tecnolgicos.
a Entre los roles de una Factora de Pruebas se pueden incluir:`Definicin de los procesos y estndares de testing a ser
adoptados por los proyectos`Implantacin de los procesos y estndares definidos`Provisin de personal cualificado y entrenado a los proyectos`Planificacin y ejecucin de testing para varios proyectos
-
La Calidad del Software y los Procesos de Testing
Factora de Pruebas- Tradicional vs FdP
Se aprovecha ptimamente las diversas habilidades a travs de los diferentes proyectos
Posible duplicacin de habilidades y entrenamiento a travs de los diferentes proyectos
Se aprovechan los procesos de testing a travs de los diferentes proyectos Consistencia
Los procesos de testing son implementados inconsistentemente a travs de los proyectos
Se dedica un pool de recursos de testing para uno o mas proyectos
Se dedican diferentes testers durante las diferentes etapas del proceso de testing o a travs de diferentes proyectos
Se emplean tester especializados con habilidades y que han sido entrenados para realizar testing
Los desarrolladores se emplean como testers durante las ltimas etapas del proyecto
Se contrata al equipo de test para mltiples proyectos basados en compromisos
Se contrata al equipo de test por proyecto, dependiendo de la disponibilidad de los recursos
Factora de PruebasAcercamiento Tradicional
-
La Calidad del Software y los Procesos de Testing
Factora de Pruebas Requisitos de una Factora de Pruebas
a Centro de pruebas externoa Proyectos de Pruebasa Interlocucin a travs del clientea Ciclo de vida iterativo
incremental
a Entregar cdigo fuentea Entornos altamente emulablesa Pruebas 80% caja negra
-
La Calidad del Software y los Procesos de Testing
G
e
s
t
i
n
d
e
C
l
i
e
n
t
e
s
Gestin de la configuracin SW
Seguridad
Aseguramiento de la Calidad
Gestin de Pruebas
H
e
l
p
D
e
s
k
Factora de Pruebas Funcionalidad
-
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
a Experiencia probada en:` Trabajar (testear) en el entorno de negocio del Cliente` Trabajar en formato Factora de Pruebas, con todas sus implicaciones
Comunicacin Gestin del proceso Gestin de la Infraestructura Formacin
a 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
a Disponibilidad de equipamiento, infraestructura, herramientasa Flexibilidad y adaptabilidada Niveles de servicio ofrecidos
-
La Calidad del Software y los Procesos de Testing
Factora de Pruebas Composicin del Equipo
-
La Calidad del Software y los Procesos de Testing
Factoras de Pruebas focalizadas en el cliente
a Equipo base + recursos bajo demandaa Diferentes acercamientos
` Focalizados en tipo de testing Web Testing, Load and Performance testing, Localizacin
` Focalizados en herramientas` Focalizados en Tecnologas
Web, .Net, Java, Cliente/Servidor, Mainframea Mayores ventajas hacia nuestros clientes en trminos
de:` Competencias tcnicas` Reutilizacin de infraestructuras, test wares...` Retencin de conocimiento` Optimizacin de los procesos
-
La Calidad del Software y los Procesos de Testing
Factora de Pruebas Que ha funcionado con los clientes
a 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
a Como los superamos` Fase Piloto/Pruebas de concepto (rea de bajo riesgo)` Establecimiento de un modelo compartido de servicios de testing,
recursos del cliente y del proveedor trabajando muy cerca` Se comienza en pequeo, llevando un rea cada vez al modelo de
Factora de Pruebas.Opcin A: Se comienza con una evaluacin, a travs de las diferentes reas
para analizar y recomendar estandarizacin de procesosOpcin B: Un rea o aplicacin en concreto, en base a las prioridades
existentes` Se comienza a incrementar la carga de trabajo/proyectos/reas a
medida que la confianza va creciendo
-
La Calidad del Software y los Procesos de Testing
Factora de Pruebas Flexibilidad bajo demanda
a Mejorar el uso de los recursos internos optimizando los periodos de sobrecarga
a Introducir su producto en el mercado mas rpidoa Arranque inmediatoa Absorber los retrasos y cambios repetitivos
-
La Calidad del Software y los Procesos de Testing
Valor ObjetivoIndicadorCriticidad
Valor ObjetivoIndicadorCriticidad
>90%2 iteraciones>90%20% n de componentes instalados respecto a la planificacin
2
>90%2 iteraciones>90%10% n de componentes instalados respecto a la planificacin
1
FASE DE IMPLANTACIN/PASO A PRODUCCIN
>90%2 iteraciones>90%40% sobre el total de pruebas en el plan de pruebas
2
>90%3 iteraciones>90%20% sobre el total de pruebas en el plan de pruebas
1
FASE DE PRUEBAS
>90%3 iteraciones=100%=10% requisitos no incorporados en la solucin
2
>90%3 iteraciones=100%=0% requisitos no incorporados en la solucin
1
Valor ObjetivoIndicadorCriticidad
FASE DE ANALISIS DISEO Y CONSTRUCCIN
Factora de Pruebas SLA: Acuerdo de Nivel de Servicio
-
La Calidad del Software y los Procesos de Testing
Factora de Pruebas Conclusiones
a Las Factoras de Pruebas son un concepto focalizado en el outsourcing estratgico del testing
a Las Factoras de Pruebas centradas en el cliente pueden ofrecer significativos beneficios ya que estn enfocados a mejorar continuamente en base a la experiencia y el conocimiento
a El valor del negocio del test outsourcing puede ser medido y mejorado a travs de un programa de mtricas consensuado
-
La Calidad del Software y los Procesos de Testing
Ruegos y Preguntas
Test de caja negra basados en los requisitos y las
especificaciones funcionales
ValidacinFuncional
Conjunto de pruebas dinmicas que aseguran el
comportamiento del sistema en determinados escenarios
Pruebas deCarga
Validacin del diseo y facilidad de uso de los interfaces de usuario,
siguiendo los estndares de mercado
Test deUsabilidad
Validacin, verificacin y trazabilidad de requisitos y documentacin funcional
InspeccindocumentalRevisin de la seguridad de
las aplicaciones, principalmente web ante las vulnerabilidades conocidas
Revisin de la seguridaddel cdigo
Automatizacin de las actividades de SQA: anlisis
de cdigo, ejecucin de casos, reporte de defectos,
gestin de pruebas
Automatizacindel Servicio
Revisin del diseo y codificacin de las distintas capas: Interfaz de usuario,
datos e integracin
Test deCaja Blanca
-
La Calidad del Software y los Procesos de Testing
Gracias