Beruflich Dokumente
Kultur Dokumente
1
NDICE
1. Principios bsicos del proceso de pruebas..................................................................5
1.1 Por qu es necesario el proceso de pruebas?........................................................5
1.1.1 Contexto de los sistemas software (K1)...........................................................5
1.1.2 Causas de los defectos de software (K2)..........................................................5
1.1.3 Funcin del proceso de pruebas en el desarrollo, mantenimiento y operaciones de
software (K2)......................................................................................................5
1.1.4 Proceso de pruebas y calidad (K2)..................................................................6
1.1.5 Con cuntas pruebas es suficiente? (K2)........................................................6
1.2 En qu consiste el proceso de pruebas? (K2)........................................................6
1.3 Siete principios para las pruebas (K2)...................................................................7
1.4 Proceso bsico de pruebas (K1)...........................................................................8
1.4.1 Planificacin y control de pruebas (K1)............................................................9
1.4.2 Anlisis y diseo de pruebas (K1)...................................................................9
1.4.3 Implementacin y ejecucin de pruebas (K1).................................................10
1.4.4 Evaluacin de los criterios de salida e informes (K1)........................................10
1.4.5 Actividades de cierre de pruebas (K1)...........................................................10
1.5 La psicologa de las pruebas (K2).......................................................................11
1.6 Cdigo deontolgico (K2)..................................................................................11
2. Pruebas durante todo el ciclo de vida del software (K2)..............................................13
2.1 Modelos de desarrollo de software (K2)...............................................................13
2.1.1 Modelo V (Modelo de desarrollo secuencial) (K2).............................................14
2.1.2 Modelo de desarrollo iterativo-incremental (K2)..............................................15
2.1.3 Pruebas en un Modelo de Ciclo de Vida (K2)...................................................15
2.2 Niveles de prueba (K2).....................................................................................15
2.2.1 Pruebas de componente/unitarias (K2)..........................................................17
2.2.2 Pruebas de integracin (K2).........................................................................18
2.2.3 Pruebas de sistema (K2).............................................................................19
2.2.4 Pruebas de aceptacin (K2).........................................................................19
2.3 Tipos de prueba (K2)........................................................................................21
2.3.1 Pruebas de funciones (Pruebas funcionales) (K2)............................................23
2.3.2 Pruebas de caractersticas no funcionales del software (Pruebas no funcionales)
(K2).................................................................................................................23
2.3.3 Pruebas de estructura/arquitectura de software (Pruebas estructurales) (K2)......24
2.3.4 Pruebas asociadas a cambios: Repeticin de pruebas y pruebas de regresin (K2)
.......................................................................................................................24
2.4 Pruebas de mantenimiento (K2).........................................................................25
3. Tcnicas estticas (K2).........................................................................................27
3.1 Las tcnicas estticas y el proceso de pruebas (K2)..............................................27
3.2 Proceso de revisin (K2)...................................................................................28
3.2.1 Actividades de una revisin formal (K1).........................................................29
3.2.2 Funciones y responsabilidades (K1)...............................................................29
3.2.3 Tipos de revisiones (K2)..............................................................................30
3.2.4 Factores de xito de las revisiones (K2).........................................................31
3.3 Anlisis esttico con herramientas (K2)...............................................................32
2
4. Tcnicas de diseo de pruebas (K4)........................................................................35
4.1 El proceso de desarrollo de pruebas (k3).............................................................35
4.2 Categoras de tcnicas de diseo de pruebas (K2) ................................................37
4.3 Tcnicas basadas en la especificacin o tcnicas de caja negra (K3) .......................38
4.3.1 Particin (Clase) de equivalencia (K3)............................................................38
4.3.2 Anlisis de valores lmite (K3)......................................................................39
4.3.3 Pruebas de tabla de decisin (K3).................................................................40
4.3.4 Pruebas de transicin de estado (K3)............................................................40
4.3.5 Pruebas de caso de uso (K2)........................................................................41
4.4 Tcnicas basadas en la estructura o tcnicas de caja blanca (K4)............................42
Antecedentes.....................................................................................................43
4.4.1 Pruebas de sentencias y cobertura (K4).........................................................43
4.4.2 Pruebas de decisin y cobertura (K4)............................................................43
4.4.3 Otras tcnicas basadas en la estructura (K1)..................................................44
4.5 Tcnicas basadas en la experiencia.....................................................................44
4.6 Seleccin de tcnica de prueba (K2)...................................................................45
5 Gestin de pruebas (K3).........................................................................................46
5.1 Organizacin de pruebas (K2)............................................................................46
5.1.1 Organizacin de pruebas e independencia (K2)...............................................46
5.1.2 Tareas del Lder de Pruebas y del Probador (K1)..............................................47
3
6.1.5 Herramientas de soporte para la especificacin de prueba (K1).........................62
6.1.6 Herramientas de soporte para la ejecucin y el registro de pruebas (K1)............62
6.1.7 Herramientas de soporte para el rendimiento y la monitorizacin (K1)................63
6.1.8 Herramientas de soporte para necesidades de pruebas especficas (K1)..............63
6.2 Uso efectivo de las herramientas: Ventajas potenciales y riesgos (K2).....................64
6.2.1 Ventajas potenciales y riesgos de las herramientas de soporte de pruebas (para
todas las herramientas) (K2)................................................................................64
6.2.2 Consideraciones especiales para algunos tipos de herramientas (K1)..................65
6.3 Introduccin de una herramienta en una organizacin (K1)....................................66
ANEXO IEEE 829 NORMA PARA LA DOCUMENTACIN DE PRUEBAS SOFTWARE.................68
Secciones plantilla de especificacin de diseo de pruebas........................................68
Secciones plantilla de especificacin de caso de prueba............................................68
Secciones plantilla de especificacin de procedimiento de prueba...............................68
Secciones del plan de pruebas .............................................................................68
Secciones informe de resumen de pruebas ............................................................69
Secciones registro de pruebas .............................................................................69
Informe de transmisin de los tems de pruebas (comnmente llamado notas de
versiones) .......................................................................................................69
Informe de incidencias........................................................................................69
4
1. Principios bsicos del proceso de pruebas
Defecto/Falta/B
Imperfeccin en un componente o sistema que puede causar que el componente o sistema
ug falle al desempear las funciones requeridas, por ejemplo una sentencia o una definicin de
datos incorrectas. Si se localiza un defecto durante una ejecucin puede causar un fallo en el
componente o sistema.
Fallo/Falla
Desviacin del componente o del sistema respecto de prestacin, servicio o resultado
esperado.
Calidad
Grado en el cual un componente, sistema o proceso satisface requisitos especificados y/o
necesidades y expectativas del usuario/cliente.
Riesgo
Factor que puede resultar en futuras consecuencias negativas, expresada normalmente como
impacto y probabilidad.
5
o Tambin para: cumplir requisitos contractuales o legales, estndares
especficos del sector,
Requisito
Condicin o capacidad necesaria para un usuario con el objeto de solucionar un
problema o lograr un objetivo que debe ser alcanzado o posedo por un sistema o
componente de un sistema, para satisfacer un contrato, estndar, especificacin u
otro documento impuesto formalmente.
Revisin
Evaluacin de un producto o del estado de un proyecto para detectar discrepancias
con los resultados planificados y para recomendar mejoras. Algunos ejemplos:
revisin de gestin, revisin informal, revisin tcnica, inspeccin y revisin guiada.
Caso de prueba
Conjunto de valores de entrada, precondiciones de ejecucin, resultados esperados y
postcondiciones de ejecucin, desarrollado con un objetivo en particular o condicin
de prueba, tales como probar un determinado camino de ejecucin o para verificar el
cumplimiento de un requisito determinado.
Probar/Pruebas
Proceso que consiste en todas las actividades del ciclo de vida software, tanto
estticas como dinmicas, concernientes con la planificacin, preparacin y
evaluacin de productos software y los productos de trabajo relacionados para
determinar que stos satisfacen los requisitos especificados, para demostrar que se
ajustan al propsito y para detectar defectos.
6
Objetivo de prueba
Razn o propsito para el diseo y la ejecucin de una prueba.
Proceso de pruebas: no solo ejecutar pruebas, sino tambin todas las actividades
que se dan antes y despus (planificacin y control, elaboracin de informes) as
como otro tipo de actividades (revisin de documentos incluyendo el cdigo fuente-,
anlisis estticos,).
Objetivos (posibles) del proceso de pruebas:
o 1) Identificar defectos (por ejemplo, en las pruebas durante el desarrollo).
o 2) Aumentar la confianza en el nivel de calidad (por ejemplo, en las
pruebas de aceptacin, donde se corrobora que el sistema se ajusta a los
requisitos previstos).
o 3) Facilitar informacin para la toma de decisiones (por ejemplo, para
evaluar la calidad del software -sin intencin de arreglar defectos- o medir el
riesgo de lanzar el sistema en un momento dado).
o 4) (Prevenir) Evitar la aparicin de defectos (por ejemplo, en la revisin
de documentos como los requisitos- o la identificacin y subsanacin de
problemas).
Diferencia entre el proceso de depuracin y el proceso de pruebas:
o Las pruebas dinmicas pueden identificar aquellos fallos que han sido
provocados por defectos (es responsabilidad del probador).
o Depuracin: Actividad de desarrollo que localiza, analiza y elimina la causa
del fallo (es responsabilidad del desarrollador).
o La posterior repeticin de las pruebas (por parte del probador) garantiza que
la correccin llevada a cabo realmente elimina el fallo).
Pruebas exhaustivas
Enfoque de pruebas donde el conjunto de pruebas abarca todas las combinaciones
de valores de entrada y precondiciones.
7
6. Las pruebas dependen del contexto.
Las pruebas se llevan a cabo de manera diferente segn el contexto (la
forma de probar un software crtico para la seguridad variar de la de un sitio
de comercio electrnico).
7. Falacia de la ausencia de errores
La deteccin y correccin de defectos no servir de nada si el sistema
construido no es usable y no cumple las expectativas y necesidades de los
usuarios.
Criterios de salida
Conjunto de condiciones genricas y especficas, acordadas con los involucrados en
el proyecto, para permitir que un proceso sea considerado concluido oficialmente. El
propsito de los criterios de salida es evitar que una tarea se considere concluida
cuando existen partes de la tarea pendientes que no hayan sido finalizadas. Los
criterios de salida son utilizados para planificar cundo parar las pruebas e informar
sobre esto.
Incidencia
Cualquier ocurrencia de un suceso que requiere investigacin
Pruebas de regresin
Pruebas de un programa previamente probado que ha sufrido modificaciones, para
asegurarse que no se han introducido o descubierto defectos en reas del software
que no han sido modificadas como resultado de los cambios realizados. Se realiza
cuando el software o su entorno han sido modificados.
Base de prueba
Todos los documentos de donde los requisitos de un componente o sistema pueden
ser inferidos. La documentacin en la que se basan los casos de prueba. Si un
documento puede ser modificado slo por medio de un procedimiento de cambio
formal, entonces la base de las pruebas se denomina base de prueba congelada.
Condicin de prueba
Elemento o evento de un componente o sistema que debera ser verificado por uno o
ms casos de prueba, por ejemplo una funcin, transaccin, caracterstica, atributo
de calidad o elemento estructural.
Cobertura de pruebas
Grado, expresado como un porcentaje, en el que un elemento de cobertura
especificado ha sido practicado por un juego de pruebas.
Datos de prueba
Datos que existen (por ejemplo en una base de datos) antes de que una prueba sea
ejecutada y que afectan o son afectados por el componente o sistema en pruebas.
Ejecucin de pruebas
Proceso de practicar una prueba sobre el componente o sistema en pruebas,
produciendo resultado(s) reales.
Registro de pruebas
Registro cronolgico de los detalles relevantes respecto a la ejecucin de pruebas.
Plan de pruebas
Documento que describe el alcance, enfoque, los recursos y planificacin de las
actividades de pruebas previstas. Identifica, entre otros, los elementos de prueba, las
prestaciones a ser probadas, las tareas de pruebas, quien realiza cada tarea, el
grado de independencia del probador, el entorno de pruebas, las tcnicas de diseo
de pruebas y los criterios de entrada y salida a utilizar, y los motivos para cada
eleccin, y cualquier riesgo que requiera un plan de contingencia. Es un registro del
proceso de planificacin de pruebas.
8
(Especificacin de)
Documento que especifica la secuencia de acciones para la ejecucin de una
Procedimiento de prueba. Tambin conocido como script de prueba o script de prueba manual.
pruebas
Poltica de pruebas
Documento de alto nivel que describe los principios, el enfoque y los principales
objetivos de la organizacin en lo referente a las pruebas.
Conjunto/Juego de
Conjunto de casos de prueba para un componente o sistema en pruebas, donde la
(casos de) prueba poscondicin de una prueba es a menudo usada como precondicin de la siguiente.
Informe resumen de
Documento que resume las actividades y resultados de las pruebas. Tambin
pruebas contiene una evaluacin de los correspondientes elementos de prueba respecto de
los criterios de salida.
Producto de soporte de
Artefactos producidos durante el proceso de pruebas necesarios para la
prueba (testware) planificacin, el diseo y la ejecucin pruebas, tales como la documentacin, scripts,
entradas, resultados esperados, procedimientos de configuracin y despejado,
archivos, bases de datos, entorno y cualquier software o utilidades adicionales
utilizadas en pruebas.
Arns de pruebas
Entorno de pruebas constituido por stubs y controladores necesarios para llevar a
cabo una prueba.
9
1.4.3 Implementacin y ejecucin de pruebas (K1)
Actividad en la que se especifican los procedimientos o guiones de prueba mediante
la combinacin de los casos de prueba en un orden determinado y la inclusin de
cualquier otra informacin necesaria para la ejecucin de las pruebas, se configura el
entorno y se ejecutan las pruebas.
Tareas principales:
1. Finalizar, implementar y priorizar los casos de prueba (incluyendo la
identificacin de los datos de prueba).
2. Desarrollar y priorizar procedimientos de prueba, crear datos de prueba y, de
manera opcional, preparar arneses de pruebas y redactar guiones de prueba
automatizados.
3. Crear juegos de pruebas a partir de los procedimientos de prueba para lograr
una ejecucin de pruebas eficiente.
4. Verificar que el entorno de pruebas ha sido correctamente configurado.
5. Verificar y actualizar una trazabilidad bidireccional entre la base de pruebas y
los casos de prueba.
6. Ejecutar los procedimientos de prueba manualmente o recurriendo a
herramientas de ejecucin de pruebas, conforme a la secuencia prevista.
7. Registrar los resultados de la ejecucin de las pruebas y registrar las
identidades y las versiones del software probado, as como las herramientas
de prueba y los productos de soporte de pruebas.
8. Comparar los resultados reales con los resultados esperados.
9. Reportar las discrepancias en forma de incidencias y analizarlas con vistas a
establecer sus causas (por ejemplo, defectos en el cdigo, defectos en
documentos de prueba,).
10. Repetir las actividades de pruebas como resultado de una medida adoptada
para cada discrepancia (por ejemplo, la repeticin de una prueba que ha
fallado anteriormente con vistas a confirmar su correccin pruebas de
confirmacin -; la ejecucin de una prueba corregida y/o la ejecucin de
pruebas con vistas a garantizar que los defectos no se han introducido en
reas no modificadas del software o que la subsanacin del defecto no ha
revelado la existencia de otros defectos pruebas de regresin-).
10
1.5 La psicologa de las pruebas (K2)
Prediccin de error
Tcnica de diseo de pruebas donde la experiencia de quien prueba es utilizada para
anticipar qu defectos podran estar presentes en el componente o sistema en prueba
como resultado de los errores cometidos, y disear pruebas especficas para ponerlos
al descubierto.
Independencia (de
Separacin de responsabilidades, que fomenta la realizacin de pruebas objetivas.
pruebas)
11
PROFESIN: Los probadores de software certificados aumentarn la integridad y la
reputacin de la profesin en coherencia con el inters pblico.
COMPAEROS: Los probadores de software certificados sern equitativos y
apoyarn a sus compaeros fomentando la cooperacin con los desarrolladores de
software.
NIVEL INDIVIDUAL: Los probadores de software certificados participarn en un
aprendizaje a lo largo de toda la vida por lo que respecta a la prctica de su
profesin y fomentarn la adopcin de un enfoque tico en la prctica de su
profesin.
12
2. Pruebas durante todo el ciclo de vida del software
(K2)
Software de distribucin
Producto software que es desarrollado para el mercado general, por ejemplo, para
masiva (COTS - un gran nmero de clientes, y es distribuido a muchos clientes en formato idntico.
Commercial Off-The-Shelf
software)
Modelo en V (Modelo de
Marco de trabajo para describir las actividades del ciclo de vida de desarrollo
desarrollo secuencial) software desde la especificacin de requisitos hasta el mantenimiento. El modelo-V
ilustra cmo las actividades de del proceso de pruebas pueden ser integradas
dentro de cada fase del ciclo de vida de desarrollo software.
Modelo de desarrollo
Ciclo de vida del desarrollo donde un proyecto es dividido en un nmero de
iterativo iteraciones, generalmente grande. Una iteracin es un ciclo completo de desarrollo
que tiene como resultado una entrega (interna o externa) de un producto
ejecutable, un subconjunto del producto final en desarrollo, que crece de iteracin
en iteracin para convertirse en el producto final.
Modelo de desarrollo
Ciclo de vida de desarrollo software en el cual un proyecto es descompuesto en una
incremental serie de incrementos, cada uno de los cuales suministra una porcin de la
funcionalidad respecto de la totalidad de los requisitos del proyecto. Los requisitos
tienen asignada una prioridad y son entregados segn el orden de prioridad en el
incremento correspondiente. En algunas (pero no en todas) versiones de este
modelo de ciclo de vida, cada subproyecto sigue un mini-modelo V con sus
propias fases de diseo, codificacin y pruebas.
13
2.1.1 Modelo V (Modelo de desarrollo secuencial) (K2)
14
o Niveles CMMI:
1. Inicial: proyectos imprevisibles, controlados incorrectamente,
reactivos.
2. Gestionado: Procesos establecidos a nivel de proyecto pero a
menudo reactivamente.
3. Definido: Procesos establecidos a travs de la organizacin y por
lo general proactivamente.
4. Gestionado cuantitativamente: Los procesos son medidos y
controlados en el nivel de la organizacin.
5. Optimizacin: Enfoque en la mejora continua, generalmente
dirigido por datos.
o Secciones IEEE/IEC 12207:
1. Alcance
2. Referencias normativas
3. Definiciones
4. Aplicacin del estndar a los procesos del ciclo de vida,
incluyendo su adaptacin y ajuste a la organizacin.
5. Los procesos principales del ciclo de vida para la adquisicin,
el suministro, el desarrollo, la operacin y el mantenimiento.
6. Los procesos de apoyo (publicaciones tcnicas, gestin de la
configuracin, el aseguramiento de la calidad, la verificacin y
validacin, las auditoras y la resolucin de problemas.
7. Los procesos del ciclo de vida organizacional como la gestin,
la infraestructura, el mejoramiento y la capacitacin.
La verificacin y validacin (y el diseo temprano de pruebas) pueden realizarse
durante el desarrollo de los productos de trabajo de software.
15
vas
Pruebas alfa
Pruebas simuladas u operacionales realizadas por usuarios/clientes potenciales o por
un equipo de pruebas independiente en las dependencias de desarrollo, pero fuera de
la organizacin de desarrollo. Las pruebas alfa son utilizadas con frecuencia para
software de distribucin masiva como una forma de pruebas de aceptacin internas.
Pruebas beta/Pruebas
de campo
Pruebas operacionales realizadas por usuarios/clientes potenciales y/o existentes, en
un sitio externo no relacionado de ninguna manera con los desarrolladores, para
determinar si un componente o sistema satisface o no las necesidades del
usuario/cliente y se ajusta a los procesos de negocio. Con frecuencia las pruebas beta
se emplean como una forma de prueba de aceptacin externa para software de
distribucin masiva con el objetivo de obtener la respuesta del mercado.
Pruebas de
Pruebas de componentes software individuales.
componente/unitarias
Controlador (Driver)
Componente software o herramienta de pruebas que sustituye a un componente que
asume el control y/o la invocacin a un componente o sistema.
Stub
Implantacin estructural (esqueleto) o de propsito especial de un componente
software, usado para desarrollar o probar un componente que es dependiente de l de
algn modo. Sustituye a un componente llamado.
Arns de pruebas
Entorno de pruebas constituido por stubs y controladores necesarios para llevar a cabo
una prueba.
Requisito funcional
Requisito que especifica una funcin que un componente o sistema debe cumplir.
Integracin
Proceso de combinar componentes o sistemas en estructuras ms amplias.
Pruebas de
Pruebas realizadas con el objeto de poner en evidencia defectos en las interfaces e
integracin interacciones entre componentes o sistemas integrados. Vase tambin pruebas de
integracin de componente, pruebas de integracin de sistema.
Requisito no funcional
Pruebas de atributos de un componente o sistema que no se refieren a la funcionalidad,
por ejemplo fiabilidad, eficiencia, usabilidad, mantenibilidad y portabilidad.
Pruebas de robustez
Pruebas para determinar la robustez de un producto software.
Robustez:
Tolerancia al error:
Tolerancia a faltas:
Fiabilidad
Habilidad de un producto software para llevar a cabo aquellas funciones requeridas en
condiciones establecidas para un perodo de tiempo especfico, o para un nmero
16
especfico de operaciones.
Pruebas de sistema
El proceso de pruebas un sistema integrado para verificar que cumple los requisitos
especificados.
Entorno de pruebas
Entorno que contiene hardware, instrumentacin, simuladores, herramientas sofware y
otros elementos de soporte necesarios para realizar una prueba.
Nivel de prueba
Grupo de actividades que estn organizadas y gestionadas de forma conjunta. Un nivel
de prueba esta vinculado con las responsabilidades en un proyecto. Ejemplos de
niveles de pruebas son las pruebas de componente, pruebas de integracin, pruebas
de sistema y pruebas de aceptacin.
Pruebas de
Pruebas formales con respecto a las necesidades de usuario, requisitos y procesos de
aceptacin de usuario negocio dirigidas a determinar si el sistema satisface o no los criterios de aceptacin y a
habilitar al usuario, cliente u otra entidad autorizada a determinar si acepta o no el
sistema.
Simulador
Dispositivo, programa o sistema usado durante las pruebas, que se comporta u opera
como un sistema dado cuando se le proporciona un conjunto de entradas controladas.
Antecedentes
17
Requisitos de arns de pruebas y soporte de herramientas:
o Acceso al cdigo objetivo de las pruebas.
o Soporte de un entorno de desarrollo (marco de pruebas de unidad,
herramienta de depuracin).
Enfoques especficos y responsabilidades:
o Participacin del programador que escribi el cdigo.
o Los defectos se corrigen en el momento en que se detectan, sin gestionarlos
formalmente.
o Desarrollo guiado por las pruebas (Test Driven Development TDD):
Primero se elaboran y automatizan los casos de prueba y despus se
desarrolla el cdigo objeto de las pruebas.
Enfoque altamente iterativo:
1. Ciclos de desarrollo de casos de prueba.
2. Construir e integrar pequeas partes del cdigo.
3. Ejecutar las pruebas de componente.
4. Corregir problemas e iterar hasta que se superen
todos los casos de prueba.
18
2.2.3 Pruebas de sistema (K2)
19
o Informes.
o Datos de configuracin.
Tiposde pruebas:
o Las pruebas de aceptacin pueden darse en distintos momentos del ciclo
de vida, tales como:
Despus de la instalacin o integracin (por ejemplo, en un
producto de software comercial de distribucin masiva - COTS).
Durante las pruebas de componente/unitarias (por ejemplo,
pruebas de aceptacin de la usabilidad de un componente).
Antes de las pruebas de sistema (por ejemplo, pruebas de
aceptacin de una nueva mejora funcional).
o Las pruebas de aceptacin pueden adoptar, entre otras, las siguientes
formas:
Pruebas de aceptacin de usuario: Verifican la idoneidad del uso
del sistema por parte de los usuarios comerciales.
Pruebas operativas (de aceptacin): La aceptacin del sistema
por parte de los administradores del sistema, entre las que se
incluyen:
Pruebas de backup/restauracin.
Recuperacin de desastres.
Gestin de usuarios.
Tareas de mantenimiento.
Carga de datos y tareas de migracin.
Comprobaciones peridicas de vulnerabilidades de seguridad.
Pruebas de aceptacin contractual: Toman como base los criterios
de aceptacin previstos en un contrato para fabricar un software
desarrollado a medida.
Los criterios de aceptacin debern establecerse en el
momento en que las partes aceptan contraer dicho contrato.
Pruebas de aceptacin normativa: Toman como base cualquier
normativa de obligado cumplimiento, tales como normativas
gubernamentales, legales o de seguridad.
Pruebas alfa y beta (o de campo): Utilizadas por los
desarrolladores de productos software comerciales de distribucin
masiva COTS para obtener feedback de clientes/usuarios
potenciales o existentes en su mercado (las pruebas son realizadas
por estos) antes de sacar el producto a la venta.
Pruebas alfa (o pruebas de aceptacin en fbrica): En el
emplazamiento de la organizacin de desarrollo (pero no
interviene el equipo de desarrollo en su ejecucin).
Pruebas beta (o de campo, o pruebas de aceptacin en
emplazamiento): En las instalaciones de los clientes/usuarios
potenciales o existentes.
20
2.3 Tipos de prueba (K2)
Pruebas de caja negra
Pruebas tanto funcionales como no funcionales, sin referencia a la estructura interna
del componente o sistema.
Cobertura de cdigo
Mtodo de anlisis que determina qu partes del software han sido ejecutadas
(cubiertas) por el juego de pruebas y qu partes no han sido ejecutadas, ejemplo
cobertura de sentencia, cobertura de decisin o cobertura de condicin.
Pruebas funcionales
Pruebas basadas en el anlisis de las especificaciones funcionales de un
componente o de un sistema
Pruebas de
Proceso de pruebas con el objeto de determinar la interoperabilidad de un producto
interoperabilidad software.
Pruebas de carga
Tipo de prueba relacionado con medida del comportamiento de un componente o
sistema con una carga creciente, por ejemplo el nmero de usuarios concurrentes
y/o nmero de transacciones para determinar qu carga puede ser soportada por el
componente o sistema. Vase tambin pruebas de estrs.
Pruebas de
Proceso de pruebas para determinar el grado de mantenibilidad de un producto
mantenibilidad software.
Mantenibilidad:
Facilidad con la que un producto software puede ser modificado para corregir
defectos, cumplir con nuevos requisitos, hacer ms sencillo el mantenimiento futuro
o ser adaptado a un entorno modificado.
Pruebas de rendimiento
Proceso de pruebas para determinar el rendimiento de un producto software. Vase
tambin pruebas de eficiencia
Pruebas de eficiencia
Proceso de prueba para determinar la eficiencia de un producto de software.
Eficiencia:
Capacidad del producto software para proporcionar un rendimiento apropiado,
relativo a la cantidad de recursos usados bajo condiciones establecidas.
Pruebas de portabilidad
Proceso de pruebas para determinar la portabilidad de un producto software.
Portabilidad:
Pruebas de fiabilidad
Proceso de pruebas para determinar la fiabilidad de un producto software.
Fiabilidad:
Pruebas de seguridad
Pruebas para determinar la seguridad (efectos adversos) de un producto software.
Seguridad:
21
Pruebas de estrs
Pruebas orientadas a evaluar un componente o sistema en o ms all de los lmites
especificados en los requisitos.
Pruebas de usabilidad
Pruebas para determinar en qu medida el producto software es comprensible, fcil
de aprender, fcil de operar y atractivo a los usuarios bajo condiciones
especificadas.
Usabilidad:
22
Antecedentes
Pruebas funcionales:
Se basan en funciones o prestaciones y en su interoperabilidad con sistemas
especficos.
Las funciones (de un sistema, subsistema o componente) se describen en productos
de trabajo:
Especificacin de requisitos.
Casos de uso.
Especificacin funcional.
O no estar documentadas (experiencia).
Pueden llevarse a cabo en todos los niveles de prueba (por ejemplo, pruebas de
componente basadas en una especificacin de componente).
Tcnicas basadas en la especificacin: obtener condiciones de prueba y casos de
prueba a partir de la funcionalidad de un software o sistema.
Las pruebas funcionales tienen en cuenta el comportamiento externo del software
(pruebas de caja negra).
Ejemplos:
Pruebas de seguridad de un cortafuegos (funciones asociadas a la deteccin de
amenazas procedentes de personas ajenas y malintencionadas).
Pruebas de interoperabilidad (evalan la capacidad del producto de software de
interactuar con uno o ms componentes o sistemas especificados).
23
Pruebas de usabilidad.
Pruebas de mantenibilidad.
Pruebas de fiabilidad.
Pruebas de portabilidad.
Pueden ejecutarse a todos los niveles de prueba.
Pueden hacer referencia a un modelo de calidad (por ejemplo, calidad de producto
segn ISO 9126 / ISO 25000).
Tienen en cuenta el comportamiento externo del software (en la mayora de los
casos utiliza tcnicas de diseo de pruebas de caja negra).
24
2.4 Pruebas de mantenimiento (K2)
Anlisis de impacto
Valoracin del cambio en las capas de documentacin de desarrollo,
documentacin de pruebas y componentes, con el objeto de implementar un
cambio dado en requisitos especificados.
Pruebas de mantenimiento
Pruebas de los cambios en un sistema en operacin o el impacto de un
entorno modificado para un sistema en operacin.
25
No hay probadores con conocimiento de dominio disponibles.
26
3. Tcnicas estticas (K2)
Pruebas estticas
Pruebas de un componente o sistema a nivel de especificacin o implementacin
sin ejecutar el software, por ejemplo revisiones o anlisis esttico de cdigo.
Antecedentes
Pruebas dinmicas: exigen la ejecucin del software.
Pruebas estticas: no ejecutan el cdigo. Se basan en el examen manual (revisiones) y el
anlisis automatizado (anlisis esttico) del cdigo o de cualquier otra documentacin del
proyecto.
Revisiones:
Manuales o utilizando herramientas de soporte.
Principal actividad manual: examinar un producto de trabajo y hacer comentarios.
Cualquier producto de trabajo puede ser objeto de una revisin: especificaciones de
requisitos, especificaciones de diseo, el cdigo, los planes de prueba, las
especificaciones de pruebas, los casos de pruebas, los guiones de prueba, las guas
de usuario o las pginas Web.
Beneficios de las revisiones:
Deteccin y correccin temprana de defectos (por ejemplo, en la revisin de
requisitos).
Desarrollo de mejoras de productividad.
Reduccin de los tiempos de desarrollo.
Ahorro de tiempo y dinero invertido en pruebas.
Las revisiones, el anlisis esttico y las pruebas dinmicas tienen el mismo objetivo:
identificar defectos.
Son procesos complementarios: las distintas tcnicas pueden encontrar distintos
tipos de defectos de manera eficiente y efectiva.
Las pruebas dinmicas detectan los fallos, mientras que las estticas detectan sus
causas (los defectos).
Defectos tpicos que resultan fciles de localizar en revisiones (y en esto son ms
eficaces/eficientes que las pruebas dinmicas):
Desviaciones de los estndares.
Defectos de requisito.
Defectos de diseo.
Mantenibilidad insuficiente.
Especificaciones de interfaz incorrectas.
27
3.2 Proceso de revisin (K2)
Criterios de entrada
Conjunto de condiciones genricas y especficas para permitir que un proceso
prosiga con una tarea definida, por ejemplo la fase de pruebas. El objetivo de los
criterios de entrada es evitar que una tarea comience, lo cual conllevara un
mayor esfuerzo que el necesario para eliminar los criterios de entrada fallidos.
Revisin formal
Revisin caracterizada por procedimientos y requisitos documentados, por
ejemplo la inspeccin.
Revisin informal
Revisin que no est basada en un procedimiento formal (documentado).
Inspeccin
Tipo de revisin entre pares que se basa en el examen visual de documentos
para detectar defectos, por ejemplo violaciones de estndares de desarrollo y no
conformidades a la documentacin de nivel superior. Es la tcnica de revisin
ms formal y, por lo tanto, siempre basada en un procedimiento documentado.
Vase tambin revisin entre pares.
Mtrica
Escala de medida y el mtodo utilizado para la medicin.
Moderador
Lder y principal persona responsable de una inspeccin u otro proceso de
revisin.
Revisor
Persona involucrada en la revisin, responsable de la identificacin y descripcin
de anomalas en el producto o proyecto bajo revisin. Los revisores pueden ser
seleccionados para representar diferentes puntos de vista y roles dentro del
proceso de revisin.
Escriba
Persona que registra en un acta cada defecto mencionado y cualquier
sugerencia para la mejora de un proceso durante una reunin de revisin. El
escriba tiene que asegurarse que el acta sea legible y comprensible.
Revisin tcnica
Actividad de discusin de grupo de pares que se centra en alcanzar consenso
respecto del enfoque tcnico a adoptar.
Revisin guiada
Presentacin paso a paso de un documento por parte del autor con el fin de
recoger informacin y establecer un entendimiento comn de su contenido.
Vase tambin revisin entre pares.
Antecedentes
Tipos de revisiones:
Informales (los revisores carecen de instrucciones escritas).
Sistemticas (incluyen la participacin del equipo, se documentan los resultados y
hay procedimientos documentados para realizarlas).
Grado de formalidad depende de: madurez del proceso de desarrollo, requisitos
legales/normativos, necesidad de rastro de auditora.
Posibles objetivos:
28
Encontrar defectos.
Formar probadores o nuevos desarrolladores.
Debatir y decidir por consenso.
1. Planificar:
Definir los criterios de revisin.
Seleccionar al personal.
Asignar funciones.
Definir los criterios de entrada y salida (en revisiones formales).
Seleccionar qu partes de los documentos deben revisarse.
2. Inicio:
Repartir los documentos.
Explicar los objetivos, procesos y documentos a los participantes.
3. Comprobar los criterios de entrada (en revisiones formales).
4. Preparacin individual.
Prepararse para la reunin de revisin repasando los documentos.
Prestar especial atencin a posibles defectos, preguntas y comentarios.
5. Examen/evaluacin/registro de los resultados (reunin de revisin):
Debatir o registrar, mediante resultados documentados o actas (en revisiones
formales).
Prestar especial atencin a los defectos, hacer recomendaciones sobre cmo
manejar los defectos, tomar decisiones al respecto.
Durante reuniones fsicas o de seguimiento de los grupos.
6. Corregir los defectos detectados (normalmente a cargo del autor).
Registrar el estado actualizado de los defectos (en revisiones formales).
7. Hacer un seguimiento.
Comprobar que los defectos han sido tratados.
Recopilar mtricas.
8. Comprobar los criterios de salida (en revisiones formales).
1. Jefe:
Decide sobre la ejecucin de las revisiones.
Asigna el tiempo en los calendarios del proyecto.
Determina si se han logrado los objetivos de la revisin.
2. Moderador:
29
Lidera la revisin del documento o serie de documentos (incluyendo
planificacin de la revisin, celebracin de la reunin y seguimiento despus
de la reunin).
Media entre los distintos puntos de vista.
3. Autor:
Escritor o persona con mxima responsabilidad de los documentos a revisar.
4. Revisores (evaluadores/inspectores):
Personas con experiencia especfica en el mbito tcnico o comercial.
(Una vez preparados para ello) Identifican y describen las conclusiones (por
ejemplo, los defectos) sobre el producto objeto de la revisin.
5. Escriba (o registrador):
Documenta todos los problemas, asuntos, temas abiertos que se han
identificado durante la reunin.
Presentacin paso a paso de un documento por parte del autor con el fin de recoger informacin y establecer un
entendimiento comn de su contenido. Vase tambin revisin entre pares.
30
Revisin tcnica
Actividad de discusin de grupo de pares que se centra en alcanzar consenso respecto del enfoque tcnico a adoptar.
Tipo de revisin entre pares que se basa en el examen visual de documentos para detectar defectos, por ejemplo
violaciones de estndares de desarrollo y no conformidades a la documentacin de nivel superior. Es la tcnica de
revisin ms formal y, por lo tanto, siempre basada en un procedimiento documentado. Vase tambin revisin entre
pares.
31
Se afrontan los problemas de personal y los aspectos psicolgicos (por ejemplo,
haciendo que sea una experiencia positiva para el autor).
La revisin se lleva a cabo en una atmsfera de confianza (el resultado no se utilizar
para evaluar a los participantes).
Se aplican las tcnicas de revisin adecuadas (para los objetivos, tipo/nivel de
productos de trabajo y los revisores).
Se utilizan listas de comprobacin o funciones si procede para aumentar la
efectividad del proceso de identificacin de defectos.
Se ofrece formacin sobre tcnicas de revisin, especialmente por lo que respecta a
las tcnicas ms formales como la inspeccin.
Existe respaldo (asignacin de recursos/tiempo en el cronograma dedicado) desde
Direccin.
Se hace hincapi en el aprendizaje y en la mejora del proceso.
Complejidad
Grado en el cual un componente o sistema tiene un diseo y/o estructura interna
que es difcil de comprender, mantener y verificar. Vase tambin complejidad
ciclomtica.
Complejidad ciclomtica
(Segn McCabe) Nmero de caminos independientes en un programa (=
nmero de pruebas bsicas requeridas para cubrir el grafo, en el caso de pruebas
de unidad para una funcin).
Por tanto, C = E N + 2
Otra alternativa: (Partiendo de 1) +1 por cada if, for, while, do while, bloque case de
switch (else de los if no cuenta, bloque default de switch no cuenta).
32
Cada funcin en un programa, incluyendo la funcin principal, comienza con un
contador de complejidad de 1. Contamos la complejidad funcin por funcin. Cada
vez que hay una rama o bucle en una funcin, el contador de complejidad aumenta
en uno.
Las pruebas bsicas son las entradas y los resultados esperados asociados con
cada camino bsico.
Usualmente las pruebas bsicas coincidirn con las pruebas necesarias para
alcanzar cobertura de rama (decisin).
Flujo de control
Secuencia de eventos (caminos) en la ejecucin a travs de un componente o
sistema.
Flujo de datos
Representacin abstracta de la secuencia y posibles cambios de estado de los
objetos de datos, donde el estado de un objeto puede ser cualquiera de los
siguientes: creacin, uso o destruccin.
Anlisis esttico
Anlisis de los artefactos software, por ejemplo requisitos o cdigo, llevado a cabo
sin la ejecucin de estos artefactos software.
Objetivo del anlisis esttico: Detectar defectos en el cdigo fuente del software y en
los modelos de software.
Se realiza sin ejecutar el software objeto de la revisin (al contrario que en las
pruebas dinmicas).
Las herramientas de anlisis esttico analizan el cdigo del programa (p.ej. el
flujo de control y flujo de datos) y las salidas generadas (p.ej. HTML o XML).
(Al igual que en las revisiones) Encuentra defectos en lugar de fallos.
El valor del anlisis esttico es:
La deteccin temprana de defectos antes de la ejecucin de las pruebas.
Prevencin de defectos, si se aprende la leccin en la fase de desarrollo.
Advertencia temprana sobre aspectos sospechosos del cdigo o del diseo
mediante clculo de mtricas (p.ej complejidad ciclomtica).
Identificacin de defectos que no se encuentran fcilmente mediante pruebas
dinmicas.
Detectar dependencias e inconsistencias en modelos de software (p.ej. Enlaces).
Mantenibilidad mejorada del cdigo y del diseo.
Defectos habitualmente detectados por las herramientas de anlisis esttico:
Referenciar una variable con un valor indefinido.
Interfaces inconsistentes entre mdulos.
Variables que no se utilizan o que se declaran de forma incorrecta.
Cdigo inaccesible (muerto).
33
Ausencia de lgica o lgica errnea (posibles bucles infinitos).
Construcciones demasiado complicadas.
Infracciones de los estndares de programacin.
Vulnerabilidades de seguridad.
Infracciones de sintaxis del cdigo y modelos de software.
Las herramientas de anlisis esttico generalmente las utilizan:
Los desarrolladores antes y durante las pruebas de componente e integracin, o
durante la comprobacin del cdigo.
Los diseadores durante la modelacin del software.
Las herramientas de anlisis esttico pueden producir un gran nmero de mensajes
de advertencia que deben ser gestionados para permitir el uso efectivo de la
herramienta.
34
4. Tcnicas de diseo de pruebas (K4)
Especificacin de casos de
Documento que especifica un conjunto de casos de prueba para un elemento de
prueba prueba.
Objetivo de prueba
Razn o propsito para el diseo y la ejecucin de una prueba.
Objeto de prueba
Componente o sistema a ser probado. Vase tambin elemento de prueba.
Elemento de prueba
Elemento individual a ser probado. Normalmente hay un objeto de prueba y
muchos elementos de prueba. Vase tambin objeto de prueba.
Condicin de prueba
Elemento o evento de un componente o sistema que debera ser verificado por
uno o ms casos de prueba, por ejemplo una funcin, transaccin, caracterstica,
atributo de calidad o elemento estructural.
Calendario de ejecucin de
Planificacin para la ejecucin de procedimientos de prueba. Los procedimientos
pruebas de prueba estn incluidos en el calendario de ejecucin de pruebas en su
contexto y en el orden en el cual deben ser ejecutados.
(Especificacin de)
Documento que especifica la secuencia de acciones para la ejecucin de una
procedimiento de pruebas prueba. Tambin conocido como script de prueba o script de prueba manual.
Guin(script) de prueba
Comnmente usado para referirse a una especificacin de procedimiento de
prueba, especialmente una automatizada.
Trazabilidad
Capacidad de identificar elementos relacionados en la documentacin y el
software, tales como requisitos con las pruebas asociadas. Vase tambin
trazabilidad horizontal y trazabilidad vertical.
Trazabilidad horizontal:
Trazabilidad vertical:
35
Puede variar: desde muy informal (con poca o ninguna documentacin) a muy formal
(que se trata en este captulo).
Nivel de formalidad depende de: madurez de pruebas y proceso de
desarrollo, limitaciones de tiempo, requisitos de seguridad/normativas,
personas implicadas.
Anlisis de pruebas:
Se analiza la documentacin bsica de las pruebas para determinar las
condiciones de prueba.
Condicin de prueba: Elemento o evento que debera ser verificado por uno o
ms casos de prueba (p.ej. Una funcin, transaccin, atributo de calidad o
elemento estructural).
Trazabilidad condiciones de prueba especificaciones/requisitos:
Permite obtener un anlisis de impacto efectivo cuando los requisitos
cambian.
Permite determinar la cobertura de requisitos para una serie de
pruebas.
El anlisis de pruebas permite seleccionar las tcnicas de diseo de pruebas a
utilizar en funcin (entre otros factores) de los riesgos identificados.
Diseo de pruebas:
Se crean los casos de prueba y los datos de prueba.
Caso de prueba.
Objeto: Cubrir uno o varios objetivos de prueba o poscondiciones de
prueba.
Consta de:
Valores de entrada.
Precondiciones de ejecucin.
Resultados esperados (valores de salida, modificaciones a los
datos, ...). Para no interpretar como correcto un resultado
plausible pero errneo.
Poscondiciones de ejecucin.
La Norma para la documentacin de pruebas de software (IEEE 829)
describe:
Contenido de las especificaciones de diseo de pruebas (incluyendo
condiciones de prueba).
Especificaciones de los casos de prueba.
Ejecucin de la prueba:
Se desarrollan, implementan, priorizan y organizan los casos de prueba para
especificar el procedimiento de prueba.
Procedimiento de prueba: Especifica la secuencia de acciones necesarias para
ejecutar una prueba (si se utiliza una herramienta de ejecucin de pruebas la
secuencia de acciones se especifica en un guin de prueba = procedimiento
de prueba automatizado).
Los distintos procedimientos de prueba (incluyendo automatizados)
conforman un calendario de ejecucin de pruebas que establece el orden en
el que deben ejecutarse los distintos procedimientos de prueba.
Este calendario de ejecucin de pruebas tendr en cuenta factores
como: pruebas de regresin, priorizacin y dependencias tcnicas y
lgicas.
36
IEEE 829 - Norma para la documentacin de prueba de software
Tcnica de diseo de
Procedimiento para obtener y/o seleccionar casos de prueba basados en el anlisis de la
pruebas de caja especificacin, tanto funcional como no funcional de un componente o sistema sin
negra referencia a su estructura interna.
Tcnica de diseo de
Procedimiento para derivar y/o seleccionar casos de prueba basados en la experiencia,
pruebas basadas en conocimiento e intuicin del probador.
la experiencia
37
Clasificacin (tradicional):
Tcnicas de pruebas de caja negra (basadas en la especificacin):
Basadas en un anlisis de la documentacin bsica de la prueba (no utilizan
ninguna informacin sobre la estructura interna del componente o sistema a
probar).
Incluye: Pruebas funcionales y no funcionales.
Tcnicas de pruebas de caja blanca (basadas en la estructura o estructurales):
Se basan en el anlisis de la estructura del componente o sistema.
Tcnicas de pruebas basadas en la experiencia.
Las pruebas de caja negra/blanca tambin pueden basarse en la experiencia de
los desarrolladores, probadores y usuarios para determinar el objeto de las
pruebas.
Algunas tcnicas pertenecen claramente a una nica categora, otras tienen elementos de
varias categoras.
Caractersticas comunes de las tcnicas de diseo de pruebas de caja negra:
El problema a solucionar, el software o sus componentes se especifican a partir de
modelos, tanto formales como informales.
Los casos de prueba pueden obtenerse sistemticamente a partir de estos modelos.
Caractersticas comunes de las tcnicas de diseo de pruebas de caja blanca:
Informacin sobre cmo debe utilizarse el software construido para obtener los casos
de prueba (por ejemplo, cdigo e informacin de diseo detallada).
Puede medirse el alcance de la cobertura del software para los casos de prueba
existentes, y puede obtenerse otros casos de prueba de manera sistemtica para
aumentar la cobertura.
Caractersticas comunes de las tcnicas de diseo de pruebas basadas en la
experiencia:
Se emplea el conocimiento y la experiencia de las personas para obtener los casos de
prueba.
El conocimiento de los probadores, desarrolladores, usuarios y dems partes
interesadas sobre el software, su uso y su entorno constituye una fuente de
informacin.
El conocimiento sobre los defectos probables y su distribucin constituye otra fuente
de informacin.
Los valores de entrada del software o del sistema se dividen en grupos que se espera
demuestren un comportamiento similar, de manera que puedan ser procesados de la
misma forma.
Las particiones de equivalencia (o clases) son aplicables a datos vlidos e invlidos.
38
Las particiones tambin pueden aplicarse a los valores de salida, valores internos,
valores relativos al tiempo (por ejemplo, antes o despus de un evento) o a los
parmetros de interfaz (por ejemplo, prueba de integracin entre componentes).
La particin de equivalencia es aplicable a todos los niveles de pruebas.
La particin de equivalencia puede utilizarse para lograr objetivos de cobertura de
entrada y salida.
Manera de proceder:
1. Identificar entradas, salidas, comportamientos, entornos, configuraciones... a probar.
2. Separar los valores posibles de cada uno de ellos en clases de equivalencia (que
mostrarn un comportamiento similar).
3. Creacin de casos de prueba de opciones vlidas:
Seleccionar una combinacin de clases de equivalencia vlidas (seleccionando un
valor de cada una) y definir el resultado esperado en esa situacin.
Repetir el proceso hasta que haya seleccionado al menos un valor representativo
para cada particin de equivalencia vlida.
4. Creacin de casos de prueba de opciones invlidas:
Seleccionar un valor de una particin invlida de equivalencia. Para el resto de
las particiones de equivalencia seleccione un valor vlido. Defina el resultado
esperado en esa situacin.
Repetir el proceso hasta que haya seleccionado todas las particiones invlidas.
Tcnica de diseo de pruebas de caja negra en la cual los casos de prueba son diseados basndose en los valores
lmite. Vase tambin valor lmite.
Valor lmite:
Valor de entrada o de salida que se encuentra en la frontera de una particin de equivalencia o a la mnima distancia
incremental a cualquier lado de la frontera, por ejemplo el valor mnimo o mximo de un rango.
39
Slo podemos utilizar el anlisis de valores lmite cuando los elementos de la
particin de equivalencia son ordenados. Tenemos que ser capaces de hablar de un
valor que es mayor que o menor que otro valor.
Los valores lmite y las particiones de equivalencia invlidas de los campos de
entrada deberan ser utilizados principalmente para probar la validacin de las
entradas.
Tcnica de diseo de casos de prueba de caja negra en la que los casos de prueba se disean para ejecutar las
combinaciones de entradas y/o estmulos (causas) representadas en una tabla de decisin. Vase tambin tabla de
decisin.
Tabla de decisin:
Tabla que muestra las combinaciones de entradas y/o estmulos (causas) con sus salidas y/o acciones asociadas
(efectos), que puede ser utilizada para disear casos de prueba.
Las tablas de decisin: reflejan los requisitos del sistema que contienen condiciones
lgicas.
Se analiza la especificacin y se identifican las condiciones y acciones del
sistema.
Por lo general, las condiciones y acciones de entrada se sentencian de manera
que deben ser verdaderas o falsas (booleano).
La tabla de decisin incluye las condiciones de activacin , a menudo
combinaciones de verdadero y falso para todas las condiciones de entrada, y las
acciones resultantes para cada combinacin de condiciones.
Cada columna de la tabla corresponde a una regla comercial que define una
combinacin nica de condiciones y que resulta en la ejecucin de aquellas
acciones asociadas a dicha regla.
Estndar de cobertura: Disponer al menos de una prueba por columna en
la tabla, lo que generalmente implica cubrir todas las combinaciones de
condiciones de activacin.
Mediante esta tcnica se prueba la lgica de negocio (sus reglas). Las
validaciones de entrada se deben haber probado antes.
Tcnica de diseo de pruebas de caja negra en la cual los casos de prueba son diseados para ejecutar transiciones
de estado vlidas e invlidas. Vase tambin pruebas de conmutador de multiplicidad N.
Forma de pruebas de transicin de estado en la cual los casos de prueba estn diseados para ejecutar todas las
secuencias vlidas de N+1 transiciones.
40
1. Primero identificar los estados del sistema (estado = situacin que persiste
hasta que algn evento ocurra para causar una transicin de estado).
2. Identifica el estado inicial y final.
3. Regla general: Los casos de prueba deberan comenzar con el sistema en el
estado inicial y deberan terminar en el estado final.
4. En cada estado un evento puede ocurrir que forzar una transicin de estado
(excepcin: en el estado final esto no ocurre). (Los eventos son
frecuentemente entrada de algn tipo de sistema o aplicacin).
5. Mientras la transicin de estado ocurre el sistema podra tomar alguna accin
(las acciones son usualmente salidas de algn tipo de sistema o aplicacin).
6. En algunos casos, dos o ms condiciones son aplicadas al evento, el cul
influye sobre cul transicin ocurre, y por tanto cul accin es tomada.
7. Despus de que la transicin de estado ha ocurrido, el sistema est en un
nuevo estado o se ha mantenido en el actual.
Puedes disearse pruebas para cubrir una secuencia tpica de estados, cubrir
todos los estados, ejercitar todas las transiciones, ejercitar secuencias especficas
de transiciones o probar transiciones invlidas.
Criterio mnimo de cobertura diagrama de transicin de estados: Visitar
cada estado y atravesar cada transicin.
Una tabla de transiciones de estado muestra la relacin entre los estados y las
entradas, y eventualmente puede poner de manifiesto posibles transiciones no
vlidas.
Cmo construirla:
1. Haga una lista de todos los estados en el diagrama.
2. Haga una lista de todos los pares evento/condicin en el diagrama.
3. Crear una tabla con cada combinacin posible del estado con el par
evento/condicin.
4. Para cada combinacin de estado-evento/condicin, si el diagrama especifica
la accin que debe ser tomada y el nuevo estado al que se debe ingresar,
ponga aquella informacin en la fila correspondiente en la tabla. Si no,
escriba indefinido en aquellos dos campos en esa fila.
Criterio de cobertura mnimo: Cada fila debera tener una prueba
asociada (siempre que sea posible).
Tcnica adecuada para: industria del software integrado (automatizacin tcnica en
general), modelar un objeto de negocio, probar los flujos pantalla-dilogo
(aplicaciones Web).
Tcnica de diseo de prueba de caja negra en la que los casos de prueba estn diseados para ejecutar escenarios
de usuario.
41
Cada caso de uso termina con poscondiciones, que son los resultados observables y
el estado final del sistema una vez finalizado el caso de uso.
Generalmente, un caso de uso tiene un escenario principal (o ms probable) y
caminos alternativos.
Los casos de uso describen los flujos de proceso mediante un sistema basado en su
uso probable real.
Los casos de prueba derivados de los casos de uso resultan muy tiles a la hora
de descubrir defectos en los flujos de proceso durante el uso real del sistema.
Los casos de uso son de gran utilidad para disear las pruebas de aceptacin con
la participacin del cliente/usuario.
Asimismo, ayudan a descubrir eventuales defectos de integracin , provocados
por la interaccin y la interferencia de distintos componentes, que las pruebas de
componente a nivel individual no pueden detectar.
El diseo de los casos de prueba a partir de casos de uso pueden combinarse con
otras tcnicas de pruebas basadas en la especificacin.
Cobertura de sentencia
Porcentaje de sentencias ejecutables que han sido practicadas por un juego de
pruebas.
Cobertura de rama
Porcentaje de ramas que han sido practicadas por un juego de pruebas. 100% de
cobertura de rama implica 100% de cobertura de decisin y 100% de cobertura de
sentencia.
Rama:
Bloque bsico que puede ser seleccionado para su ejecucin en base a una
estructura propia de un programa en la cual estn disponibles uno de dos o ms
caminos alternativos, por ejemplo case, jump, go to, ifthen-else.
Cobertura de decisin
Porcentaje de resultados de decisin que han sido practicados por un juego de
pruebas. El 100% de cobertura de decisin implica tanto un 100% de cobertura de
rama como un 100% de cobertura de sentencia.
Decisin:
Cobertura de condicin
Porcentaje de los posibles resultados de una condicin que han sido practicados
por un juego de pruebas. Una cobertura de condicin del 100% requiere que cada
condicin simple de toda sentencia de decisin haya sido probada como
Verdadera y Falsa.
Pruebas basadas en la
Pruebas basadas en un anlisis de la estructura interna del componente o sistema.
estructura (Pruebas de
caja blanca)
42
Antecedentes
Cobertura de decisin: Porcentaje de resultados de decisin que han sido practicados por un juego de pruebas. El
100% de cobertura de decisin implica tanto un 100% de cobertura de rama como un 100% de cobertura de
sentencia.
43
La cobertura de decisin es ms fuerte que la cobertura de sentencia. Un 100% de cobertura
de decisin garantiza un 100% de cobertura de sentencia, pero no al contrario (ya que hay
IF's que no tienen ELSE, o SWITCH sin opcin por defecto. En ese caso hay un valor de la
decisin que implica no ejecutar ninguna sentencia y que debe ser probado).
Cobertura de
Porcentaje de combinaciones de todos los resultados de condiciones simples dentro de una
condicin mltiple sentencia, que han sido practicadas por un juego de pruebas. El 100% de cobertura de
(o de condicin mltiple implica el 100% de cobertura de condicin.
multicondicin)
Cobertura de
Variante leve de la cobertura de condicin mltiple. Nos fijamos en el porcentaje de las
condicin y combinaciones de las condiciones que pueden influenciar la decisin que ha sido probada.
decisin
modificada Por ejemplo: (edad >= 0) && (edad < 18) Si el valor de la edad es menor que 0 no hay
necesidad de considerar el valor de la segunda condicin.
El 100% de la cobertura de condicin mltiple implica el 100% de la cobertura de condicin
y decisin modificada.
Ataque (falta)
Las pruebas basadas en la experiencia son aquellas en las que las pruebas se derivan de la
habilidad e intuicin del probador y de su experiencia con aplicaciones y tecnologas
similares.
Si se utilizan para aumentar las tcnicas sistemticas, estas tcnicas pueden ser tiles a la
hora de identificar pruebas especiales que no pueden capturarse fcilmente mediante
tcnicas formales, especialmente si se aplican despus de adoptar enfoques ms formales.
No obstante, esta tcnica puede tener distintos grados de efectividad, en funcin de la
experiencia del probador.
Prediccin de error:
Tcnica basada en la experiencia muy usada.
Los probadores anticipan los defectos en base a su experiencia.
Un enfoque estructurado de la tcnica de prediccin de error consiste en enumerar
una lista de posibles defectos y disear pruebas para atacar dichos defectos.
Este enfoque sistemtico se denomina ataque de faltas.
44
Esta lista de defectos y fallos puede elaborarse en base a la experiencia, a
los datos disponibles sobre defectos y fallos y a partir del conocimiento
comn sobre por qu falla el software.
Pruebas exploratorias: Tcnica informal de diseo de pruebas donde quien prueba controla
activamente el diseo de las pruebas a medida que las pruebas son realizadas y utiliza la
informacin obtenida durante las pruebas para disear unas nuevas y mejores.
Las pruebas exploratorias coinciden con las fases de diseo de pruebas, ejecucin de
pruebas, registro de pruebas y aprendizaje, en base a un contrato (plan) de pruebas
que contempla los objetivos de las pruebas, y se llevan a cabo dentro de los periodos
de tiempo establecidos.
Se trata de un enfoque especialmente til en los casos en los que las especificaciones
son escasas o inadecuadas y existe una importante presin temporal, o para
aumentar o complementar otras pruebas ms formales.
Asimismo, puede servir como comprobacin del proceso de pruebas, para ayudar a
garantizar que los defectos ms graves han sido efectivamente detectados.
La seleccin de la tcnica de pruebas a utilizar depende de una serie de factores entre los
que se incluyen:
El tipo de sistema.
Los estndares normativos.
Los requisitos contractuales o de cliente.
El nivel/tipo de riesgo.
El objetivo de prueba.
La documentacin disponible.
El conocimiento de los probadores.
El tiempo y presupuesto.
El ciclo de vida de desarrollo.
Los modelos de caso de uso.
La experiencia previa en los tipos de defectos detectados.
Algunas tcnicas resultan ms aplicables a ciertas situaciones y niveles de prueba, mientras
que otras son aplicables a todos los niveles de pruebas.
Para crear casos de prueba, los probadores generalmente aplican una combinacin de
tcnicas de pruebas, entre las que se incluyen tcnicas guiadas por procesos, reglas y datos,
con vistas a garantizar la correcta cobertura del objeto que se est probando.
45
5 Gestin de pruebas (K3)
Probador
Profesional experto que esta involucrado en las pruebas de un componente o sistema.
Lder de pruebas
Vase jefe de pruebas.
Jefe de pruebas
Persona responsable de la gestin de proyecto de las actividades y recursos de
pruebas, y de la evaluacin de un objeto de prueba. Individuo que dirige, controla,
administra, planifica y regula la evaluacin de un objeto de prueba.
46
Los desarrolladores pueden llegar a perder el sentido de responsabilidad frente a la
calidad.
Los probadores pueden verse como cuellos de botella o ser culpados de retrasos en
el lanzamiento.
Las tareas de prueba pueden realizarlas personas con una funcin de pruebas
especfica, o por otra persona con otro cargo como jefe de proyecto, jefe de calidad,
desarrollador, experto de negocio y dominio, operaciones de infraestructura o TI.
47
Preparar y obtener datos de prueba.
Implementar pruebas en todos los niveles de prueba, ejecutar y registrar las
pruebas, evaluar los resultados y documentar las desviaciones de los resultados
esperados.
Utilizar herramientas de administracin o gestin y herramientas de seguimiento de
prueba segn proceda.
Automatizar pruebas (puede contar con el soporte de un desarrollador o un experto
en automatizacin de pruebas).
Medir el rendimiento de los componentes y sistemas (si procede).
Revisar las pruebas desarrolladas por terceros.
Las personas dedicadas al anlisis de pruebas, al diseo de pruebas, a tipos de pruebas
especficas o a la automatizacin de pruebas pueden ser especialistas en estas tareas.
En funcin del nivel de prueba y de los riesgos asociados al producto y al proyecto , hay
distintas personas que pueden asumir el papel de probador manteniendo cierto grado de
independencia.
En general, los probadores a nivel de componente e integracin son los desarrolladores, los
probadores a nivel de pruebas de aceptacin son los expertos de negocio y usuarios, y los
probadores de pruebas de aceptacin operativas son los operadores.
Estrategia de pruebas
Descripcin de alto nivel de los niveles de prueba a ser llevados a cabo y las pruebas
dentro de estos niveles para una organizacin o programa (en uno o ms proyectos).
Pruebas exploratorias
Tcnica informal de diseo de pruebas donde quien prueba controla activamente el
diseo de las pruebas a medida que las pruebas son realizadas y utiliza la informacin
obtenida durante las pruebas para disear unas nuevas y mejores.
48
9. Tareas/Hitos clave de las pruebas.
10. Cronograma.
11. Necesidades del entorno.
12. Responsabilidades.
13. Dotacin de personal y necesidades de capacitacin.
14. Riesgos (de calidad de producto y de proyecto).
15. Aprobaciones.
49
5.2.3 Criterios de entrada (K2)
Los criterios de entrada establecen cundo iniciar las pruebas (por ejemplo, al inicio de un
nivel de prueba o cuando una serie de pruebas est lista para su ejecucin).
En general, los criterios de entrada pueden cubrir lo siguiente:
Disponibilidad y disposicin del entorno de pruebas.
Disposicin de las herramientas de prueba en el entorno de pruebas.
Disponibilidad de cdigo testeable.
Disponibilidad de datos de prueba.
50
5.2.6 Estrategia de pruebas, enfoque de pruebas (K2)
51
5.3 Seguimiento y control del progreso de las pruebas
(K2)
Densidad de defectos
Nmero de defectos identificados en un componente o sistema dividido por el
tamao del mismo (expresado en trminos de medidas estndar, por ejemplo
lneas de cdigo, nmero de clases o puntos de funcin).
Frecuencia de fallos
Cociente del nmero de fallos de una categora dada por unidad de medida
especifica, por ejemplo fallos por unidad de tiempo, fallos por unidad de
transacciones, fallos por nmero de ejecuciones de programa.
Control de pruebas
Tarea de la gestin de pruebas que se encarga de desarrollar y aplicar un
conjunto de acciones correctivas para poner el proyecto de pruebas en la
direccin correcta cuando el seguimiento (monitorizacin) muestra una
desviacin con respecto a lo que se haba planificado. Vase tambin gestin
de pruebas.
Monitorizacin de pruebas
Tarea de gestin de pruebas que se ocupa de las actividades relacionadas
con la comprobacin peridica del estado de un proyecto de pruebas. Se
preparan informes que comparan el estado real con lo que fue planificado.
Seguimiento de pruebas
(Vase control y monitorizacin de pruebas)
El objetivo del seguimiento de las pruebas es facilitar feedback y visibilidad sobre las
actividades de pruebas.
La informacin a controlar puede recopilarse de forma manual o automtica y puede
utilizarse para medir los criterios de salida, tales como la cobertura.
Las mtricas tambin pueden utilizarse para evaluar el progreso contra el programa y el
presupuesto previstos.
Entre las mtricas de prueba ms comunes se incluyen:
Porcentaje de trabajo realizado en la preparacin de los casos de prueba (o
porcentaje de casos de prueba planificados preparados).
Porcentaje de trabajo realizado en la preparacin del entorno de pruebas.
Cmputo y porcentajes de ejecucin de los casos de prueba (por ejemplo, nmero de
casos de prueba ejecutados/no ejecutados, y casos de prueba superados/fallidos).
Informacin sobre defectos (por ejemplo, densidad de los defectos, defectos
detectados y corregidos, frecuencia de fallos y resultados de la repeticin de
pruebas).
Cobertura de pruebas de los requisitos, riesgos o cdigo.
Confianza subjetiva de los probadores en el producto.
Fechas de hitos de las pruebas.
Coste de las pruebas, incluyendo el coste comparado con el beneficio de detectar el
siguiente defecto o de ejecutar la siguiente prueba.
52
5.3.2 Informes de pruebas (K2)
Los informes de pruebas tienen por objeto describir los resultados de un nivel dado o fase de
pruebas, teniendo en cuenta:
Qu ha pasado durante un periodo de prueba (eventos clave), o la medicin del
cumplimiento de los criterios de salida para una reunin propuesta acerca de la
salida de las pruebas.
Anlisis de informacin y mtricas para respaldar las recomendaciones y decisiones
sobre acciones futuras, tales como una evaluacin de los defectos restantes, el
beneficio econmico de las pruebas continuadas, los riesgos pendientes y el nivel
subjetivo de confianza en el software probado.
El diseo de un informe resumen de pruebas se aborda en la Norma para la documentacin
de pruebas de software IEEE 829.
Secciones informe de resumen de pruebas segn IEEE 829
1. Identificador del informe.
2. Resumen (lo que fue probado, ...).
3. Varianzas/Desviaciones (del plan, de los casos...).
4. Evaluacin comprensiva.
5. Resumen de resultados (mtricas finales, cmputos,...).
6. Evaluacin (de cada tem de prueba con relacin a los criterios de
paso/falla).
7. Resumen de las actividades (utilizacin de los recursos, eficiencia, ...).
8. Aprobacin.
Las mtricas deben recopilarse durante y al final de cada nivel de prueba con vistas a
evaluar:
La idoneidad de los objetivos de la prueba para dicho nivel de prueba.
La idoneidad de los enfoques de prueba adoptados.
La efectividad de las pruebas por lo que respecta a los objetivos.
53
Cambiar el calendario de pruebas por motivos de disponibilidad o no disponibilidad
de un entorno de pruebas.
Establecer un criterio de entrada que requiera la repeticin de las pruebas de las
correcciones (pruebas de confirmacin) por parte de un desarrollador antes de
aceptarlas en una construccin.
54
5.5 Riesgos y pruebas
Riesgo
Factor que puede resultar en futuras consecuencias negativas, expresada
normalmente como impacto y probabilidad.
Riesgo de producto
Riesgo directamente relacionado con el objeto de prueba.
Riesgo de proyecto
Riesgo relativo a la gestin y control de un proyecto ( de pruebas), por ejemplo,
falta de personal, plazos estrictos, requisitos cambiantes, etc..
Pruebas basadas en
Enfoque de pruebas para reducir el nivel de riesgos de producto e informar a los
riesgos afectados de su estado, comenzando desde las fases iniciales de un proyecto.
Implica la identificacin de riesgos de producto y su uso para dirigir el proceso de
pruebas.
Antecedentes
Riesgo = Oportunidad de un evento, peligro, amenaza o situacin que sucede y tiene como
resultados consecuencias no deseadas o un problema potencial.
Nivel de riesgo = Probabilidad (de que ocurra un evento adverso) x Impacto (dao resultante
de dicho evento)
55
Aspectos contractuales.
A la hora de analizar, gestionar y mitigar estos riesgos, el jefe de pruebas debe seguir
principios de gestin de proyectos bien establecidos.
La Norma de Documentacin de pruebas de software IEEE 829 esboza los planes
de prueba y exige que se indiquen los riesgos y contingencias.
56
5.6 Gestin de incidencias (K3)
Incidencia
Cualquier ocurrencia de un suceso que requiere investigacin.
Registro de / Registrar
Accin de consignar los detalles de cualquier incidencia ocurrida, por ejemplo
incidencias durante las pruebas.
Gestin de incidencias
Proceso de reconocimiento, investigacin, toma de medidas y eliminacin de
incidencias. Comprende registrar incidencias, clasificarlas e identificar el impacto.
Informe de incidencias
Documento que informa de la ocurrencia de cualquier suceso, por ejemplo durante
las pruebas, que requiere investigacin.
Dado que uno de los objetivos de las pruebas es la deteccin de defectos, las discrepancias
entre los resultados reales y los resultados esperados deben registrarse como incidencias.
Todas las incidencias deben ser investigadas, ya que algunas pueden constituir defectos.
Las incidencias y los defectos se rastrean desde su identificacin y clasificacin hasta la
correccin y confirmacin de su solucin.
Con vistas a gestionar todas las incidencias hasta su complecin, la organizacin debe
establecer un proceso de gestin de incidencias y normas para su clasificacin.
Las incidencias pueden surgir durante el desarrollo, la revisin, las pruebas o el uso de un
producto de software.
Asimismo, pueden surgir por problemas en el cdigo o en el sistema de
funcionamiento, o en cualquier tipo de documentacin (requisitos, documentos de
desarrollo, documentos de prueba e informacin de usuario -como guas de ayuda o
instalacin-).
Objetivos de los informes de incidencias:
Facilitar feedback sobre el problema a los desarrolladores y dems partes implicadas
permitiendo su identificacin, aislamiento y correccin.
Proporcionar a los lderes de prueba un medio de seguimiento de la calidad del
sistema probado y del progreso de las pruebas.
Aportar ideas para la mejora del proceso de pruebas.
El informe de incidencias puede incluir los siguientes detalles:
a) Fecha de expedicin (creacin), organizacin emisora y autor
(creador/informante).
b) Resultados esperados y resultados reales.
c) Identificacin del elemento de prueba (elemento de configuracin) y entorno.
d) Proceso del ciclo de vida del software o del sistema en el que se ha observado la
incidencia.
e) Descripcin de la incidencia para permitir su reproduccin y resolucin,
incluyendo registros, volcados de bases de datos o pantallazos.
f) Alcance o grado de impacto en los intereses de las partes interesadas.
g) Gravedad del impacto en el sistema.
h) Urgencia/prioridad de su correccin.
i) Estado de la incidencia (por ejemplo, abierta, diferida, duplicada, esperando
correccin, corregida esperando la repeticin de las pruebas, cerrada).
j) Conclusiones, recomendaciones y autorizaciones.
57
k) Aspectos globales, como otras reas que pueden verse afectadas por un cambio
derivado de la incidencia.
l) Historial del cambio, como la secuencia de acciones adoptadas por los miembros
del equipo de proyecto por lo que respecta a la incidencia para aislarla, repararla y
confirmarla como corregida.
m) Referencias, incluyendo la identidad de la especificacin de caso de prueba que
puso de manifiesto el problema.
La estructura de los informes de incidencias se aborda en la Norma para la documentacin
de pruebas de software IEEE 829.
Secciones de un informe de incidencias segn IEEE 829:
1. Identificador del informe.
2. Resumen (describe especialmente el impacto acerca de los interesados de negocio).
3. Descripcin de la incidencia.
Entradas (posibles anomalas observadas en las mismas).
Resultados esperados vs Resultados reales.
Fecha/Hora cuando se observaron las anomalas.
Entorno de pruebas en el cul las anomalas fueron observadas.
Identificador del caso de prueba o procedimiento que detect la anomala.
La reproducibilidad del fallo.
El informador de la incidencia.
58
6 Herramientas de soporte de pruebas (K2)
Falta comparar trminos del tema 6 con glosario 2011.
Herramienta de gestin de
la configuracin
Herramienta de cobertura
Herramienta de depuracin
Herramienta de anlisis
dinmico
Herramienta de gestin de
incidencias
Herramienta de pruebas de
carga
Herramienta de modelado
Herramienta de
monitorizacin
Herramienta de pruebas de
rendimiento
Efecto sonda
Efecto producido por el instrumento de medida sobre el sistema o componente
que est siendo medido, por ejemplo mediante una herramienta de pruebas de
rendimiento o un monitor. Por ejemplo el rendimiento puede ser ligeramente peor
cuando las herramientas de prueba de rendimiento estn siendo usadas.
Herramienta de gestin de
requisitos
Herramienta de revisin
Herramienta de seguridad
Herramienta de anlisis
esttico
Herramienta de pruebas de
estrs
Comparador de pruebas
Herramienta de pruebas para realizar comparaciones automticas de pruebas
entre los resultados obtenidos y los resultados esperados.
Comparacin de pruebas:
Herramienta de
preparacin de datos de
59
prueba
Herramienta de diseo de
pruebas
Arns de prueba
Herramienta de ejecucin
de pruebas
Herramienta de gestin de
pruebas
Herramienta de marco de
trabajo de pruebas
unitarias
60
Proceso general de ejecucin de las pruebas.
61
6.1.4 Herramientas de soporte para las pruebas estticas (K1)
Las herramientas de prueba esttica proporcionan una manera efectiva de localizar ms
defectos en una etapa ms temprana del proceso de desarrollo.
Herramientas de revisin.
tiles en los procesos de revisin, listas de comprobacin y directrices de
revisin.
Se utilizan para almacenar y comunicar comentarios de revisin, informes sobre
defectos y esfuerzos.
Pueden servir de ayuda para las revisiones en lnea de equipos grandes o
geogrficamente dispersos.
Herramientas de anlisis esttico (D).
Ayudan a los desarrolladores y probadores a localizar defectos antes de realizar
pruebas dinmicas proporcionndoles soporte para aplicar las normas de
codificacin (incluyendo codificacin segura), el anlisis de las estructuras y las
dependencias.
Pueden ser tiles para planificar o analizar los riesgos facilitando mtricas para el
cdigo (por ejemplo, complejidad ciclomtica).
Herramientas de modelado (D).
Se utilizan para validar modelos de software (tales como modelos de datos fsicos
-Physical Data Model / PDM- de una base de datos relacional) enumerando
inconsistencias y localizando defectos.
A menudo sirven para generar algunos casos de prueba basados en un modelo.
62
Las herramientas de ejecucin de pruebas normalmente incluyen comparadores
dinmicos, pero la comparacin posterior a la ejecucin a menudo debe hacerse
con una herramienta de comparacin separada.
Los comparadores de pruebas pueden utilizar orculos de pruebas,
especialmente si estn automatizados.
Herramientas de medicin de la cobertura (D).
A travs de medios intrusivos o no intrusivos, miden el porcentaje de tipos
especficos de estructuras de cdigo que han sido practicados (por ejemplo,
sentencias, ramas o decisiones y llamadas a mdulos o funciones) por parte de
un conjunto de pruebas.
Herramientas de pruebas de seguridad.
Sirven para evaluar las caractersticas de seguridad del software (como la
capacidad de proteger la confidencialidad, integridad, autenticacin, autorizacin,
disponibilidad o no repudio de los datos.
Se centran principalmente en una tecnologa, plataforma y alcance especficos.
63
6.2 Uso efectivo de las herramientas: Ventajas
potenciales y riesgos (K2)
Lenguaje de creacin
Lenguaje de programacin en el cual se escriben scripts de prueba ejecutables para
de scripts ser utilizados por una herramienta de ejecucin de pruebas (por ejemplo una
herramienta de captura/reproduccin).
Ventajas potenciales
Reduccin del trabajo repetitivo (por ejemplo, en la ejecucin de pruebas de
regresin, la reintroduccin de los mismos datos de prueba y la comprobacin contra
estndares de codificacin).
Mayor consistencia y repetibilidad (por ejemplo, las pruebas ejecutadas por una
herramienta en el mismo orden y con la misma frecuencia, y pruebas derivadas de
los requisitos).
Evaluacin de los objetivos (por ejemplo, medidas estticas, cobertura).
Facilidad de acceso a la informacin sobre las pruebas (por ejemplo, estadsticas y
grficos sobre el avance de las pruebas, la frecuencia de incidencias y el
rendimiento).
Riesgos
Expectativas poco realistas de la herramienta (incluyendo funcionalidad y facilidad de
uso).
Subestimacin de la cantidad de tiempo, coste y esfuerzo necesario para la
introduccin inicial de una herramienta (incluyendo formacin y experiencia externa).
Subestimacin del tiempo y el esfuerzo necesarios para conseguir ventajas
significativas y constantes de la herramienta (incluyendo la necesidad de cambios en
el proceso de pruebas y la mejora continua de la forma en la que se utiliza la
herramienta).
Subestimacin del esfuerzo necesario para mantener los activos de prueba
generados por la herramienta.
Exceso de confianza en la herramienta (sustitucin para diseo de pruebas o uso de
pruebas automatizadas cuando sera mejor llevar a cabo pruebas manuales).
No consideracin del control de versin de los activos de prueba en la herramienta.
No consideracin de problemas de relaciones e interoperabilidad entre herramientas
crticas, tales como las herramientas de gestin de requisitos, herramientas de
64
control de versiones, herramientas de gestin de incidencias, herramientas de
seguimiento de defectos y herramientas procedentes de varios fabricantes.
Riesgo de que el fabricante de la herramienta cierre, retire la herramienta o venda la
herramienta a otro proveedor.
Mala respuesta del fabricante para soporte, actualizaciones y correccin de defectos.
Riesgo de suspensin del proyecto de cdigo abierto.
Imprevistos, tales como la incapacidad de soportar una nueva plataforma.
65
Los mensajes de advertencia no impiden que el cdigo se traduzca en un programa
ejecutable, pero idealmente deberan tratarse de manera que faciliten el mantenimiento del
cdigo en el futuro.
La implementacin gradual de la herramienta de anlisis con filtros iniciales para excluir
ciertos mensajes constituye un enfoque efectivo.
66
Aplicar una forma de recopilar informacin sobre el uso de la herramienta a partir de
su uso real.
Hacer un seguimiento del uso y de los beneficios de la herramienta.
Proporcionar soporte al equipo de pruebas para una herramienta dada.
Recopilar las lecciones aprendidas de todos los equipos.
67
ANEXO IEEE 829 NORMA PARA LA DOCUMENTACIN
DE PRUEBAS SOFTWARE
68
9. Tareas/Hitos clave de las pruebas.
10. Cronograma.
11. Necesidades del entorno.
12. Responsabilidades.
13. Dotacin de personal y necesidades de capacitacin.
14. Riesgos (de calidad de producto y de proyecto).
15. Aprobaciones.
Informe de incidencias
69
c) Identificacin del elemento de prueba (elemento de configuracin) y entorno.
d) Proceso del ciclo de vida del software o del sistema en el que se ha observado la
incidencia.
e) Descripcin de la incidencia para permitir su reproduccin y resolucin,
incluyendo registros, volcados de bases de datos o pantallazos.
f) Alcance o grado de impacto en los intereses de las partes interesadas.
g) Gravedad del impacto en el sistema.
h) Urgencia/prioridad de su correccin.
i) Estado de la incidencia (por ejemplo, abierta, diferida, duplicada, esperando
correccin, corregida esperando la repeticin de las pruebas, cerrada).
j) Conclusiones, recomendaciones y autorizaciones.
k) Aspectos globales, como otras reas que pueden verse afectadas por un cambio
derivado de la incidencia.
l) Historial del cambio, como la secuencia de acciones adoptadas por los miembros
del equipo de proyecto por lo que respecta a la incidencia para aislarla, repararla y
confirmarla como corregida.
m) Referencias, incluyendo la identidad de la especificacin de caso de prueba que
puso de manifiesto el problema.
70