-
Notifications
You must be signed in to change notification settings - Fork 1
Estrategia de pruebas
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.
-
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)
Se diseña una arquitectura basada en microservicios. El siguiente es el modelo de componentes de la arquitectura de la solución:

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.

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

Teniendo en cuenta que se construirá un sistema de software desde ceros los objetivos de la presente estrategia de pruebas son:
-
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.
-
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.
-
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.
-
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.
-
Diseñar y ejecutar pruebas de carga que permitan medir el rendimiento de la aplicación con alto flujo de usuarios concurrentes
-
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.
-
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.
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.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.
| 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 |
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
- Avance-1 - Charts
- Avance-1 - Devops
- Avance-2 - Charts
- Avance-2 - Devops
- Cierre - Charts
- Cierre - Devops
- Cierre - Retrospectiva
- Cierre - Instructivo Usuario
- Cierre - Documentación Técnica
- Objetivos, Restricciones y Requisitos
- Escenarios de calidad
- Visión de Arquitectura
- Estilos Tácticas Patrones
- Experimento1
- Experimento2
- Resultados Experimentación