Вы находитесь на странице: 1из 36

Asignación de la Unidad 13

Por Jawaj Duha


Metodologías de ensayo
Las metodologías de prueba en ingeniería de software son estrategias, enfoques o métodos
utilizados para probar un producto específico con el fin de garantizar su usabilidad. Garantiza que
el producto funcione según las especificaciones y no tenga efectos secundarios si se utiliza fuera
de los parámetros de diseño.

¿Por qué son importantes las metodologías de pruebas de software?

• Gestiona los requisitos del proyecto, los casos de prueba, los errores y los problemas en un
único entorno integrado durante todo el ciclo de vida de las pruebas.
• Es una solución de pruebas completa que incluye gestión de requisitos, diseño de casos de
prueba, gestión de versiones, seguimiento de defectos, etc.
• Se trata de un enfoque de pruebas muy intuitivo que proporciona una imagen completa del
producto de software y de su estado de salud.

Metodologías de pruebas funcionales y no


funcionales
Las pruebas funcionales consisten en comprobar la aplicación en función de los requisitos de la
empresa e incluyen varios tipos de pruebas diseñadas para garantizar que cada parte del
software se comporta de la misma forma que esperan los usuarios.

Los métodos de pruebas no funcionales incorporan distintos tipos de pruebas centradas en los
aspectos operativos de un programa informático. Son la clave para que los usuarios finales
puedan adoptar fácilmente un software de alta calidad mediante la creación de un marco de
pruebas sólido que aplique metodologías de pruebas funcionales y no funcionales.

Pruebas unitarias
• Es el nivel inicial de las pruebas, que suelen realizar los desarrolladores en un entorno
basado en pruebas, escribiendo y ejecutando casos de prueba antes de que el software
pase al equipo de pruebas.
• Las pruebas unitarias son una metodología de pruebas de software que garantiza que los
componentes individuales del software funcionan perfectamente para el fin para el que han
sido diseñados.
• Las pruebas unitarias facilitan la depuración, ya que el equipo de pruebas detecta los errores
mucho antes y los corrige con facilidad.

Pruebas unitarias - Ventajas


• Reduce los defectos en las nuevas funciones desarrolladas o reduce los errores al cambiar
la funcionalidad existente.
• Reduce el coste de las pruebas, ya que los defectos se detectan en una fase muy temprana.
• Mejora el diseño y permite refactorizar mejor el código
• Las pruebas unitarias, cuando se integran con la compilación, también mejoran la calidad de
la compilación.
Desventajas/Limitaciones de la Unidad
• eTestingno puede detectar todos y cada uno de los errores de una aplicación
• Es imposible evaluar todas las rutas de ejecución de todas las aplicaciones informáticas.
El número de escenarios y datos de prueba que el desarrollador puede utilizar para verificar
el código fuente es limitado.
Pruebas unitarias Life Cyc
Técnicas de pruebas unitarias:

1. Pruebas de caja negra: con ellas se comprueba la interfaz de usuario, la entrada y la salida.
2. Pruebas de caja blanca: se utilizan para probar el comportamiento de cada una de esas
funciones.
3. Pruebas de caja gris - Se utilizan para
ejecutar pruebas, riesgos y métodos de
evaluación.

Pruebas de
aceptación
• Las pruebas de aceptación son la última
fase de las pruebas funcionales para evaluar
la pieza final del software que se entregará.
• Se asegura de que el producto cumple los criterios empresariales y satisface por completo las
necesidades del usuario final.
• Realiza pruebas internas y externas. Esto significa que el producto se pone en manos de los
usuarios para que lo prueben en fase beta y también lo prueba el equipo de calidad.
• Las pruebas beta son fundamentales para obtener posibles opiniones de los usuarios y
abordarlas antes de la entrega final del producto.
Pruebas de aceptación en
SDLC
El siguiente diagrama explica las pruebas de aceptación en el ciclo de vida del desarrollo de
software.

Los casos de prueba de aceptación se ejecutan


