SlideShare una empresa de Scribd logo
1 de 54
Descargar para leer sin conexión
INGENIERIA DE SISTEMAS




MODELO DE PRUEBAS DE
     SOFTWARE


          DARWIN JIMENEZ
      CARLOS EDUARDO AGUIRRE
CONTENIDO
1.   Definición de conceptos
2.   Fundamentos de las pruebas de software
3.   Objetivos de la prueba
4.   Principios de la prueba
5.   Facilidad de la prueba
6.   Tipos de Pruebas
7.   Proceso de Pruebas
CONTENIDO
8.   Enfoques de pruebas
•    Prueba de la caja blanca
•    Prueba del camino básico
•    Prueba de la estructura de control
•    Prueba de la caja negra
1. DEFINICIONES DE
              CONCEPTOS

1. Falla (failure): Ocurre cuando un programa no
    se comporta de manera adecuada.

2. Falta (fault): Tiene lugar en el código del
   programa. La existencia de una falta en el
   programa puede generar una falla en el
   sistema.
1. Definiciones de Conceptos
3. Error: Es una acción humana que provoca que
    un software contenga una falta. Un error
    puede significar la existencia de una falta en
    el programa, lo cual hace que el sistema
    falle.
1. Definiciones de Conceptos

No se puede garantizar ni probar
que un sistema jamás falle, si no
que sólo se puede demostrar que
contiene faltas. No encontrar
faltas no significa que la prueba
haya sido exitosa. Solo lo es si se
han encontrado faltas.
2. Fundamentos de las
        pruebas de Software
• El ingeniero intenta construir el
  software partiendo de un concepto
  abstracto y llegando a una
  implementación tangible.

• El ingeniero crea una serie de casos de
  prueba que intentan “demoler “ el
  software construido.
3. Objetivos de las pruebas

• La prueba es un proceso de ejecución de un
  programa con la intención de descubrir un
  error.
• Un buen caso de prueba es aquel que tiene
  una alta probabilidad de mostrar un error no
  descubierto hasta entonces.
• Una prueba tiene éxito si descubre un error
  no detectado hasta entonces.
4. Principios de la Prueba

• A todas las pruebas se les debería poder hacer
  un seguimiento has los requisitos del cliente.
• Las pruebas debería planificarse mucho antes
  de su inicio.
• El principio de Pareto es aplicable a la prueba
  del Software: el 80% de todos los errores
  descubiertos durante las pruebas surgen al
  hacer un seguimiento de sólo el 20% de todos
  los módulos del programa.
4. Principios de la Prueba

• Las pruebas deberían empezar por lo
  pequeño y progresar hacia lo grande.
• No son posible las pruebas exhaustivas.
• Para ser más efectivas, las pruebas deberían
  ser conducidas por un equipo independiente.
5. Facilidad de Prueba

• Es simplemente lo fácil que se puede probar
  un programa de computadora. Como la
  prueba es tan profundamente difícil, merece
  la pena saber que puede hacer para hacerlo
  más sencillo.
Debe existir una lista de comprobación
que proporcione un conjunto de
características que llevan a un
software fácil de probar.
5. Facilidad de Prueba

• Principios:
• Operatividad: Cuanto mejor funcione más
  eficientemente se pude probar.
• Observabilidad: Lo que ves es lo que pruebas.
• Controlabilidad: Cuanto mejor podamos
  controlar el software, más se puede
  automatizar y optimizar.
5. Facilidad de Prueba

• Principios:
• Capacidad de Descomposición: Controlando
  el ámbito de las pruebas, podemos aislar más
  rápidamente los problemas y llevar a cabo
  mejores pruebas de regresión.

• Simplicidad: Cuanto menos haya que probar,
  más rápidamente podremos probarlo.
5. Facilidad de Prueba

• Principios:
• Estabilidad: Cuanto menos cambios, menos
  interrupciones a las pruebas.

• Facilidad de comprensión: Cuanta más
  información tengamos, más inteligentes serán
  las pruebas.
6. Tipos de Prueba

Pruebas de Verificación: Se revisa si el resultado
   corresponde a la especificación del sistema,
   es decir, si se está construyendo el sistema
   de manera correcta.

Pruebas de Validación: Se revisa si el resultado
   es realmente lo que el cliente quería.
6.1 Técnicas de Pruebas

Pruebas de Regresión: Tiene como propósito
   verificar el sistema luego, de haberle
   introducido cambios, por ejemplo después
   de corregir una falta, de manera que se
   mantenga la funcionalidad especificada.

Pruebas de Operación: Su objetivo es verificar el
   sistema en operación por un largo período
   bajo condiciones normales de uso.
6.1 Técnicas de Pruebas

Pruebas de Escala Completa: Trata de verificar el sistema
    en su carga máxima mediante de los parámetros a su
    valor límite y la interconexión del sistema con un
    máximo de equipos y usuarios simultáneos.

Pruebas de Rendimiento: Tiene como propósito medir la
    capacidad de procesamiento del sistema bajo
    diferentes  cargas, incluyendo     espacio de
    almacenamiento y utilización de la unidad de
    procesamiento.
6.1 Técnicas de Pruebas

Pruebas de Sobrecarga: Pretende observar como se
    comparta el sistema cuando se le aplica una
    sobrecarga, más allá de las pruebas de escala
    completa y rendimiento.

