SlideShare ist ein Scribd-Unternehmen logo
1 von 73
Testing de Software
Abril 2012
Cátedra: Proyecto
Profesor: Mario Bressano
Universidad Tecnológica Nacional - FRRO
Confidential // Neoris 2
Agenda
Lunes 9 de Abril
Testing
Fundamentos del Testing
Proceso Fundamental de Testing
Modelo de Desarrollo de Software: Modelo V
Niveles de Prueba
Tipos de Prueba
Martes 10 de Abril
Conceptos Teóricos finalización
En la Practica
Confidential // Neoris 3
¿Testing?
Confidential // Neoris 4
Pruebas de Software - Testing
Las pruebas de software, en inglés “Testing” son los procesos que
permiten verificar y revelar la calidad de un producto software. Son
utilizadas para identificar posibles fallos de implementación, calidad, o
usabilidad de un programa de ordenador o videojuego.
Básicamente es una fase en el desarrollo de software consistente en
probar las aplicaciones construidas.
“El testing puede probar la presencia de errores pero no la
ausencia de ellos”. Edsger Wybe Dijkstra
Definición
Confidential // Neoris 5
¿Por qué es necesario el Testing?
Confidential // Neoris 6
Fundamentos del Testing
La importancia económica del software
Calidad del Software
Pruebas para la mejora de la calidad
El funcionamiento de maquinaria y equipamiento depende en gran medida del software.
No es posible imaginar grandes sistemas, en el ámbito de las finanzas ni el control del tráfico
automotor, entre otros, funcionando sin software.
Cada vez más, la calidad software se ha convertido en un factor
determinante del éxito de sistemas y productos técnicos o comerciales.
Las pruebas y revisiones aseguran la mejora de la calidad de productos de software así como
de la calidad del proceso de desarrollo en sí.
Confidential // Neoris 7
Terminología
Confidential // Neoris 8
Error Defecto Falla
Confidential // Neoris 9
Definición
Error
Acción humana que produce un resultado incorrecto. Ej. Un error de
programación.
Defecto
Desperfecto en un componente o sistema que puede causar que el
componente o sistema falle en desempeñar las funciones requeridas.
Ej: una sentencia o una definición de datos incorrecta.
Falla
Manifestación física o funcional de un defecto. Si un defecto es encontrado
durante la ejecución de una aplicación puede producir un fallo.
Desvío de un componente o sistema respecto del resultado esperado.
Confidential // Neoris 10
Fundamentos del Testing
Grado en el cual un componente,
sistema o proceso satisface requisitos
especificados y/o necesidades y
expectativas del usuario/cliente.
Calidad
Confidential // Neoris 11
Calidad de Software
 Atributos funcionales de calidad:
Funcionalidad: correctitud y completitud de los
requisitos del usuario.
 Atributos NO funcionales de calidad:
