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 Automatizadas y Manuales - Prof. Ceballos, Ejercicios de Programación Funcional

Este documento proporciona una visión general exhaustiva de las pruebas de software, incluyendo la definición y el propósito de las pruebas automatizadas, los diferentes tipos de pruebas automatizadas y manuales, las ventajas y desventajas de cada enfoque, y ejemplos prácticos de su aplicación. Se enfoca en la relevancia de estas acciones dentro del ciclo de vida del desarrollo de software, brindando una perspectiva integral de cómo cada tipo de prueba contribuye a la calidad y confiabilidad del producto final. El documento también aborda temas como el diseño de pruebas, la inspección manual, la importancia de las pruebas manuales y las tendencias futuras en las pruebas de software, como la automatización avanzada y las pruebas de experiencia de usuario.

Tipo: Ejercicios

2023/2024

Subido el 15/08/2024

osorio-usaquen-kevin-sneider
osorio-usaquen-kevin-sneider 🇨🇴

1 documento

1 / 35

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
ACTIVIDAD PRÁCTICA APLICADA 1
Kevin Sneider Osorio Usaquén
Ingeniería de Software, Fundación universitaria UCompensar
Materia: Pruebas de Software II
Profesor: Juan Carlos Acosta Pinzón
Agosto, 2024
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 Automatizadas y Manuales - Prof. Ceballos y más Ejercicios en PDF de Programación Funcional solo en Docsity!

ACTIVIDAD PRÁCTICA APLICADA 1

Kevin Sneider Osorio Usaquén Ingeniería de Software, Fundación universitaria UCompensar Materia: Pruebas de Software II Profesor: Juan Carlos Acosta Pinzón Agosto, 2024

ÍNDICE

  1. Introducción
  2. Plan de pruebas  Definición y Propósito  Componentes del Plan de Pruebas  Ejemplos de Planes de Pruebas
  3. Pruebas de Software  3.1 Definición y Objetivos  3.2 Importancia de las Pruebas de Software
  4. Pruebas de Software Funcionales  4.1 Tipos de Pruebas Funcionales  4.2 Ejemplos de Pruebas Funcionales
  5. Pruebas de Software No Funcionales  5.1 Tipos de Pruebas No Funcionales  5.2 Ejemplos de Pruebas No Funcionales
  6. Pruebas de Software Manuales  6.1 Definición y Características  6.2 Ventajas y Desventajas  6.3 Ejemplos de Pruebas Manuales
  7. Pruebas de Software Automatizadas  7.1 Definición y Propósito  7.2 Tipos de Pruebas Automatizadas  7.3 Herramientas Comunes para la Automatización

INTRODUCCION

En el desarrollo de software, asegurar la calidad y la funcionalidad de las aplicaciones es fundamental para satisfacer las expectativas de los usuarios y cumplir con los requisitos establecidos. Las pruebas de software desempeñan un papel fundamental en este proceso, ya que posibilitan la identificación y la corrección de errores antes de que el producto final sea obtenido. Un enfoque sistemático y exhaustivo en las pruebas asegura que el software no solo funcione de manera adecuada, sino que también cumpla con los estándares de rendimiento, seguridad y eficacia. El propósito de este estudio es llevar a cabo una revisión teórica acerca de las pruebas de software, enfocando tanto la planificación de las pruebas como la ejecución de diversos tipos de pruebas, tanto funcionales como no funcionales, manuales como automatizadas. Se enfoca en la relevancia de estas acciones dentro del etapa de vida del desarrollo de software, brindando una perspectiva integral de cómo cada tipo de prueba contribuye a la calidad y confiabilidad del producto final. Durante este estudio, se pretende resaltar la relevancia de un enfoque multidimensional en las pruebas de software, lo cual garantiza una entrega de valor y un rendimiento óptimo en diversos contextos de uso.

PLAN DE PRUEBAS