Pruebas negativa: Tiene como propósito medir el estrés
    del sistema en situaciones inesperadas, como casos
    de uso que normalmente no serían utilizados de
    manera simultánea.
6.1 Técnicas de Pruebas

Pruebas basada en requisitos o prueba de casos de uso:
    Intenta llevar a cabo pruebas basadas directamente
    en la especificación de requisitos.

Pruebas ergonómicas: Tienen como propósito probar los
    aspectos ergonómicos del sistema, en otras
    palabras, las interfaces hombre-máquina en el caso
    de que éstas existan. Ejemplo: Si los menús son
    lógicos y legibles, si los mensajes del sistema son
    visibles, si se puede entender los mensajes de falla,
    etc.
6.1 Técnicas de Pruebas

Pruebas de documentación de usuario: Tiene como
    propósito probar la documentación de usuario,
    incluyendo el manual de éste y la documentación de
    mantenimiento y servicio.

Pruebas de aceptación o de validación: Pretende lograr
    una revisión final por parte de la organización que
    solicitó el sistema, lo cual, a menudo, significa
    validación del sistema. Llamado Prueba Alfa o
    Prueba Beta.
6.1 Técnicas de Pruebas

Pruebas de documentación de usuario: Tiene como
    propósito probar la documentación de usuario,
    incluyendo el manual de éste y la documentación de
    mantenimiento y servicio.

Pruebas de aceptación o de validación: Pretende lograr
    una revisión final por parte de la organización que
    solicitó el sistema, lo cual, a menudo, significa
    validación del sistema. Llamado Prueba Alfa o
    Prueba Beta.
6.2 Nivel de Pruebas

Pruebas de unidad: Mediante esta prueba sólo una
    unidad es probada como tal, como una clase, u
    paquete de servicio o un subsistema.

Pruebas de Integración: En ella se verifica que las
    unidades trabajen juntas correctamente.

Pruebas de Sistema: Verifica el sistema completo o su
    aplicación como tal. Se toma el punto de vista del
    usuario final y los casos de uso de pruebas.
PRUEBA DE UNIDAD

Pruebas de procedimientos o subrutinas. En
un sistema orientado a objetos se aplican en
un nivel más alto, a partir de las clases.

