26
Pruebas 1

ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

Pruebas

1

Page 2: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

1. Descripción y objetivosLas pruebas son prácticas a realizar en diversosmomentos de la vida del sistema de información paraverificar:verificar:

El correcto funcionamiento de los componentes del sistema.El correcto ensamblaje entre los distintos componentes.El funcionamiento correcto de las interfaces entre losdistintos subsistemas que lo componen y con el resto desistemas de información con los que se comunica.El f ncionamiento correcto del sistema integrado deEl funcionamiento correcto del sistema integrado dehardware y software en el entorno de operación.Que el sistema cumple con el funcionamiento esperado ypermite al usuario de dicho sistema que determine supermite al usuario de dicho sistema que determine suaceptación, desde el punto de vista de su funcionalidad yrendimiento.Que los cambios sobre un componente de un sistema deQ pinformación, no introducen un comportamiento no deseado oerrores adicionales en otros componentes no modificados.

2

Page 3: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

1. Descripción y objetivos

El diseño de casos de prueba para laverificación del software puede significar unverificación del software puede significar unesfuerzo considerable (cerca del 40% deltiempo total de desarrollo)tiempo total de desarrollo)Verificación y ValidaciónV ifi ióVerificación:⌂ ¿estamos construyendo el producto correctamente?

Validación:Validación:⌂ ¿estamos construyendo el producto correcto?

Recursos:Recursos:http://www.aptest.com/resources.html

3

Page 4: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

2. Tipologías.

Pruebas Unitarias.b dPruebas de Integración.

Pruebas del Sistema.Pruebas del Sistema.Pruebas de Implantación.Pruebas de Aceptación.Pruebas de RegresiónPruebas de Regresión.

4

Page 5: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

2. Tipologías. UnitariasLas pruebas unitarias constituyen la pruebainicial de un sistema y las demás pruebasd b b lldeben apoyarse sobre ellas.Tipologías:

E f t t l d j bl S ifiEnfoque estructural o de caja blanca. Se verificala estructura interna del componente conindependencia de la funcionalidad establecida parael mismo. Por tanto, no se comprueba lacorrección de los resultados si éstos seproducen.pEnfoque funcional o de caja negra. Se compruebael correcto funcionamiento de los componentes delsistema de información analizando las entradas ysistema de información, analizando las entradas ysalidas y verificando que el resultado es elesperado.

5

Page 6: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

2. Tipologías. Integración

El objetivo de las pruebas de integraciónes verificar el correcto ensamblajees verificar el correcto ensamblajeentre los distintos componentes unavez que han sido probadosvez que han sido probadosunitariamente con el fin de comprobarque interactúan correctamente aque interactúan correctamente através de sus interfaces, tanto internascomo externas cubren la funcionalidadcomo externas, cubren la funcionalidadestablecida y se ajustan a los requisitosno funcionales especificados en lasno funcionales especificados en lasverificaciones correspondientes.

6

Page 7: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

2. Tipologías. Del Sistema.

Las pruebas del sistema tienen comoobjetivo ejercitar profundamente elobjetivo ejercitar profundamente elsistema comprobando la integracióndel sistema de informaciónglobalmente, verificando elg ,funcionamiento correcto de lasinterfaces entre los distintosinterfaces entre los distintossubsistemas que lo componen y con elresto de sistemas de información conresto de sistemas de información conlos que se comunica.

7

Page 8: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

2. Tipologías. Del Sistema.Pruebas funcionales. Dirigidas a asegurar que el SI realiza correctamente todas lasfunciones que se han detallado en las especificaciones dadas por el usuario del sistema.Pruebas de comunicaciones. Determinan que las interfaces entre los componentes delsistema funcionan adecuadamente, tanto a través de dispositivos remotos, como locales., p ,Asimismo, se han de probar las interfaces hombre/máquina.Pruebas de rendimiento. Determinar que los tiempos de respuesta están dentro de losintervalos establecidos en las especificaciones del sistema.Pruebas de volumen. Examinar el funcionamiento del sistema cuando está trabajando congrandes volúmenes de datos simulando las cargas de trabajo esperadasgrandes volúmenes de datos, simulando las cargas de trabajo esperadas.Pruebas de sobrecarga. Comprobar el funcionamiento del sistema en el umbral límite de losrecursos, sometiéndole a cargas masivas. El objetivo es establecer los puntos extremos enlos cuales el sistema empieza a operar por debajo de los requisitos establecidos.Pruebas de disponibilidad de datos. Consisten en demostrar que el sistema puedep q precuperarse ante fallos, tanto de equipo físico como lógico, sin comprometer la integridad delos datos.Pruebas de facilidad de uso. Consisten en comprobar la adaptabilidad del sistema a lasnecesidades de los usuarios, tanto para asegurar que se acomoda a su modo habitual detrabajo como para determinar las facilidades que aporta al introducir datos en el sistema ytrabajo, como para determinar las facilidades que aporta al introducir datos en el sistema yobtener los resultados.Pruebas de operación. Consisten en comprobar la correcta implementación de losprocedimientos de operación, incluyendo la planificación y control de trabajos, arranque yrearranque del sistema, etc.P b d t V ifi l i t i d l i t t i t d t d lPruebas de entorno. Verificar las interacciones del sistema con otros sistemas dentro delmismo entorno.Pruebas de seguridad. Consisten en verificar los mecanismos de control de acceso alsistema para evitar alteraciones indebidas en los datos.