Fiabilidad: el sistema mantendrá su capacidad y
funcionalidad a lo largo de un período de tiempo.
Usabilidad: fácil de usar, fácil de aprender, conforme a
normas y uso intuitivo.
Portabilidad: fácil de instalar y desinstalar, y
configurar parámetros.
Confidential // Neoris 12
¿Cuánto Testing es necesario?
Confidential // Neoris 13
Fundamentos del Testing
El testing exhaustivo es imposible.
Testear todas las combinaciones de entradas y
precondiciones no es factible.
Para enfocar el testing nos debemos basar en
Riesgos y Prioridades.
Confidential // Neoris 14
¿Qué es testing?
Confidential // Neoris 15
Consiste solamente en realizar pruebas.
Es ejecutar la aplicación.
Percepción común
Es fácil y cualquiera lo puede hacer.
Confidential // Neoris 16
Las actividades de la prueba existen antes y
después de la ejecución de la prueba.
Puede haber diferentes objetivos de
prueba:
Realidad
Encontrar defectos.
Ganar confianza sobre el nivel de calidad y proporcionar
información.
Prevenir defectos
Confidential // Neoris 17
Proceso Fundamental de Testing
El proceso fundamental del Testing
Planificación
y Control
Análisis y
Diseño
Aplicación y
Ejecución
Evaluación de
los criterios
de salida y
Reportes
Actividades
de cierre de
Pruebas
El proceso de prueba fundamental consiste de las siguientes actividades principales:
Confidential // Neoris 18
Planificación y Control
Planificación
y Control
Determinar el alcance y los riesgos, e identificar los
objetivos de la prueba.
Implementar la estrategia de prueba.
Programar los análisis de prueba y las tareas de diseño.
Nos aseguramos de haber entendido las metas y objetivos
del cliente, el proyecto y los riesgos de las tareas de testing.
Confidential // Neoris 19
Análisis y Diseño
Análisis y
Diseño
Revisión de los elementos básicos para las
pruebas (tales como los requerimientos,
arquitectura de la aplicación, diseño, interfaces).
Identificar y priorizar las condiciones de las
pruebas y datos de pruebas basado en el análisis
anterior.
Actividad donde los objetivos generales de las pruebas se
transforman en condiciones de prueba tangibles y casos de
prueba.
Puesta a punto del entorno de pruebas y se determinan las
herramientas necesarias
Confidential // Neoris 20
Ejecución
Aplicación y
Ejecución
Evaluación de los
criterios de salida
y Reportes
Ejecutar las pruebas.
Registrar resultados, Comparar e Informar.
Repetir las pruebas.
Confidential // Neoris 21
Implementación y ejecución de prueba
La implementación y ejecución de prueba tienen las siguientes tareas principales:
Ejecutar los casos de prueba ya sea manualmente o mediante el uso de herramientas
de ejecución de prueba, de acuerdo con la secuencia planeada.
Registrar el resultado de la ejecución de prueba y la versión del software bajo prueba,
en una herramientas de prueba.
Comparar los resultados reales con los resultados esperados.
Informar discrepancias como incidentes.
Repetir las actividades de prueba después de las correcciones. Por ejemplo, la re-
ejecución de una prueba que falló previamente para confirmar un arreglo (pruebas de
confirmación), ejecución de pruebas para asegurarse que los defectos no han sido
introducidos en áreas no cambiadas del software o que el arreglo del defecto no reveló
otros defectos (pruebas de regresión).
Confidential // Neoris 22
Evaluación de los criterios de salida y
Reportes
Evaluar los criterios de salida es la actividad donde la ejecución de prueba es evaluada
contra los objetivos definidos. Esto debe hacerse para cada nivel de prueba.
Evaluar los criterios de prueba tiene las siguientes tareas principales:
Comparar los registros de prueba contra los criterios de salida especificados en la
planificación de prueba.
Evaluar si se necesitan más pruebas.
Escribir un reporte de resumen de prueba para las partes interesadas.
Confidential // Neoris 23
Actividades de cierre de Pruebas
Actividades
de cierre de
Pruebas
Se recolecta la información de las actividades de prueba
completadas para consolidar.
Verificar el entregable y que los defectos hayan sido
corregidos.
Archivar todo el material generado en las pruebas para un
futuro uso.
Evaluar como resultaron las actividades de testing y
analizar las lecciones aprendidas.
Confidential // Neoris 24
Psicología de Prueba
El modo de pensar a ser usado mientras se prueba y revisa es diferente al usado
mientras se analiza o desarrolla.
La separación de esta responsabilidad hacia un probador
es realizada típicamente para ayudar a enfocar el esfuerzo y
para proporcionar beneficios adicionales, tales como una
visión independiente.
Varios niveles de independencia pueden ser definidos:
Pruebas diseñadas por la(s) persona(s) que escribió (escribieron) el software bajo
prueba.
Pruebas diseñadas por otra(s) persona(s) del equipo de desarrollo. (bajo nivel de
independencia).
Pruebas diseñadas por una(s) persona(s) de un grupo organizacional diferente (por
ejemplo, un grupo de prueba independiente.
Pruebas diseñadas por una(s) persona(s) de una organización o compañía diferente
(es decir subcontratación o certificación por un organismo externo).
Confidential // Neoris 25
Psicología de Prueba – continuación
Identificar fallas durante la prueba puede ser percibido como una crítica contra el
producto y contra el autor. La prueba es, por lo tanto, a menudo vista como una actividad
destructiva, aunque es muy constructiva en la gestión de riesgos del producto.
Buscar fallas en un sistema requiere curiosidad, pesimismo
profesional, un ojo crítico, atención al detalle, buena
comunicación con los pares de desarrollo y experiencia en
que basar la conjetura de error.
Si los errores, defectos o fallas son comunicados en una
forma constructiva, malos sentimientos entre los probadores y
los analistas, diseñadores y desarrolladores pueden ser evitados.
Confidential // Neoris 26
Modelos de desarrollo de Software
Confidential // Neoris 27
Testing a través del ciclo de desarrollo del
software
La prueba no existe en forma aislada; las actividades de prueba están relacionadas con
las actividades de desarrollo de software. Los diferentes modelos de ciclo de vida de
desarrollo necesitan diferentes enfoques hacia la prueba.
Modelo-V
Aunque existen variantes del Modelo-V, un tipo común de Modelo-V usa 4 niveles de
prueba, correspondientes a 4 niveles de desarrollo.
Los cuatro niveles usados en este programa son:
Prueba de componente (unidad).
Prueba de integración.
Prueba de sistema.
Prueba de aceptación.
En la práctica, un Modelo-V puede tener diferentes niveles de desarrollo y prueba,
dependiendo del proyecto y del producto de software. Por ejemplo, puede existir prueba
de integración de componentes después de las pruebas de componente y prueba de
integración del sistema después de la prueba del sistema.
Confidential // Neoris 28
Modelo V
Diseño Funcional del Sistema
Diseño Técnico del Sistema
Especif. de Componentes
Definición de Requisitos Pruebas de Aceptación
Pruebas de Sistema
Pruebas de Integración
Pruebas de Componentes
Programación
Confidential // Neoris 29
Testing a través del ciclo de desarrollo del
software
Niveles de Pruebas
Testing de
Componentes
Testing de
Integración
Testing del
Sistema
Testing de
Aceptación
Confidential // Neoris 30
Testing de Componentes
Testing de
Componentes
Definición
Prueba de cada componente tras su realización/construcción
Los componentes son referidos como módulos, clases o unidades
También denominadas pruebas de Desarrollador (developer’s test)
Alcance
Cada componente es probado de forma independiente
Descubrir fallos producidos por defectos internos
Los casos de prueba tienen 3 fuentes: especificaciones de
componente, diseño, modelo de datos.
Confidential // Neoris 31
Testing de Integración
Testing de
Componentes
Testing de
Integración
Definición
Comprueba la interacción entre elementos de software
(componentes) tras la integración del sistema.
Comprueban las funciones externas.
Pueden ser ejecutadas por desarrolladores, testers o
ambos.
Confidential // Neoris 32
Testing de Integración
Testing de
Componentes
Testing de
Integración
Estrategias
Incremental
Descendente
Ascendente
Ad-Hoc
No Incremental
Confidential // Neoris 33
Estrategias – Tipos fundamentales de
Integración
Integración incremental.
Se combina el siguiente módulo que se debe probar con el conjunto de módulos que ya
han sido probados.
Ascendente.
Se combinan los módulos de bajo nivel en grupos que realicen una función o
subfunción específica (o quizás si no es necesario, individualmente) -> de este
modo reducimos el número de pasos de integración.
Se escribe para cada grupo un módulo impulsor o conductor -> de este modo
permitimos simular la llamada a los módulos, introducir datos de prueba y
recolectamos resultados.
Se prueba cada grupo mediante su impulsor.
Se eliminan los módulos impulsores y se sustituyen por los módulos de nivel
superior en la jerarquía.
Confidential // Neoris 34
Estrategias – Tipos fundamentales de
Integración
Integración incremental.
Descendente. Se comienza por el módulo raíz.
Comienza por el módulo de control principal y va incorporando módulos
subordinados progresivamente.
No hay un orden adecuado de integración, pero se recomienda lo siguiente:
Si hay secciones críticas (especialmente complejas) se deben integrar lo
antes posible.
El orden de integración debe incorporar cuanto antes los módulos de
entrada/salida para facilitar la ejecución de pruebas.
Integración NO incremental. Se prueba cada módulo por separado y luego se integran
todos de una vez y se prueba el programa completo.
Ad-hoc: Los componentes serán probados, si fuera posible, inmediatamente después de
haber sido finalizada su construcción y se hayan finalizado las pruebas de componente.
Confidential // Neoris 35
COMPARACION DE LOS DISTINTOS TIPOS DE
INTEGRACION PRUEBAS DEL SOFTWARE
Ventajas de la No incremental:
Requiere menos tiempo de máquina para las pruebas, ya que se prueba de una
sola vez la combinación de los módulos.
Existen más oportunidades de probar módulos en paralelo.
Ventajas de la incremental:
Los defectos y errores en las interfaces se detectan antes, ya que se empieza
antes a probar las uniones entre los módulos.
La depuración es mucho más fácil, ya que si se detectan los síntomas de un
defecto en un paso de la integración hay que atribuirlo muy probablemente al último
módulo incorporado.
Se examina con mayor detalle el programa, al ir comprobando cada interfaz poco
a poco.
Confidential // Neoris 36
ASCENDENTES DESCENDENTES
VENTAJAS VENTAJAS
Es un método ventajoso si aparecen grandes
fallos en la parte inferior del programa, ya
que se prueba antes.
La entradas para las pruebas son más
módulos inferiores.
Es más fácil observar los resultados de la
prueba, ya que es en los módulos inferiores
donde se elaboran los datos (los superiores
suelen ser módulos de control).
Es ventajosa si aparecen grandes defectos
en los niveles superiores del programa, ya
que se prueban antes.
Permite ver antes una estructura previa del
programa, lo que facilita el hacer
demostraciones.
DESVENTAJAS DESVENTAJAS
Se requieren módulos impulsores, que
deben codificarse.
El programa, como entidad, sólo
aparece cuando se agrega el último
módulo.
Las entradas para las pruebas pueden ser
difíciles o imposibles de crear, puesto que, a
menudo, se carece de los módulos inferiores
que proporcionan los detalles de operación.
Es más difícil observar la salida, ya que los
resultados surgen de los módulos inferiores.
INCREMENTAL
Confidential // Neoris 37
Testing de Sistema
Testing de
Componentes
Testing de
Integración
Testing de
Sistema
Enfoques para las pruebas funcionales:
Basadas en Requisitos.
Basadas en Procesos de Negocio.
Basadas en Casos de Uso.
Los casos de prueba se derivan de la especificación de requisitos.
El número de casos de prueba variará en función del tipo/profundidad
de las pruebas basadas en la especificación de requisitos.
Cada proceso de negocio sirve como fuente para derivar/generar
pruebas.
El orden de relevancia de los procesos de negocio puede ser aplicado
para asignar prioridades a los casos de prueba.
Los casos de prueba se derivan/generan a partir de las secuencias de
usos esperados o razonables.
Las secuencias utilizadas con mayor frecuencia reciben una prioridad
más alta.
Definición
Tiene que ver con el comportamiento de todo un sistema/producto, definida
por el alcance de un proyecto de desarrollo o programa.
Confidential // Neoris 38
Testing de Aceptación
Testing de
Componentes
Testing de
Integración
Testing del
Sistema
Testing de
Aceptación
Definición
Pruebas formales llevadas a cabo con el
objeto de verificar la conformidad del
sistema con los requisitos.
El Objetivo de las pruebas de aceptación es
validar que un sistema cumple con el
funcionamiento esperado y permitir al usuario
de dicho sistema que determine su
aceptación, desde el punto de vista de su
funcionalidad y rendimiento.
Confidential // Neoris 39
Tipos de Pruebas
Testing relacionado a cambios
Testing Estructural
Tipos de pruebas: Objetivos del proceso de Pruebas
Testing Funcional
Testing No Funcional
Confidential // Neoris 40
Tipos de Pruebas – Testing Funcional
Testing Funcional
Objetivo: La función del objeto de prueba.
Las funciones, que un sistema, un subsistema o un componente realizará, pueden estar
descritas en productos de trabajo tales como una especificación de requisitos, casos de uso
o una especificación funcional, o podrían estar no documentados. Las funciones son “lo
que” el sistema hace.
Las pruebas funcionales consideran el comportamiento externo del software (pruebas de
caja negra).
Se pueden llevar a cabo en todos los niveles de pruebas
Confidential // Neoris 41
Tipos de Pruebas – Testing No Funcional
Testing No Funcional
Pruebas de Performance
Pruebas de Volumen
Pruebas de Concurrencia
Objetivo: La finalidad de la prueba es saber “como” funciona el
sistema.
El termino pruebas no funcionales describe las pruebas necesarias para medir
las características de los sistemas y software que se puede cuantificar en una
escala variable, tales como tiempos de respuesta para las pruebas de
rendimiento.
Confidential // Neoris 42
Tipos de Pruebas – Testing Estructural
Testing Estructural
Objetivo: La finalidad de las pruebas es medir el grado en el cual la
estructura del objeto de prueba ha sido cubierto por los casos de
prueba.
Las pruebas estructurales (de caja blanca) pueden ser realizadas en todos los niveles de
prueba, pero sobre todo en las pruebas de componentes (unit testing) y las pruebas de
integración de componentes.
Las técnicas estructuradas son las mejores usadas después de las
técnicas basadas en especificaciones.
Confidential // Neoris 43
Tipos de Pruebas – Testing relacionado a
cambios
Testing de
confirmación/regresión
Objetivo: Repetir una prueba de funcionalidad que ha sido verificada
previamente.
Confirmación: Cuando un defecto es detectado y arreglado, entonces el software
debe ser probado de nuevo para confirmar que el defecto original ha sido retirado
exitosamente.
Regresión: son las pruebas repetidas de un programa ya testeado, después de
una modificación, para descubrir cualquier error introducido o no descubierto como
resultado del cambio(s). Estos errores pueden ser ya sea en el software que se
está testeando, o en otro componente del software relacionado o no. Se lleva a
cabo cuando el software, o su entorno, sufren cambios. El alcance de las pruebas
de regresión esta basado en el riesgo de no encontrar errores en el software que
estaba funcionando anteriormente.
Confidential // Neoris 44
Pruebas de Mantenimiento
Las pruebas de mantenimiento se realizan en un sistema operativo existente,
y es provocada por modificaciones, migración de datos, o la jubilación del
software o sistema.
Las modificaciones incluyen cambios planificados, correctivos y cambios
de emergencia, y cambios de ambiente, como el sistema operativo o base
de datos prevista, actualizaciones o parches.
Además de verificar lo que se ha cambiado, las pruebas de mantenimiento incluyen extensivas
pruebas de regresión a las partes del sistema que no han sido cambiadas.
La determinación de cómo el sistema actual puede verse afectado por los cambios se llama
análisis de impacto, y es utilizado para ayudar a decidir la cantidad de pruebas de regresión a
hacer.
Testing durante el mantenimiento
Confidential // Neoris 45
Recapitulación
Error, defecto y falla.
Proceso fundamental de testing.
Ciclo de desarrollo de software: modelo V.
Niveles de pruebas:
•Componente.
•Integración.
•Incremental (asc o desc), No Incremental, Ad hoc.
•Sistema.
•Aceptación.
Tipos de Pruebas (a través de los distintos niveles)
Testing Funcional
Testing No Funcional: carga, stress, volumen, etc.
Testing Estructural: caja blanca
Testing Relacionado a Cambios: confirmacion/regresión.
Pruebas en el Mantenimiento.
Confidential // Neoris 46
Preguntas?
Confidential // Neoris 47
Martes 10 de Abril
 Diseño de Pruebas
 Técnicas
 Caja Negra
 Caja Blanca
 En la Práctica
 Ciclo de Vida y Testing
 Niveles de Prueba
 Servicios de Testing
 Consultoría de pruebas
 Automatización
 Herramientas
Agenda
Confidential // Neoris 48
Diseño de Pruebas
Confidential // Neoris 49
Terminología
Confidential // Neoris 50
Caso de Prueba
Definición
Son un conjunto de condiciones o variables bajo las cuáles el analista determinará si
el requisito de una aplicación es parcial o completamente satisfactorio.
Se pueden realizar muchos casos de prueba para determinar que un requisito es
completamente satisfactorio. Debe haber al menos un caso de prueba para cada
requisito.
Algunas metodologías como RUP recomiendan el crear por lo menos dos casos de
prueba para cada requisito. Uno de ellos debe realizar la prueba positiva de los
requisitos y el otro debe realizar la prueba negativa.
Lo que caracteriza un escrito formal de caso de prueba es que hay una entrada
conocida y una salida esperada. La entrada conocida debe probar una precondición y
la salida esperada debe probar una postcondición.
Confidential // Neoris 51
Casos de Prueba - continuación
Objetivo
Descripción
Información general acerca de los Casos de Prueba:
Resultado Esperado
Creador
Versión
Identificador
Confidential // Neoris 52
Caso de Prueba - continuación
Objetivo: Es el fin que se quiere alcanzar y al cual se dirige la acción. El objetivo debe
estar alineado con el resultado esperado.
Ejemplo:
• Verificar que el sistema solicita confirmación para la eliminación.
Descripción: los pasos que debe seguir el tester para realizar la prueba y alcanzar el
objetivo expuesto.
Ejemplo:
• Realizar una búsqueda que arroje resultados, seleccionar un elemento de la lista y
seleccionar la opción “Eliminar”.
Resultado Esperado: Es la respuesta que esperamos de la aplicación testeada luego
de ejecutar los pasos detallados en la descripción con el fin de alcanzar el objetivo.
Ejemplo:
• El sistema muestra un mensaje de confirmación.
Confidential // Neoris 53
Técnicas de diseño de pruebas
Confidential // Neoris 54
Representación Gráfica
CAJA BLANCA
El tester observa el objeto de pruebas como una
caja negra.
Los casos de prueba se obtienen a partir del
análisis de la especificación de un componente o
sistema.
La funcionalidad es el foco de la atención.
Se realiza sobre las funciones internas de un
módulo.
Los casos de prueba son seleccionados en base a
la estructura interna del programa/código.
La estructura del programa es el foco de la
atención.
CAJA NEGRA
Confidential // Neoris 55
Técnicas de Caja Blanca
Confidential // Neoris 56
Caja Blanca
Utiliza la estructura de control de diseño procedural para derivar casos de
pruebas que:
Garanticen que todos los caminos independientes dentro de un módulo han sido
ejercitados por lo menos una vez.
Ejerciten todas las decisiones lógicas en sus lados verdaderos y falsos.
Ejerciten estructuras de datos internas para asegurar su validez.
Distintos Métodos:
Cobertura de Camino Básico
Cobertura de Condición
Cobertura de Bucles
Confidential // Neoris 57
Técnicas de caja negra
Confidential // Neoris 58
Técnicas de diseño de pruebas
Los métodos más utilizados son:
Particiones de equivalencias
Es un proceso sistemático que identifica un conjunto de clases de prueba representativas
de un conjunto de pruebas posibles, la idea es que el producto se comportará de la misma
manera para todos los miembros de una clase. Consta de los siguientes pasos:
1. Identificar las clases de equivalencias:
Por ejemplo: (si un contador puede ir de 1 a 999).
Entonces tendríamos:
Clases Válidas: (1 <= contador <= 999).
Clases Inválidas: (contador < 1), (contador > 999)
2. Identificar los casos de pruebas: asignar un nro. único a cada clase, diseñar
casos de pruebas hasta cubrir todas las clases válidas y clases inválidas.
Análisis de valores fronteras
Es una variante del particiones de equivalencias, se seleccionan los bordes de una clase.
Por cada clase válida hay que definir pruebas para las fronteras. Por ejemplo: número
entre 3 y 8, probar para 2, 3, 8 y 9.
Confidential // Neoris 59
Resumen
Caso de Prueba: identificador, objetivo, descripción, resultado
esperado, etc.
Técnicas
Caja Negra: Particiones de Equivalencias, Análisis de valores
frontera.
Caja Blanca: Cobertura de camino Básico, de condición, de
bucle.
Los métodos de caja negra y caja blanca son métodos dinámicos.
Solo se puede probar código existente.
Detecta el código muerto, pero no funciones faltantes.
Los métodos de caja blanca son utilizados en pruebas de bajo nivel como
prueba de componente o pruebas de integración de componentes.
Confidential // Neoris 60
EN LA PRACTICA
Confidential // Neoris 61
Servicios de Testing
Permite evaluar y conocer los procesos y
actividades de testing que se realizan y
proponer una solución metodológica y
operativa de acuerdo a las oportunidades
identificadas.
Asegurar que el usuario final obtiene la
funcionalidad requerida a través de un
software bien construido
Garantizar la máxima productividad del
usuario final, evitando retrasos y otros
impactos negativos en los negocios, a
través de un buen tiempo de respuesta de
las aplicaciones, validando su
infraestructura y arquitectura
Ahorrar tiempo y costo en las pruebas,
mediante el diseño, construcción y
ejecución de pruebas automatizadas
Testing
Methodology
Confidential // Neoris 62
En la Practica - Ciclo de Vida
Análisis Diseño
Desarrollo
y Testing
Implementación
Propuesta
Confidential // Neoris 63
Testing a través del ciclo de desarrollo del software
Nivel de Testing Tipo de Testing Breve Descripción
Testing de Unidad
Testing de Unidad
Verifica que el código de cada componente trabaja de acuerdo a sus especificaciones y
valida la lógica del programa. Se utiliza la estrategia de caja blanca
Testing de
Integración
Testing de Integración
de primer nivel
Verifica que las interfaces entre las componentes, entidades externas y la aplicación
funcionan correctamente.
Se pueden aplicar diferentes estrategias.
Testing de Integración
de segundo nivel Verifica la integración funcional entre los diferentes casos de usos del sistema.
Testing de
Sistema
Testing Funcional
Consiste en probar la funcionalidad del sistema, a partir de cumplir con los
requerimientos, sin tener en cuenta la forma en cómo éste resuelve internamente las
especificaciones. Se utiliza la estrategia de caja negra.
Testing No Funcional
Consiste en verificar el cumplimiento de los requerimientos no funcionales, por
ejemplo: capacidad de instalación, usabilidad.
Testing de Regresión
Valida, ante un cambio en el sistema, que las partes del mismo, que no hayan cambiado
continúen funcionando correctamente, luego de implementada la modificación. Se
ejecutan casos de prueba seleccionados de entre los que se definieron para Testing
Funcional y Testing No Funcional.
Testing de
Aceptación
Testing de Aceptación
Valida el cumplimiento de los requerimientos a partir del punto de vista del usuario. Se
ejecutan casos de prueba seleccionados de entre los que se definieron para Testing de
Sistema.
Ejecutados por el
Desarrollador
Ejecutados por el
Tester
Ejecutado por el
Cliente
(opcional junto al
tester)
Confidential // Neoris 64
Preparación del Testing – Actividades
Confidential // Neoris 65
Estimación del Testing
Tarea % tiempo insumido Detalle de Operaciones
Definición de casos 35%
Lectura y análisis de documentación.
Escritura de casos de Prueba.
Ejecución: 1er pasada 40%
Ejecución de Casos de Prueba.
Reporte de Errores.
Retesting 15%
Reejecución de Casos.
Actualización de Estados.
Otras tareas 10%
Generación de Informes.
Problemas con entornos.
Otros tiempos a tener en cuenta
Una vez que se tienen definidos los tiempos para los módulos, entran otras variables en juego, las cuales aumentan el
volumen de horas:
•Distintos Navegadores y/o resoluciones de pantalla.
•Cantidad de Idiomas.
•Lugar donde se testea (Staging, Producción)
Consideraciones Generales
Confidential // Neoris 66
Comunicación durante las pruebas
El testing se realizará en base a la documentación recibida y cualquier diferencia entre la
Aplicación y la documentación será considerada una falla y reportado como tal.
Asignación de Incidencias en la Herramienta.
Corrección de Incidencias y Registro en la Herramienta.
Actualización del Entorno de Testing.
Aviso Formal de la Liberación del Módulo para el Re-testing.
Tareas a Realizar
Consideraciones a Tener en Cuenta
Aviso Formal de la liberación de un
Módulo al entorno de Testing.
Documentación de Entrada
BD
Ejecución de los Casos de Prueba y
Registración de Incidencias en la
Herramienta.
Aviso Formal de Fin de Testing del
Módulo.
Ejecución del Re-testing, y pruebas de
Regresión.
Elaboración de Informe Final.
Salida Generada
BD
Confidential // Neoris 67
Consultoría de Testing
La consultoría consiste en conocer los procesos y actividades de testing que
realiza la compañía internamente y/o a través de sus proveedores.
Y así poder detectar fortalezas y debilidades de dichos procesos y actividades.
Luego, en función de este trabajo, proponer una solución metodológica y
operativa para mejorar las actividades de testing aplicables a los proyectos de
software que lleve adelante la compañía.
Permite mejorar:
• Gestión y mitigación de riesgos
• Aplican mejores prácticas en la gestión de procesos de testing
• Diseño y Mejoras en el proceso de Testing
• Soporte de expertos de testing durante el período necesario
• Trasferencia de conocimientos de testing a la organización
Confidential // Neoris 68
Automatización de Pruebas
Proceso
El proceso general de automatización comienza por la evaluación de factibilidad de automatizar
los casos de prueba, posterior confección del plan de automatización, desarrollo de los scripts y
validaciones, y por último, la ejecución de los mismos y generación de reportes. Dado que no
todos los casos de prueba definidos para una solución pueden automatizarse, este proceso
transcurre como un subproceso de testing dentro del ciclo de proyecto.
Como Optimización de muchos proyectos:
 Tareas repetitivas
 Generación de datos
 Múltiples regresiones
 Errores que se repiten demasiado
 Workflows largos necesarios para llegar a la funcionalidad a testear
Repetitividad
Impacto en
el negocio
Complejidad
Qué debería ser automatizado primero?
Test core del negocio / Test del mismo caso con diferentes datos
Test ejecutados con mucha frecuencia
Confidential // Neoris 69
Herramientas utilizadas
QA Process
Management
permite a un
usuario final
realizar un
procedimient
o de Test
sobre un
Sistema
Team
Foundation
Server (TFS).
Es un
producto de
Microsoft de
control de
versión,
recolección de
datos,
informes y
seguimiento
de proyectos.
V2008 y Beta
2010.
Confidential // Neoris 70
Herramientas Utilizadas
Confidential // Neoris 71
Comparación Herramientas Automatización
Selenium 2 (Webdriver) QTP 11(última versión)
Open Source y gratuito. Herramienta paga, cada licencia cuesta 9000 mil dólares
más 25% del costo por año en mantenimiento.
Funciona en todos los Sistemas Operativos. Funciona sólo en Windows.
Sólo para pruebas en aplicaciones Web. Pruebas en aplicaciones Web y Escritorio (Windows).
Funciona en todos los browsers. Funciona sólo con Firefox 3.5 e Internet Explorer (gran
limitación para el testing Web).
Se codifica en cualquier lenguaje (C#, Java, Ruby, Python,
PHP, Pearl, etc).
Sólo Visual Basic.
Record and Play no es 100% confiable, pero es útil (sólo se
utiliza para quienes no sepan codificar y quieren
automatizar).
Record and Play tiende a ser más sólido que en Selenium.
Selenium no se integra nativamente con QC, necesita
algunas configuraciones, pero no de forma nativa. Existen
múltiples formatos y herramientas de reporte que puede
generar Selenium.
QTP se integra muy bien con Quality Center y TD.
Selenium tiene una gran comunidad online de soporte, pero
no oficial. Hay empresas que cobran por dar soporte.
QTP tiene soporte telefónico, mail, y Web.
Confidential // Neoris 72
Preguntas?
Confidential // Neoris 73
A.U.S Gabriela Muñoz
MUCHAS GRACIAS!

Weitere ähnliche Inhalte

Was ist angesagt?

Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareLorena Quiñónez
 
4 plan de sqa presentacion
4   plan de sqa presentacion4   plan de sqa presentacion
4 plan de sqa presentacionDiego Coello
 
Análisisde requerimientos
Análisisde requerimientosAnálisisde requerimientos
Análisisde requerimientosmayrapeg
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blancaStudentPc
 
Metricas de calidad de software
Metricas de calidad de softwareMetricas de calidad de software
Metricas de calidad de softwareisisparada
 
Middleware
MiddlewareMiddleware
MiddlewareTensor
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.Juan Ravi
 
MAPA CONCEPTUAL
MAPA CONCEPTUALMAPA CONCEPTUAL
MAPA CONCEPTUALMali Ma
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del SoftwareIntellimedia
 
Metricas Tecnicas Del Software
Metricas Tecnicas Del SoftwareMetricas Tecnicas Del Software
Metricas Tecnicas Del Softwarejuic
 
Funciones del administrador de la base de datos
Funciones del administrador de la base de datosFunciones del administrador de la base de datos
Funciones del administrador de la base de datosstefakoka
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Softwarearacelij
 
gestion y configuracion del software
 gestion y configuracion del software gestion y configuracion del software
gestion y configuracion del softwareSaul Flores
 
Departamento o área de sistemas en las organizaciones
Departamento o área de sistemas en las organizacionesDepartamento o área de sistemas en las organizaciones
Departamento o área de sistemas en las organizacionesjefer
 

Was ist angesagt? (20)

Métricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de softwareMétricas de Proceso y proyecto de software
Métricas de Proceso y proyecto de software
 
4 plan de sqa presentacion
4   plan de sqa presentacion4   plan de sqa presentacion
4 plan de sqa presentacion
 
Análisisde requerimientos
Análisisde requerimientosAnálisisde requerimientos
Análisisde requerimientos
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Ieee 1074
Ieee 1074Ieee 1074
Ieee 1074
 
Metricas de calidad de software
Metricas de calidad de softwareMetricas de calidad de software
Metricas de calidad de software
 
Principios diseño del software
Principios diseño del software Principios diseño del software
Principios diseño del software
 
Proyecto Final - Calidad de Software
Proyecto Final - Calidad de SoftwareProyecto Final - Calidad de Software
Proyecto Final - Calidad de Software
 
Metodología Rup
Metodología RupMetodología Rup
Metodología Rup
 
Middleware
MiddlewareMiddleware
Middleware
 
Vista lógica
Vista lógicaVista lógica
Vista lógica
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
MAPA CONCEPTUAL
MAPA CONCEPTUALMAPA CONCEPTUAL
MAPA CONCEPTUAL
 
Las Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus AplicaciomesLas Mediciones de Software y sus Aplicaciomes
Las Mediciones de Software y sus Aplicaciomes
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del Software
 
Metricas Tecnicas Del Software
Metricas Tecnicas Del SoftwareMetricas Tecnicas Del Software
Metricas Tecnicas Del Software
 
Funciones del administrador de la base de datos
Funciones del administrador de la base de datosFunciones del administrador de la base de datos
Funciones del administrador de la base de datos
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
gestion y configuracion del software
 gestion y configuracion del software gestion y configuracion del software
gestion y configuracion del software
 
Departamento o área de sistemas en las organizaciones
Departamento o área de sistemas en las organizacionesDepartamento o área de sistemas en las organizaciones
Departamento o área de sistemas en las organizaciones
 

Ähnlich wie Testing de Software - Fundamentos y Procesos

Diseã±os de planes_de_pruebas_de_software1
Diseã±os de planes_de_pruebas_de_software1Diseã±os de planes_de_pruebas_de_software1
Diseã±os de planes_de_pruebas_de_software1naviwz
 
pruebas de calidad.pdf
pruebas de calidad.pdfpruebas de calidad.pdf
pruebas de calidad.pdfChirmi1
 
Capitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareCapitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareAndres Valencia
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de softwareCentro Líbano
 
Sesión Nº 13 - CALIDAD DE SW.pptx
Sesión Nº 13 - CALIDAD DE SW.pptxSesión Nº 13 - CALIDAD DE SW.pptx
Sesión Nº 13 - CALIDAD DE SW.pptxClaudioIbarraRios
 
Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1Vanessa Toral Yépez
 
Unidad # 8 diseño de planes de prueba
Unidad # 8 diseño de planes de pruebaUnidad # 8 diseño de planes de prueba
Unidad # 8 diseño de planes de pruebaDarleneperalta
 
Software quality assurance (sqa) parte iii-plan de calidad y prueba v3.0
Software quality assurance (sqa)  parte iii-plan de calidad y prueba v3.0Software quality assurance (sqa)  parte iii-plan de calidad y prueba v3.0
Software quality assurance (sqa) parte iii-plan de calidad y prueba v3.0Renato Gonzalez
 
Modelo V y W para pruebas y aseguramientov2.pptx
Modelo V y W para pruebas y aseguramientov2.pptxModelo V y W para pruebas y aseguramientov2.pptx
Modelo V y W para pruebas y aseguramientov2.pptxGuillermoAntonioVill
 
Fundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del softwareFundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del softwareWilliam Remolina
 
Actividad 3 prueba de software juan esteban uribe m
Actividad 3 prueba de software juan esteban uribe mActividad 3 prueba de software juan esteban uribe m
Actividad 3 prueba de software juan esteban uribe mjuanesellanza1
 
Curso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdfCurso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdfBarcodeBarcode
 
RMyA - Presentación Jornada ORT Estandar ISO IEC 29119 - 2011 v1.0
RMyA - Presentación Jornada ORT Estandar ISO IEC 29119 - 2011 v1.0RMyA - Presentación Jornada ORT Estandar ISO IEC 29119 - 2011 v1.0
RMyA - Presentación Jornada ORT Estandar ISO IEC 29119 - 2011 v1.0Pilar Barrio
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 

Ähnlich wie Testing de Software - Fundamentos y Procesos (20)

Fundamentos Rational Tester
Fundamentos Rational TesterFundamentos Rational Tester
Fundamentos Rational Tester
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Diseã±os de planes_de_pruebas_de_software1
Diseã±os de planes_de_pruebas_de_software1Diseã±os de planes_de_pruebas_de_software1
Diseã±os de planes_de_pruebas_de_software1
 
pruebas de calidad.pdf
pruebas de calidad.pdfpruebas de calidad.pdf
pruebas de calidad.pdf
 
Capitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareCapitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_software
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Sesión Nº 13 - CALIDAD DE SW.pptx
Sesión Nº 13 - CALIDAD DE SW.pptxSesión Nº 13 - CALIDAD DE SW.pptx
Sesión Nº 13 - CALIDAD DE SW.pptx
 
Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1Diseños de planes de pruebas de software1
Diseños de planes de pruebas de software1
 
Unidad # 8 diseño de planes de prueba
Unidad # 8 diseño de planes de pruebaUnidad # 8 diseño de planes de prueba
Unidad # 8 diseño de planes de prueba
 
Software quality assurance (sqa) parte iii-plan de calidad y prueba v3.0
Software quality assurance (sqa)  parte iii-plan de calidad y prueba v3.0Software quality assurance (sqa)  parte iii-plan de calidad y prueba v3.0
Software quality assurance (sqa) parte iii-plan de calidad y prueba v3.0
 
Modelo V y W para pruebas y aseguramientov2.pptx
Modelo V y W para pruebas y aseguramientov2.pptxModelo V y W para pruebas y aseguramientov2.pptx
Modelo V y W para pruebas y aseguramientov2.pptx
 
Fundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del softwareFundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del software
 
Pruebas - Fundamentos
Pruebas - FundamentosPruebas - Fundamentos
Pruebas - Fundamentos
 
Pruebas fundamentos
Pruebas fundamentosPruebas fundamentos
Pruebas fundamentos
 
Fase1
Fase1Fase1
Fase1
 
Fase1
Fase1Fase1
Fase1
 
Actividad 3 prueba de software juan esteban uribe m
Actividad 3 prueba de software juan esteban uribe mActividad 3 prueba de software juan esteban uribe m
Actividad 3 prueba de software juan esteban uribe m
 
Curso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdfCurso Basico-Testing-03r003.pdf
Curso Basico-Testing-03r003.pdf
 
RMyA - Presentación Jornada ORT Estandar ISO IEC 29119 - 2011 v1.0
RMyA - Presentación Jornada ORT Estandar ISO IEC 29119 - 2011 v1.0RMyA - Presentación Jornada ORT Estandar ISO IEC 29119 - 2011 v1.0
RMyA - Presentación Jornada ORT Estandar ISO IEC 29119 - 2011 v1.0
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 

Kürzlich hochgeladen

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 

Kürzlich hochgeladen (20)

GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 

Testing de Software - Fundamentos y Procesos

  • 1. Testing de Software Abril 2012 Cátedra: Proyecto Profesor: Mario Bressano Universidad Tecnológica Nacional - FRRO
  • 2. Confidential // Neoris 2 Agenda Lunes 9 de Abril Testing Fundamentos del Testing Proceso Fundamental de Testing Modelo de Desarrollo de Software: Modelo V Niveles de Prueba Tipos de Prueba Martes 10 de Abril Conceptos Teóricos finalización En la Practica
  • 3. Confidential // Neoris 3 ¿Testing?
  • 4. Confidential // Neoris 4 Pruebas de Software - Testing Las pruebas de software, en inglés “Testing” son los procesos que permiten verificar y revelar la calidad de un producto software. Son utilizadas para identificar posibles fallos de implementación, calidad, o usabilidad de un programa de ordenador o videojuego. Básicamente es una fase en el desarrollo de software consistente en probar las aplicaciones construidas. “El testing puede probar la presencia de errores pero no la ausencia de ellos”. Edsger Wybe Dijkstra Definición
  • 5. Confidential // Neoris 5 ¿Por qué es necesario el Testing?
  • 6. Confidential // Neoris 6 Fundamentos del Testing La importancia económica del software Calidad del Software Pruebas para la mejora de la calidad El funcionamiento de maquinaria y equipamiento depende en gran medida del software. No es posible imaginar grandes sistemas, en el ámbito de las finanzas ni el control del tráfico automotor, entre otros, funcionando sin software. Cada vez más, la calidad software se ha convertido en un factor determinante del éxito de sistemas y productos técnicos o comerciales. Las pruebas y revisiones aseguran la mejora de la calidad de productos de software así como de la calidad del proceso de desarrollo en sí.
  • 7. Confidential // Neoris 7 Terminología
  • 8. Confidential // Neoris 8 Error Defecto Falla
  • 9. Confidential // Neoris 9 Definición Error Acción humana que produce un resultado incorrecto. Ej. Un error de programación. Defecto Desperfecto en un componente o sistema que puede causar que el componente o sistema falle en desempeñar las funciones requeridas. Ej: una sentencia o una definición de datos incorrecta. Falla Manifestación física o funcional de un defecto. Si un defecto es encontrado durante la ejecución de una aplicación puede producir un fallo. Desvío de un componente o sistema respecto del resultado esperado.
  • 10. Confidential // Neoris 10 Fundamentos del Testing Grado en el cual un componente, sistema o proceso satisface requisitos especificados y/o necesidades y expectativas del usuario/cliente. Calidad
  • 11. Confidential // Neoris 11 Calidad de Software  Atributos funcionales de calidad: Funcionalidad: correctitud y completitud de los requisitos del usuario.  Atributos NO funcionales de calidad: Fiabilidad: el sistema mantendrá su capacidad y funcionalidad a lo largo de un período de tiempo. Usabilidad: fácil de usar, fácil de aprender, conforme a normas y uso intuitivo. Portabilidad: fácil de instalar y desinstalar, y configurar parámetros.
  • 12. Confidential // Neoris 12 ¿Cuánto Testing es necesario?
  • 13. Confidential // Neoris 13 Fundamentos del Testing El testing exhaustivo es imposible. Testear todas las combinaciones de entradas y precondiciones no es factible. Para enfocar el testing nos debemos basar en Riesgos y Prioridades.
  • 14. Confidential // Neoris 14 ¿Qué es testing?
  • 15. Confidential // Neoris 15 Consiste solamente en realizar pruebas. Es ejecutar la aplicación. Percepción común Es fácil y cualquiera lo puede hacer.
  • 16. Confidential // Neoris 16 Las actividades de la prueba existen antes y después de la ejecución de la prueba. Puede haber diferentes objetivos de prueba: Realidad Encontrar defectos. Ganar confianza sobre el nivel de calidad y proporcionar información. Prevenir defectos
  • 17. Confidential // Neoris 17 Proceso Fundamental de Testing El proceso fundamental del Testing Planificación y Control Análisis y Diseño Aplicación y Ejecución Evaluación de los criterios de salida y Reportes Actividades de cierre de Pruebas El proceso de prueba fundamental consiste de las siguientes actividades principales:
  • 18. Confidential // Neoris 18 Planificación y Control Planificación y Control Determinar el alcance y los riesgos, e identificar los objetivos de la prueba. Implementar la estrategia de prueba. Programar los análisis de prueba y las tareas de diseño. Nos aseguramos de haber entendido las metas y objetivos del cliente, el proyecto y los riesgos de las tareas de testing.
  • 19. Confidential // Neoris 19 Análisis y Diseño Análisis y Diseño Revisión de los elementos básicos para las pruebas (tales como los requerimientos, arquitectura de la aplicación, diseño, interfaces). Identificar y priorizar las condiciones de las pruebas y datos de pruebas basado en el análisis anterior. Actividad donde los objetivos generales de las pruebas se transforman en condiciones de prueba tangibles y casos de prueba. Puesta a punto del entorno de pruebas y se determinan las herramientas necesarias
  • 20. Confidential // Neoris 20 Ejecución Aplicación y Ejecución Evaluación de los criterios de salida y Reportes Ejecutar las pruebas. Registrar resultados, Comparar e Informar. Repetir las pruebas.
  • 21. Confidential // Neoris 21 Implementación y ejecución de prueba La implementación y ejecución de prueba tienen las siguientes tareas principales: Ejecutar los casos de prueba ya sea manualmente o mediante el uso de herramientas de ejecución de prueba, de acuerdo con la secuencia planeada. Registrar el resultado de la ejecución de prueba y la versión del software bajo prueba, en una herramientas de prueba. Comparar los resultados reales con los resultados esperados. Informar discrepancias como incidentes. Repetir las actividades de prueba después de las correcciones. Por ejemplo, la re- ejecución de una prueba que falló previamente para confirmar un arreglo (pruebas de confirmación), ejecución de pruebas para asegurarse que los defectos no han sido introducidos en áreas no cambiadas del software o que el arreglo del defecto no reveló otros defectos (pruebas de regresión).
  • 22. Confidential // Neoris 22 Evaluación de los criterios de salida y Reportes Evaluar los criterios de salida es la actividad donde la ejecución de prueba es evaluada contra los objetivos definidos. Esto debe hacerse para cada nivel de prueba. Evaluar los criterios de prueba tiene las siguientes tareas principales: Comparar los registros de prueba contra los criterios de salida especificados en la planificación de prueba. Evaluar si se necesitan más pruebas. Escribir un reporte de resumen de prueba para las partes interesadas.
  • 23. Confidential // Neoris 23 Actividades de cierre de Pruebas Actividades de cierre de Pruebas Se recolecta la información de las actividades de prueba completadas para consolidar. Verificar el entregable y que los defectos hayan sido corregidos. Archivar todo el material generado en las pruebas para un futuro uso. Evaluar como resultaron las actividades de testing y analizar las lecciones aprendidas.
  • 24. Confidential // Neoris 24 Psicología de Prueba El modo de pensar a ser usado mientras se prueba y revisa es diferente al usado mientras se analiza o desarrolla. La separación de esta responsabilidad hacia un probador es realizada típicamente para ayudar a enfocar el esfuerzo y para proporcionar beneficios adicionales, tales como una visión independiente. Varios niveles de independencia pueden ser definidos: Pruebas diseñadas por la(s) persona(s) que escribió (escribieron) el software bajo prueba. Pruebas diseñadas por otra(s) persona(s) del equipo de desarrollo. (bajo nivel de independencia). Pruebas diseñadas por una(s) persona(s) de un grupo organizacional diferente (por ejemplo, un grupo de prueba independiente. Pruebas diseñadas por una(s) persona(s) de una organización o compañía diferente (es decir subcontratación o certificación por un organismo externo).
  • 25. Confidential // Neoris 25 Psicología de Prueba – continuación Identificar fallas durante la prueba puede ser percibido como una crítica contra el producto y contra el autor. La prueba es, por lo tanto, a menudo vista como una actividad destructiva, aunque es muy constructiva en la gestión de riesgos del producto. Buscar fallas en un sistema requiere curiosidad, pesimismo profesional, un ojo crítico, atención al detalle, buena comunicación con los pares de desarrollo y experiencia en que basar la conjetura de error. Si los errores, defectos o fallas son comunicados en una forma constructiva, malos sentimientos entre los probadores y los analistas, diseñadores y desarrolladores pueden ser evitados.
  • 26. Confidential // Neoris 26 Modelos de desarrollo de Software
  • 27. Confidential // Neoris 27 Testing a través del ciclo de desarrollo del software La prueba no existe en forma aislada; las actividades de prueba están relacionadas con las actividades de desarrollo de software. Los diferentes modelos de ciclo de vida de desarrollo necesitan diferentes enfoques hacia la prueba. Modelo-V Aunque existen variantes del Modelo-V, un tipo común de Modelo-V usa 4 niveles de prueba, correspondientes a 4 niveles de desarrollo. Los cuatro niveles usados en este programa son: Prueba de componente (unidad). Prueba de integración. Prueba de sistema. Prueba de aceptación. En la práctica, un Modelo-V puede tener diferentes niveles de desarrollo y prueba, dependiendo del proyecto y del producto de software. Por ejemplo, puede existir prueba de integración de componentes después de las pruebas de componente y prueba de integración del sistema después de la prueba del sistema.
  • 28. Confidential // Neoris 28 Modelo V Diseño Funcional del Sistema Diseño Técnico del Sistema Especif. de Componentes Definición de Requisitos Pruebas de Aceptación Pruebas de Sistema Pruebas de Integración Pruebas de Componentes Programación
  • 29. Confidential // Neoris 29 Testing a través del ciclo de desarrollo del software Niveles de Pruebas Testing de Componentes Testing de Integración Testing del Sistema Testing de Aceptación
  • 30. Confidential // Neoris 30 Testing de Componentes Testing de Componentes Definición Prueba de cada componente tras su realización/construcción Los componentes son referidos como módulos, clases o unidades También denominadas pruebas de Desarrollador (developer’s test) Alcance Cada componente es probado de forma independiente Descubrir fallos producidos por defectos internos Los casos de prueba tienen 3 fuentes: especificaciones de componente, diseño, modelo de datos.
  • 31. Confidential // Neoris 31 Testing de Integración Testing de Componentes Testing de Integración Definición Comprueba la interacción entre elementos de software (componentes) tras la integración del sistema. Comprueban las funciones externas. Pueden ser ejecutadas por desarrolladores, testers o ambos.
  • 32. Confidential // Neoris 32 Testing de Integración Testing de Componentes Testing de Integración Estrategias Incremental Descendente Ascendente Ad-Hoc No Incremental
  • 33. Confidential // Neoris 33 Estrategias – Tipos fundamentales de Integración Integración incremental. Se combina el siguiente módulo que se debe probar con el conjunto de módulos que ya han sido probados. Ascendente. Se combinan los módulos de bajo nivel en grupos que realicen una función o subfunción específica (o quizás si no es necesario, individualmente) -> de este modo reducimos el número de pasos de integración. Se escribe para cada grupo un módulo impulsor o conductor -> de este modo permitimos simular la llamada a los módulos, introducir datos de prueba y recolectamos resultados. Se prueba cada grupo mediante su impulsor. Se eliminan los módulos impulsores y se sustituyen por los módulos de nivel superior en la jerarquía.
  • 34. Confidential // Neoris 34 Estrategias – Tipos fundamentales de Integración Integración incremental. Descendente. Se comienza por el módulo raíz. Comienza por el módulo de control principal y va incorporando módulos subordinados progresivamente. No hay un orden adecuado de integración, pero se recomienda lo siguiente: Si hay secciones críticas (especialmente complejas) se deben integrar lo antes posible. El orden de integración debe incorporar cuanto antes los módulos de entrada/salida para facilitar la ejecución de pruebas. Integración NO incremental. Se prueba cada módulo por separado y luego se integran todos de una vez y se prueba el programa completo. Ad-hoc: Los componentes serán probados, si fuera posible, inmediatamente después de haber sido finalizada su construcción y se hayan finalizado las pruebas de componente.
  • 35. Confidential // Neoris 35 COMPARACION DE LOS DISTINTOS TIPOS DE INTEGRACION PRUEBAS DEL SOFTWARE Ventajas de la No incremental: Requiere menos tiempo de máquina para las pruebas, ya que se prueba de una sola vez la combinación de los módulos. Existen más oportunidades de probar módulos en paralelo. Ventajas de la incremental: Los defectos y errores en las interfaces se detectan antes, ya que se empieza antes a probar las uniones entre los módulos. La depuración es mucho más fácil, ya que si se detectan los síntomas de un defecto en un paso de la integración hay que atribuirlo muy probablemente al último módulo incorporado. Se examina con mayor detalle el programa, al ir comprobando cada interfaz poco a poco.
  • 36. Confidential // Neoris 36 ASCENDENTES DESCENDENTES VENTAJAS VENTAJAS Es un método ventajoso si aparecen grandes fallos en la parte inferior del programa, ya que se prueba antes. La entradas para las pruebas son más módulos inferiores. Es más fácil observar los resultados de la prueba, ya que es en los módulos inferiores donde se elaboran los datos (los superiores suelen ser módulos de control). Es ventajosa si aparecen grandes defectos en los niveles superiores del programa, ya que se prueban antes. Permite ver antes una estructura previa del programa, lo que facilita el hacer demostraciones. DESVENTAJAS DESVENTAJAS Se requieren módulos impulsores, que deben codificarse. El programa, como entidad, sólo aparece cuando se agrega el último módulo. Las entradas para las pruebas pueden ser difíciles o imposibles de crear, puesto que, a menudo, se carece de los módulos inferiores que proporcionan los detalles de operación. Es más difícil observar la salida, ya que los resultados surgen de los módulos inferiores. INCREMENTAL
  • 37. Confidential // Neoris 37 Testing de Sistema Testing de Componentes Testing de Integración Testing de Sistema Enfoques para las pruebas funcionales: Basadas en Requisitos. Basadas en Procesos de Negocio. Basadas en Casos de Uso. Los casos de prueba se derivan de la especificación de requisitos. El número de casos de prueba variará en función del tipo/profundidad de las pruebas basadas en la especificación de requisitos. Cada proceso de negocio sirve como fuente para derivar/generar pruebas. El orden de relevancia de los procesos de negocio puede ser aplicado para asignar prioridades a los casos de prueba. Los casos de prueba se derivan/generan a partir de las secuencias de usos esperados o razonables. Las secuencias utilizadas con mayor frecuencia reciben una prioridad más alta. Definición Tiene que ver con el comportamiento de todo un sistema/producto, definida por el alcance de un proyecto de desarrollo o programa.
  • 38. Confidential // Neoris 38 Testing de Aceptación Testing de Componentes Testing de Integración Testing del Sistema Testing de Aceptación Definición Pruebas formales llevadas a cabo con el objeto de verificar la conformidad del sistema con los requisitos. El Objetivo de las pruebas de aceptación es validar que un sistema cumple con el funcionamiento esperado y permitir al usuario de dicho sistema que determine su aceptación, desde el punto de vista de su funcionalidad y rendimiento.
  • 39. Confidential // Neoris 39 Tipos de Pruebas Testing relacionado a cambios Testing Estructural Tipos de pruebas: Objetivos del proceso de Pruebas Testing Funcional Testing No Funcional
  • 40. Confidential // Neoris 40 Tipos de Pruebas – Testing Funcional Testing Funcional Objetivo: La función del objeto de prueba. Las funciones, que un sistema, un subsistema o un componente realizará, pueden estar descritas en productos de trabajo tales como una especificación de requisitos, casos de uso o una especificación funcional, o podrían estar no documentados. Las funciones son “lo que” el sistema hace. Las pruebas funcionales consideran el comportamiento externo del software (pruebas de caja negra). Se pueden llevar a cabo en todos los niveles de pruebas
  • 41. Confidential // Neoris 41 Tipos de Pruebas – Testing No Funcional Testing No Funcional Pruebas de Performance Pruebas de Volumen Pruebas de Concurrencia Objetivo: La finalidad de la prueba es saber “como” funciona el sistema. El termino pruebas no funcionales describe las pruebas necesarias para medir las características de los sistemas y software que se puede cuantificar en una escala variable, tales como tiempos de respuesta para las pruebas de rendimiento.
  • 42. Confidential // Neoris 42 Tipos de Pruebas – Testing Estructural Testing Estructural Objetivo: La finalidad de las pruebas es medir el grado en el cual la estructura del objeto de prueba ha sido cubierto por los casos de prueba. Las pruebas estructurales (de caja blanca) pueden ser realizadas en todos los niveles de prueba, pero sobre todo en las pruebas de componentes (unit testing) y las pruebas de integración de componentes. Las técnicas estructuradas son las mejores usadas después de las técnicas basadas en especificaciones.
  • 43. Confidential // Neoris 43 Tipos de Pruebas – Testing relacionado a cambios Testing de confirmación/regresión Objetivo: Repetir una prueba de funcionalidad que ha sido verificada previamente. Confirmación: Cuando un defecto es detectado y arreglado, entonces el software debe ser probado de nuevo para confirmar que el defecto original ha sido retirado exitosamente. Regresión: son las pruebas repetidas de un programa ya testeado, después de una modificación, para descubrir cualquier error introducido o no descubierto como resultado del cambio(s). Estos errores pueden ser ya sea en el software que se está testeando, o en otro componente del software relacionado o no. Se lleva a cabo cuando el software, o su entorno, sufren cambios. El alcance de las pruebas de regresión esta basado en el riesgo de no encontrar errores en el software que estaba funcionando anteriormente.
  • 44. Confidential // Neoris 44 Pruebas de Mantenimiento Las pruebas de mantenimiento se realizan en un sistema operativo existente, y es provocada por modificaciones, migración de datos, o la jubilación del software o sistema. Las modificaciones incluyen cambios planificados, correctivos y cambios de emergencia, y cambios de ambiente, como el sistema operativo o base de datos prevista, actualizaciones o parches. Además de verificar lo que se ha cambiado, las pruebas de mantenimiento incluyen extensivas pruebas de regresión a las partes del sistema que no han sido cambiadas. La determinación de cómo el sistema actual puede verse afectado por los cambios se llama análisis de impacto, y es utilizado para ayudar a decidir la cantidad de pruebas de regresión a hacer. Testing durante el mantenimiento
  • 45. Confidential // Neoris 45 Recapitulación Error, defecto y falla. Proceso fundamental de testing. Ciclo de desarrollo de software: modelo V. Niveles de pruebas: •Componente. •Integración. •Incremental (asc o desc), No Incremental, Ad hoc. •Sistema. •Aceptación. Tipos de Pruebas (a través de los distintos niveles) Testing Funcional Testing No Funcional: carga, stress, volumen, etc. Testing Estructural: caja blanca Testing Relacionado a Cambios: confirmacion/regresión. Pruebas en el Mantenimiento.
  • 46. Confidential // Neoris 46 Preguntas?
  • 47. Confidential // Neoris 47 Martes 10 de Abril  Diseño de Pruebas  Técnicas  Caja Negra  Caja Blanca  En la Práctica  Ciclo de Vida y Testing  Niveles de Prueba  Servicios de Testing  Consultoría de pruebas  Automatización  Herramientas Agenda
  • 48. Confidential // Neoris 48 Diseño de Pruebas
  • 49. Confidential // Neoris 49 Terminología
  • 50. Confidential // Neoris 50 Caso de Prueba Definición Son un conjunto de condiciones o variables bajo las cuáles el analista determinará si el requisito de una aplicación es parcial o completamente satisfactorio. Se pueden realizar muchos casos de prueba para determinar que un requisito es completamente satisfactorio. Debe haber al menos un caso de prueba para cada requisito. Algunas metodologías como RUP recomiendan el crear por lo menos dos casos de prueba para cada requisito. Uno de ellos debe realizar la prueba positiva de los requisitos y el otro debe realizar la prueba negativa. Lo que caracteriza un escrito formal de caso de prueba es que hay una entrada conocida y una salida esperada. La entrada conocida debe probar una precondición y la salida esperada debe probar una postcondición.
  • 51. Confidential // Neoris 51 Casos de Prueba - continuación Objetivo Descripción Información general acerca de los Casos de Prueba: Resultado Esperado Creador Versión Identificador
  • 52. Confidential // Neoris 52 Caso de Prueba - continuación Objetivo: Es el fin que se quiere alcanzar y al cual se dirige la acción. El objetivo debe estar alineado con el resultado esperado. Ejemplo: • Verificar que el sistema solicita confirmación para la eliminación. Descripción: los pasos que debe seguir el tester para realizar la prueba y alcanzar el objetivo expuesto. Ejemplo: • Realizar una búsqueda que arroje resultados, seleccionar un elemento de la lista y seleccionar la opción “Eliminar”. Resultado Esperado: Es la respuesta que esperamos de la aplicación testeada luego de ejecutar los pasos detallados en la descripción con el fin de alcanzar el objetivo. Ejemplo: • El sistema muestra un mensaje de confirmación.
  • 53. Confidential // Neoris 53 Técnicas de diseño de pruebas
  • 54. Confidential // Neoris 54 Representación Gráfica CAJA BLANCA El tester observa el objeto de pruebas como una caja negra. Los casos de prueba se obtienen a partir del análisis de la especificación de un componente o sistema. La funcionalidad es el foco de la atención. Se realiza sobre las funciones internas de un módulo. Los casos de prueba son seleccionados en base a la estructura interna del programa/código. La estructura del programa es el foco de la atención. CAJA NEGRA
  • 55. Confidential // Neoris 55 Técnicas de Caja Blanca
  • 56. Confidential // Neoris 56 Caja Blanca Utiliza la estructura de control de diseño procedural para derivar casos de pruebas que: Garanticen que todos los caminos independientes dentro de un módulo han sido ejercitados por lo menos una vez. Ejerciten todas las decisiones lógicas en sus lados verdaderos y falsos. Ejerciten estructuras de datos internas para asegurar su validez. Distintos Métodos: Cobertura de Camino Básico Cobertura de Condición Cobertura de Bucles
  • 57. Confidential // Neoris 57 Técnicas de caja negra
  • 58. Confidential // Neoris 58 Técnicas de diseño de pruebas Los métodos más utilizados son: Particiones de equivalencias Es un proceso sistemático que identifica un conjunto de clases de prueba representativas de un conjunto de pruebas posibles, la idea es que el producto se comportará de la misma manera para todos los miembros de una clase. Consta de los siguientes pasos: 1. Identificar las clases de equivalencias: Por ejemplo: (si un contador puede ir de 1 a 999). Entonces tendríamos: Clases Válidas: (1 <= contador <= 999). Clases Inválidas: (contador < 1), (contador > 999) 2. Identificar los casos de pruebas: asignar un nro. único a cada clase, diseñar casos de pruebas hasta cubrir todas las clases válidas y clases inválidas. Análisis de valores fronteras Es una variante del particiones de equivalencias, se seleccionan los bordes de una clase. Por cada clase válida hay que definir pruebas para las fronteras. Por ejemplo: número entre 3 y 8, probar para 2, 3, 8 y 9.
  • 59. Confidential // Neoris 59 Resumen Caso de Prueba: identificador, objetivo, descripción, resultado esperado, etc. Técnicas Caja Negra: Particiones de Equivalencias, Análisis de valores frontera. Caja Blanca: Cobertura de camino Básico, de condición, de bucle. Los métodos de caja negra y caja blanca son métodos dinámicos. Solo se puede probar código existente. Detecta el código muerto, pero no funciones faltantes. Los métodos de caja blanca son utilizados en pruebas de bajo nivel como prueba de componente o pruebas de integración de componentes.
  • 60. Confidential // Neoris 60 EN LA PRACTICA
  • 61. Confidential // Neoris 61 Servicios de Testing Permite evaluar y conocer los procesos y actividades de testing que se realizan y proponer una solución metodológica y operativa de acuerdo a las oportunidades identificadas. Asegurar que el usuario final obtiene la funcionalidad requerida a través de un software bien construido Garantizar la máxima productividad del usuario final, evitando retrasos y otros impactos negativos en los negocios, a través de un buen tiempo de respuesta de las aplicaciones, validando su infraestructura y arquitectura Ahorrar tiempo y costo en las pruebas, mediante el diseño, construcción y ejecución de pruebas automatizadas Testing Methodology
  • 62. Confidential // Neoris 62 En la Practica - Ciclo de Vida Análisis Diseño Desarrollo y Testing Implementación Propuesta
  • 63. Confidential // Neoris 63 Testing a través del ciclo de desarrollo del software Nivel de Testing Tipo de Testing Breve Descripción Testing de Unidad Testing de Unidad Verifica que el código de cada componente trabaja de acuerdo a sus especificaciones y valida la lógica del programa. Se utiliza la estrategia de caja blanca Testing de Integración Testing de Integración de primer nivel Verifica que las interfaces entre las componentes, entidades externas y la aplicación funcionan correctamente. Se pueden aplicar diferentes estrategias. Testing de Integración de segundo nivel Verifica la integración funcional entre los diferentes casos de usos del sistema. Testing de Sistema Testing Funcional Consiste en probar la funcionalidad del sistema, a partir de cumplir con los requerimientos, sin tener en cuenta la forma en cómo éste resuelve internamente las especificaciones. Se utiliza la estrategia de caja negra. Testing No Funcional Consiste en verificar el cumplimiento de los requerimientos no funcionales, por ejemplo: capacidad de instalación, usabilidad. Testing de Regresión Valida, ante un cambio en el sistema, que las partes del mismo, que no hayan cambiado continúen funcionando correctamente, luego de implementada la modificación. Se ejecutan casos de prueba seleccionados de entre los que se definieron para Testing Funcional y Testing No Funcional. Testing de Aceptación Testing de Aceptación Valida el cumplimiento de los requerimientos a partir del punto de vista del usuario. Se ejecutan casos de prueba seleccionados de entre los que se definieron para Testing de Sistema. Ejecutados por el Desarrollador Ejecutados por el Tester Ejecutado por el Cliente (opcional junto al tester)
  • 64. Confidential // Neoris 64 Preparación del Testing – Actividades
  • 65. Confidential // Neoris 65 Estimación del Testing Tarea % tiempo insumido Detalle de Operaciones Definición de casos 35% Lectura y análisis de documentación. Escritura de casos de Prueba. Ejecución: 1er pasada 40% Ejecución de Casos de Prueba. Reporte de Errores. Retesting 15% Reejecución de Casos. Actualización de Estados. Otras tareas 10% Generación de Informes. Problemas con entornos. Otros tiempos a tener en cuenta Una vez que se tienen definidos los tiempos para los módulos, entran otras variables en juego, las cuales aumentan el volumen de horas: •Distintos Navegadores y/o resoluciones de pantalla. •Cantidad de Idiomas. •Lugar donde se testea (Staging, Producción) Consideraciones Generales
  • 66. Confidential // Neoris 66 Comunicación durante las pruebas El testing se realizará en base a la documentación recibida y cualquier diferencia entre la Aplicación y la documentación será considerada una falla y reportado como tal. Asignación de Incidencias en la Herramienta. Corrección de Incidencias y Registro en la Herramienta. Actualización del Entorno de Testing. Aviso Formal de la Liberación del Módulo para el Re-testing. Tareas a Realizar Consideraciones a Tener en Cuenta Aviso Formal de la liberación de un Módulo al entorno de Testing. Documentación de Entrada BD Ejecución de los Casos de Prueba y Registración de Incidencias en la Herramienta. Aviso Formal de Fin de Testing del Módulo. Ejecución del Re-testing, y pruebas de Regresión. Elaboración de Informe Final. Salida Generada BD
  • 67. Confidential // Neoris 67 Consultoría de Testing La consultoría consiste en conocer los procesos y actividades de testing que realiza la compañía internamente y/o a través de sus proveedores. Y así poder detectar fortalezas y debilidades de dichos procesos y actividades. Luego, en función de este trabajo, proponer una solución metodológica y operativa para mejorar las actividades de testing aplicables a los proyectos de software que lleve adelante la compañía. Permite mejorar: • Gestión y mitigación de riesgos • Aplican mejores prácticas en la gestión de procesos de testing • Diseño y Mejoras en el proceso de Testing • Soporte de expertos de testing durante el período necesario • Trasferencia de conocimientos de testing a la organización
  • 68. Confidential // Neoris 68 Automatización de Pruebas Proceso El proceso general de automatización comienza por la evaluación de factibilidad de automatizar los casos de prueba, posterior confección del plan de automatización, desarrollo de los scripts y validaciones, y por último, la ejecución de los mismos y generación de reportes. Dado que no todos los casos de prueba definidos para una solución pueden automatizarse, este proceso transcurre como un subproceso de testing dentro del ciclo de proyecto. Como Optimización de muchos proyectos:  Tareas repetitivas  Generación de datos  Múltiples regresiones  Errores que se repiten demasiado  Workflows largos necesarios para llegar a la funcionalidad a testear Repetitividad Impacto en el negocio Complejidad Qué debería ser automatizado primero? Test core del negocio / Test del mismo caso con diferentes datos Test ejecutados con mucha frecuencia
  • 69. Confidential // Neoris 69 Herramientas utilizadas QA Process Management permite a un usuario final realizar un procedimient o de Test sobre un Sistema Team Foundation Server (TFS). Es un producto de Microsoft de control de versión, recolección de datos, informes y seguimiento de proyectos. V2008 y Beta 2010.
  • 70. Confidential // Neoris 70 Herramientas Utilizadas
  • 71. Confidential // Neoris 71 Comparación Herramientas Automatización Selenium 2 (Webdriver) QTP 11(última versión) Open Source y gratuito. Herramienta paga, cada licencia cuesta 9000 mil dólares más 25% del costo por año en mantenimiento. Funciona en todos los Sistemas Operativos. Funciona sólo en Windows. Sólo para pruebas en aplicaciones Web. Pruebas en aplicaciones Web y Escritorio (Windows). Funciona en todos los browsers. Funciona sólo con Firefox 3.5 e Internet Explorer (gran limitación para el testing Web). Se codifica en cualquier lenguaje (C#, Java, Ruby, Python, PHP, Pearl, etc). Sólo Visual Basic. Record and Play no es 100% confiable, pero es útil (sólo se utiliza para quienes no sepan codificar y quieren automatizar). Record and Play tiende a ser más sólido que en Selenium. Selenium no se integra nativamente con QC, necesita algunas configuraciones, pero no de forma nativa. Existen múltiples formatos y herramientas de reporte que puede generar Selenium. QTP se integra muy bien con Quality Center y TD. Selenium tiene una gran comunidad online de soporte, pero no oficial. Hay empresas que cobran por dar soporte. QTP tiene soporte telefónico, mail, y Web.
  • 72. Confidential // Neoris 72 Preguntas?
  • 73. Confidential // Neoris 73 A.U.S Gabriela Muñoz MUCHAS GRACIAS!

Hinweis der Redaktion

  1. Mi nombre es Gabriela MuñozEste es mi trabajo final para la materia Proyecto.El tema que elegí y sobre el cual investigué es Testing de Software (porque además trabajo en una empresa de rosario en Testing).Tenemos 2 días en lo cuales armé la presentación para que el primer dia veamos temas teoricos y si podemos terminar hoy con ellos. Y el segundo día mostrarles como se implementa el testing en la empresa donde yo trabajo.Algunos conceptos teóricos que vamos a estar viendo son:
  2. Edsger Wybe Dijkstra - Fue un científico de la computación de los Países Bajos.
  3. RUP – (Rational Unified Process) Proceso Unificado de Rational.Es un proceso de desarrollo de software y junto con el Lenguaje Unificado de Modelado UML, constituye la metodología estándar más utilizada para el análisis, implementación y documentación de sistemas orientados a objetos.Ejemplo Caso de PruebaCampo cantidad tiene que ser mayor que 100.Ej. CP1: ingresar una cantidad mayor que 100. CP2: Ingresar una cantidad menor que 100, ingresar una cantidad igual a 100.
  4. Caso de prueba: PreCondicion -Objetivo – Descripción – Resultado esperado. Puede haber otros campos a utilizar.Ejemplo Objetivo: Verificar que el sistema solicita confirmación para la eliminación
  5. Inception:La meta de esta fase es lograr una clara descripción de los requerimientos con la participación del cliente en la definición de los objetivos del proyecto. Elaboration:La meta de esta fase es definir la arquitectura del sistema estableciendo la base del diseño para la construcción del mismo.Construction:La meta de esta fase es completar el desarrollo del sistema soportado en una arquitectura definida. Transition:La meta de esta fase es asegurar que el software se libere adecuadamente a los usuarios. En este punto del ciclo de vida, la retroalimentación del cliente es básica para culminar con la aceptación del producto.
  6. Planificar TestingEstimación de Testing (por experiencia, basada en Hs de desarrollo).Plan de Pruebas: Ambientes, schedule, requerimientos, etc.Diseño de CP: escritura en herramienta, PR escritura.