Una prueba de unidad consiste en una
prueba estructural (o caja blanca), lo cual
requiere conocer el diseño interno de la
unidad, y una prueba de especificación(de
caja negra, basada sólo en la especificación
del comportamiento externamente visible de
la unidad.
PRUEBA DE UNIDAD
Prueba de Especificación o de Caja Negra: Tiene como
    propósito verificar las relaciones de entrada y salida
    de una unidad. Su objetivo es verificar que hace la
    unidad, pero sin averiguar como lo hace.
Prueba basada en estado: Verifica las interacciones entre
    operaciones de una clase según cambios en los
    atributos de un objeto. Es necesario hacer pruebas
    del objeto de acuerdo con su ciclo de vida.
Prueba Estructural o de Caja Blanca: Verifica que la
    estructura interna de la unidad sea correcta.
PRUEBA DE INTEGRACION
Después de haber probado todas las
unidades, éstas deben ser integradas en
unidades más grandes hasta generar el
sistema completo.

El propósito de la prueba de integración es
probar que las diferentes unidades trabajen
juntas de manera apropiada.
7. Proceso de Pruebas
El proceso de pruebas involucra consideraciones
similares al del proceso de desarrollo, incluyendo
estrategias, actividades y métodos, los cuales
deben ser aplicados de manera concurrente con el
proceso de desarrollo de software.

  1. ESTRATEGIA DE LA PRUEBA:
• Orden de Pruebas: Tienen como propósito definir en que
   momento y en que orden se aplicarán las pruebas. Diseño,
   implementación y operación del sistema.
7. Proceso de Pruebas

ESTRATEGIA DE LA PRUEBA:
• Orden de Pruebas: Existen dos enfoques generales para el
    orden en que se efectuarán las pruebas:
 De arriba hacia abajo: Se deben desarrollar inicialmente las
    interfaces entre subsistemas, para probar protocolos de
    alto nivel antes de ir a probar los niveles inferiores.
 De abajo hacia arriba: Certificar primero las unidades de
    bajo nivel y luego las interfaces entre ellos.
7. Proceso de Pruebas

1. ESTRATEGIA DE LA PRUEBA:
• Alcance de pruebas: Tiene como propósito identificar el tipo,
     número y casos de pruebas que se aplicarán para revisar los
     diferentes aspectos del sistema

•   Automatización de la Prueba: Tiene como propósito reducir
    el esfuerzo y costo de las pruebas mediante automatización
    del proceso o aspectos de él.
7. Proceso de Pruebas

2. PLANEACION DE LA PRUEBA:
Comienza con el establecimiento de las estrategias
de pruebas, lo que incluye la cuestión si estás se
harán automática o manualmente y si existen
programas y datos de prueba que puedan ser
usados, posiblemente modificados o desarrollados
de nueva cuenta
 Estrategia de la prueba
 Alcance de la prueba
 Recursos
7. Proceso de Pruebas

3. CONSTRUCCION DE LA PRUEBA:
Se describe cada prueba y su propósito de manera
general y detallada. Se debe describir exactamente
cómo se deberá ejecutar el caso de prueba, de
manera que personas no familiarizadas con la
aplicación puedan ejecutar el caso.
 Ambiente de desarrollo o real
 Tipo de software
 Tipo de hardware
 Equipo de prueba
 Versión del sistema
7. Proceso de Pruebas

3. EJECUCION DE LA PRUEBA:
Durante esta etapa se utiliza la especificación del diseño de
     prueba y los reportes de ésta.
La estrategia es aplicar de manera paralela el mayor caso de
     pruebas posibles.
Se Ejecutan las pruebas automáticas y manuales de manera
     correspondiente y se indican los resultados esperados.
Si alguna prueba falla, se interrumpe su aplicación y se anota el
     resultado para luego analizar el defecto y corregirlo.
PRUEBA DE LA ESTRUCTURA DE CONTROL
• Las pruebas son de gran importancia en la
  garantía de la calidad del software.
• Estas variantes amplían la cobertura de la
  prueba y mejoran la calidad de la prueba de
  caja blanca.
  – Prueba de Condición
  – Prueba de Flujo de Datos
  – Prueba de Bucles
Prueba de condición
• Método de diseño de casos de prueba que
  ejercita las condiciones lógicas contenidas en el
  módulo de un programa.

• Esta prueba asegura en que cada condición del
  programa no contenga errores.

• Una condición simple es una variable lógica o
  una expresión relacional.
• La expresión relacional adquiere la siguiente
  forma: E1 <operador relacional>E2; donde E1 y E2
  son expresiones aritméticas y <operador
  relacional> puede ser “<, <=, =, >, >=, ≠”
• Una condición compuesta está formada por dos
  o más condiciones simples, operadores lógicos
  o paréntesis. Los operadores lógicos permitidos
  en una condición compuesta incluye OR(|),
  AND(&), NOT.
• Una condición sin expresiones relacionadas se
  le denomina expresión lógica.
• Si una condición es incorrecta, entonces es
  incorrecto al menos un componente de la
  condición. Los errores de una condición
  pueden ser:
  – Error en operador lógico
  – Error en variable lógica
  – Error en paréntesis lógico
  – Error en operador relacional
  – Error en expresión aritmética
• Se han propuesto series de estrategias de
  prueba de condiciones:
  – Prueba de ramificaciones: Para una condición
    compuesta C, es necesario ejecutar al menos una
    vez las ramas verdadera y falsa de C y cada condición
    simple de C.
  – Prueba del dominio: Requiere la realización de 3 o 4
    pruebas para una expresión relacional.
    E1 <operador relacional> E2 se requieren tres
    pruebas para comprobar que el valor de E1 es mayor,
    igual o menor que el valor de E2. Por ejemplo si el
    operador relacional es incorrecto y E1 y E2 son
    correctos, entonces estas tres pruebas garantizan la
    detección de un error del operador relacional.
Prueba de flujo de datos
• Selecciona caminos de prueba de un programa de
  acuerdo con la ubicación de las definiciones y los
  usos de las variables del programa.
• Las estrategias de prueba de flujo de datos son
  útiles para seleccionar caminos de prueba de un
  programa que contenga sentencias if o bucles
  anidados.
• Necesitamos conocer la estructura de cada
  condición o bloque (seleccionando un camino del
  programa, determinamos si el camino es factible
  para el programa)
Prueba de bucles
• Técnica de prueba de caja blanca que se
  centra en la validez de las construcciones de
  bucles.
• Se pueden definir 4 clases diferentes de
  bucles:
  – Simples,
  – Concatenados,
  – Anidados,
  – No estructurados
Bucles




           Bucles
          anidados

                            Bucles
Bucles                   concatenados     Bucles no
simples                                 estructurados
Bucles simples:
• Se les debe aplicar el siguiente conjunto de
  pruebas, donde n es el número máximo de
  pasos permitidos por el bucle
     1. Pasar por alto totalmente el bucle
     2. Pasar una sola vez por el bucle
     3. Pasar dos veces por el bucle
     4. Hacer m pasos por el bucle con m<n
     5. Hacer n-1 y n+1 pasos por el bucle
Bucles anidados:
• Si se extendiera el enfoque de los bucles
  simples a los bucles anidados, el número de
  posibles    pruebas    aumentaría    geomé-
  tricamente a medida que aumenta el nivel de
  anidamiento. Esto llevaría a un número
  imprescindible de pruebas.
• Se sugiere un enfoque que ayuda a reducir el
  número de pruebas
  1. Comenzar por el bucle más interior
  2. Llevar a cabo las pruebas de bucles simples
  3. Progresar hacia fuera, llevando a cabo pruebas
    para el siguiente bucle
  4. Continuar hasta que se hayan probado todos los
    bucles
Bucles concatenados:
• Se pueden probar mediante el enfoque
  definido para los bucles simples, mientras
  cada uno de los bucles sea independiente del
  resto.

Bucles no estructurados:
• Esta clase de bucles se debe rediseñar para
  que se ajusten a las construcciones de
  programación estructurada.
PRUEBA DE CAJA NEGRA
• Se centra en los requisitos funcionales del
  software.

• Se trata de un enfoque complementario que
  intenta descubrir diferentes tipos de errores
  de los métodos de caja blanca.
• La prueba de caja negra intenta encontrar
  errores de las siguientes categorías:
  – Funciones incorrectas o ausentes
  – Errores de interfaz
  – Errores es estructura de datos o en accesos a
    bases de datos externas
  – Errores de rendimiento
  – Errores de inicialización y de terminación
Método de prueba basados en grafos
• La prueba empieza creando un grafo de objetos
  y sus relaciones y después diseñando una serie
  de pruebas que cubran el grafo de manera que
  se ejerciten todos los objetos y sus relaciones
  para descubrir los errores.
• Estos casos de prueba están diseñados para
  intentar encontrar errores en algunas de las
  relaciones.
• El grafo ayudaría a identificar aquellos bucles
  que hay que probar.
Partición equivalente
• Es un método de prueba de caja negra, se
  dirige a la definición de casos de prueba que
  descubran clases de errores, reduciendo así el
  número total de casos de prueba que hay que
  desarrollar.

• El objetivo de partición equivalente es reducir
  el posible conjunto de casos de prueba en uno
  más pequeño, un conjunto manejable que
  evalúe bien el software.
• El diseño de casos de prueba para la partición
  equivalente se basa en una evaluación de las
  clases de equivalencia para una condición de
  entrada.

• Una clase de equivalencia representa un
  conjunto de estados válidos o no válidos para
  condiciones de entrada (es un valor numérico
  específico, un rango de valores, un conjunto
  de valores relacionados o una condición
  lógica).
Sitio alquiler de películas
• Rango de valores
  – Alquiler para personas mayores 18 años
• Valor
  – Nº de películas que se alquilan
• Conjunto de valores específico
  – Películas (Acción, Comedia, Infantil, Intriga)
• Lógico
  – ¿Es socio?
Análisis de Valores Límite (AVL)
• Es una técnica de diseño de casos de prueba
  que complementa la prueba de Partición
  Equivalente. En lugar de realizar la prueba con
  cualquier elemento de la partición equivalente,
  se escogen los valores en los extremos de la
  clase.
• Por ejemplo: si una condición de entrada
  especifica un rango delimitado por los valores
  a y b, se deben diseñar casos de prueba para
  los valores a y b y para los valores que se
  encuentran por debajo y por encima.
Prueba de Comparación
• Aplicación en sistemas de alta fiabilidad
• Desarrollos paralelos
• Intercambio de casos de prueba
• Desarrollo del software, las versiones de la
  aplicación    se    ejecutan      en    equipos
  independientes,      usando      las     mismas
  especificaciones.
• Se deben probar todas las versiones con los
  mismos      datos,    para     asegurar     que
  proporcionan una salida idéntica.
PRUEBA DE ENTORNOS
   Y APLICACIONES ESPECIALIZADAS
• Pruebas de interfaces gráficas de usuario
• Prueba de documentación y de ayuda
  – Es importante para la aceptación del programa.
  – Revisar la guía de usuario o funciones de ayuda en
    línea.
• Prueba de sistemas de tiempo real
  – Prueba de tareas
  – Prueba de comportamiento
  – Prueba intertareas
  – Prueba del sistema
JTS 2008

V JORNADA DE TESTEO DE SOFTWARE 2008
       2,3 Y 4 DE ABRIL DE 2008
          VALENCIA ESPAÑA

              VIDEO
        BLOG DE LA JORNADA
BIBLIOGRAFIA

Ingenieria de Software Orientada      a   Objetos.-Alfredo
    Weitzenfeld.- Editorial Thomson

Más contenido relacionado

La actualidad más candente

Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
ISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystSamer Desouky
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comIdexcel Technologies
 
What is-smoke-testing ?
What is-smoke-testing ?What is-smoke-testing ?
What is-smoke-testing ?Ajit Waje
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSWAAM Tech
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | EdurekaEdureka!
 
Fundamentals of Software Testing
Fundamentals of Software TestingFundamentals of Software Testing
Fundamentals of Software TestingSagar Joshi
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test AutomationPekka Klärck
 
Test Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioTest Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioLokesh Agrawal
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Venkatesh Prasad Ranganath
 

La actualidad más candente (20)

Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Test cases
Test casesTest cases
Test cases
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
ISTQB CTAL - Test Analyst
ISTQB CTAL - Test AnalystISTQB CTAL - Test Analyst
ISTQB CTAL - Test Analyst
 
Test Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.comTest Automation Framework Design | www.idexcel.com
Test Automation Framework Design | www.idexcel.com
 
Software testing
Software testingSoftware testing
Software testing
 
Unit testing
Unit testingUnit testing
Unit testing
 
What is-smoke-testing ?
What is-smoke-testing ?What is-smoke-testing ?
What is-smoke-testing ?
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | Edureka
 
Fundamentals of Software Testing
Fundamentals of Software TestingFundamentals of Software Testing
Fundamentals of Software Testing
 
Test Strategy
Test StrategyTest Strategy
Test Strategy
 
Manual testing
Manual testingManual testing
Manual testing
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Introduction to Test Automation
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
 
Test Case, Use Case and Test Scenario
Test Case, Use Case and Test ScenarioTest Case, Use Case and Test Scenario
Test Case, Use Case and Test Scenario
 
Test plan
Test planTest plan
Test plan
 
Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)Testing concepts [3] - Software Testing Techniques (CIS640)
Testing concepts [3] - Software Testing Techniques (CIS640)
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 

