Вы находитесь на странице: 1из 33

Fundamentos de pruebas

Software = Factor de xito Pruebas/revisin/software= calidad Error Defecto causado por Fallo Pruebas

error humano condiciones ambientales

mejora calidad reduce fallos satisface compromisos/requisitos

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

Aseguramiento de la calidad (QA) Analticas Pruebas estticas Pruebas dinmicas

actividades

caja negra caja blanca

Atributos funcionales

Adecuacin Exactitud Interoperabilidad Seguridad Cumplimiento de funcionalidad Conocimiento de defectos Confirmacin de funcionalidad Generar informacin Ganar confianza

Objetivos de las pruebas

Pruebas

basadas

Riesgos Plazos y presupuestos


Precondiciones Valores de entrada Resultados esperados Pos condiciones Identificador nico Dependencias a otros casos Referencia a requisitos Forma de ejecutar y verificacin de casos Prioridad

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

Seleccin de condiciones de prueba

Diseo y ejecucin de casos de prueba

Comprobacin de resultados

Generacin de informes

Actividades de cierre

Depuracin
Prueba Deteccin Identificacin de defectos Correccin de defectos Repeticin de Pruebas

Siete principios del proceso 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

desarrollar Objetivo comn

probar

Aportar un buen producto

Cdigo tico

Pblico Cliente / empleador Producto Juicio Gestin Profesin Compaeros de profesin Individualmente

Modelo W

Definicin de requisitos

Pruebas de aceptacin

Diseo funcional del sistema

Pruebas de sistema

Diseo tcnico del sistema

Pruebas de integracin

Especificacin de componentes

Pruebas de componente

Programacin

Modelos de desarrollo de Software

Verificacin Vs. Validacin

Comprobacin de la conformidad con los requisitos Comprobacin de la idoneidad para el uso esperado

}construccin del sistema Sistema correcto

Modelo V

Requisitos funcionales

Planificar actividades de pruebas

Ejecucin de prueba de aceptacin

Pruebas de aceptacin

Diseo funcional del sistema

Planificar prueba del sistema

Ejecucin de prueba de sistema

Pruebas de sistema

Diseo funcional tcnico

Planificar prueba de integracin

Ejecucin de prueba de integracin

Pruebas de integracin

Especificacin de componentes

Planificar prueba de componentes

Ejecucin de prueba de componentes

Pruebas de componente

Programacin

Ciertas actividades de aseguramiento de calidad se desarrollan en paralelo al proceso de desarrollo

Modelo prototipado Modelos iterativos


Las actividades se realizan de forma continua

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

Desarrollo rpido de aplicaciones Proceso unificado Programacin extrema

Factores de relevancia

Pruebas de regresin

Automatizacin de pruebas

Desarrollo guiado por pruebas

Preparacin de versiones de componentes para su prueba Ejecucin automtica de pruebas Correccin de defectos Repeticin de pruebas hasta no encontrar defectos

Principios de todos los modelos

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

Dependencias del desarrollador Alpha Dependencias del cliente

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

Cobertura (enfoque: caja blanca)

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 asociadas al cambio

Probar objeto despus de los cambios

Pruebas posteriores a la aceptacin del producto Alcance: Anlisis de impacto Documentacin completa

Configuracin Anlisis de impacto Pruebas de mantenimiento Retirada del SW

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 (manual) Anlisis esttico (herramientas)

Pueden detectar defectos que no son detectables en las pruebas dinmicas

La deteccin temprana de errores ahorra costes

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

Definicin de los criterios Seleccin de personal Asignacin de roles y tiempos

Definicin de criterios de entrada / salida


Inicio (Kick-off)

Dependiendo de la importancia y complejidad

Distribucin de documentos Explicacin de

Objetivos Proceso Documentos

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

Examen / evaluacin / registro Reconstruccin Correccin de defectos Segunda reunin

Comprobacin de los criterios de salida

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)

Conoce sobre: negocio o tcnico Detecta: defectos, desviaciones, reas problemticas


