Curso Software Testing

Embed Size (px)

Citation preview

  • 8/18/2019 Curso Software Testing

    1/26

     Pruebas

    1

  • 8/18/2019 Curso Software Testing

    2/26

    1. Descripción y objetivos

     Las pruebas son prácticas a realizar en diversosmomentos de la vida del sistema de información para

     El correcto funcionamiento de los componentes del sistema.

     El correcto ensamblaje entre los distintos componentes.   El funcionamiento correcto de las interfaces entre los

    distintos subsistemas que lo componen y con el resto desistemas de información con los que se comunica.

    unc onam en o correc o e s s ema n egra o ehardware y software en el entorno de operación.

      Que el sistema cumple con el funcionamiento esperado y 

    aceptación, desde el punto de vista de su funcionalidad y rendimiento.

      ue los cambios sobre un com onente de un sistema deinformación, no introducen un comportamiento no deseado oerrores adicionales en otros componentes no modificados.

    2

  • 8/18/2019 Curso Software Testing

    3/26

    1. Descripción y objetivos

    El diseño de casos de prueba para la

    esfuerzo considerable (cerca del 40% del

    Verificación y Validación

      er cac n:⌂ ¿estamos construyendo el producto correctamente?

    ⌂ ¿estamos construyendo el producto correcto?

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

    3

  • 8/18/2019 Curso Software Testing

    4/26

    2. Tipologías.

    Pruebas Unitarias.

    Pruebas de Integración.

    Pruebas de Implantación.

    Pruebas de Aceptación.   .

    4

  • 8/18/2019 Curso Software Testing

    5/26

    2. Tipologías. Unitarias

    Las pruebas unitarias constituyen la pruebainicial de un sistema y las demás pruebasdeben apoyarse sobre ellas.

     Tipologías: n oque estructura o e ca a anca. e ver ca

    la estructura interna del componente conindependencia de la funcionalidad establecida para

    el mismo. Por tanto, no se comprueba lacorrección de los resultados si éstos seproducen.

    Enfoque funcional o de caja negra. Se compruebael correcto funcionamiento de los componentes del

    ,salidas y verificando que el resultado es elesperado.

    5

  • 8/18/2019 Curso Software Testing

    6/26

    2. Tipologías. Integración

    El objetivo de las pruebas de integración

    entre los distintos componentes   una

    unitariamente con el fin de comprobar

    través de sus interfaces, tanto internas,

    establecida y se ajustan a los requisitos

    verificaciones correspondientes.

    6

  • 8/18/2019 Curso Software Testing

    7/26

    2. Tipologías. Del Sistema.

    Las pruebas del sistema tienen como

    sistema comprobando la integracióndel sistema de informaciónlobalmente, verificando el

    funcionamiento correcto de las

    subsistemas que lo componen y con el

    los que se comunica.

    7

  • 8/18/2019 Curso Software Testing

    8/26

    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 dis ositivos remotos como locales.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. E xaminar el funcionamiento del sistema cuando está trabajando con, .

    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 dis onibilidad de datos.   Consisten en demostrar ue el sistema uederecuperarse 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 de

    ,obtener 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 y 

    rearranque del sistema, etc.rue as e en orno.   er car as nteracc ones e s stema con otros s stemas entro e

    mismo entorno.

    Pruebas de seguridad.   Consisten en verificar los mecanismos de control de acceso alsistema para evitar alteraciones indebidas en los datos.

    8

  • 8/18/2019 Curso Software Testing

    9/26

    2. Tipologías. De Implantación.

    El objetivo es comprobar el

    integrado de hardware y software en elentorno de operación, y permitir alusuario ue, desde el unto de vista de

    operación, revise el sistema en base al

    funcionales especificados.

    9

  • 8/18/2019 Curso Software Testing

    10/26

    2. Tipologías. De Aceptación.

    El objetivo de las pruebas de aceptación

    el funcionamiento   esperado y permitiral usuario   de dicho sistema que

    determine su ace tación, desde el

    punto de vista de su funcionalidad y .

    10

  • 8/18/2019 Curso Software Testing

    11/26

    2. Tipologías. De Regresión.

    El objetivo de las pruebas de regresión

    , ,

    comprobar que los cambios sobre uncomponente de un sistema de

    información, no introducen un

    comportamiento no deseado o errores

    modificados

    epet c n e casos e prue a

    11

  • 8/18/2019 Curso Software Testing

    12/26

    3. Pruebas de Caja Blanca

    Objetivo : Probar el funcionamiento de la

    programación.

    menos todos los caminos independientes de

    .Prueban todas las decisiones lógicas en sus

    vert entes ver a era y a sa.

    Ejecutan todos los bucles.

    Ejecutan todas las estructuras internas.

    12

  • 8/18/2019 Curso Software Testing

    13/26

    3. Pruebas de Caja Blanca

    Pruebas Caja Blanca:

      rue a e am no s co

    Prueba de la Estructura de Control.⌂Prueba de condición

    ⌂Prueba de flujo de datos

    ⌂Prueba de bucles

    13

  • 8/18/2019 Curso Software Testing

    14/26

    3. Pruebas de Caja Blanca. Camino Básico

     Propuesta por Tom McCabe (1976) 

    ejecución.

     Pasos :

      A partir del diseño o del código fuente, dibujar el

    grafo de flujo asociado

     Se calcula la complejidad ciclomática del grafo Se determina un con unto básico de caminos

    independientes

      Se preparan los casos de prueba que obliguen a laejecución de cada camino del conjunto básico

    14

  • 8/18/2019 Curso Software Testing

    15/26

  • 8/18/2019 Curso Software Testing

    16/26

    3. Pruebas de Caja Blanca. Camino Básico

    Complejidad ciclomática de un grafo de

    caminos independientes

    ue e ca cu arse e res ormasalternativas:

    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

      = + ,⌂donde P es el número de nodos predicado

    16

  • 8/18/2019 Curso Software Testing

    17/26

    3. Pruebas de Caja Blanca. Camino Básico

    11 V(G) = 4

    2, 3

    66   4, 54, 5  tiene cuatro regiones.

    8877ar s as - no os += 4

    99   3 nodos predicado + 1 =

    11

    17

  • 8/18/2019 Curso Software Testing

    18/26

    3. Pruebas de Caja Blanca. Camino Básico

    1

    34

    6

    7

    8 Camino 1: 1-9

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

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

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

    18

  • 8/18/2019 Curso Software Testing

    19/26

    3. Pruebas de Caja Blanca. Estructuras de Control

    Bucles

    anidados

    Buclessimples

    Buclesconcatenados

    Bucles no

    19

  • 8/18/2019 Curso Software Testing

    20/26

    3. Pruebas de Caja Blanca. Estructuras de Control

    Prueba de Bucles.   Objetivo : Validar las construcciones de bucles.

      Tipos :

    ⌂  Simples. – licar siendo  n  el número máximo de asos ermitidos:

    1. Saltarse el bucle.

    2. Ejecutarlo sólo una vez.

    3. Pasar dos veces.

    . , .

    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.

     – Si el contador del primer bucle no se utiliza como valor inicial del segundo

    bucle, pueden probarse como bucles simples.

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

    20

  • 8/18/2019 Curso Software Testing

    21/26

    4. Pruebas de Caja Negra.

     Las pruebas de caja negra se centran en los requisitosfuncionales del software

     Comprobar que la funcionalidad del programa o

    sistema es completamente operativa.ue a en ra a se acep a e orma a ecua a y a

    salida es correcta.

    se mantiene.  Errores típicos encontrados:

     Funciones incorrectas o ausentes

     Errores de interfase

     Errores de rendimiento

     Errores de inicialización y de terminación

    21

  • 8/18/2019 Curso Software Testing

    22/26

    4. Pruebas de Caja Negra.

    Algunas técnicas que se basan en la

    Partición EquivalenteAnálisis de Valores Límite

      -

    Pruebas de Comparación

    22

  • 8/18/2019 Curso Software Testing

    23/26

    4. Pruebas de Caja Negra. Partición Equivalente

    Método que divide el campo de entrada de un

    Una condición de entrada   es un valor, ,miembro de un conjunto de valores o lógica

    Una c ase e equiva encia   representa unconjunto de estados válidos y no válidos parauna con c n e entra a

    La prueba de partición equivalente se basa enevaluar las clases de equivalencia para una

    condición de entrada

    23

  • 8/18/2019 Curso Software Testing

    24/26

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

    Condiciónde Entrada

    Tipo Clase EquivalenciaVálida

    Clase EquivalenciaNo Válida

    go anco g ca pue e

    estar o no) Si está

    es Rango

    : n anco

    2: 100

  • 8/18/2019 Curso Software Testing

    25/26

  • 8/18/2019 Curso Software Testing

    26/26

    26