Se trata de un documento detallado que describe el enfoque, los recursos y el plan de ejecución de las pruebas necesarias para asegurar que un sistema o software cumpla con los requisitos establecidos. Se trata de una guía que orienta al equipo de pruebas en la identificación de las funcionalidades a evaluar, los tipos de pruebas a llevar a cabo, los criterios de aceptación y los riesgos asociados. El propósito fundamental del plan de pruebas es asegurar que el proceso de pruebas sea sistemático, organizado y efectivo, lo cual posibilita la identificación de errores de forma temprana y la disminución de los costos asociados a errores en etapas posteriores del desarrollo. ELEMENTO DE UN PLAN DE PRUEBA  Identificación de la iniciativa: Se adjunta el nombre del proyecto, el nombre del software, y la versión de la misma.  Disponibilidad de las pruebas: Defina qué elementos del software serán examinados y cuáles no. Esto posibilita la concentración de los esfuerzos del equipo y la gestión de expectativas.  La finalidad de la prueba es: Se establece qué objetivos se espera alcanzar con las pruebas, tales como la confirmación de funcionalidades específicas, la verificación de rendimiento o la identificación de vulnerabilidades de seguridad.  Diseño de entrada y salida: Los criterios de entrada indican cuándo se pueden iniciar una etapa de pruebas (por ejemplo, cuando una funcionalidad determinada ha sido completada) Los criterios de salida indican cuándo una etapa de pruebas puede considerarse completada (por ejemplo, cuando se han corregido todos los errores críticos)

 Diseño de Salida: Todos los defectos críticos y mayores deben ser resueltos, y no deben existir defectos menores que impacten negativamente la experiencia del usuario.  Información necesaria: Equipamiento de pruebas conformado por 4 personas, con herramientas de prueba automatizadas como Appium, 10 dispositivos móviles con diferentes sistemas operativos.  Cronograma de pruebas específico: Las pruebas de funcionamiento se llevarán a cabo desde el 1 al 15 de septiembre hasta el 20 de septiembre.  Los efectos y las consecuencias: La posibilidad de retraso debido a la falta de dispositivos de prueba se incrementará adquiriendo dispositivos adicionales.  Responsabilidades específicas: El líder del equipo de pruebas será el responsable de la coordinación diaria, y cada tester se ocupará de un módulo específico. Ejemplo 2: PLAN DE PRUEBAS PARA UN SISTEMA DE GESTIÓN DE INVENTARIO}  Identificación de la iniciativa: "InventoryManager Pro v1.5" - InventoryManager.  Disponibilidad de las pruebas: Se incluirán las funciones de gestión de stock, elaboración de informes, y actualización de precios. Se evaluarán los módulos de integración con sistemas de tercía.  El propósito de la prueba es: Para asegurar que las tareas de gestión de inventario se llevan a cabo de manera adecuada en diversos contextos de uso, y que los informes generados sean precisos.  Diseño de entrada: Las tareas deben estar completas y llevar a cabo las pruebas individuales.

 Técnicas de Salida: Todas las funciones deben superar las pruebas sin errores críticos y con una mínima de dos defectos menores.  Información necesaria: Herramientas para pruebas automatizadas (Selenium), dos servidores de prueba, y un equipo de tres testers.  Cronograma de pruebas específico: Se realizarán pruebas del 10 al 30 de octubre.  Riesgos y Resultados: Es posible que surjan conflictos con la base de datos en pruebas concurrentes; se minimizarán mediante la creación de copias de la base de datos para pruebas paralelas.  Responsabilidades específicas: Cada integrante del equipo será responsable de probar un módulo específico y de notificar los inconvenientes detectados.

 Diseño de pruebas: En esta etapa, se elaboran los scripts de prueba (en el caso de pruebas automatizadas) y se establecen los entornos de prueba, tales como la configuración de hardware, software y bases de datos.  Diseño de pruebas: Las pruebas se llevan a cabo conformando los casos de prueba establecidos. Durante la ejecución, se registran los resultados y se presentan las deficiencias detectadas.  Cubrir las pruebas: Una vez que se llevaron a cabo las pruebas, se examinan los resultados, se corrigen los errores y se verifica que el software cumple con los criterios de salida establecidos. Se elabora un informe final de pruebas que detalla los descubrimientos y las recomendaciones. VENTAJAS DE LAS PRUEBAS DE SOFTWARE. La relevancia de llevar a cabo pruebas minuciosas de software no puede ser subestimada. Un proceso de pruebas adecuado asegura que el software funcione de acuerdo con lo esperado y cumpla con los requisitos establecidos, lo cual disminuye el peligro de errores en la producción y aumenta la satisfacción del usuario. Las pruebas de software también permiten detectar problemas de rendimiento, seguridad y usabilidad, que podrían tener un impacto negativo en la experiencia del usuario final. Asimismo, las pruebas de software contribuyen a disminuir los costos a largo plazo. Se puede detectar y corregir errores en las primeras fases del ciclo de desarrollo de manera significativa menos costosa que hacerlo en etapas posteriores o, aún peor, después de que el software haya sido desplegado. Esto también disminuye el peligro de dañar la reputación de la organización debido a un producto inadecuado.