Destacado (20)

Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Casos de pruebas
Casos de pruebasCasos de pruebas
Casos de pruebas
 
Pruebas de caja blanca y negra
Pruebas  de caja blanca y negraPruebas  de caja blanca y negra
Pruebas de caja blanca y negra
 
Taller casos de prueba
Taller casos de pruebaTaller casos de prueba
Taller casos de prueba
 
Diseno de casos_de_prueba_erick_silva_p
Diseno de casos_de_prueba_erick_silva_pDiseno de casos_de_prueba_erick_silva_p
Diseno de casos_de_prueba_erick_silva_p
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Pruebas De Software
Pruebas De SoftwarePruebas De Software
Pruebas De Software
 
Pruebas
PruebasPruebas
Pruebas
 
Prueba De La Estructura De Control
Prueba De La Estructura De ControlPrueba De La Estructura De Control
Prueba De La Estructura De Control
 
Estrategias prueba de software
Estrategias prueba de softwareEstrategias prueba de software
Estrategias prueba de software
 
Caja negra!!
Caja negra!!Caja negra!!
Caja negra!!
 
Introducción de pruebas de software
Introducción de pruebas de softwareIntroducción de pruebas de software
Introducción de pruebas de software
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Casos de prueba
Casos de prueba Casos de prueba
Casos de prueba
 
