Tema I Testing Estructurado

Documentos relacionados
Elemento crítico para la garantía de calidad del software y representa una revisión final de las especificaciones, del diseño y de la codificación.

Tema 1 Testing Estructurado

Testing Unitario. Laboratorio de Testing y Aseguramiento de la Calidad del Software

Tema I Testing Estructurado

Prueba, caso de prueba, defecto, falla, error, verificación, validación.

Verificación. Taller de Programación

Plan de estudios ISTQB: Nivel Fundamentos

CLASE 11: PRUEBAS DE SOFTWARE. Unversidad Simón Bolívar. Prof. Ivette Carolina Martínez

Tema 5 - Pruebas del software Ingeniería del Software de Gestión II

Centro Asociado Palma de Mallorca Tutor: Antonio Rivero Cuesta

Calidad del Software. Ejercicios Tema 4 Conceptos de pruebas

Fundamentos de Pruebas de Software

PRUEBAS FUNCIONALES USANDO TÉCNICAS DE CAJA NEGRA PARTE I

GUÍA DE LABORATORIO Nº 19 Implementación de casos de prueba

CLASE # 6 PRUEBAS FUNCIONALES USANDO TÉCNICAS DE CAJA NEGRA PARTE I

Ingeniería del Software I

TEMA 2.1 TIPOS DE PRUEBAS DEL SOFTWARE

Modelos de calidad. Técnicas de prueba del software Estrategias de prueba del software. Calidad del software. Factores de Calidad. producto.

TÉCNICAS DE CAJA BLANCA

Temario III Testing in the Large

Universidad de Cantabria. Facultad de Ciencias Ingeniería en Informática. Ingeniería del Software II

Pruebas de Software. Escuela de Ingeniería de Sistemas y Computación Desarrollo de Software II Agosto Diciembre 2008

Pruebas de caja blanca

Introducción a la Computación. Testing en Python. Maximiliano Geier. Facultad de Ciencias Exactas y Naturales, UBA 13/11/2017

Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales

PRUEBA DE SOFTWARE LA PRUEBA DE UN SISTEMA

Verificación y Validación de Software

Operaciones en Datos

Técnicas de Pruebas de

Procesadores de lenguaje Tema 5 Comprobación de tipos

Trabajo Práctico 4: Testing Funcional

Ingeniería del Software. Pruebas. Pruebas en el PUD. Las pruebas del software. Diseño de casos de prueba. Pruebas de SI OO

IF ELSE, IF ELSE IF JAVASCRIPT. CONDICIONALES DEL FLUJO O ESTRUCTURAS DE DECISIÓN. EJEMPLOS. EJERCICIOS. (CU01119E)

Tema: Estructuras de Selección en C#.

Aseguramiento de la calidad y pruebas de software 5- Pruebas del software Caja Negra/Caja Blanca Blanca A. Vargas Govea

DISEÑO DEL SISTEMA DE INFORMACION (DSI)

Etapas en la solución de un problema

1/1. Diseño Modular. 18 de febrero de 2017

PRUEBAS FUNCIONALES USANDO TÉCNICAS DE CAJA NEGRA PARTE II

Metodologías de Desarrollo de Software

Operadores aritméticos

Tipos de Datos de python (2ª parte):

Tema 2. Concepto de Algoritmo

FUNDAMENTOS DE INFORMÁTICA

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Plantilla SVVP (Software Verification & Validation Plan) Trabajo de grado Ingeniería de Sistemas Pontificia Universidad

Técnicas Avanzadas de Testing Automatizado

EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999

Plantilla Documento de casos de prueba

Tema 3. Estructuras de Datos

SÍNTESIS DE CIRCUITOS DIGITALES CON VHDL.

Tema 4.- Recursión e iteración

INGENIERÍA DEL SOFTWARE II Práctica 1. Univ. Cantabria Fac. de Ciencias Carlos Blanco, Juan Hernández

Tipo de competencia: Específica

ANÁLISIS DINÁMICO DEL SOFTWARE: PRUEBAS. Sira Vegas Rodrigo Fonseca

ALGORITMICA Y PROGRAMACION POR OBJETOS I

PRUEBAS DEL SOFTWARE Verificación: estamos construyendo correctamente el producto? Validación: estamos construyendo el producto correcto?