Ejemplo. PRUEBAS DE UN SISTEMA DE E-COMMERCE  Análisis Funcional: Se llevan a cabo pruebas para confirmar que los procesos de registro de usuarios, inicio de sesión, y procesamiento de pagos están correctamente funcionando. Cada funcionalidad se examina en diversas condiciones con el fin de garantizar la adecuada respuesta del sistema.  Análisis no Funcional: Se llevan a cabo pruebas de carga para evaluar cómo responde el sistema en un alto número de usuarios simultáneos. Asimismo, se llevan a cabo pruebas de seguridad con el fin de detectar las vulnerabilidades que podrían ser explotadas por los atacantes. PRUEBAS DE UNA APLICACIÓN DE GESTIÓN FINANCIERA.  Características Técnicas: Se examina la habilidad de la aplicación para registrar y categorizar transacciones financieras, generar informes y calcular automáticamente el balance financiero del usuario.  Pruebas no funcionales: Se llevan a cabo pruebas de utilidad con el fin de asegurar que la interfaz sea intuitiva y fácil de utilizar. También se llevan a cabo pruebas de compatibilidad en diferentes dispositivos y sistemas operativos para asegurar que la aplicación funcione correctamente en todos ellos.

 Prueba del sistema: esta fase prueba todo el sistema para garantizar que todas las partes funcionen juntas y que el software cumpla con los requisitos funcionales generales.  Pruebas de aceptación: estas pruebas se realizan para verificar que el software cumpla con los criterios de aceptación especificados por el cliente o usuario final. Esta es la prueba funcional final antes de que se lance el software.  Pruebas de regresión: estas pruebas garantizan que los nuevos cambios o mejoras de software no introduzcan nuevos errores en la funcionalidad existente. Verifique las funciones que ya se han probado para asegurarse de que continúen funcionando correctamente después de los cambios. Ejemplo 1. PRUEBA FUNCIONAL DE UNA APLICACIÓN DE BANCA MÓVIL  Verificación unitaria: Verifique que la función de cálculo de intereses de la cuenta de ahorros produzca resultados correctos para varias entradas.  Prueba de integración: Pruebe la integración entre el módulo de transferencia y el módulo de cuenta para garantizar que las transferencias entre cuentas se registren correctamente en ambas partes del sistema.  Pruebas del sistema: evalúe todo el proceso desde el inicio de sesión del usuario hasta la transferencia de fondos y vea los saldos actualizados para garantizar que todas las funciones funcionen sin problemas.  Prueba de aceptación: El cliente comprueba si el proceso de solicitud de préstamo cumple con todos los requisitos establecidos, incluyendo la correcta evaluación del perfil crediticio y la aprobación o rechazo automático.

Ejemplo 2: PRUEBA DE FUNCIONES EN UNA PLATAFORMA DE APRENDIZAJE ELECTRÓNICO  Prueba unitaria: Verifique que la funcionalidad para calcular la calificación final de un estudiante basada en una evaluación parcial esté funcionando correctamente.  Prueba de Integración: Prueba que verifica la correcta integración entre el Módulo de Gestión de Cursos y el Módulo de Usuario, asegurando que los estudiantes registrados solo puedan acceder a los cursos en los que están registrados.  Pruebas del sistema: pruebe la experiencia completa del usuario al inscribirse en cursos, acceder a materiales, completar evaluaciones y recibir evaluaciones para garantizar que todas las funciones funcionen juntas sin errores.  Pruebas de regresión: una vez que la plataforma se actualice para incluir el nuevo formato de evaluación, se realizarán pruebas de regresión para garantizar que las evaluaciones existentes continúen funcionando como antes sin errores. LA IMPORTANCIA DE LAS PRUEBAS FUNCIONALES Las pruebas funcionales son esenciales porque garantizan que el software cumpla con los requisitos especificados y que las funciones críticas para el negocio funcionen correctamente. Estas pruebas ayudan a identificar problemas en las primeras etapas del desarrollo, lo que permite corregir errores antes de que se integren en el sistema más grande, lo que reduce los costos y el tiempo de desarrollo. Además, al probar su software desde la perspectiva del usuario, puede brindar una mejor experiencia al usuario final, aumentar la satisfacción y reducir el riesgo de errores de producción.