con los datos de prueba o utilizando el script de
prueba de aceptación y, a continuación, los
resultados se comparan con los esperados.
Pruebas de aceptación - Criterios
Los criterios de aceptación se definen en función de los siguientes atributos:

• Corrección funcional e integridad


• Integridad de los datos
• Conversión de datos
• Usabilidad
• Rendimiento
• Puntualidad
• Confidencialidad y disponibilidad
• Instalación y actualización
• Escalabilidad
• Documentación
Plan de pruebas de aceptación - Atributos
Las actividades de las pruebas de aceptación se llevan a cabo por fases. En primer lugar, se
ejecutan las pruebas básicas, los resultados son satisfactorios y, a continuación, se lleva a cabo la
ejecución de escenarios más complejos.

El plan de pruebas de aceptación tiene los siguientes atributos:

• Introducción
• Categoría de prueba de aceptación
• Operación Entorno
• ID del caso de prueba
• Título de la prueba
• Objetivo de la prueba
Informe de la prueba de aceptación -
Atributos
El informe de la prueba de aceptación tiene los siguientes atributos:

• Identificador del informe


• Resumen de los resultados
• Variaciones
• Recomendaciones
• Resumen de la lista de tareas pendientes
• Decisión de aprobación
¿Quién realiza las pruebas de aceptación?
• Las Pruebas de Aceptación Internas (también conocidas como Pruebas Alfa) son realizadas
por miembros de la organización que desarrollan el software... pero que no participan
directamente en el proyecto. Suelen ser miembros de Gestión de Productos, Ventas o
Atención al Cliente.
• Pruebas de aceptación externas: las realizan personas que no son empleados de la
organización que ha desarrollado el software.
• Las pruebas de aceptación del cliente las realizan los clientes de la organización que ha
desarrollado el software. Ellos son los que pidieron a la organización que desarrollara el
software.
• Pruebas de aceptación del usuario: (también conocidas como pruebas beta) las realizan los
usuarios finales del software.
Ventajas de las pruebas de aceptación:
• Valida que se cumplan los requisitos empresariales basándose en las historias de usuario
incluidas en el alcance.
• Reduce el riesgo de que se detecten defectos en la producción
• Los usuarios finales adquirirán destreza y confianza al utilizar el nuevo sistema antes de su
puesta en marcha.
Desventajas/Limitaciones de la aceptación
-ePodrías
no probar todas las funciones o características
• Es difícil medir el progreso de las pruebas
• Los usuarios podrían confirmar el funcionamiento del sistema y no ver los defectos ni
notificarlos
• Los usuarios pueden centrarse en comparar el nuevo sistema con un sistema heredado, en
lugar de buscar defectos.
Pruebas funcionales
La prueba funcional es una técnica de prueba que se utiliza para comprobar las
características/funcionalidad del sistema o software, debe cubrir todos los escenarios, incluidas
las rutas de fallo y los casos límite.

Técnicas de pruebas funcionales:

Existen dos técnicas principales de Pruebas Funcionales como se muestra a continuación:

Otras técnicas importantes de pruebas funcionales son

• Pruebas unitarias
• Pruebas de integración
• Pruebas de humo
• Pruebas de aceptación del usuario
• Pruebas de localización
• Pruebas de interfaz
• Pruebas de usabilidad
• Pruebas del sistema
• Pruebas de regresión
• Pruebas de globalización

Ventajas de las pruebas funcionales:


• Produce un producto/software sin defectos
• Garantiza la satisfacción del cliente/usuario final
• Garantiza el cumplimiento de todos los requisitos
• Garantiza el correcto funcionamiento de todas las funciones de una
aplicación/software/producto.
Desventajas/Limitaciones de la
-eFuncional
funcionalidad
la prueba es un proceso en el que no se detectan varios errores lógicos en el software durante
el proceso de prueba
• No le importa cómo el desarrollador implemente el código fuente real porque sólo
se centra en los resultados del código fuente.
Pruebas del sistema
• La prueba del sistema es el método de prueba de caja negra utilizado para evaluar el
sistema integrado en su conjunto y garantizar que cumple todos los requisitos específicos.
• En el caso de las pruebas del sistema, la funcionalidad del producto se comprueba de
principio a fin y suele realizarlas el equipo de pruebas, no el de desarrollo.
• Las pruebas del sistema se realizan antes de poner el producto de software en producción.
Tipos de pruebas del sistema:
Ventajas de las pruebas de sistemas:
• Verifica el sistema con respecto a los requisitos empresariales, funcionales y técnicos de los
usuarios finales.
• Ayuda a obtener el máximo de errores antes de las pruebas de aceptación.
• Las pruebas del sistema aumentan el nivel de confianza del equipo en el producto antes de
que éste pase a las pruebas de aceptación.
Desventajas/Limitaciones del sistema
-eSólolímite
d cobertura de la aplicación, ya que el probador no puede dirigirse a un
segmento de código específico.
• Los casos de prueba son difíciles de diseñar, ya que el probador no tiene conocimientos
previos sobre
especificaciones y codificación.
• Sólo se probarán algunas entradas posibles.
Pruebas de rendimiento
Pruebas de rendimiento, una técnica de pruebas no funcionales realizada para determinar los
parámetros del sistema en términos de estabilidad bajo diversas cargas de trabajo. Las pruebas
de rendimiento miden los atributos de calidad del sistema, como la fiabilidad y el uso de
recursos.
Técnicas de pruebas de rendimiento:
• Pruebas de carga : es la forma más sencilla de realizar pruebas, para comprender el
comportamiento del sistema bajo una carga específica. Las pruebas de carga permitirán
medir las transacciones críticas importantes para la empresa y la carga en la base de datos,
la aplicación, el servidor, etc.
• Pruebas de estrés : se realizan para averiguar la capacidad límite superior del sistema y
también para determinar cómo se comporta si la carga actual supera con creces el máximo
previsto.
• Pruebas de remojo: las pruebas de remojo, también conocidas como pruebas de
resistencia, se realizan para determinar los parámetros del sistema bajo una carga continua
prevista. Durante el soak test se controlan parámetros como la utilización de la memoria
para detectar fugas de memoria u otros problemas de rendimiento.
• Pruebas de picos: las pruebas de picos se realizan aumentando repentinamente el número
de usuarios en una cantidad muy grande y midiendo el rendimiento del sistema.
Proceso de pruebas de rendimiento:
Pruebas de seguridad
Las pruebas de seguridad son una técnica de comprobación para determinar si un sistema de
información protege los datos y mantiene la funcionalidad según lo previsto. También pretende
verificar 6 principios básicos que se enumeran a continuación:

• Confidencialidad
• Integridad
• Autenticación
• Autorización
• Disponibilidad
• No repudio
Pruebas de seguridad - Técnicas:
• Inyección
• Autenticación rota y gestión de sesiones
• Secuencias de comandos en sitios cruzados (XSS)
• Referencias directas a objetos inseguras
• Desconfiguración de la seguridad
• Exposición de datos sensibles
• Falta el control de acceso a nivel de función
• Falsificación de petición en sitios cruzados (CSRF)
• Uso de componentes con vulnerabilidades conocidas
• Redirecciones y reenvíos no validados

Pruebas de regresión
Las pruebas de regresión son una técnica de pruebas de caja negra que consiste en
volver a ejecutar las pruebas afectadas por los cambios en el código. Estas pruebas
deben ejecutarse con la mayor frecuencia posible a lo largo del ciclo de vida de
desarrollo del software.

Tipos de pruebas de regresión:

• Requiere conocimientos sobre el sistema y cómo afecta por las funcionalidades existentes.
• Las pruebas se seleccionan en función del área de defectos frecuentes
• Las pruebas se seleccionan para incluir el área, que ha sufrido muchos cambios de código
• Las pruebas se seleccionan en función de la criticidad de las características.