BASES DE DATOS (IG18 Semipresencial) El Modelo Relacional Cálculo Relacional y SQL

bash Scripting 31 de mayo de 2007

Etapa 1: El Dialogo. Etapa 2: Las Especificaciones

Fundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)

M. C. Felipe Santiago Espinosa

PHP: Lenguaje de programación

Proceso de Testing Funcional Independiente

Prueba de programas. Programación II (I.T.I de Gestión) Introducción. Consecuencias de la definición. Primeros conceptos

Ingeniería del software I 9 - Diseño detallado

Software Tester QA. Programa de Estudio.

Los defectos en el desarrollo de Software Corporativo

ALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.

Conceptos básicos de álgebra relacional

JavaScript: Operadores

De los casos de uso a los casos de prueba

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Los tipos de datos primitivos

III. Generación de Código orientado a objetos

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

Los puntos básicos sobre la importancia del Testing y el aseguramiento de la calidad en productos de software son:

INSTITUCIÓN EDUCATIVA COLEGIO NUESTRA SEÑORA DEL PILAR DANE: Licencia de funcionamiento resolución N del 08 de octubre 2007

PRUEBAS DE SISTEMAS. Hungría Berbesí UNEFA Ingeniería de Sistemas

obtenidos a partir de los objetos que manipula. un nuevo paradigma de programación, La POO es Clases su forma de módulo.

Fundamentos de Programación

TEMARIO DE CURSOS. Para reservar su cupo consulte: h1p:// forward.com/ events/

Programación Estructurada

Tema 3.- Predicados y sentencias condicionales

Fase de Pruebas Introducción.

Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Esquemas repetitivos en Fortran 90. Tipos de Esquema

Tema 4: Pruebas - Conceptos. Departamento de Lenguajes y Sistemas Informáticos II

Verificación y Validación de Software

Adquisición de TIC - Código Abierto

Universidad Autónoma del Estado de México Facultad de Medicina

Dra. Jessica Andrea Carballido

abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples

Operadores de comparación

Universidad Don Bosco. Facultad de Ingeniería. Escuela de Computación. Ingeniería de Software

2.3 DEFINICIÓN DE LENGUAJES ALGORÍTMICOS

Maquina de Turing. 5. Fundamentos de algoritmos. Turing TURING TURING 10/08/2010. MI Elizabeth Fonseca Chávez

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

Esquemas repetitivos en Fortran 90

Transcripción:

Tema I Testing Estructurado 4ta Parte Verificación y Validación de Software UNS Contenido Testing de Unidad: Caja Negra Grafos Causa Efecto Clases de Equivalencia Valores Límite Verificación y Validación de Software UNS 2

Testing de Unidad: Caja Negra Lectura Ghezzi, C., et.al. Fundamentals of Software Engineering. Prentice Hall, 99. [Cap. 6] White Lee, General Overview of Software Testing. Artículos Scuola estiva Software Testing Metodi e Tecniche, Italia, 993. Verificación y Validación de Software UNS 3 Testing de Módulos: Caja Negra () No tiene en cuenta la estructura El sistema se ve como una caja negra con entradas y con salidas Sólo nos importa que la salida sea correcta para unas entradas predefinidas Se comprueba la respuesta conforme a la especificación Verificación y Validación de Software UNS 4

Testing de Módulos: Caja Negra (2) Es impracticable probar el software para todas las posibilidades De nuevo hay que tener criterios para elegir buenos casos de prueba Permite descubrir la omisión de implementación de un camino de control Especificación Formal vs. Informal Verificación y Validación de Software UNS 5 Testing de Módulos: Caja Negra (3) Problema del Oráculo Para muchos problemas no es posible determinar a priori el resultado de la ejecución de un programa => no existen datos de test para comparar Es necesario contar con un Oráculo de Testing, para chequear correctitud de las salidas de los tests. El Oráculo puede asumir la forma de una tabla de valores, algoritmos para ejecutar manualmente, fórmulas en el cálculo de predicados. Verificación y Validación de Software UNS 6