Pruebas de seguridad: pruebe la capacidad del software para protegerse contra amenazas como ciberataques, acceso no autorizado y vulnerabilidades. Estas pruebas incluyen evaluación de mecanismos de autenticación, autorización, cifrado y manejo de datos sensibles. Pruebas de usabilidad: evalúa la facilidad con la que los usuarios interactúan con el software. Esto incluye evaluar la interfaz de usuario, la navegación, la accesibilidad y la experiencia general del usuario. Estas pruebas son esenciales para garantizar que el software sea intuitivo y fácil de usar. Pruebas de confiabilidad: miden la capacidad del software para funcionar de manera continua y sin errores durante un período de tiempo específico. Se centran en la estabilidad del sistema y su capacidad para funcionar sin interrupciones. Pruebas de compatibilidad: evalúe si el software puede funcionar normalmente en diferentes entornos (por ejemplo, diferentes sistemas operativos, navegadores, dispositivos, configuraciones de hardware). Estas pruebas son esenciales para garantizar que el software esté disponible para una amplia gama de usuarios. Pruebas de resiliencia: analiza la capacidad del software para recuperarse de fallas como cortes de energía, fallas del sistema o fallas de hardware. Evalúe la capacidad del sistema para recuperarse de una falla y proteger los datos en el proceso. EJEMPLOS DE PRUEBAS NO FUNCIONALES. Ejemplo 1. PRUEBAS NO FUNCIONALES EN UNA APLICACIÓN DE COMERCIO ELECTRÓNICO

 Pruebas de rendimiento: ejecute una prueba de carga para determinar si la aplicación puede manejar 10.000 usuarios simultáneos durante el mayor evento de ventas del año. Además, se realizan pruebas de estrés para determinar los límites de la aplicación bajo cargas extremas de usuarios y transacciones.  Pruebas de seguridad: se realizan pruebas de penetración para evaluar la vulnerabilidad del sistema a los ataques cibernéticos, incluido el acceso no autorizado a las bases de datos de los usuarios.  Pruebas de usabilidad: las pruebas de usabilidad se realizan para garantizar que los usuarios puedan navegar por la aplicación fácilmente, encontrar productos rápidamente y completar el proceso de compra sin problemas. Ejemplo 2. PRUEBAS NO FUNCIONALES EN EL SISTEMA DE GESTIÓN HOSPITALARIA.  Validación: La validación debe garantizar que el sistema de gestión de pacientes pueda funcionar continuamente las 24 horas del día y que los registros médicos estén siempre disponibles para el personal médico.  Pruebas de compatibilidad: el sistema se prueba en una variedad de dispositivos, incluidos computadoras de escritorio, tabletas y dispositivos móviles, así como diferentes navegadores y sistemas operativos, para garantizar que los profesionales de la salud puedan acceder al sistema en cualquier entorno.  Prueba de recuperación: simula una falla del servidor para evaluar la capacidad del sistema para recuperar todos los datos y reanudar el funcionamiento normal sin pérdida de información.

PRUEBAS DE SOFTWARE MANUALES

La prueba manual de software es un proceso en el que los evaluadores ejecutan casos de prueba manualmente sin el uso de herramientas automatizadas. Este tipo de prueba implica simular acciones del usuario para verificar que el software esté funcionando según lo previsto. A través de la interacción directa con la interfaz de usuario, los evaluadores pueden identificar defectos, fallos y errores que las pruebas automatizadas tal vez no detecten. El propósito de las pruebas manuales es garantizar que todas las funciones del software funcionen correctamente y que la experiencia del usuario cumpla con los requisitos especificados. Estas pruebas pueden proporcionar una evaluación más detallada y específica del rendimiento del software y descubrir problemas que las pruebas automatizadas pueden pasar por alto. PROCESO DE INSPECCIÓN MANUAL El proceso de prueba manual sigue una serie organizada de pasos que ayudan a garantizar la cobertura completa de los requisitos y la identificación de defectos. Los pasos principales incluyen:  Análisis de requisitos: antes de comenzar las pruebas, los evaluadores deben revisar y comprender completamente los requisitos del software. Esto garantiza que las pruebas cumplan con las expectativas del cliente o los objetivos del proyecto.  Desarrollo de casos de prueba: en función de los requisitos, se desarrollan casos de prueba que describen los pasos específicos que debe realizar el evaluador y los resultados esperados. Cada caso de prueba está diseñado para cubrir una funcionalidad específica del software.

 Configuración del entorno de prueba: el entorno de prueba se prepara configurando el hardware y software necesarios, como sistemas operativos, bases de datos y aplicaciones relacionadas. El entorno debe replicar lo más fielmente posible el entorno real en el que opera el software.  Ejecución de prueba: el evaluador ejecuta el caso de prueba de acuerdo con las instrucciones e interactúa directamente con el software. Mientras ejecuta, observe y registre los resultados y observe cualquier comportamiento o error inesperado.  Registro e informes de defectos: si se detecta un defecto durante la ejecución de la prueba, se registrará en detalle en el sistema de seguimiento de defectos. El informe incluye una descripción del defecto, los pasos para reproducir el defecto y cualquier otra información relacionada con su resolución.  Revisar y volver a probar: después de que el desarrollador haya solucionado el defecto informado, los evaluadores realizan una "nueva prueba" para garantizar que el error se haya solucionado correctamente y que no hayan surgido nuevos problemas. VENTAJAS DE LAS PRUEBAS MANUALES  Flexibilidad: las pruebas manuales permiten a los evaluadores ajustar rápidamente los casos de prueba en función de las observaciones a lo largo del camino, lo que es especialmente útil para las pruebas exploratorias cuando los casos de prueba no están completamente definidos.  Entorno humano: los evaluadores humanos pueden evaluar subjetivamente la experiencia del usuario e identificar problemas de usabilidad, accesibilidad y estética que las pruebas automatizadas pueden no detectar.