Академический Документы
Профессиональный Документы
Культура Документы
Software = Factor de xito Pruebas/revisin/software= calidad Error Defecto causado por Fallo Pruebas
Deteccin de error < deteccin de fallo ($$$) Software/calidad/calidad software Calidad Software atributos funcionales no funcionales
Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad constructivas analticas revisin de funcionalidad revisin de cdigo prevenir defectos detectar defectos
actividades
Atributos funcionales
Adecuacin Exactitud Interoperabilidad Seguridad Cumplimiento de funcionalidad Conocimiento de defectos Confirmacin de funcionalidad Generar informacin Ganar confianza
Pruebas
basadas
Caso de prueba
Base de prueba: Documentos que definen los requisitos / Fundamento para el desarrollo de casos de pruebas
Proceso de pruebas
Planificacin y control
Comprobacin de resultados
Generacin de informes
Actividades de cierre
Depuracin
Prueba Deteccin Identificacin de defectos Correccin de defectos Repeticin de Pruebas
1. 2. 3. 4. 5. 6. 7.
El proceso demuestra la presencia de defectos, no la ausencia de ellos No hay pruebas exhaustivas Pruebas tempranas (deteccin de defectos) Agrupamiento de defectos (hongos/cucarachas Paradoja del pesticida (revisar/modificar pruebas) Las pruebas dependen del concepto (entorno de prueba Vs. Entorno de produccin) La falacia de la ausencia de errores
Desarrollador
Psicologa del proceso de prueba Tester
Disear
probar
Cdigo tico
Pblico Cliente / empleador Producto Juicio Gestin Profesin Compaeros de profesin Individualmente
Modelo W
Definicin de requisitos
Pruebas de aceptacin
Pruebas de sistema
Pruebas de integracin
Especificacin de componentes
Pruebas de componente
Programacin
Comprobacin de la conformidad con los requisitos Comprobacin de la idoneidad para el uso esperado
Modelo V
Requisitos funcionales
Pruebas de aceptacin
Pruebas de sistema
Pruebas de integracin
Especificacin de componentes
Pruebas de componente
Programacin
Desarrollo de una representacin del sistema seguida de modificaciones sucesivas hasta que sea finalizado La interfaz de usuario se implementa utilizando una funcionalidad ya construida simulando otra posteriormente desarrollada Modelo orientado a objetos. Aporta el lenguaje de modelado UML y soporte al proceso unificado Desarrollo y pruebas tienen lugar sin una especificacin de requisitos
Factores de relevancia
Pruebas de regresin
Automatizacin de pruebas
Preparacin de versiones de componentes para su prueba Ejecucin automtica de pruebas Correccin de defectos Repeticin de pruebas hasta no encontrar defectos
Cada actividad de desarrollo debe ser probada Cada nivel de prueba debe ser probado de forma especifica El proceso de pruebas comienza antes de la ejecucin de las mismas
Pruebas de aceptacin Tambin llamadas pruebas unitarias Se hace referencia a un componente como Prueba de mdulo (module test en C) Pruebas de clase (class test en Java C++) Pruebas de unidad (unit test Pascal) Tambin denominadas pruebas de desarrollador Alcance componentes individuales probados de forma independiente Defectos encontrados: en procesamiento de datos, valores lmite, funciones ausentes Puede probar atributos no funcionales Requiere controladores (drivers) que simulan datos de entrada, registran datos de salida y aportan un rea de pruebas Utiliza un stub Se deben tener conocimientos de programacin
Pruebas de sistema
Pruebas de integracin
Pruebas de componente
Programacin
Pruebas de aceptacin Comprueban funciones externas Comprueba interaccin entre elementos de software, entre distintos sistemas o entre hardware y Software Pueden ser ejecutados por desarrolladores y probadores Comprueban las interfaces con el entorno del sistema Son necesarios controladores de prueba que pueden ser reutilizados Herramientas de control Los stubs reemplazan componentes ausentes Al reemplazar drivers y stubs por componentes reales se pueden perder datos, interpretacin errnea de datos, datos transferidos en momentos incorrectos Usa enfoque incremental y estrategias ascendente y descendente Integracin ad-hoc realizadas inmediatamente terminada su construccin
Pruebas de sistema
Pruebas de integracin
Pruebas de componente
Programacin
Pruebas de aceptacin
Pruebas de sistema
Pruebas de integracin
Pruebas de componente
Comportamiento del sistema completo Se refiere a requisitos funcionales y no funcionales El entorno de pruebas debe coincidir con el real No se realizan pruebas en el entorno real Las caractersticas a ser probadas incluyen: adecuacin, exactitud, interoperabilidad, seguridad y cumplimiento de funcionalidad Requisitos funcionales: pruebas basadas en procesos de negocio, en casos de uso, en requisitos Requisitos no funcionales: no son establecidos de forma explcita, difciles de cuantificar
Programacin
Pruebas de aceptacin
Pruebas de sistema
Pruebas de integracin
Pruebas de componente
Deben tener en cuenta normas y reglamentos gubernamentales, legales, industriales y de otro tipo Se verifica la adecuacin del uso al sistema por parte de usuarios de negocio Las pruebas se realizan utilizando el entorno del cliente Requiere que el Software sea adecuado para produccin: integracin del Software y las TI del cliente, gestin de usuarios, compatibilidad con otros sistemas, tareas de mantenimiento, de carga y migracin de datos, comprobaciones peridicas de vulnerabilidad de la seguridad Pruebas alpha y beta: es necesaria una versin preliminar y estable del software, pruebas realizadas en COTS, aporta feedback
Programacin
Beta
Se aplican distintos tipos de pruebas durante las distintos niveles anteriores Tipos de pruebas Funcionales Objetivo Probar funcin (mtodos de caja negra) mbito de la aplicacin Todos los niveles de prueba Ejecucin Utilizan datos derivados de los casos de prueba Pruebas de seguridad Aborda amenazas externas Ataques pueden daar programas o datos La conformidad con los requisitos no funcionales se miden utilizando requisitos funcionales seleccionados
No funcionales
Caractersticas del producto SW ( las caractersticas de calidad a menudo son vagas y dificultan las pruebas)
Todos los niveles de pruebas Pruebas no funcionales tpicas: De carga De rendimiento De volumen De estrs De las caractersticas de seguridad De fiabilidad De robustez De usabilidad Todos los niveles de prueba conjunta a las pruebas de componente y de integracin Repetir una prueba (prueba de regresin) Anlisis de impacto Las pruebas de confirmacin/regresin pueden ser realizadas en todos los niveles Pruebas tpicas despus de un cambio: Repeticin de prueba Pruebas de regresin
De la estructura SW
Se probar la estructura interna de un objeto de prueba Todos los elementos deben estar cubiertos por casos de prueba La misma forma en la cual se han ejecutado en iteraciones previas Si durante fases tempranas es evidente ciertas pruebas de regresin se debe considerar la automatizacin
Pruebas posteriores a la aceptacin del producto Alcance: Anlisis de impacto Documentacin completa
Mantenimiento: Correccin de errores Distribuciones de SW planificados: adaptaciones como resultado de una modificacin / cambio Pruebas de migracin de datos Verificacin del archivo de datos y programas Pruebas en paralelo de sistemas nuevo y su antecedente
Tcnicas estticas
Revisiones Ventajas (-) costes (+) potencial de ahorro Defectos detectados y corregidos de forma temprana Documentos de alta calidad mejoran desarrollo Mejora el know-How Desventajas Tensin en caso de enfrentamientos con el producto Los expertos necesitan una buena preparacin con el producto Inversin considerable del tiempo Moderador y participantes influyen en la calidad del producto
Revisin Formal
Planificacin
Comprobacin de los criterios de entrada Preparacin individual Identificacin Inspeccin de objetos, identificar los que requieren aclaracin Defectos potenciales Preguntas Comentarios Presentacin de resultados Discusin con resultados Defectos Identificacin Presentacin de recomendaciones Toma de decisiones
Reunin de revisin
Roles y responsabilidades Jefe de proyecto (manager) Moderador (Moderator) Autor (Author) Inicia revisin Asigna tiempos Determina si se han alcanzado objetivos Dirige la reunin / concluye resultados Planificacin / ejecucin de la revisin y seguimiento En l recae el xito de la revisin Redactor o responsable del objeto de revisin Expone trabajo a la crtica Hace los cambios recomendados
Revisor (Reviewer)
Escriba (Scribe) Lista de comprobacin (checklist)
Inspeccin
Dirigida por moderador Celebrado como un examen Funciones definidas Recopilacin de mtricas Basados en normas y listas de comprobacin Criterios de entrada y salida para la aprobacin del producto Preparacin previa de la reunin Lista de conclusiones Seguimiento formal Lector opcional Identificar defectos Liderado por el autor Puede adoptar forma de escenarios, simulacros o participacin del grupo de pares Sesiones abiertas Vara desde formal hasta informal Objetivos: aprender, entender y encontrar defectos Progreso documentado y definido Preparacin previa Dirigida por un moderador Elaboracin de un reporte Vara desde formal hasta informal Objetivos: debatir, tomar decisiones, encontrar defectos, evaluar alternativas, etc Ausencia de proceso formal Puede adoptar diferentes formas dependiendo de los diseos y el cdigo Los resultados pueden estar o no documentados La utilidad vara en funcin de los revisores Forma barata de obtener beneficios
Guiada
Tcnica
Informal
Factores de xito
Orientadas al logro de objetivos Hablar al autor de una forma positiva Uso sistemtico de tcnicas y plantillas Uso del presupuesto apropiado Utilizar retroalimentacin para mejora continua Crear ambiente de confianza Involucrar a la gente adecuada
Reglas y estndares Diseo de un programa (flujo de control) Uso de datos (Flujo de datos) Complejidad de la estructura de un programa Mtrica
Prevencin
Encontrar defectos Advertir sobre aspectos sospechosos del cdigo Detectar discrepancias en el diseo Comprobar mantenibilidad del cdigo o del diseo
Herramientas
Compilador detectar errores sintcticos / crea datos de referencia / comprueba consistencia entre variables Analizador convenciones y estndares / mtricas de complejidad / acoplamiento de objetos
Mtodo La estructura del cdigo se muestra como un diagrama de control de flujo Grafo dirigido: Los nodos representan sentencias o secuencias de sentencias Las aristas representan la transferencia del flujo de control (decisiones y bucles) Construccin mediante herramientas Beneficios: Deteccin fiable de anomalas en flujo de datos Se puede detectar fcilmente la localizacin de defectos Buen complemento para otros mtodos de prueba
Resultados Visin del cdigo del programa Las anomalas pueden detectarse fcilmente: Bucles abandonados Ramas muertas Retornos mltiples Grafo de flujo de control = diagrama de flujo simplificado
Las mtricas
Tamao del programa Estructura de control del programa Estructuras de control de datos Mtrica que mide la complejidad esttica de un programa basado en su grafo de flujo de control Mide caminos linealmente independientes (testabilidad y mantenibilidad) V(G) = e n + 2p e= # aristas n= nodos p= partes del programa independientes inspeccionadas
Controlado Creados formal o informalmente Trazabilidad ayuda a determinar la cobertura de requisitos Objeto de prueba: elemento a ser revisado Condicin de prueba: elemento o evento Criterios de prueba: el objeto debe cubrirlos con el fin de superar la prueba Calendario de ejecucin de prueba: los procedimientos estn incluidos, en sus contextos y en el orden que deben ser ejecutados
Precondiciones: situaciones previas antes de llevar a cabo la ejecucin Valores de entrada: descripcin de los datos de entrada de un objeto de prueba Resultados esperados: datos de salida que se esperan Poscondiciones: descripcin de un objeto tras ejecucin Dependencias: orden de ejecucin de los casos de prueba Identificador distinguible: cdigo con el fin de identificar Requisitos: caractersticas del objeto de prueba que se evaluarn Juegos de prueba especificacin de procedimiento de pruebas / scripts / herramientas / plan de prueba (secuencia quien / cuando) Escenarios de pruebas Aseguramiento de la calidad Dinmico Caja negra Particin de equivalencia (segmentacin de equivalencia) Anlisis de valores lmite Pruebas de transicin de estado Tablas de decisin Algoritmo dual (pairwise)
Tcnicas basadas en la experiencia Caja blanca Esttico Cobertura de sentencia Cobertura de rama Cobertura condicin Cobertura de camino Previsiones / revisiones guiadas (walkthrouhs) Anlisis del flujo de control Anlisis del flujo de datos Mtricas compilador / analizador
Pruebas de caja negra = prueba funcional orientada a la especificacin Pruebas de caja blanca = prueba basada en la estructura o prueba basada en el flujo de control Categoras de las tcnicas de diseo de pruebas Mtodos basados en las especificacin Objeto de prueba seleccionado de acuerdo al modelo funcional La cobertura de la especificacin puede ser medida Mtodos basados en la estructura La estructura interna es la utilizada para disear casos de prueba El % de cobertura es medido y utilizado para la creacin de pruebas adicionales Mtodo basados en la experiencia Conocimiento y experiencia son base para el diseo de casos de prueba Conocimiento y experiencia de puntos dbiles, errores y posibles errores son usados para determinar / definir casos de prueba
Particin equivalente / segmentacin de equivalencia / clase de equivalencia (CE) Dividen los posibles valores en clases Valores entrada / salida Rango de valores agrupado en clases de equivalencia. Reglas: Valores con comportamiento comn se agrupan en CE No pueden superponerse y no presentan discontinuidad Pueden constituir en un rango de valores o en un valor aislado Valida: todos los valores dentro del rango No valida: valores fuera del rango. Hay 2 casos Valores con forma correcta se pueden combinar en 1 ms clases de CE Valores con formato incorrecto que forman parte de una CE separada La calidad de la prueba depende de la segmentacin precisa de variables / elementos en clases de equivalencia # de CE probados Cobertura (CE)= ------------------------------- * 100% # de CE definidos Transicin de la especificacin = definicin de la funcionalidad a la creacin de las clases de equivalencia Beneficios: Con una cantidad mnima de casos de prueba se puede esperar un valor de cobertura Utilizada para lograr objetivos de cobertura de entrada y salidas La asignacin de prioridades a la clase de equivalencia puede ser utilizada para la asignacin de prioridades a los casos de prueba Anlisis de valores lmite Ampla la tcnica de CE introduciendo una regla para seleccionar representantes Cuando los valores son un nico valor numrico se toma en cuenta la clase y su entorno como representantes Tablas de decisin & grfico causa-efecto El conjunto completo de combinaciones conduce a un nmero muy alto de casos de prueba El grfico causa-efecto utiliza un lenguaje formal Elementos:
Aseveracin
A
A A B A B
Negacin
O Y Exclusivo Inclusivo Uno y slo uno Requerido
E E
Ex I O R
Beneficios: identificacin sistemtica de combinaciones de entrada; el nmero de casos de prueba se puede reducir por la fusin sistemtica de columnas Desventajas: aadir gran nmero de causas conduce a resultados complejos; se puede incurrir en errores; requiere uso de herramientas Pruebas de transicin de estado No se tiene en cuenta los diferentes estados que puede tomar el objeto de prueba Se utilizan en la industria del SW embebido u automatizacin tcnica general Se debe construir un rbol de transicin Cada camino desde la raz a una hoja representa un caso de prueba de transicin de estado
^ ^
A B A B A B A B
Beneficios y desventajas Buen mtodo de prueba Buen mtodo si el ciclo de vida del objeto est disponible Muchas veces los estados son complejos Slo cubriendo todos los estados se garantiza la prueba Pruebas basadas en casos de uso El objeto de prueba es visto como un sistema reaccionando con actores Todo caso de uso tiene precondiciones y poscondiciones Son elementos del Lenguaje Unificado de Modelado (UML) Describe un comportamiento, no una secuencia de eventos Muestra la reaccin del sistema desde el punto de vista del usuario Cada caso de uso puede ser utilizado como fuente para un caso de prueba Un caso de uso puede ser utilizado como fuente para un caso de prueba Un caso de uso incluye: precondiciones / resultados esperados / comportamiento del sistema / poscondiciones Beneficios: Apropiadas para pruebas de aceptacin y de sistema Pueden ser combinadas con otras tcnicas de prueba Desventajas Nula obtencin de casos de prueba ms all de la informacin aportada Debe ser utilizada en combinacin con otros mtodos
Cobertura de sentencia La atencin se centra en la sentencia del cdigo de un programa La base es el grfico de flujo de control Su objetivo es lograr la cobertura de un porcentaje de las sentencias # de sentencias ejecutadas Cobertura de sentencia (CO)= --------------------------------------- * 100% # total de sentencias Beneficios / desventajas Ser detectado el cdigo muerto no logrando una cobertura del 100% No se detectarn instrucciones faltantes Cobertura de decisin Se centra en el flujo de control Su objetivo es lograr la cobertura de un porcentaje especfico de todas las decisiones # de decisiones ejecutadas Cobertura de decisin (C1)= --------------------------------------- * 100% # total de decisiones # de ramas cubiertas * 100% Cobertura de sentencia (C1)= -------------------------------# total de ramas Pruebas de sentencia y cobertura y pruebas de decisin y cobertura Solo se considera el resultado final de una condicin Tiene por objetivo detectar defectos que resulten de la implementacin de condiciones mltiples Hay 3 tipos de cobertura de condicin Cobertura de condicin simple Cada sub-condicin debe tomar al menos una vez los valores lgicos verdaderos Cobertura de condicin mltiple Todas las combinaciones que puedan ser creadas utilizando permutaciones de las subcondiciones Mnima cobertura de condicin mltiple Todas las condiciones que puedan ser creadas utilizando los resultados lgicos de cada subcondicin deben ser parte de las pruebas
Prueba de camino y cobertura Ejecucin de todos los posibles caminos a travs de un programa Alto nmero de casos de prueba El foco del anlisis es el grfico de flujo de control El objetivo de esta prueba es alcanzar un porcentaje definido de cobertura # de caminos cubiertos * 100% Cobertura de camino = ----------------------------------# total de caminos La cobertura de camino es ms exhaustiva que la cobertura de sentencia y de decisin 100% de cobertura de camino incluye 00% de cobertura de decisin que a su vez incluye 100% de cobertura de sentencia
Los casos de prueba estn basados en la intuicin y en la experiencia Para completar otros mtodos ms formales Produce casos de prueba adicionales Posibles fuentes Resultados de prueba y experiencia en sistemas similares Experiencia de usuario Enfoque del despliegue Problemas de desarrollo Prediccin de errores Comprobar lista de defectos Diseo de caso de prueba Actualizar lista de defectos durante las pruebas
Pruebas exploratorias
Revisar partes constituyentes Ejecutar nmero reducido de casos de prueba Analizar resultados Iteracin Concentrarse en reas relevantes y explotando caractersticas adicionales Tomar en cuenta las herramientas Seleccionar objetos pequeos y concentrarse en aspectos particulares Modelado durante el proceso de pruebas Preparacin de pruebas adicionales
***A travs de las pruebas intuitivas se pueden detectar defectos que no son detectados a travs de mtodos sistemticos
Estado de la informacin respecto del objeto de prueba Objetivos de prueba predominantes Riesgos Precondiciones del proyecto Caractersticas del objeto de prueba Requisitos contractuales del cliente Buena prctica Niveles de prueba
Jefe del proyecto Desarrollador SW de alta calidad Cumple con las restricciones de tiempo y presupuesto Cliente / iniciador del proyecto Recibir SW de calidad Cumplir con las restricciones de tiempo y presupuesto Jefe de prueba Pruebas suficientes e intensivas / tcnicas necesarias Evaluar / valorar nivel de calidad Asignar y utilizar recursos para las pruebas
Es necesaria a lo largo de todo el proceso Actividad Gestin de pruebas Concepcin de pruebas Planificacin de pruebas Control de pruebas Pruebas de aceptacin Producto resultado del trabajo Plan de pruebas (esttico) Plan de pruebas (dinmico) Informe de estado, accin de control Entrega (release) del producto SW
Ventajas Imparcialidad Se pueden cuestionar las bases de prueba y verificar suposiciones hechas durante el diseo de pruebas Desventajas Aumenta esfuerzo dedicado en la comunicacin Los desarrolladores pierden sentido de responsabilidad
Perfiles del personal de prueba Perfil Jefe de pruebas o gestor de pruebas o coordinador de pruebas Caractersticas Planifica, realiza el seguimiento y control del proyecto de pruebas Competencias Gestin de pruebas y calidad del SW Planificacin y control de pruebas Experiencia como jefe de pruebas Habilidades de gestor Conocimiento y desarrollo de pruebas Conocimiento de ingenieros de SW Conocimientos de especificaciones tcnicas Conocimientos de requisitos funcionales Experiencia como tester Conocimiento tcnico de diseo y automatizacin de pruebas Conocimiento de programacin Conocimiento de uso de herramientas Administracin de sistemas Conocimiento de herramientas de desarrollo y pruebas Sistema de bases de datos Redes Instalacin y operacin de SW del sistema Conocimiento bsico del SW Conocimiento bsico de pruebas Operacin y uso de herramientas de pruebas Conocimiento respecto de los objetos de prueba Administracin o diseo de bases de datos Experto en interfaces de usuario Experto en redes *** En algunas ocasiones son necesarias competencias especiales no relacionadas a las pruebas ***
Diseador de pruebas
Probador Software
Experto tcnico
Planificacin
Ejecucin
Evaluacin y control
Lider de pruebas Organizacin del equipo de pruebas Planificacin de pruebas (plan de calidad corporativo) Planificacin de los ciclos de prueba Estrategia de pruebas, decisin de automatizacin Medicin y control de pruebas Introduccin de un sistema de gestin de incidencias Introduccin de un sistema de gestin de configuracin Generacin de informes de resultado y progreso para direccin de la configuracin Redaccin del plan de pruebas (mtodos, recursos y plazos)
Probador Asiste en la implementacin y planificacin de las actividades de pruebas Desarrolla los diseos de casos de prueba y ejecucin de pruebas Revisa los casos de prueba diseados por otros probadores Asiste en la generacin de informes de pruebas Asiste en la implementacin de la automatizacin de pruebas
Tareas planeadas con antelacin Asignacin de recursos Hacer un plan de prueba maestro Definir nivel de calidad Controlar constantemente La informacin de las actividades ayuda a afrontar riesgos en los cambios Organizacin del proyecto Documentos que cubren el ciclo de vida de desarrollo Estndares, mtodos y convenciones Revisiones y auditoras durante el ciclo de vida del desarrollo Proceso de pruebas Documentacin de errores, acciones correctivas
Cubre todas las fases del proceso de pruebas Las reglas se fijan de acuerdo a objetivos de las pruebas Se realiza con el objeto de cubrir los resultados a partir de la fase de planificacin Cuenta con una extensin dinmica El estndar IEEE 829 aporta una estructura de pruebas maestro
Plan de pruebas de acuerdo al estndar IEEE 829 1. 2. 3. 4. 5. 6. 7. 8. Introduccin Suposiciones Elementos de pruebas Caractersticas / presentaciones sujetas a pruebas Caractersticas / presentaciones no sujetas a pruebas Enfoque Criterios de paso / fallo Criterios de suspensin /reanudacin Estrategia de pruebas: Actividades a realizar Planificacin de recursos Planificacin de pruebas 9. Entregables de pruebas 10. Tareas de pruebas 11. Necesidades relativas al entorno 12. Responsabilidades 13. Dotacin del personal y formacin 14. Calendario 15. Riesgos y contingencias 16. Aprobacin Describe los niveles de prueba y la intensidad de las pruebas Establece criterios de entrada y salida incluyendo mtricas No es viable probar el sistema completo ayuda a centrar la atencin en actividades que presentan un riesgo de fallo ms alto Estimar el esfuerzo de los miembros del equipo Cuenta con un calendario detallado para gestionar todas las actividades Gestionar el tiempo Priorizar pruebas Seleccin de herramientas Documentar Define cundo comenzar a probar Cobertura de cdigo Cobertura de riesgo Aborto de pruebas debido a razones de tiempo, costos o calidad Tasa de deteccin de errores Economa del proceso de pruebas Preventivo Reactivo Analstico heursticos
Enfoques de prueba
Experta
Ventajas: Vinculadas a la planificacin del proyecto / da origen a la informacin detallada / tareas asignadas a grupos Desventajas: Extensivo y caro / omisin de tareas / errores heredados Basado en analogas Ventajas: Simple y efectivo / logra valores precisos Desventajas: requiere personal con experiencia / no cubre todos los aspectos de un proyecto / conduce a debates por la validez de la estimacin Basada en porcentajes Ventajas: Muy simple y potente Desventajas: no muy precisa / es necesaria mucha experiencia / conduce a debates difciles / tiene en cuenta pruebas del desarrollador
Planificacin de pruebas: Deben ser iniciadas Seguimiento de pruebas: Control de las actividades de pruebas con el objeto de detectar desviaciones Control de pruebas: correccin del rumbo de las actividades de pruebas cuando sea necesario Es una tarea de gestin Medidas correctivas como respuesta Evaluacin del cierre de pruebas Medidas Previsin de recursos adicionales Reduccin del esfuerzo aplicado Documentos para informar respecto a cambios Objetivo generar datos Participantes con diferentes roles Tiene un rol de apoyo durante el proyecto Se debe desarrollar un plan de gestin de la configuracin El IEEE 828 aporta un estndar Es necesaria durante todas las fases del proyecto Se requiere de una herramienta para proyectos grandes Tipos de la configuracin GC del cambio de entregas de versiones Problemas abordados Cul es la versin actual? Qu ha sido modificado, cundo y quin lo modific? Qu versin del fichero ha sido probada? Qu artefactos se corresponden?
Gestin de la configuracin
Riesgos asociados a la organizacin Riesgos tecnolgicos Riesgos ambientales Riesgos de producto relacionados con el producto suministrado Gestin de riesgos Identificar, analizar y priorizar Influencia del riesgo (mtodos de prueba, alcance de las pruebas, orden de ejecucin) Lista de evaluacin de riesgo Beneficios: Mtodo de prueba seleccionado para mitigar riesgos Se usa el alcance de las pruebas y se tiene en cuenta para su reduccin
Gestin de incidencias
Deteccin de errores
Ejecutar casos de prueba Analizar desviaciones Seguimiento ( con un sistema de gestin de incidencias
Estructura de un informe de incidencias Detalles que puede incluir un informe de incidencias Elementos que puede incluir un informe de incidencias
Datos de la incidencia
Nmero nico del defecto Objeto de prueba, paso de prueba Entorno de pruebas Nombre del autor del informe de incidencias Fecha de la primera ocurrencia
Clasificacin de errores
Clasificacin de defecto Estado del defecto Prioridad
Descripcin
Caso de prueba Resultado del defecto / modo de fallo Descripcin de la desviacin para facilitar su resolucin Referencias cruzadas a informes relacionados Comentarios Acciones correctivas tomadas
Registro histrico
Hora usuario que ha realizado cambios Muchos sistemas hacen un seguimiento automtico de cambios en el ciclo de vida del incidente/error
Clases:
Prioridad:
Impacto sobre la funcionalidad del programa Impacto sobre el proyecto, sobre el cliente Posibilidad de aportar una solucin (correccin) inmediata al problema o en la siguiente entrega
Estados de un defecto Nuevo Abierto Rechazado Inspeccin En observacin Las herramientas de gestin de incidencias ofrecen una amplia variedad de informes de estadsticas de defectos. Trabajo en progresin Repeticin de pruebas Finalizado No resuelto
Nuevo
Rechazado
Abierto
En observacin
Inspeccin
Trabajo en progresin
No resuelto
Repeticin de prueba
Finalizado
De gestin de pruebas (gestin, recopilacin, clasificacin y administracin de casos de prueba) De gestin de requisitos (acopio, asignacin de prioridades, establecer la referencia entre requisitos y casos de prueba, identificar requisitos faltantes) De gestin de gestin de incidencias (registro y seguimiento de incidencias, almacenamiento de solicitudes de cambio, asignacin de prioridades, evaluaciones y progreso de las pruebas, flujo de trabajo) De gestin de gestin de la configuracin (seguimiento de las versiones de los componentes, gestin de versiones de herramientas, administracin del cdigo fuente y cdigo objeto, referencias a la gestin de pruebas)
Mejorar la eficiencia de las actividades de prueba a travs de la automatizacin de tareas repetitivas Automatizar actividades que requieren recursos significativos cuando son ejecutados de forma manual Mejorar la fiabilidad de pruebas
Clasificacin
Herramientas unitarias: dan soporte a una tarea o actividad especfica Paquetes de herramientas; cubren varias tareas e integran varias herramientas unitarias Herramientas intrusivas: pueden interferir en la ejecucin del objeto de prueba y pueden provocar que difiera respecto del objeto en el entorno real
Herramientas para revisiones: apoyo al proceso de revisin, documentacin de los resultados, evaluacin, listas de comprobacin, revisiones de lneas, trazabilidad entre documentos y cdigo fuente Herramientas de anlisis esttico: Cumplimento de estilos de codificacin y cdigo seguro, anlisis de la estructura del cdigo Herramientas de modelado: Anlisis de modelos de datos, de documentos de especificacin, modelos de diseo de objetos, diagramas de estados, comprobacin de consistencia
Generadores de datos de prueba asociados a bases de datos. Obtienen datos a partir del reconocimiento de estructuras y contenidos. Generadores de datos de prueba Basados en el cdigo fuente. Slo pueden generar datos de prueba en base al cdigo aportado, no identifican funcionalidad ausente/faltante Generadores de datos de prueba asociados a la interfaz. Obtienen clases de equivalencia y valores lmite Generadores de datos de prueba basados en la especificacin. Requieren uso de una estricta notacin formal; si se ayuda de una herramienta CASE pueden aportar una buena base para la herramienta
Herramientas de diseo de pruebas: Utilizadas para generar entradas de prueba o pruebas ejecutables, interfaces grficas de usuario, diseo de modelos o cdigo
Herramientas de preparacin de datos de prueba: Manipulan bases de datos, ficheros y se clasifican dependiendo de la fuente de datos
Incluyen: entrega de datos, recepcin de datos o escritura en el registro del comportamiento de la salida, documentacin de la ejecucin de pruebas
Robots de pruebas: el avance de la prueba es automtico, comparan resultados reales con los esperados, permite repeticin automtica, apropiados para pruebas de regresin Depurador: detecta errores en el cdigo, comprueba sentencias unitarias y condiciones, las variables pueden ser definidas de forma individual y referenciadas Comparadores de prueba: compara resultados esperados y obtenidos, usan funcionalidades de filtro, pueden ser una herramienta independiente Arns de prueba: Pruebas de componente, simulacin del entorno que debe ser tan prximo como sea posible. Controladores de prueba: Permite acceder al objeto de prueba cuando aun no ha sido implementada la interfaz, regula la entrada de datos y la salida, registra resultados reales Stubs: Simulan la funcionalidad del componente Herramientas de simulacin de cobertura: Pueden ser o no intrusivas, miden el % de un tipo de estructura de cdigo, cuentan sentencias, ramas o decisiones, mdulos o llamadas a funciones. Herramientas de pruebas de seguridad: evala caractersticas de seguridad, capacidad del software de proteger la confidencialidad, integridad, autenticacin, autorizacin, disponibilidad y no repudio de datos, utilizadas por expertos
Herramienta de anlisis dinmico: Detectan defectos que slo son evidentes cuando el software se encuentra en ejecucin, con la asignacin de punteros o su aritmtica, importante para multisistemas. Herramientas de prueba de rendimiento / pruebas de carga / pruebas de estrs: Monitorizacin, medicin e informacin respecto del comportamiento de un sistema, creacin de usuarios virtuales, generan carga sinttica Herramientas de monitorizacin: analiza de forma continua, verifica e informa respecto de los recursos de un sistema especfico. Los datos son el centro de algunos proyectos como los de migracin o data warehouse Puede variar en trminos de criticidad y volumen Son necesarias herramientas para verificar la conversin de datos Dimensiones de la calidad de los datos Libertad de errores representa la correccin de los datos
Beneficios y riesgos del soporte de herramientas para pruebas El uso de herramientas de pruebas causan costes y esfuerzos Las ventajas del uso de la herramienta deben superar los costes Beneficios Los riesgos que incluye el uso de la herramienta Despliegue errneo de la herramienta
Aportando la herramienta adecuada Desarrollando pericia en la herramienta Adaptando la herramienta Que los esfuerzos de la administracin queden asegurados Tiempo y esfuerzo en la operacin de la herramienta
Un anlisis coste beneficio debe ser realizado por anticipado El beneficio total solo ser manifestado con el uso de la herramienta en ms de un proyecto
Reduccin del trabajo repetitivo Iteracin de actividades Mayor consistencia y repetitividad Evaluacin objetiva Facilidad de acceso Gestin de datos con herramientas de prueba que permite diversidad de evaluaciones Aporta informacin para mejor toma de decisiones
La funcionalidad de la herramienta no cumple con las expectativas La usabilidad de la herramienta no cumple con las expectativas Se ha infravalorado el tiempo y esfuerzo necesarios para lograr los beneficios No todos los requisitos de calidad se han alcanzado Se han sobreestimado los beneficios Los costes se han subestimado al igual que los esfuerzos por mantener activa la herramienta Excesiva dependencia a la herramienta
Descuido de las relaciones e interoperabilidad de entre herramientas crticas Riesgo de que el fabricante de una herramienta suspenda sus actividades comerciales Respuesta pobre del vendedor para el soporte, actualizacin y correccin de los defectos Riesgo de suspensin de proyecto de herramienta de cdigo abierto Expectativa de que la herramienta resolver todos los problemas de las pruebas La herramienta no compensa ni sustituye procedimientos Incapacidad de soportar una nueva plataforma
Evaluacin Definicin de requisitos Evaluar criterios de calidad adicionales Prueba de concepto (si la herramienta va a aportar los efectos esperados) Evaluacin del fabricante Uso de la herramienta Evaluacin de la formacin (conocimientos / capacidades del equipo actual) Relacin coste-beneficio