Testing de Módulos: Caja Negra (4) Un caso de prueba funcional es bien elegido si se cumple que: Reduce el número de otros casos necesarios para que la prueba sea razonable Esto implica que el caso ejecute el máximo número de posibilidades de entrada diferentes para así reducir el total de casos Verificación y Validación de Software UNS 7 Testing de Módulos: Caja Negra (5) Proceso de Testing de Caja Negra: Descomponer una especificación en un conjunto de casos relevantes Producir para cada caso uno o más datos de test La descomposición es por pasos, basada en la identificación de condiciones y la derivación de casos Verificación y Validación de Software UNS 8

Testing de Módulos: Caja Negra (6) Existen diversas técnicas: Grafos Causa-Efecto/Tablas de Decisión Clases de Equivalencia Valores Límites Verificación y Validación de Software UNS 9 Caja Negra: Grafos Causa Efecto () Solo debemos conocer los operadores booleanos OR AND IF A = OR B = THEN C = IF A = AND B = THEN C = Explora las circunstancias donde se dan combinaciones de las entradas Verificación y Validación de Software UNS

Caja Negra: Grafos Causa Efecto (2) Solo debemos conocer los operadores booleanos IDENTITY NOT IF A = THEN B = IF A = THEN B = ELSE B = Verificación y Validación de Software UNS Caja Negra: Grafos Causa Efecto (3) Desarrollando los Grafos, Tablas y Casos de Test. Dividir la especificación en piezas que sean trabajables. No intentar crear un simple grafo para toda la especificación 2. Identificar Causas y Efectos: Una causa es una única condición de entrada Un efecto es una condición de salida o transformación del sistema 3. Traducir las relaciones semánticas en cada segmento en relaciones booleanas enlazando causas con efectos. Es decir, construir los grafos Verificación y Validación de Software UNS 2

Caja Negra: Grafos Causa Efecto (4) 4. Colocar las restricciones que se aplican a las causas y efectos Restricciones sobre las Causas Exclusiva Inclusiva A lo sumo uno es TRUE. A= THEN B=; B= THEN A=. Pueden ser ambos Al menos uno es TRUE. No pueden ser todos FALSE Verificación y Validación de Software UNS 3 Caja Negra: Grafos Causa Efecto (7) Restricciones sobre las Causas Requiere Una y solo una A es TRUE entonces B debe ser TRUE. Si A= THEN B= Solo una puede ser TRUE. No pueden ser ambas FALSE ni ambas TRUE. Restricciones sobre los Efectos Mascaras Si el efecto A es TRUE (A=) entonces el efecto B debe ser FALSE (B=) Verificación y Validación de Software UNS 4

Caja Negra: Grafos Causa Efecto (8) Desarrollando los Grafos, Tablas y Casos de Test 5. Crear una Tabla de Decisión resumiendo todas las posibles combinaciones de estados Las Causas son las entradas Los Efectos son las salidas Las Columnas son los casos de prueba 6. Dividir las entradas de la tabla en reglas, una por cada combinación única de estados en el grafo. Verificación y Validación de Software UNS 5 Caja Negra: Grafos Causa Efecto (9) Desarrollando los Grafos, Tablas y Casos de Test Indicar cuales combinación de estados están asociados con los efectos colocando una X (o un ) en la columna que representa esa combinación estadocondición. Convertir cada columna (regla) de la tabla de decisión en un caso de test Verificación y Validación de Software UNS 6

Caja Negra: Grafos Causa Efecto () Ejemplo: Requerimientos para calcular primas en seguros de autos : Para mujeres de menos de 65 años, la prima es de $5 Para hombres de menos de 25 años, la prima es de $3 Para hombres entre 25 y 64 años, la prima es de $ Para cualquiera de mas de 65 años, la prima es de $5 Verificación y Validación de Software UNS 7 Caja Negra: Grafos Causa Efecto () Ejemplo: Pasos -2 Causas (condiciones de entrada). Sexo masculino 2. Sexo femenino 3. Edad < 25 4. Edad >=25 y < 65 5. Edad >= 65 Efectos (condiciones de salida). Prima = $. Prima = $3 2. Prima = $5 3. Prima = $5 Verificación y Validación de Software UNS 8

