Skip to content

Estrategia de pruebas

csolanor22 edited this page Oct 1, 2023 · 2 revisions

Estrategia de pruebas

1. Aplicación Bajo Pruebas

1.1 Nombre Aplicación: ABC jobs

1.2 Versión: 1.0.0-RELEASE

1.3 Descripción:

ABC Jobs es un sistema de gestión del proceso de intermediación de profesionales en TI requeridos para los proyectos de empresas clientes. Está diseñada para que se pueda acceder a través de la web y desde una app móvil.

1.4 Funcionalidades Core:

  • Registro de una persona (portal web y app móvil)

  • Registro de una empresa (portal web)

  • Crear un proyecto por parte de una empresa (portal web)

  • Búsqueda de candidatos por parte de una empresa dados unos criterios técnicos personales (portal web)

  • Registro de resultado de una prueba técnica a un candidato (portal web y app móvil)

  • Selección de un candidato y asignación a un equipo de trabajo (portal web y app móvil)

  • Evaluación de desempeño de un candidato (portal web y app móvil)

  • Consulta de entrevistas programadas (portal web y app móvil)

  • Consulta de resultado de entrevistas (portal web y app móvil)

1.5 Diagrama de Arquitectura:

Se diseña una arquitectura basada en microservicios. El siguiente es el modelo de componentes de la arquitectura de la solución:

image

El modelo presentado evidencia la implementación de un estilo arquitectónico de N -- niveles, en el cual se presentan por cada uno de ellos los componentes que integran la propuesta de decisión arquitectónica. Este estilo permite favorecer los atributos de calidad de desempeño, particularmente la latencia y escalabilidad. A nivel de cada componente, se plantea la implementación de un estilo arquitectónico de microservicios que permite favorecer la disponibilidad y la facilidad de mantenimiento. Se realiza una propuesta de a nivel de la capa de Cliente de implementar un único Front que se presente tanto para los ambientes web como para dispositivos móviles por medio de una WebView. Esta capa tendrá comunicación con la capa de negocio a través de un API Gateway dispuesto en la capa de intermediación. Este componente será el encargado de recibir las peticiones, validar y permitir los accesos de acuerdo con las validaciones de seguridad y autorización de roles, usuarios a los servicios dispuestos los diferentes microservicios que se encargarán de la lógica del proceso.

1.6 Diagrama de Contexto:

image

1.7 Modelo de Datos:

A continuación, se presenta el modelo de datos de acuerdo al refinamiento de las historias de usuario de las funcionalidades a desarrollar.

image

1.8 Modelo de GUI:

image

2. Contexto de la estrategia de pruebas

2.1 Objetivos:

Teniendo en cuenta que se construirá un sistema de software desde ceros los objetivos de la presente estrategia de pruebas son:

  1. Ejecutar pruebas manuales que permitan determinar el correcto funcionamiento de las características desarrolladas y desplegadas, así como identificar posibles defectos que deban ser corregidos.

  2. Diseñar y ejecutar de forma semi-automatizada dentro de un pipeline de CI/CD sets de pruebas unitarias que permitan verificar, a nivel de backend, el correcto funcionamiento de características específicas de la aplicación ABC jobs.

  3. Diseñar y ejecutar pruebas de sistema E2E a través de APIs de automatización que permitan verificar, al nivel del frontend, el correcto funcionamiento y visualización de los componentes de la interfaz gráfica a diseñar. En caso de existir errores, permita identificar donde se encuentran para su posterior solución.

  4. Diseñar y ejecutar pruebas de integración usando APIs de automatización para verificar el correcto funcionamiento de las diferentes características que abarcan más de un componente del sistema y/o microservicio.

  5. Diseñar y ejecutar pruebas de carga que permitan medir el rendimiento de la aplicación con alto flujo de usuarios concurrentes

  6. Diseñar y ejecutar pruebas de carga que permitan medir que el recalculo de las preguntas y su nivel de adaptación ocurre en menos 0.5 segundos.

  7. Diseñar y ejecutar pruebas de carga que permitan medir que el sistema debe poder atender pruebas de 30 usuarios concurrentes y aumentar hasta 100 usuarios concurrentes con la cantidad de pods definidos (3) sin afectar el rendimiento y calidad del servicio.

2.2 Duración de la iteración de pruebas:

Inicio: 9 de octubre de 2023 (primera semana bimestre 202315)