prueba presentacion
prueba presentacionprueba presentacion
prueba presentacion
 
Tecnias de pruebas
Tecnias de pruebas Tecnias de pruebas
Tecnias de pruebas
 
Aguirre Jimenez
Aguirre JimenezAguirre Jimenez
Aguirre Jimenez
 
POO1501 - Composición java
POO1501 - Composición javaPOO1501 - Composición java
POO1501 - Composición java
 
Pruebas de Software
Pruebas de SoftwarePruebas de Software
Pruebas de Software
 

Similar a Presentacion Pruebas (20)

Pruebas-OCW.pdf
Pruebas-OCW.pdfPruebas-OCW.pdf
Pruebas-OCW.pdf
 
Prubea de software
Prubea de softwarePrubea de software
Prubea de software
 
10 pruebas (caso de uso)
10 pruebas  (caso de uso)10 pruebas  (caso de uso)
10 pruebas (caso de uso)
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
10 pruebas
10 pruebas10 pruebas
10 pruebas
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Mv unidad 1
Mv unidad 1Mv unidad 1
Mv unidad 1
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Fases de prueba de software
Fases de prueba de softwareFases de prueba de software
Fases de prueba de software
 
Pruebas
PruebasPruebas
Pruebas
 
Pruebas del Software
Pruebas del SoftwarePruebas del Software
Pruebas del Software
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Auditoria ii
Auditoria iiAuditoria ii
Auditoria ii
 
Auditoria ii
Auditoria iiAuditoria ii
Auditoria ii
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
 
Calidad del software cap3
Calidad del software   cap3Calidad del software   cap3
Calidad del software cap3
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Curso_Pruebas_ee v2.pptx
Curso_Pruebas_ee v2.pptxCurso_Pruebas_ee v2.pptx
Curso_Pruebas_ee v2.pptx
 
22 Tipos de Pruebas (Software)
22 Tipos de Pruebas (Software)22 Tipos de Pruebas (Software)
22 Tipos de Pruebas (Software)
 