Caja Negra: Grafos Causa Efecto (2) Ejemplo: Paso 3 Causas: (Sexo masculino) AND 4 (Edad >=25 y < 65) Efecto: (Prima = $) 2 Causas:. (Sexo masculino) AND 3 (Edad <25) Efecto: (Prima = $3) Verificación y Validación de Software UNS 9 Caja Negra: Grafos Causa Efecto (2) Ejemplo: Paso 3 3 Causas: ( AND 5 (Edad >= 65)) OR (2 (Sexo femenino) AND 5) Efecto: 2 (Prima = $5 4 Causas: (2 AND 3 (Edad <25) OR (2 AND 4 (Edad >=25 y < 65) Efecto: 3 (Prima = $5) Verificación y Validación de Software UNS 2

Caja Negra: Grafos Causa Efecto (3) Ejemplo: Paso 4 Colocamos una restricción de una y solo una porque el sexo puede ser femenino o masculino pero no ambas 3 Verificación y Validación de Software UNS 2 Caja Negra: Grafos Causa Efecto (4) Ejemplo: Pasos 5-75 grafo 3 grafo 4 Casos de Test 2 3 4 5 6 Causas (masculino) 2 (femenino) 3 (<25) 4 (>=25 y <65) 5 (>=65) Efectos ($) ($3) 2 ($5) 3 ($5) Verificación y Validación de Software UNS 22

Caja Negra: Grafos Causa Efecto (5) Casos de Test Ejemplo: Paso 8 Entradas (Causas) Salidas Esperadas (Efectos) Sexo Edad Masculino <25 $3 2 Masculino >=25 y <65 $ 3 Masculino >=65 $5 4 Femenino >=65 $5 5 Femenino <25 $5 6 Femenino >=25 y <65 $5 Verificación y Validación de Software UNS 23 Caja Negra: Clases de Equivalencia () Se utilizan para reducir el número de tests sin reducir su cobertura La metodología a a seguir es: Identificar todas las entradas posibles a la unidad que se está testeando. Particionar el universo de las entradas en Clases Definir Cláses Válidas: aquellas que son las entradas esperadas Definir Clases Inválidas: aquellas que no cumplen los requisitos Escoger unos datos representativos de cada clase y probar sólo con esos datos Comprobar que la salida se corresponde con la entrada. Verificación y Validación de Software UNS 24

Caja Negra: Clases de Equivalencia (2) Ejemplo: Entrada: Código de entre uno y tres caracteres ASCII como máximo Particiones: Cadenas de uno a tres carácteres. Ej. CR Entradas inválidas: Cadenas de cuatro o más caracteres. Ej. FGTRY Cadena nula: null Test representativos a pasar a la unidad: CR, FGTRY, null. Verificación y Validación de Software UNS 25 Caja Negra: Clases de Equivalencia (3) Identificación de las Clases de Equivalencia: Rango de valores una clase equivalente válida dos clases inválidas Número de valores una clase equivalente válida dos clases inválidas Conjunto de valores de entradas, manejados en forma diferente por el programa uno válido y otro inválido Debe ser uno válido y otro inválido Verificación y Validación de Software UNS 26

Caja Negra: Valores Límites () Se testean las unidades considerando los valores límites l de sus entradas y salidas. Puede considerarse como un caso especial de las Clases de Equivalencia eligiendo como valores los límites de las distintas clases. Verificación y Validación de Software UNS 27 Caja Negra: Valores Límites (2) Los límites son más propensos a los errores tanto en la especificación como en el propio código. A menudo no se especifica la manera de interactuar con esos valores. Codificando no los tenemos en cuenta: if a>... if a<... Si a= que hacemos? Verificación y Validación de Software UNS 28

Caja Negra: Valores Límites (3) Ejemplos de valores que hay que testear: Máximos valores tanto negativos como positivos de los valores numéricos de entrada y salida así como el valor cero. Cadenas nulas, de un caracter, del límite máximo de las cadenas tanto de salida como de entrada. Archivos vacíos o con un solo caracter Para un rango de valores entre x e y (x-), x, (x+) (y-), y, (y+) Para n elementos, probar con n-, n y n+ elementos x Verificación y Validación de Software UNS 29 y Caja Negra: Valores Límites (4) Ejemplo: Entrada: Código de entre uno y tres caracteres ASCII como máximo Particiones: Cadenas de un caracter. Ej. A Cadenas de tres caracteres. Ej. DNI Entradas inválidas: Cadenas de cuatro caracteres. Ej. TOMA Cadena nula: null Test representativos a pasar a la unidad: A, DNI, TOMA, null Verificación y Validación de Software UNS 3