Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Pruebas de Software, Diapositivas de Desarrollo de Software

Tipos de pruebas, técnicas, métodos y herramientas de software.

Tipo: Diapositivas

2019/2020

Subido el 19/10/2020

david-riquelme-reyna
david-riquelme-reyna 🇵🇷

1 documento

1 / 35

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
PRUEBAS DE
SOFTWARE
POR: DAVID RIQUELME REYNA
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Vista previa parcial del texto

¡Descarga Pruebas de Software y más Diapositivas en PDF de Desarrollo de Software solo en Docsity!

PRUEBAS DE

SOFTWARE

POR: DAVID RIQUELME REYNA

ÍNDICE

  • (^) Introducción
  • (^) Niveles de pruebas
  • (^) Tipos de pruebas
  • (^) Automatización de pruebas
  • (^) Métodos de prueba
  • (^) Conclusiones

VALIDACIÓN VS VERIFICACIÓN

VALIDACIÓN

  • (^) Proceso de evaluar un sistema o componente durante o al final del proceso de desarrollo para determinar si satisface los requisitos especificados. VERIFICACIÓN - (^) Proceso de evaluar un sistema o componente para determinar si los productos de una determinada fase satisfacen las condiciones impuestas al comienzo de la fase.

¿POR QUÉ NECESITAMOS HACER PRUEBAS?

  • (^) La capacidad humana de aprendizaje y memorización es limitada con

respecto a todo lo que queramos abarcar, lo que implica fallos y errores

inevitables si lo intentamos evitar con nuestras capacidades humanas.

  • (^) Nos permite garantizar que las aplicaciones cumplen con la funcionalidad

esperada y la expectativa de calidad (no solo de código);.

  • (^) Reduce el costo, uso de recursos y tiempo del desarrollo
  • (^) Evita errores de reprogramación del software
    • JUSTIFICACIÓN
      • La realización de tareas de pruebas conlleva un costo asociado que puede inducir a tomar decisiones de no realizarlas. Así como no realizarlas también conlleva un costo asociado.
      • (^) Presumiendo el siguiente objetivo: Menores costos, menores tiempos de desarrollo y mayor satisfacción del cliente.

NIVELES DE PRUEBAS

TEST OBJETIVO PARTICIPANTE

S

AMBIENTE MÉTODO

UNITARIO Detectar errores en los datos, lógica, algoritmos Programadores Desarrollo Caja Blanca INTEGRACIÓN O COMPONENTES Detectar errores de interfaces y relaciones entre componentes Programadores Desarrollo Caja, Blanca, Top Down, Bottom Up SISTEMA Detectar fallas en el cubrimiento de los requerimientos Testers, Analistas Desarrollo Funcional FUNCIONAL O IMPLEMENTACIÓ N Detectar errores en la implementación de requerimientos Testers, Analistas Desarrollo Funcional ACEPTACIÓN Detectar fallas en la implementación del sistema Testers, Analistas, Cliente Productivo Funcional

NIVELES DE PRUEBAS

Pruebas unitárias Pruebas de integración Pruebas de sistema Pruebas de aceptación Componentes aislados Verifican Interacción entre componentes Verifican Requisitos del sistema Necesidades de los usuarios Verifican Verifican Pruebas de implantación Paso a producción Verifican

PRUEBAS DE INTEGRACIÓN O COMPONENTES

  • (^) Cuando: Durante la construcción del sistema
  • (^) Objetivo: Identifican problemas que ocurren cuando las unidades se combinan. Los nuevos errores que surgen probablemente estén relacionados con la interfaz entre las unidades en lugar de dentro de las propias unidades; simplificando la tarea de encontrar y corregir los defectos. - (^) HERRAMIENTAS - (^) Las mismas, sustituyendo los mocks por las clases reales y, si es necesario, escribiendo más casos de prueba.

PRUEBAS DE SISTEMA

  • (^) Cuando: Durante la construcción del sistema (partes completas).
  • (^) Objetivo: Prueban a fondo el sistema, comprobando su funcionalidad e integridad globalmente, en un entorno lo más parecido posible al entorno final de producción. - (^) HERRAMIENTAS - (^) Jmeter - (^) Avignon - (^) The grinch - (^) Marathon - (^) JWebTest - (^) Abbot - (^) Selenium - GUItar - (^) HttpUnit

PRUEBAS DE ACEPTACIÓN

  • (^) Cuando: Después de la implantación en el entorno de producción.
  • (^) Objetivo: Verifican que el sistema cumple con todos los requisitos indicados y permite que los usuarios del sistema den el visto bueno definitivo. - (^) HERRAMIENTAS - (^) Las mismas. Las pruebas se vuelven a ejecutar en el entorno real de producción y se añaden nuevas pruebas.

PRUEBAS DE REGRESIÓN

  • (^) Cuando: Durante el mantenimiento del sistema.
  • (^) Objetivo: C ada vez que se realizan cambios en un proyecto, es posible que el código existente ya no funcione correctamente o que se presenten errores no descubiertos previamente. Este tipo de error se llama regresión. Para detectar estos defectos, todo el proyecto debe someterse a una regresión: una nueva prueba completa de un programa modificado, en lugar de una prueba de solo las unidades modificadas, para garantizar que no se hayan introducido errores con las modificaciones. - (^) HERRAMIENTAS - (^) Las mismas. Las pruebas se vuelven a ejecutar en el entorno real de producción y se añaden nuevas pruebas.

AUTOMATIZAR PRUEBAS

  • (^) Mayor rapidez de ejecución.
  • (^) Menos recursos.
  • (^) Evitamos pruebas obsoletas
  • (^) Ciclo de prueba manual es muy largo
  • (^) Proceso de prueba manual es propenso a errores
  • (^) Liberar a la gente para realizar tareas creativas
  • (^) Generar un ambiente de confianza soportado por los test
  • (^) Obtener realimentación de forma temprana y con alta frecuencia
  • Generar conocimiento del sistema en desarrollo a partir de los test
  • Generar documentación del código consistente
  • Generar una mejor utilización de los recursos a partir de menores costos

OBSTÁCULOS PARA AUTOMATIZAR LAS

PRUEBAS

  • (^) Actitud de los programadores
  • (^) La joroba de dolor
  • (^) Inversión inicial
  • (^) Código que siempre cambia
  • (^) Sistemas legacy
  • (^) Temor
  • (^) Viejos hábitos
  • (^) ¡Muy pocas herramientas!
  • (^) Necesitan una “base” a menudo inexistente.
  • (^) Un conjunto pobre de pruebas.

¿CUÁNDO AUTOMATIZAR Y CUÁNDO NO

AUTOMATIZAR?

¡CUÁNDO OPTIMIZAR!

  • (^) No buscamos automatizarlo absolutamente todo.
  • (^) Tenemos modelos y documentación del sistema.
  • (^) Nosotros controlamos las herramientas de prueba. ¡CUÁNDO NO OPTIMIZAR! - (^) Gastamos más en la automatización que en la pruebas en sí. - (^) Construimos el sistema sobre la marcha. - (^) Las herramientas de prueba nos controlan a nosotros.

ESTRATEGIAS PARA COMENZAR LA

AUTOMATIZACIÓN

  • (^) Capacitación a analistas, testers y programadores
  • (^) Seleccionar una forma de trabajo
  • (^) Seleccionar herramientas
  • (^) Desarrollar proyectos pilotos
  • (^) Institucionalizar