Ra semana 14 2
Ra semana 14 2Ra semana 14 2
Ra semana 14 2
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (15)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Presentacion Pruebas

  • 1. INGENIERIA DE SISTEMAS MODELO DE PRUEBAS DE SOFTWARE DARWIN JIMENEZ CARLOS EDUARDO AGUIRRE
  • 2. CONTENIDO 1. Definición de conceptos 2. Fundamentos de las pruebas de software 3. Objetivos de la prueba 4. Principios de la prueba 5. Facilidad de la prueba 6. Tipos de Pruebas 7. Proceso de Pruebas
  • 3. CONTENIDO 8. Enfoques de pruebas • Prueba de la caja blanca • Prueba del camino básico • Prueba de la estructura de control • Prueba de la caja negra
  • 4. 1. DEFINICIONES DE CONCEPTOS 1. Falla (failure): Ocurre cuando un programa no se comporta de manera adecuada. 2. Falta (fault): Tiene lugar en el código del programa. La existencia de una falta en el programa puede generar una falla en el sistema.
  • 5. 1. Definiciones de Conceptos 3. Error: Es una acción humana que provoca que un software contenga una falta. Un error puede significar la existencia de una falta en el programa, lo cual hace que el sistema falle.
  • 6. 1. Definiciones de Conceptos No se puede garantizar ni probar que un sistema jamás falle, si no que sólo se puede demostrar que contiene faltas. No encontrar faltas no significa que la prueba haya sido exitosa. Solo lo es si se han encontrado faltas.
  • 7. 2. Fundamentos de las pruebas de Software • El ingeniero intenta construir el software partiendo de un concepto abstracto y llegando a una implementación tangible. • El ingeniero crea una serie de casos de prueba que intentan “demoler “ el software construido.
  • 8. 3. Objetivos de las pruebas • La prueba es un proceso de ejecución de un programa con la intención de descubrir un error. • Un buen caso de prueba es aquel que tiene una alta probabilidad de mostrar un error no descubierto hasta entonces. • Una prueba tiene éxito si descubre un error no detectado hasta entonces.
  • 9. 4. Principios de la Prueba • A todas las pruebas se les debería poder hacer un seguimiento has los requisitos del cliente. • Las pruebas debería planificarse mucho antes de su inicio. • El principio de Pareto es aplicable a la prueba del Software: el 80% de todos los errores descubiertos durante las pruebas surgen al hacer un seguimiento de sólo el 20% de todos los módulos del programa.
  • 10. 4. Principios de la Prueba • Las pruebas deberían empezar por lo pequeño y progresar hacia lo grande. • No son posible las pruebas exhaustivas. • Para ser más efectivas, las pruebas deberían ser conducidas por un equipo independiente.
  • 11. 5. Facilidad de Prueba • Es simplemente lo fácil que se puede probar un programa de computadora. Como la prueba es tan profundamente difícil, merece la pena saber que puede hacer para hacerlo más sencillo. Debe existir una lista de comprobación que proporcione un conjunto de características que llevan a un software fácil de probar.
  • 12. 5. Facilidad de Prueba • Principios: • Operatividad: Cuanto mejor funcione más eficientemente se pude probar. • Observabilidad: Lo que ves es lo que pruebas. • Controlabilidad: Cuanto mejor podamos controlar el software, más se puede automatizar y optimizar.
  • 13. 5. Facilidad de Prueba • Principios: • Capacidad de Descomposición: Controlando el ámbito de las pruebas, podemos aislar más rápidamente los problemas y llevar a cabo mejores pruebas de regresión. • Simplicidad: Cuanto menos haya que probar, más rápidamente podremos probarlo.
  • 14. 5. Facilidad de Prueba • Principios: • Estabilidad: Cuanto menos cambios, menos interrupciones a las pruebas. • Facilidad de comprensión: Cuanta más información tengamos, más inteligentes serán las pruebas.
  • 15. 6. Tipos de Prueba Pruebas de Verificación: Se revisa si el resultado corresponde a la especificación del sistema, es decir, si se está construyendo el sistema de manera correcta. Pruebas de Validación: Se revisa si el resultado es realmente lo que el cliente quería.
  • 16. 6.1 Técnicas de Pruebas Pruebas de Regresión: Tiene como propósito verificar el sistema luego, de haberle introducido cambios, por ejemplo después de corregir una falta, de manera que se mantenga la funcionalidad especificada. Pruebas de Operación: Su objetivo es verificar el sistema en operación por un largo período bajo condiciones normales de uso.
  • 17. 6.1 Técnicas de Pruebas Pruebas de Escala Completa: Trata de verificar el sistema en su carga máxima mediante de los parámetros a su valor límite y la interconexión del sistema con un máximo de equipos y usuarios simultáneos. Pruebas de Rendimiento: Tiene como propósito medir la capacidad de procesamiento del sistema bajo diferentes cargas, incluyendo espacio de almacenamiento y utilización de la unidad de procesamiento.
  • 18. 6.1 Técnicas de Pruebas Pruebas de Sobrecarga: Pretende observar como se comparta el sistema cuando se le aplica una sobrecarga, más allá de las pruebas de escala completa y rendimiento. Pruebas negativa: Tiene como propósito medir el estrés del sistema en situaciones inesperadas, como casos de uso que normalmente no serían utilizados de manera simultánea.
  • 19. 6.1 Técnicas de Pruebas Pruebas basada en requisitos o prueba de casos de uso: Intenta llevar a cabo pruebas basadas directamente en la especificación de requisitos. Pruebas ergonómicas: Tienen como propósito probar los aspectos ergonómicos del sistema, en otras palabras, las interfaces hombre-máquina en el caso de que éstas existan. Ejemplo: Si los menús son lógicos y legibles, si los mensajes del sistema son visibles, si se puede entender los mensajes de falla, etc.
  • 20. 6.1 Técnicas de Pruebas Pruebas de documentación de usuario: Tiene como propósito probar la documentación de usuario, incluyendo el manual de éste y la documentación de mantenimiento y servicio. Pruebas de aceptación o de validación: Pretende lograr una revisión final por parte de la organización que solicitó el sistema, lo cual, a menudo, significa validación del sistema. Llamado Prueba Alfa o Prueba Beta.
  • 21. 6.1 Técnicas de Pruebas Pruebas de documentación de usuario: Tiene como propósito probar la documentación de usuario, incluyendo el manual de éste y la documentación de mantenimiento y servicio. Pruebas de aceptación o de validación: Pretende lograr una revisión final por parte de la organización que solicitó el sistema, lo cual, a menudo, significa validación del sistema. Llamado Prueba Alfa o Prueba Beta.
  • 22. 6.2 Nivel de Pruebas Pruebas de unidad: Mediante esta prueba sólo una unidad es probada como tal, como una clase, u paquete de servicio o un subsistema. Pruebas de Integración: En ella se verifica que las unidades trabajen juntas correctamente. Pruebas de Sistema: Verifica el sistema completo o su aplicación como tal. Se toma el punto de vista del usuario final y los casos de uso de pruebas.
  • 23. PRUEBA DE UNIDAD Pruebas de procedimientos o subrutinas. En un sistema orientado a objetos se aplican en un nivel más alto, a partir de las clases. Una prueba de unidad consiste en una prueba estructural (o caja blanca), lo cual requiere conocer el diseño interno de la unidad, y una prueba de especificación(de caja negra, basada sólo en la especificación del comportamiento externamente visible de la unidad.
  • 24. PRUEBA DE UNIDAD Prueba de Especificación o de Caja Negra: Tiene como propósito verificar las relaciones de entrada y salida de una unidad. Su objetivo es verificar que hace la unidad, pero sin averiguar como lo hace. Prueba basada en estado: Verifica las interacciones entre operaciones de una clase según cambios en los atributos de un objeto. Es necesario hacer pruebas del objeto de acuerdo con su ciclo de vida. Prueba Estructural o de Caja Blanca: Verifica que la estructura interna de la unidad sea correcta.
  • 25. PRUEBA DE INTEGRACION Después de haber probado todas las unidades, éstas deben ser integradas en unidades más grandes hasta generar el sistema completo. El propósito de la prueba de integración es probar que las diferentes unidades trabajen juntas de manera apropiada.
  • 26. 7. Proceso de Pruebas El proceso de pruebas involucra consideraciones similares al del proceso de desarrollo, incluyendo estrategias, actividades y métodos, los cuales deben ser aplicados de manera concurrente con el proceso de desarrollo de software. 1. ESTRATEGIA DE LA PRUEBA: • Orden de Pruebas: Tienen como propósito definir en que momento y en que orden se aplicarán las pruebas. Diseño, implementación y operación del sistema.
  • 27. 7. Proceso de Pruebas ESTRATEGIA DE LA PRUEBA: • Orden de Pruebas: Existen dos enfoques generales para el orden en que se efectuarán las pruebas:  De arriba hacia abajo: Se deben desarrollar inicialmente las interfaces entre subsistemas, para probar protocolos de alto nivel antes de ir a probar los niveles inferiores.  De abajo hacia arriba: Certificar primero las unidades de bajo nivel y luego las interfaces entre ellos.
  • 28. 7. Proceso de Pruebas 1. ESTRATEGIA DE LA PRUEBA: • Alcance de pruebas: Tiene como propósito identificar el tipo, número y casos de pruebas que se aplicarán para revisar los diferentes aspectos del sistema • Automatización de la Prueba: Tiene como propósito reducir el esfuerzo y costo de las pruebas mediante automatización del proceso o aspectos de él.
  • 29. 7. Proceso de Pruebas 2. PLANEACION DE LA PRUEBA: Comienza con el establecimiento de las estrategias de pruebas, lo que incluye la cuestión si estás se harán automática o manualmente y si existen programas y datos de prueba que puedan ser usados, posiblemente modificados o desarrollados de nueva cuenta  Estrategia de la prueba  Alcance de la prueba  Recursos
  • 30. 7. Proceso de Pruebas 3. CONSTRUCCION DE LA PRUEBA: Se describe cada prueba y su propósito de manera general y detallada. Se debe describir exactamente cómo se deberá ejecutar el caso de prueba, de manera que personas no familiarizadas con la aplicación puedan ejecutar el caso.  Ambiente de desarrollo o real  Tipo de software  Tipo de hardware  Equipo de prueba  Versión del sistema
  • 31. 7. Proceso de Pruebas 3. EJECUCION DE LA PRUEBA: Durante esta etapa se utiliza la especificación del diseño de prueba y los reportes de ésta. La estrategia es aplicar de manera paralela el mayor caso de pruebas posibles. Se Ejecutan las pruebas automáticas y manuales de manera correspondiente y se indican los resultados esperados. Si alguna prueba falla, se interrumpe su aplicación y se anota el resultado para luego analizar el defecto y corregirlo.
  • 32. PRUEBA DE LA ESTRUCTURA DE CONTROL • Las pruebas son de gran importancia en la garantía de la calidad del software. • Estas variantes amplían la cobertura de la prueba y mejoran la calidad de la prueba de caja blanca. – Prueba de Condición – Prueba de Flujo de Datos – Prueba de Bucles
  • 33. Prueba de condición • Método de diseño de casos de prueba que ejercita las condiciones lógicas contenidas en el módulo de un programa. • Esta prueba asegura en que cada condición del programa no contenga errores. • Una condición simple es una variable lógica o una expresión relacional.
  • 34. • La expresión relacional adquiere la siguiente forma: E1 <operador relacional>E2; donde E1 y E2 son expresiones aritméticas y <operador relacional> puede ser “<, <=, =, >, >=, ≠” • Una condición compuesta está formada por dos o más condiciones simples, operadores lógicos o paréntesis. Los operadores lógicos permitidos en una condición compuesta incluye OR(|), AND(&), NOT. • Una condición sin expresiones relacionadas se le denomina expresión lógica.
  • 35. • Si una condición es incorrecta, entonces es incorrecto al menos un componente de la condición. Los errores de una condición pueden ser: – Error en operador lógico – Error en variable lógica – Error en paréntesis lógico – Error en operador relacional – Error en expresión aritmética
  • 36. • Se han propuesto series de estrategias de prueba de condiciones: – Prueba de ramificaciones: Para una condición compuesta C, es necesario ejecutar al menos una vez las ramas verdadera y falsa de C y cada condición simple de C. – Prueba del dominio: Requiere la realización de 3 o 4 pruebas para una expresión relacional. E1 <operador relacional> E2 se requieren tres pruebas para comprobar que el valor de E1 es mayor, igual o menor que el valor de E2. Por ejemplo si el operador relacional es incorrecto y E1 y E2 son correctos, entonces estas tres pruebas garantizan la detección de un error del operador relacional.
  • 37. Prueba de flujo de datos • Selecciona caminos de prueba de un programa de acuerdo con la ubicación de las definiciones y los usos de las variables del programa. • Las estrategias de prueba de flujo de datos son útiles para seleccionar caminos de prueba de un programa que contenga sentencias if o bucles anidados. • Necesitamos conocer la estructura de cada condición o bloque (seleccionando un camino del programa, determinamos si el camino es factible para el programa)
  • 38. Prueba de bucles • Técnica de prueba de caja blanca que se centra en la validez de las construcciones de bucles. • Se pueden definir 4 clases diferentes de bucles: – Simples, – Concatenados, – Anidados, – No estructurados
  • 39. Bucles Bucles anidados Bucles Bucles concatenados Bucles no simples estructurados
  • 40. Bucles simples: • Se les debe aplicar el siguiente conjunto de pruebas, donde n es el número máximo de pasos permitidos por el bucle 1. Pasar por alto totalmente el bucle 2. Pasar una sola vez por el bucle 3. Pasar dos veces por el bucle 4. Hacer m pasos por el bucle con m<n 5. Hacer n-1 y n+1 pasos por el bucle
  • 41. Bucles anidados: • Si se extendiera el enfoque de los bucles simples a los bucles anidados, el número de posibles pruebas aumentaría geomé- tricamente a medida que aumenta el nivel de anidamiento. Esto llevaría a un número imprescindible de pruebas.
  • 42. • Se sugiere un enfoque que ayuda a reducir el número de pruebas 1. Comenzar por el bucle más interior 2. Llevar a cabo las pruebas de bucles simples 3. Progresar hacia fuera, llevando a cabo pruebas para el siguiente bucle 4. Continuar hasta que se hayan probado todos los bucles
  • 43. Bucles concatenados: • Se pueden probar mediante el enfoque definido para los bucles simples, mientras cada uno de los bucles sea independiente del resto. Bucles no estructurados: • Esta clase de bucles se debe rediseñar para que se ajusten a las construcciones de programación estructurada.
  • 44. PRUEBA DE CAJA NEGRA • Se centra en los requisitos funcionales del software. • Se trata de un enfoque complementario que intenta descubrir diferentes tipos de errores de los métodos de caja blanca.
  • 45. • La prueba de caja negra intenta encontrar errores de las siguientes categorías: – Funciones incorrectas o ausentes – Errores de interfaz – Errores es estructura de datos o en accesos a bases de datos externas – Errores de rendimiento – Errores de inicialización y de terminación
  • 46. Método de prueba basados en grafos • La prueba empieza creando un grafo de objetos y sus relaciones y después diseñando una serie de pruebas que cubran el grafo de manera que se ejerciten todos los objetos y sus relaciones para descubrir los errores. • Estos casos de prueba están diseñados para intentar encontrar errores en algunas de las relaciones. • El grafo ayudaría a identificar aquellos bucles que hay que probar.
  • 47. Partición equivalente • Es un método de prueba de caja negra, se dirige a la definición de casos de prueba que descubran clases de errores, reduciendo así el número total de casos de prueba que hay que desarrollar. • El objetivo de partición equivalente es reducir el posible conjunto de casos de prueba en uno más pequeño, un conjunto manejable que evalúe bien el software.
  • 48. • El diseño de casos de prueba para la partición equivalente se basa en una evaluación de las clases de equivalencia para una condición de entrada. • Una clase de equivalencia representa un conjunto de estados válidos o no válidos para condiciones de entrada (es un valor numérico específico, un rango de valores, un conjunto de valores relacionados o una condición lógica).
  • 49. Sitio alquiler de películas • Rango de valores – Alquiler para personas mayores 18 años • Valor – Nº de películas que se alquilan • Conjunto de valores específico – Películas (Acción, Comedia, Infantil, Intriga) • Lógico – ¿Es socio?
  • 50. Análisis de Valores Límite (AVL) • Es una técnica de diseño de casos de prueba que complementa la prueba de Partición Equivalente. En lugar de realizar la prueba con cualquier elemento de la partición equivalente, se escogen los valores en los extremos de la clase. • Por ejemplo: si una condición de entrada especifica un rango delimitado por los valores a y b, se deben diseñar casos de prueba para los valores a y b y para los valores que se encuentran por debajo y por encima.
  • 51. Prueba de Comparación • Aplicación en sistemas de alta fiabilidad • Desarrollos paralelos • Intercambio de casos de prueba • Desarrollo del software, las versiones de la aplicación se ejecutan en equipos independientes, usando las mismas especificaciones. • Se deben probar todas las versiones con los mismos datos, para asegurar que proporcionan una salida idéntica.
  • 52. PRUEBA DE ENTORNOS Y APLICACIONES ESPECIALIZADAS • Pruebas de interfaces gráficas de usuario • Prueba de documentación y de ayuda – Es importante para la aceptación del programa. – Revisar la guía de usuario o funciones de ayuda en línea. • Prueba de sistemas de tiempo real – Prueba de tareas – Prueba de comportamiento – Prueba intertareas – Prueba del sistema
  • 53. JTS 2008 V JORNADA DE TESTEO DE SOFTWARE 2008 2,3 Y 4 DE ABRIL DE 2008 VALENCIA ESPAÑA VIDEO BLOG DE LA JORNADA
  • 54. BIBLIOGRAFIA Ingenieria de Software Orientada a Objetos.-Alfredo Weitzenfeld.- Editorial Thomson