Finalización: 24 de noviembre de 2023 (séptima semana bimestre 202315)

70 horas de dedicación total (10 horas semanales por 7 semanas)

2.2 Presupuesto de pruebas:

2.3.1 Recursos Humanos

Recurso Experiencia Disponibilidad
Recurso 1 Desarrollador backend 2.5 horas semanales
Ana Lucía Forero con 5 años de experiencia
en pruebas manuales.
Recurso 2 Desarrollador con 2.5 horas semanales
Marlon Agón conocimientos en
automatización de
pruebas frontend
Recurso 3 Ingeniero QA con 2.5 horas semanales
Cesar Solano experiencia en pruebas de
re conocimiento/manuales
Recurso 4 Desarrollador full-stack 2.5 horas semanales
Anderson Castiblanco con 3 años de experiencia.

Perfil general de cada uno de los 4 integrantes:

Desarrolladores con experiencia en pruebas manuales, automáticas y automatizadas, estudiantes de la Maestría de Software de la Universidad de los Andes.

2.3.2 Recursos Computacionales

Recurso Características Cantidad
Máquina Amazon AWS Instancia EC2 de Amazon 28h
Pruebas semi-automatizadas que
correrán como parte del pipeline de
CI/CD en Github
HP ProBook 440 G7 Procesador 1,8 GHz Intel Core i7, 1
Memoria 8 GB, 512 GB SSD
MacBook Pro Procesador 2,6 GHz 6-core Intel Core 1
i7, Memoria 16 GB, 500 GB SSD
Laptop Lenovo AMD Ryzen 7 1.8 GHz, 16 GB RAM, 1
480 GB SDD
Laptop Lenovo Intel(R) Core(TM) i5-10400, 16 GB 1
RAM, 500 GB SDD
Samsung Galaxy A32 Android 13, Memoria 4 GB 1
Motorola G52 Android 12, Memoria 6 GB 1

2.3.3 Recursos Económicos para la contratación de servicios/personal:

No se cuentan con recursos económicos para la tercerización de tareas en la estrategia de pruebas.

2.4 TNT (Técnicas, Niveles y Tipos) de pruebas:

Técnica Nivel Tipo Objetivo al que apunta
Pruebas Manuales Sistema Funcionales Positivas y 1
Negativas
API Integración Caja gris. Funcionales 4
Automatización positivas
API Unitarias Caja blanca, funcionales, 2
Automatización positivas y negativas
API Sistema Funcionales Positivas. 3
Automatización
Pruebas manuales Sistema Pruebas de carga 5, 6, 7

2.5 Distribución de Esfuerzo

Semana 1

4h Desarrollo de pruebas unitarias del backend

2h Definición de las tecnologías a usar para el desarrollo y ejecución de pruebas

2h Integración de ejecución de pruebas unitarias dentro del Pipeline de CI/CD

2h Ejecución y documentación de pruebas manuales funcionales del sistema

Semana 2

4h Desarrollo de pruebas unitarias del backend

2h Ejecución y documentación de pruebas manuales funcionales del sistema

2h Desarrollo de pruebas de carga

2h Desarrollo y ejecución de pruebas E2E

Semana 3

4h Desarrollo de pruebas unitarias del backend

2h Ejecución y documentación de pruebas manuales funcionales del sistema

2h Desarrollo y ejecución de pruebas de integración

2h Desarrollo y ejecución de pruebas E2E

Semana 4

4h Desarrollo de pruebas unitarias del backend

3h Ejecución y documentación de pruebas manuales funcionales del sistema

2h Desarrollo de pruebas de carga

1h Desarrollo y ejecución de pruebas E2E

Semana 5

4h Desarrollo de pruebas unitarias del backend

3h Ejecución y documentación de pruebas manuales funcionales del sistema

2h Desarrollo de pruebas de integración

1h Desarrollo y ejecución de pruebas E2E

Semana 6

4h Desarrollo de pruebas unitarias del backend

3h Ejecución y documentación de pruebas manuales funcionales del sistema

2h Desarrollo de pruebas de integración

1h Desarrollo y ejecución de pruebas E2E

Semana 7

4h Desarrollo de pruebas unitarias del backend

3h Ejecución y documentación de pruebas manuales funcionales del sistema

2h Desarrollo de pruebas de integración

1h Desarrollo y ejecución de pruebas E2E

Clone this wiki locally