Pasos de las pruebas de regresión:


Las pruebas de regresión son los casos ideales de automatización que se traducen en un mejor
retorno de la inversión(ROI).

• Seleccione las pruebas de regresión


• Elija la herramienta adecuada y automatice las pruebas de regresión
• Verificar aplicaciones con Checkpoints
• Gestionar las pruebas de regresión/actualizarlas cuando sea necesario
• Programar las pruebas
• Integración con las construcciones
• Analizar los resultados

Metodología en cascada
En el modelo de cascada, el desarrollo de software avanza secuencialmente a través de varias
fases, como el análisis de requisitos, el diseño, etc.

En este modelo, la siguiente fase sólo comienza cuando se ha completado la anterior.


¿Cuál es el enfoque de las pruebas para
l La primera fase en cascada es la fase de requisitos en la que se definen por completo
todos los requisitos del proyecto antes de iniciar las
pruebas. Durante esta fase, el equipo de pruebas genera una lluvia de ideas sobre el alcance de
las pruebas, la estrategia de pruebas y redacta un plan de pruebas detallado.

Sólo una vez completado el diseño del software, el equipo pasará a la ejecución de los casos de
prueba para garantizar que el software desarrollado se comporta como se espera.

En esta metodología, las pruebas pasan a la fase siguiente sólo cuando se han completado las
fases anteriores.
Ventajas y desventajas de la cascada Ventajas:?
Este modelo de ingeniería de software es muy sencillo de planificar y gestionar. Por tanto, los
proyectos en los que los requisitos están claramente definidos y establecidos de antemano
pueden probarse fácilmente utilizando un modelo en cascada.

Desventajas:

En el modelo de cascada, sólo se puede empezar con la siguiente fase una vez que se ha
completado la anterior. Por lo tanto, este modelo no puede adaptarse a acontecimientos
imprevistos.
Metodología ágil
En la metodología ágil, el software se desarrolla en ciclos rápidos. Se hace más hincapié en las
interacciones entre clientes, desarrolladores y cliente que en los procesos y herramientas. La
metodología ágil se centra en responder a los cambios más que en una planificación exhaustiva.

¿Cuál es el enfoque de las pruebas para la metodología ágil?

Las pruebas incrementales se utilizan en los métodos de desarrollo ágiles y, por tanto, cada
versión del proyecto se prueba a fondo. De este modo se garantiza que los errores del sistema se
solucionen antes de la siguiente versión.
Ventajas y desventajas de Agile
¿Metodología?
Ventajas:
Es posible realizar cambios en el proyecto en cualquier momento para cumplir los requisitos. Estas
pruebas incrementales minimizan los riesgos.

Desventajas:
La constante interacción con el cliente supone una mayor presión de tiempo para todas las partes
interesadas, incluidos el propio cliente y los equipos de desarrollo y pruebas de software.
¿Qué metodología de software elegir?
Hay montones de metodologías de prueba disponibles que están diseñadas para un propósito
específico con sus propias ventajas y desventajas. La selección de una metodología de software
depende de múltiples factores, como la naturaleza del proyecto, los requisitos del cliente, el
calendario del proyecto, etc. En algunos casos, las pruebas y el desarrollo van de la mano,
mientras que otros incluyen las pruebas en fases posteriores, cuando la construcción está lista.
¿Establecimiento de metodologías de
ensayo?
Las metodologías de prueba no se utilizan únicamente para probar el código, sino también para
otros fines.

• Programación: La programación es clave para implementar con éxito la metodología de


pruebas que debe cumplir con los requisitos de cada miembro en el equipo.
• Enfoque de las pruebas: Una vez que haya terminado con la programación y los entregables
del proyecto estén bien definidos, el siguiente paso es formular el enfoque de prueba
adecuado.
• Elaboración de informes: Este paso dictaminará la eficacia del enfoque de las pruebas y los
cambios necesarios para establecer con éxito la metodología de pruebas.

Вам также может понравиться