Documenta Identificar audiencia Crear logo Crear / optimizar Sitio Web Definir requisitos Configurar orden del sitio Crear lista de beneficios Mtricas Tipos de revisiones

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

Anlisis esttico con herramientas

Aspectos que comprueba

Reglas y estndares Diseo de un programa (flujo de control) Uso de datos (Flujo de datos) Complejidad de la estructura de un programa Mtrica

Consiste en analizar un objeto de prueba sin ejecutarlo

Debe tener una estructura formal

Valor del anlisis esttico

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

Anlisis Del flujo de control

Propsito Detectar defectos causados por un desarrollo anmalo del cdigo

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

Del flujo de datos

Deteccin de anomalas en el flujo de datos

Desventajas: Limitado a un rango reducido de tipos de defectos

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

Nmero ciclomtico [v(G)] Si es > 10 necesita ser reconstruido

Proceso de desarrollo de pruebas

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

Descripcin de un caso de prueba [IEEE 829]

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)

Combinacin de casos de prueba

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

Mtodos de caja negra

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

Mtodos de caja negra

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

Mtodos de caja Blanca Tcnicas basadas en la estructura del SW o del sistema

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

Nivel de componente Nivel de integracin Nivel de sistema

Requieren uso de herramientas

Mtodos de caja Blanca

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

Tcnicas basadas en la experiencia o intuitivas

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

Cuando la informacin base se encuentra poco estructurada

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

Diseo de casos de prueba (seleccin)

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

Intereses en el diseo 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

Disea los casos de prueba y establece orden de la ejecucin

Ingeniero de automatizacin de pruebas

Evala las posibilidades de la automatizacin de pruebas y las implementa

Administrador del sistema de pruebas

Responsable de cumplir los requisitos del sistema de pruebas

Probador Software

Ejecuta las pruebas de acuerdo a los casos de prueba

Experto tcnico

Asiste al equipo de pruebas

Organizacin de equipos de pruebas Qu Quin Direccin de equipos de pruebas Jefe de pruebas

Planificacin

Especificacin de casos de prueba

Ejecucin

Evaluacin y control

Actividades de infraestructura de pruebas Equipo de pruebas

Diseo de casos de prueba Equipo de pruebas funcionales

Ejecucin de pruebas Equipo de pruebas

Evaluacin de pruebas Equipo de pruebas funcionales

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

Actividades de planificacin 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

Plan de aseguramiento de calidad (IEEE730)

Plan de pruebas maestro

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

Criterios de entrada Criterios de salida

Enfoques de prueba

Factores de estimacin de pruebas

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

Seguimiento y control de pruebas Control de pruebas

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

Riesgo y proceso de prueba

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

Clase y prioridad del defecto

Clases:

Defecto crtico Defecto mayor Defecto medio Defecto menor

El criterio es la influencia en la usabilidad del producto

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

La prioridad rige la urgencia de la correccin

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)

herramientas de soporte para 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

Herramientas de soporte para pruebas estticas

Forma ms rentable de prevenir y detectar defectos en el proceso de desarrollo

Herramientas de soporte para pruebas estticas

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

Herramientas de soporte para la ejecucin y registro 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

Herramientas de soporte para la ejecucin y registro de pruebas

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

Evaluacin de la calidad 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

Pasos hacia la introduccin de una herramienta

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

Factores de xito en el despliegue de SW: Ventajas de un proyecto piloto:


Llegar a conocer a detalle la herramienta (puntos fuertes y dbiles) Establecimiento de interfaces con otras herramientas Definir informes de acuerdo con los estndares de la organizacin Evaluar si la herramienta cumple con los beneficios esperados Estimar si el coste de despliegue se encuentra dentro del alcance Introduccin y lanzamiento en la totalidad de la organizacin Hacer obligatorio el uso de la herramienta para los flujos de trabajo y procesos respectivos Guas de usuario para el despliegue de la herramienta Los usuarios deben tener acceso a la formacin adecuada La experiencia adquirida debe estar disponible para todos El uso en curso de la herramienta debe ser objeto de seguimiento para mejorar la aceptacin

Вам также может понравиться