8

Page 9: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

2. Tipologías. De Implantación.

El objetivo es comprobar elfuncionamiento correcto del sistemafuncionamiento correcto del sistemaintegrado de hardware y software en elentorno de operación, y permitir alusuario que, desde el punto de vista deq , poperación, revise el sistema en base alcumplimiento de los requisitos nocumplimiento de los requisitos nofuncionales especificados.

9

Page 10: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

2. Tipologías. De Aceptación.

El objetivo de las pruebas de aceptaciónes validar que un sistema cumple cones validar que un sistema cumple conel funcionamiento esperado y permitiral usuario de dicho sistema quedetermine su aceptación, desde elp ,punto de vista de su funcionalidad yrendimientorendimiento.

10

Page 11: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

2. Tipologías. De Regresión.

El objetivo de las pruebas de regresiónes eliminar el efecto onda es decires eliminar el efecto onda, es decir,comprobar que los cambios sobre uncomponente de un sistema deinformación, no introducen un,comportamiento no deseado o erroresadicionales en otros componentes noadicionales en otros componentes nomodificados(R i ió d d b )(Repetición de casos de prueba)

11

Page 12: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca

Objetivo: Probar el funcionamiento de laestructura de control de las unidades deestructura de control de las unidades deprogramación.Garantizan que se ejecutan una vez por loGarantizan que se ejecutan una vez por lomenos todos los caminos independientes decada módulocada módulo.Prueban todas las decisiones lógicas en sus

i d d f lvertientes verdadera y falsa.Ejecutan todos los bucles.Ejecutan todas las estructuras internas.

12

Page 13: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca

Pruebas Caja Blanca:P b d l C i Bá iPrueba del Camino BásicoPrueba de la Estructura de Control.⌂Prueba de condición⌂Prueba de flujo de datos⌂Prueba de bucles

13

Page 14: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca. Camino Básico

Propuesta por Tom McCabe (1976)Objetivo: Definir un conjunto básico de caminos deObjetivo: Definir un conjunto básico de caminos deejecución.Pasos:A partir del diseño o del código fuente, dibujar elgrafo de flujo asociadog jSe calcula la complejidad ciclomática del grafoSe determina un conjunto básico de caminosjindependientesSe preparan los casos de prueba que obliguen a laejecución de cada camino del conjunto básico

14

Page 15: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca. Camino Básico

SecuenciaSecuencia

IfWhile

Case

Until

15

Page 16: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca. Camino Básico

Complejidad ciclomática de un grafo deflujo V(G) establece el número deflujo V(G) establece el número decaminos independientesP d l l d t fPuede calcularse de tres formasalternativas:El número de regiones del grafo de flujoV(G) = A - N + 2,⌂donde A es el número de aristas y N es elnúmero de nodos

V(G) P 1V(G) = P + 1,⌂donde P es el número de nodos predicado

16

Page 17: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca. Camino Básico

11 V(G) = 4

2, 3

El grafo de la figura

66 4, 54, 5

El grafo de la figuratiene cuatro regiones.11 i t 9 d + 2

8877

11 aristas - 9 nodos + 2= 4

1010

99 3 nodos predicado + 1 =4

1111

1010 4

17

1111

Page 18: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca. Camino Básico

1

22 34

56

7

5

8 Camino 1: 1-9Camino 2: 1-2-3-8-1-9

9 Camino 3: 1-2-4-5-7-8-1-9Camino 4: 1-2-4-6-7-8-1-9

18

Page 19: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca. Estructuras de Control

