Iv - V - Istqb CTFL
Iv - V - Istqb CTFL
Iv - V - Istqb CTFL
Precondiciones
Valores de entrada
Resultados esperados
Poscondiciones
Dependencias
Identificador distinguible
Requisitos
www.luismercadal.com.ar | info@luismercadal.com.ar
Los casos de prueba se obtienen a partir del anlisis de la especificacin (funcional y no funcional) de
un componente o sistema
-
Las casos de prueba son seleccionados en base a la estructura interna del programa / cdigo
www.luismercadal.com.ar | info@luismercadal.com.ar
General
-
Las pruebas funcionales estn dirigidas a verificar la correccin y la completitud de una funcin
-
La ejecucin de casos de prueba deberan ser ejecutados con una baja redundancia, pero sin
embargo con carcter integral / completo
-
Valores de entrada
Valores de salida
Reglas
-
No se superponen
Rangos (por ejemplo, 0 < x < 10) o valores aislados (por ejemplo, x = Verdadero)
www.luismercadal.com.ar | info@luismercadal.com.ar
CE Vlida
CE No Vlida
-
El mtodo de la clase de equivalencia aporta casos de prueba para los cuales an debe ser
seleccionado un representante
x<0
0 x 100
x > 100
CE adicional:
-
Entradas no numricas
Cobertura
-
La cobertura de clases de equivalencia puede ser utilizada como criterio de salida para finalizar las
actividades del proceso de pruebas
Beneficios
-
Frecuentemente los lmites del rango de valores no estn bien definidos o conducen a distintas
interpretaciones
www.luismercadal.com.ar | info@luismercadal.com.ar
La experiencia demuestra que, con mucha frecuencia, los errores tienen lugar en los
lmites del rango de valores!
Asume que:
-
Una condicin de entrada puede tener efectos slo en combinacin con otras condiciones de entrada
Con la ayuda del grfico causa-efecto y tablas de decisin obtenidas a partir de aquellos, la
cantidad de combinaciones posibles se puede reducir de forma sistemtica a un subconjunto de las
mismas
Aseveracin (assertion)
Negacin (negation)
O (or)
Y (and)
Seleccionar un efecto
Retroceder en el diagrama para identificar la causa
Cada combinacin de causas est representada por una columna en la tabla de decisin (un caso
de prueba)
Combinaciones de causas idnticas, conducentes a efectos distintos, se pueden fusionar para
formar un nico caso de prueba
www.luismercadal.com.ar | info@luismercadal.com.ar
Los distintos estados que puede tomar un objeto de prueba se modelan a travs de diagramas de
transicin de estado
El anlisis de la transicin de estado se utiliza para definir casos de prueba basados en la transicin
de estado
Las pruebas de transicin de estado con frecuencia se utilizan en la industria del software embebido
y automatizacin tcnica en general
Cada camino desde la raz a una hoja entonces representa un caso de prueba de prueba de
transicin de estado
Los casos de prueba se obtienen directamente a partir de los casos de uso del objeto de prueba
Los casos de uso son elementos del Lenguaje Unificado de Modelado (Unified Modeling Language,
UML)
Un diagrama de casos de uso muestra la reaccin del sistema desde el punto de vista del usuario
El objetivo principal de las pruebas de caja negra es probar la funcionalidad del sistema
Nivel de integracin: la estructura puede ser un rbol de llamada (un diagrama en el cual unos
mdulos llaman a otros mdulos)
Nivel de sistema: la estructura puede ser una estructura de un men, un proceso de negocio o la
estructura de una pgina web
Cobertura de Sentencia
-
Cada sentencia es ejecutada al menos una vez, cada decisin toma todos los resultados posibles
al menos una vez
Cobertura de Condicin
-
Cada sentencia es ejecutada al menos una vez, cada condicin en una decisin toma todos los
resultados posibles al menos una vez
Cobertura de Camino
-
Cobertura exhaustiva.
Debemos garantizar que cada posible camino se ejecuta al menos una vez, lo cual, generalmente,
es impracticable
1. Cobertura de Sentencia
-
Ser detectado el cdigo muerto (cdigo constituido por sentencias que nunca se ejecutan)
No podrn ser detectadas instrucciones faltantes (cdigo que es necesario con el objeto de
cumplir con la especificacin)
1. IF cantidad < 100
2. PRINT "Compra sin descuento"
3. ENDIF
www.luismercadal.com.ar | info@luismercadal.com.ar
Una cobertura de decisin del 100% siempre incluye una cobertura de sentencia del 100%
1. IF cantidad < 100
2. PRINT "Compra sin descuento"
3. ELSE
4. PRINT "Compra con descuento"
5. ENDIF
2 casos de prueba para alcanzar el 100% de cobertura de sentencia, y tambin 2 casos de prueba
para alcanzar el 100% de cobertura de decisin
3. Cobertura de Condicin
-
Un camino es una combinacin de segmentos de programa (en un grfico de flujo de control: una
secuencia de nodos y aristas alternados)
Para cobertura de decisin, un solo camino a travs de un bucle es suficiente. Para la cobertura
de camino hay casos de prueba adicionales:
-
www.luismercadal.com.ar | info@luismercadal.com.ar
Un solo bucle puede conducir a una explosin de casos de prueba dado que, toda posible
ejecucin de un bucle constituye un nuevo caso de prueba
100% de cobertura de camino incluye 100% de cobertura de decisin, que a su vez incluye 100% de
cobertura de sentencia
Procedimiento iterativo
www.luismercadal.com.ar | info@luismercadal.com.ar
10
Procedimiento:
-
Ejecutar un nmero reducido de casos de prueba, exclusivamente sobre aquellas partes que
deben ser probadas, aplicando prediccin de errores
Analizar los resultados, desarrollar un modelo preliminar (rough model) de cmo funciona el
objeto de prueba
No puede dar constancia de completitud - el nmero de casos de prueba puede variar de forma
considerable
Las pruebas son ejecutadas de la misma manera que lo son los casos de prueba definidos de forma
sistemtica
La diferencia es la forma en la cual los casos de prueba han sido diseados / identificados
A travs de pruebas intuitivas se pueden detectar defectos que no podran ser detectados a travs de
mtodos sistemticos de prueba
Se pueden realizar pruebas de caja blanca de alguna manera (cdigo fuente disponible)?
Hay suficiente material de especificacin para definir pruebas de caja negra, o son necesarias
pruebas exploratorias para comenzar?
Son necesarias pruebas estructurales para lograr los objetivos del proceso de pruebas?
www.luismercadal.com.ar | info@luismercadal.com.ar
11
Riesgos
-
Ha habido algn acuerdo especfico entre el cliente / iniciador del proyecto respecto de los
procedimientos de prueba?
Niveles de prueba
-
www.luismercadal.com.ar | info@luismercadal.com.ar
12
V - Gestin de pruebas
Contenido
Captulo V - Gestin de pruebas
-
01 - Organizacin de prueba
La gestin de pruebas como parte del proceso de pruebas
-
El proceso de pruebas es una actividad que cubre por completo el proceso de desarrollo software
Las actividades propias de la gestin de pruebas son necesarias a lo largo de todo el proceso de
pruebas
Redactar o revisar una estrategia de pruebas para el proyecto, y una poltica de pruebas para la
organizacin
13
Establecer una gestin de la configuracin adecuada de los productos de soporte de las pruebas a
efectos de su trazabilidad
Introducir mtricas adecuadas para medir el progreso de las pruebas y evaluar la calidad de las
pruebas y del producto
Seleccionar herramientas de soporte de las pruebas y organizar cursos de formacin sobre el uso de
dichas herramientas para los probadores
Redactar informes resmenes de pruebas en base a la informacin recopilada durante las pruebas
Probador
-
Analizar, revisar y evaluar los requisitos de usuario, las especificaciones y los modelos para su
testeabilidad
Implementar pruebas en todos los niveles de prueba, ejecutar y registrar las pruebas, evaluar los
resultados y documentar las desviaciones de los resultados esperados
Automatizar pruebas
www.luismercadal.com.ar | info@luismercadal.com.ar
14
Con carcter complementario a las competencias tcnicas, los miembros del equipo de pruebas
requieren de la siguientes competencias y experiencia:
-
Meticulosidad y creatividad
Tras definir el rol del proceso de pruebas en el marco de las actividades de aseguramiento de la
calidad (QA), el proceso de pruebas comienza con su fase de planificacin
El plan de pruebas maestro cubre todas las fases del proceso de pruebas
Las reglas se fijan de acuerdo los objetivos de las pruebas, recursos, actividades de pruebas,
hitos, etc.
www.luismercadal.com.ar | info@luismercadal.com.ar
15
El plan de pruebas maestro es, posteriormente, ampliado con el objeto de cubrir los resultados a
partir de la fase de planificacin de detalle
-
Actividades a realizar
La planificacin de pruebas comienza al inicio de un proyecto de desarrollo y se ajusta a lo largo del
ciclo de vida del proyecto
- La planificacin de pruebas tambin cubre la creacin y actualizacin del plan de pruebas. Las
siguientes actividades se explican con mayor detalle:
-
El objetivo principal de la planificacin de recursos es estimar el esfuerzo de los miembros del equipo,
incluyendo sus necesidades en trminos de tiempo, herramientas, actividades de apoyo, etc. Estas
estimaciones se convierten en parte del plan de pruebas (dinmico)
Este plan de pruebas maestro cuenta con un calendario (time table)detallado, incluyendo hitos,
asignacin de personal a actividades. Este plan es un instrumento para gestionar la tarea global de la
ejecucin de pruebas con todas sus actividades
Gestionar el tiempo: Muchos proyectos experimentan intensos problemas de tiempo en torno a las
fases finales. Esto puede conducir a decisiones sobre la reduccin de actividades de pruebas o la
omisin de pruebas de forma completa
www.luismercadal.com.ar | info@luismercadal.com.ar
16
Priorizar pruebas: Dado que la distribucin de software sin haber sido probado suficientemente
conlleva un alto riesgo, es necesario asignar prioridades a las actividades de pruebas. Esto debe ser
realizado de tal forma que los casos de prueba ms importantes sean ejecutados de forma
temprana. De esta forma, partes crticas de los programas son probadas incluso en el caso en el
que actividades de pruebas sean abortadas de forma prematura
Seleccin de herramientas: Decidir respecto de qu herramientas deben ser utilizadas para probar,
si las herramientas disponibles son suficientes o si hay necesidad de herramientas adicionales
Criterios de entrada
-
Los criterios de entrada (entry criteria) definen cuando comenzar a probar, como al inicio de un nivel
de prueba o cuando un conjunto de prueba est listo para su ejecucin
Los criterios de salida, que indican la finalizacin de una fase de pruebas, deben ser establecidos
para cada nivel de pruebas. Son necesarias mtricas para controlar estos criterios de salida.
Ejemplos:
Casos de prueba de una clase de riesgo predefinido (por ejemplo el nivel de riesgo ms alto) han
sido ejecutados con xito en su totalidad
Si no ha sido alcanzado un mnimo de calidad, las pruebas pueden ser suspendidas o incluso no
ser iniciadas (muchos defectos crticos)
www.luismercadal.com.ar | info@luismercadal.com.ar
17
El nmero de nuevos errores detectados cae por debajo de un valor predeterminado, por ejemplo
las pruebas han sido suspendidas si se han detectado menos de un error por hora
Las economas del proceso de pruebas deben ser tenidas en cuenta. Ms all de una cierta tasa
de deteccin de errores puede resultar una mejor opcin entregar/distribuir la aplicacin software
al entorno de produccin y concentrarse solamente en la correccin de fallos informados por el
cliente
Un grado creciente de la calidad representa un coste ms bajo del error, pero costes ms altos en
prevencin de errores
Las pruebas deben continuar a pesar de que el aumento del coste de la prevencin de errores
se incrementa ms que el decremento de costo del error
Se realiza un anlisis previo a las pruebas, por ejemplo, pruebas basadas en riesgos (risk-based
testing)
www.luismercadal.com.ar | info@luismercadal.com.ar
18
Otros enfoques/estrategias:
-
Enfoque centrado en fallo (failure focused approach): prediccin de errores (error guessing),
ataques de faltas (fault attacks)
Enfoque basado en listas de comprobacin (check list based approach): uso de listas de
comprobacin de proyectos previos o de la planificacin de pruebas
Estimacin experta
-
Mtodo
-
Identificar todas las tareas a ejecutar (normalmente utilizando un enfoque descendente (top
down))
Obtener estimaciones para cada tarea por los responsables (de su ejecucin) o por expertos
www.luismercadal.com.ar | info@luismercadal.com.ar
19
Sumar todos los valores de las tareas. Incluir los factores de correccin (si hay experiencias
respecto de la exactitud de ciertos estimadores)
Incluir elementos amortiguadores (buffers) / elementos adicionales con el objeto de cubrir tareas
omitidas o subestimadas
Ventajas
-
Desventajas
-
Mtodo
-
Ventajas
-
Desventajas
-
Se requiere personal con experiencia (estimadores) y/o base de datos detallada respecto del
proyecto actual para las tareas a estimar
Los criterios para la clasificacin de proyectos pueden no cubrir todos los aspectos de un proyecto
Frecuentemente conduce a debates con la direccin respecto de la validez de la estimacin
www.luismercadal.com.ar | info@luismercadal.com.ar
20
Mtodo
-
Ventajas
-
El esfuerzo para las actividades de pruebas se estiman sobre la base de la totalidad de las
actividades del proyecto
El valor del porcentaje (fraccin) requiere ser determinado basndose en la experiencia
Ejemplo: Spillner / Linz habla de un porcentaje del 50% de actividades de pruebas respecto de la
totalidad de las actividades del proyecto (vase tambin Basiswissen Softwaretest,
dpunkt.Verlag, 3. Auflage, S. 181)
Este mtodo tambin puede ser utilizado para parte del trabajo (por ejemplo estimacin para los
costes de gestin de proyecto, estimacin del esfuerzo de pruebas para las pruebas de sistema)
La estimacin basada en porcentajes no tiene en cuenta el esfuerzo de la pruebas de regresin,
que pueden ser una parte sustancial de la pruebas de mantenimiento y asociadas a cambios
Tcnica de estimacin muy simple y potente que no requiere excesiva informacin de entrada
Desventajas
No muy precisa, dado que no tiene en cuenta las hechos particulares del proyecto
Es necesaria mucha experiencia e intuicin por parte de quien realiza la estimacin (estimador)
con el objeto de obtener estimaciones vlidas
- La decisin respecto del valor del porcentaje puede conducir a debates difciles
- Tiene en cuenta actividades que ya forman parte de las estimaciones de la planificacin del
proyecto (por ejemplo El esfuerzo de pruebas del desarrollador forma parte de la estimacin
correspondiente al desarrollo o debe formar parte de las estimaciones del proceso de
pruebas?)
- Los porcentajes varan ampliamente entre proyectos de nuevo desarrollo y proyectos de
mantenimiento
-
www.luismercadal.com.ar | info@luismercadal.com.ar
21
Mtricas en base a casos de prueba (utilizando informacin procedente del sistema de gestin de
pruebas), por ejemplo cobertura de casos de prueba, cobertura de requisitos, tasa bien/mal
(good/bad) de casos de prueba, cobertura de cdigo, cobertura de riesgo
Mtricas en base a costes (utilizando informacin procedente del sistema de control del proyecto),
por ejemplo costo de deteccin de errores, costo de prueba de regresin, costo de recursos
externos
Al inicio del proyecto / en la fase de preparacin los ciclos de los informes son ms largos
(quincenal o mensual)
Las fases crticas de la ejecucin de pruebas requieren ciclos cortos (semanales, o incluso
diario)
El informe de cierre de pruebas al final del proyecto
La evolucin es apropiada?
La ejecucin de las pruebas es eficaz y eficiente?
Las actividades estn alineadas con los objetivos de pruebas? Estn siendo alcanzados
objetivos de pruebas?
Cul es el grado de confianza respecto en el producto software basado en el estado actual de
progreso/evolucin/desarrollo?
Control de pruebas
-
22
El control de pruebas incorpora a todas las medidas emprendidas durante el proceso de pruebas
Ajuste de las actividades planificadas y, cuando sea necesario, iniciar un nuevo ciclo de
planificacin en el plan de proyecto
Los criterios de salida de pruebas tambin son registrados con las mtricas de progreso / avance
de pruebas
Los criterios de salida de pruebas que hubieran sido alcanzados son documentados en el informe
de pruebas para su aprobacin
Ms recursos humanos
Ms presupuesto
Despliegue de herramientas para la automatizacin de tareas
Las medidas de control de pruebas son documentados con el objeto de informar a la direccin del
proyecto / cliente respecto de cambios en riesgos en el despliegue del producto
04 - Gestin de la configuracin
Objetivo
-
Durante el desarrollo software se genera una gran cantidad de datos / informacin / resultados
{artefactos (artifacts)}:
-
Un gran nmero de participantes con roles diferentes en los distintos componentes del sistema
23
Observaciones generales
-
La gestin de la configuracin tiene un rol de apoyo dentro de un proyecto - todos los cambios
deben ser registrados en un lugar comn y comunicados haciendo uso de procesos definidos
Las expectativas respecto de la gestin de la configuracin pueden variar de forma considerable
dependiendo del tipo y alcance de proyecto - se debe desarrollar un plan de gestin de la
configuracin especfico
El IEEE 828 aporta un estndar para la gestin de la configuracin y el plan de gestin de la
configuracin
La gestin de la configuracin no es una actividad particular del proceso de pruebas, es
necesaria durante todas las fases de un proyecto
La gestin de la configuracin sin una herramienta apropiada slo es posible en proyectos muy
pequeos
Definiciones
Gestin de la configuracin GC [configuration management (CM)] se refiere a un conjunto de
medidas que complementan al desarrollo software:
Gestin del cambio (change management) sigue todas las actividades, por ejemplo cambios en
el cdigo fuente para cada solicitud de cambio
- Gestin de la construccin (build management) describe todos los pasos para crear una versin
de un producto software con el objeto de ser suministrado como un todo o subsistemas individuales
- Gestin de entregas (release management ) permite la definicin de versiones aisladas para
cada artefacto componente de una versin completa de un producto a ser probado, entregado, etc.
- Gestin de versiones (versions management ) (como parte de GC) registra toda la informacin
de acceso para cada artefacto: versin actual (nmero), ltimo cambio, ltimo usuario, etc.
-
www.luismercadal.com.ar | info@luismercadal.com.ar
24
Riesgos de proyecto
-
Riesgos tecnolgicos
-
www.luismercadal.com.ar | info@luismercadal.com.ar
25
Los riesgos asociados al proyecto afectan al xito del proyecto y deben ser gestionados
Mitigacin del riesgo (preparacin activa de medidas para reducir la probabilidad y/o el dao
potencial)
Control del riesgo (preparar las medidas necesarias en el caso en el cual el riesgo se convierte en
un problema, contar con tiempo y fondos disponibles)
Ignorancia del riesgo (esperar que el riesgo no se convierta en un problema, rezar, cruzar los
dedos, etc.)
Transferencia del riesgo (traspaso del riesgo a otra rea/organizacin)
Eludir el riesgo (evitar situaciones de riesgo)
Cuando se analizan, gestionan y mitigan los riesgos, el jefe de proyecto sigue unos principios bien
establecidos de gestin de proyecto. El esquema de la norma IEEE Std 829 para planes de prueba
requiere que se establezcan las gestiones de riesgos y contingencias.
Riesgos de producto
-
Los riesgos asociados al producto son el resultado de problemas relacionados con el producto
suministrado
-
Las pruebas se ejecutan para reducir o evitar los riesgos asociados al producto
-
www.luismercadal.com.ar | info@luismercadal.com.ar
26
Los mtodos de pruebas son seleccionados de forma particular con el objeto de mitigar los
riesgos identificados
El alcance de las pruebas se ocupa de los riesgos identificados
El alcance del proceso de pruebas tiene en cuenta los riesgos identificados. De esta forma, el
esfuerzo en el proceso de pruebas se centra en abordar la reduccin del riesgo potencial
Los fallos de riesgo son detectados de forma temprana, por lo tanto se hace ms econmica su
correccin
Incluso en el caso de un aborto de pruebas, se asegura que los casos de prueba ms
importantes han sido ejecutados (asignacin de prioridades a pruebas basada en el riesgo)
06 - Gestin de incidencias
Deteccin de errores* durantes las pruebas
El probador ejecuta los casos de prueba y registra los resultados
Posteriormente se analizan las desviaciones entre los resultados esperados y los obtenidos:
- Se identifican los fallos (los fallos pueden ocurrir en todo lugar: en documentos, en el cdigo, en
los datos de salida de un objeto de prueba, en un texto de ayuda)
- En este punto (temporal), las tareas del probador han finalizado por el momento
- El probador espera la versin corregida del programa para ejecutar la repeticin de pruebas
(retest)
- Posteriormente, el seguimiento (tracking) de errores se realiza utilizando un sistema de gestin
de incidencias (sistema gestin de defectos)
-
www.luismercadal.com.ar | info@luismercadal.com.ar
27
Probador (tester)
-
Desarrollador
-
Probador (tester)
Jefe de pruebas (test manager)
Consejo de Control de Cambio (CCC) (Change Control Board (CCB))
Desarrollador (developer)
Probador (tester)
La plantilla / estructura de un informe de incidencias puede ser encontrada en el estndar IEEE 829
(Anomaly Report)
Datos de la incidencia
-
www.luismercadal.com.ar | info@luismercadal.com.ar
28
Clasificacin de errores
-
Descripcin
-
Las clases de defectos a utilizar pueden ser: defecto crtico, defecto mayor, defecto medio, defecto
menor. Son frecuentes tres o cuatro clases de defectos
El criterio para la clasificacin puede ser la influencia en la usablidad del producto
www.luismercadal.com.ar | info@luismercadal.com.ar
29
Estado de un defecto
El estado de un defecto aporta informacin relativa al progreso/evolucin del trabajo que ha sido
desarrollado para este defecto
- Los posibles estados de un defecto son, pero no estn limitados a los siguientes:
-
Estado de un defecto
Slo un probador puede poner un defecto en estado Finalizado!
Normalmente el jefe de pruebas decide si un defecto debe ser corregido o rechazado - de forma
alternativa el consejo de control del cambio puede decidir sobre la correccin de un defecto teniendo
en cuenta el coste de reparacin
- Todos los cambios (incluidos los comentarios) deben ser registrados en el sistema de gestin de
incidencias
-
Todos los informes de defecto son analizados de forma sistemtica con el objeto de evaluar el estado
de desarrollo de las actividades de correccin de defectos, conformidad con el plan de proyecto y la
calidad software
Las herramientas de gestin de incidencias ofrecen una amplia variedad de informes de estadsticas de
defectos.
www.luismercadal.com.ar | info@luismercadal.com.ar
30