Buclesanidados

Buclessimples

Buclesconcatenados

Bucles noestructurados

19

estructurados

Page 20: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

3. Pruebas de Caja Blanca. Estructuras de Control

Prueba de Bucles.Objetivo: Validar las construcciones de bucles.Tipos:⌂ Simples.

– Aplicar, siendo n el número máximo de pasos permitidos:Aplicar, siendo n el número máximo de pasos permitidos:1. Saltarse el bucle.2. Ejecutarlo sólo una vez.3. Pasar dos veces.4 Hacer m pasadas siendo m<n4. Hacer m pasadas, siendo m<n.5. Hacer n-1 y n+1 pasos en el bucle.

⌂ Concatenados1.Comenzar por el bucle más interno.2. Probarlo como un bucle simple.3. Progresar hacia fuera, manteniendo los bucles internos en sus valores típicos.4. Continuar hasta probarlos todos.

⌂ Anidados⌂ Anidados– Si el contador del primer bucle no se utiliza como valor inicial del segundobucle, pueden probarse como bucles simples.

– Si no es así deberá aplicarse el enfoque de anidados.

20

Page 21: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

4. Pruebas de Caja Negra. Las pruebas de caja negra se centran en los requisitosfuncionales del softwareComprobar que la funcionalidad del programa osistema es completamente operativa.Q l t d t d f d d lQue la entrada se acepta de forma adecuada y lasalida es correcta.Verificar que la integridad de la información internaVerificar que la integridad de la información internase mantiene.Errores típicos encontrados:

Funciones incorrectas o ausentesErrores de interfaseErrores de estructura de datos o acceso a BD externasErrores de estructura de datos o acceso a BD externasErrores de rendimientoErrores de inicialización y de terminación

21

Page 22: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

4. Pruebas de Caja Negra.

Algunas técnicas que se basan en lafilosofía de la caja negra son:filosofía de la caja negra son:Partición EquivalenteAnálisis de Valores LímiteGrafos de Causa-EfectoGrafos de Causa EfectoPruebas de Comparación

22

Page 23: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

4. Pruebas de Caja Negra. Partición Equivalente

Método que divide el campo de entrada de unprograma en clases de datosprograma en clases de datosUna condición de entrada es un valornumérico específico un rango de valores unnumérico específico, un rango de valores, unmiembro de un conjunto de valores o lógicaU l d i l iUna clase de equivalencia representa unconjunto de estados válidos y no válidos para

di ió d duna condición de entradaLa prueba de partición equivalente se basa enevaluar las clases de equivalencia para unacondición de entrada

23

Page 24: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

4. Pruebas de Caja Negra. Partición equivalente.

Condición de Entrada

Tipo Clase Equivalencia Válida

Clase Equivalencia No Válida

Códi b Ló i ( d 1 E bl 3 U l é iCódigo banco Lógica (puedeestar o no) Si estáes Rango

1: En blanco2: 100<= Código banco <= 999

3: Un valor no numérico4: Código banco < 1005: Código banco > 999

Códi R 6 0 Códi l 7 Códi l 1000Códigosucursal

Rango 6: 0 <= Código sucursal <=9999

7: Código sucursal < 10008: Código sucursal >= 9999

Nº Cuenta Valor 9: Cualquier número de cinco 10: Número de más de cincodígitos dígitos

11: Número de menos de cincodígitos

Clave Valor 12: Cualquier cadena decaracteres alfanuméricosde 5 posiciones

13: Cadena de menos de 5posiciones

14: Cadena de más de 5i iposiciones

Orden Conjunto, concomportamientodi ti t

15: “”16: “Transferencia”17 “R t ”

18: Cadena distinta de blanco y delas válidas

24

distinto 17: “Retroceso”

Page 25: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

4. Pruebas de Caja Negra. Valores límite

La técnica de Análisis de Valores Límitesselecciona casos de prueba que ejerciten losl lvalores límite

l l b d i iComplementa la prueba de particiónequivalente. En lugar de realizar la pruebacon cualquier elemento de la particióncon cualquier elemento de la particiónequivalente, se escogen los valores en losbordes de la clase

Se derivan tanto casos de prueba a partir del di i d d l dlas condiciones de entrada como con las desalida

25

Page 26: ISIII 09 PRUE.ppt [Modo de compatibilidad]ocw.uc3m.es/cursos-archivados/ingneieria-del-software... · 2019. 5. 16. · Camino Básico 9Propuesta por Tom McCabe (1976) 9Objetivo: Definir

26