Entrega - Sem5 - Pruebas y Calidad de Software-Grupo - 12
Entrega - Sem5 - Pruebas y Calidad de Software-Grupo - 12
Profesora
Margarita Avellaneda Vargas
Octubre 2023
Tabla de contenido
Introducción________________________________________________________________3
Objetivos___________________________________________________________________4
Investigación de Modelos de Calidad Pros y Contras_________________________________5
Cuadro Comparativo_________________________________________________________10
Análisis de la Empresa_______________________________________________________11
Matriz DOFA______________________________________________________________13
Validación del estado de la empresa_____________________________________________15
Estrategias en la implementación de los procesos de calidad__________________________20
Medios de Comunicación_____________________________________________________20
Reuniones de Control________________________________________________________23
Métricas___________________________________________________________________24
27
Hoja de Control / Trazabilidad _______________________________________________29
Responsables y roles_________________________________________________________30
Esquema de informes de cambio________________________________________________36
Responsabilidades y actividades de las personas involucradas en el proyecto_____________37
Conclusiones_______________________________________________________________39
Referencias________________________________________________________________41
Introducción
Existen diversos enfoques de calidad de software que permiten mejorar de forma constante su
aplicación. En este texto, se exponen las particularidades del modelo analizado a través de la
revisión de información y se categorizan según el nivel del proceso o producto al que se
aplican. Cada uno de estos modelos presenta sus propias características y estructuras, las
cuales se describen de manera concisa en este artículo. En la búsqueda de empresas que
constantemente buscan mejorar sus procesos, han reconocido la importancia de implementar
modelos que puedan certificar y asegurar la calidad de sus productos y procesos, lo que se
ilustra mediante ejemplos de casos exitosos.
Objetivos
Realizar una evaluación exhaustiva de los estándares de seguridad y calidad de software que
deben estar presentes en la empresa seleccionada y verificar si se están implementando de
manera adecuada. En caso de que no se cumplan plenamente, elaborar un plan de acción para
su implementación, contribuyendo así a la mejora en la calidad del desarrollo y el ciclo de
pruebas.
Modelo IEEE
Pros:
Enfoque Integral: Aborda múltiples áreas de calidad, lo que permite una evaluación
exhaustiva de diversos aspectos del software.
Contras:
Modelo PMBOK
Pros:
Rigidez: La estructura metodológica del PMBOK puede ser percibida como rígida y
puede requerir adaptación para proyectos de desarrollo de software más ágiles y
flexibles.
CMM
El CMM (Capability Maturity Model) es un modelo de referencia que se utiliza para mejorar
los procesos de desarrollo de software y aumentar la madurez de la organización en la gestión
de proyectos de software. A continuación, se proporciona una descripción básica de varios
aspectos relacionados con el CMM:
Aumenta la eficiencia: Optimiza los procesos, lo que conduce a un uso más eficiente
de los recursos.
El modelo se puede manejar por Etapas o Continuo y la elección depende de las necesidades
y la madurez actual de la organización.
El enfoque por etapas se basa en niveles de madurez predefinidos y proporciona una guía
estructurada.
0. Incompleto
1. Performed
2. Managed
3. Defined
4. Cuantitativamente manejado
5. Optimizado
Y los siguientes nivele s de madurez:
1. Inicial
2. Manejado
3. Definido
4. Cuantitativamente manejado
5. Optimizado
Las metas específicas y genéricas se seleccionan en función de las áreas a las que se le desea
mejorar y alcanzar los resultados deseados y el proceso de evaluación generalmente involucra
a un equipo de evaluación externo o interno que analiza los procesos de la organización en
relación con el modelo CMM.
ISO 9001
Cuadro Comparativo
Puntos de
IEEE PMBOK CMM ISO 9001
Evaluación
Enfoque en la Enfoque en la
Mejora de la Establecimiento de Promoción de una
calidad del gestión de calidad
Calidad procesos de calidad. cultura de calidad.
software. del proyecto.
Se centra en la
No se centra Proporciona una Se enfoca en la
gestión de calidad,
Gestión de específicamente en guía estructurada mejora de la gestión
pero puede influir
Proyectos la gestión de para la gestión de de proyectos y
en la gestión de
proyectos. proyectos. procesos.
proyectos.
Enfoque en
No se enfoca Enfoque en la Enfoque en la
Enfoque en el satisfacer las
específicamente en satisfacción del satisfacción del
Cliente necesidades del
el cliente. cliente. cliente.
cliente.
Costos Durante
Moderados Moderados Altos Moderados
Proceso
Costos de
Moderados Moderados Altos Moderados
Entrega Final
Tiempo de
Moderado Moderado Alto Moderado
Implementación
Requiere que el
Implica un esfuerzo
personal esté El personal debe El personal debe
significativo para
familiarizado con capacitarse en entender los
Preparación del capacitar al personal
métricas y prácticas y procesos requisitos y
Personal en la
mediciones de gestión de procedimientos de
implementación y
objetivas de proyectos definidos. calidad de la norma.
mejora de procesos.
calidad.
Requiere Requiere
Se enfoca en Implica una
documentación de documentación
documentar planes y documentación
Documentación métricas y detallada de
procesos de gestión extensa de procesos
resultados de procedimientos de
de proyectos. y procedimientos.
calidad. calidad y registros.
Enfoca la gestión de
Puede requerir un Requiere un cambio
proyectos, lo que Puede implicar un
cambio en la cultural hacia la
puede requerir un cambio cultural
Cambio Cultural mentalidad hacia mejora continua y la
cambio en la forma hacia una cultura de
mediciones adopción de mejores
en que se abordan calidad.
objetivas. prácticas.
los proyectos.
Necesita
Requiere un La gestión de Implica un esfuerzo
mantenimiento y
Mantenimiento mantenimiento proyectos requiere continuo para
auditorías regulares
Continuo regular de las un monitoreo mejorar los
para mantener la
métricas de calidad. constante. procesos.
certificación.
Análisis de la Empresa
EMPRESA ELEGIDA: BRM AN ALTA COMPANY “En los datos están las respuestas”
nos sentimos orgullosos de ser parte de algo cada día más grande.
Es una compañía originaria de Colombia con más de una década y media de experiencia
especializada en ofrecer soluciones relacionadas con la atención al cliente, la experiencia del
cliente y servicios de marketing digital tanto en Colombia como en la región circundante.
Esta empresa se distingue en América Latina por ser la única con experiencia simultánea en
la optimización de operaciones en diversas áreas, que incluyen Contact Center, Agencia,
Desarrollo Digital, Atención a servicios bajo demanda y Programas de relacionamiento y
fidelización.
AUDITORIA DE OPERACIONES:
La entrevista fue llevada a cabo con Sebastián Gallego, quien trabaja principalmente en el
área de CENAM de operaciones y soporte. En sus comentarios, identificó ciertas novedades
en la empresa
DIRECTOR MANAGER:
La entrevista fue llevada a cabo con Carlos Rincón, quien trabaja principalmente en el área de
CENAM de operaciones y soporte. En sus comentarios, identificó ciertas novedades en la
empresa:
1. En los proyectos realizados por la empresa, se han otorgado demasiados permisos a los
usuarios en cuanto al acceso o gestión de información, sin una distinción significativa entre
usuarios y administradores.
3. El grado en que se puede esperar que un programa lleve a cabo sus funciones esperadas
con la precisión requerida.
Matriz DOFA
Para realizar la validación del estado de la empresa se hará uso de los criterios KPA del
modelo CMM.
EVALUACION DE CMMI
Nivel 1 (Inicial)
Nivel 2 (Gestionado)
Nivel 3 (Definido)
Nivel 4 (Gestionado Cuantitativamente)
Nivel 5 (Optimizado)
Áreas de Evaluación:
Áreas de Evaluación KPA Nivel de Madurez CMMI
Planificación Nivel 3
Análisis de Requisitos Nivel 2
Diseño Nivel 3
Implementación (Codificación) Nivel 2
Pruebas Nivel 3
Despliegue Nivel 2
Operación y Mantenimiento Nivel 3
Estrategias en la implementación de los procesos de calidad
En BRM ALTA Company, sabemos que la calidad del software es esencial en el desarrollo
de aplicaciones y sistemas informáticos. Para asegurarnos de que nuestros productos cumplan
con los estándares de calidad requeridos, hemos establecido una estrategia sólida de pruebas
de software que nos guía en cada paso del proceso. Esta estrategia se centra en la importancia
de las pruebas de software y cómo impactan en la calidad de nuestros productos.
Nuestras estrategias en la implementación de calidad de software, son enfoques planificados
y sistemáticos diseñados para garantizar que nuestros productos cumplan con los más altos
estándares de calidad cubriendo diferentes aspectos del desarrollo de software, desde la
planificación hasta la gestión de defectos. Aquí te presentamos algunas de las estrategias
clave que seguimos:
Al seguir estas estrategias, garantizamos que nuestros productos cumplan con los estándares
de calidad que nos hemos propuesto, y que nuestros clientes reciban productos de software de
alta calidad.
Para la empresa BRM AN ALTA COMPANY se ha definido los siguientes puntos como
claves para garantizar la Calidad en los desarrollos de proyectos que se tengan:
Falta de Comunicación Aislada: Nos aseguramos de que ningún miembro del equipo
trabaje de forma aislada sin comunicarse con los demás. Fomentamos un ambiente en
el que la comunicación abierta y continua sea la norma.
Malentendidos y Confusiones: Para evitar malentendidos y confusiones, promovemos
la claridad en nuestras comunicaciones. Esto implica ser específicos en nuestras
instrucciones y requerimientos.
Detección Temprana de Problemas: Valoramos la comunicación temprana de
problemas. Alentamos a los miembros del equipo a informar sobre cualquier desafío o
dificultad que encuentren durante el proyecto para abordarlo de manera inmediata.
Eficiencia en la Distribución de Tareas: Garantizamos una distribución eficiente de
tareas y una asignación adecuada de recursos. Esto se logra mediante una
comunicación efectiva y una planificación cuidadosa.
Reconocemos que la comunicación efectiva es esencial para el éxito del equipo y utilizamos
herramientas especializadas para garantizar una colaboración fluida y una entrega de alta
calidad en cada proyecto que abordamos.
Reuniones de Control
La metodología Scrum promueve la colaboración cercana entre los miembros del equipo, el
Product Owner y los interesados entendiendo que la comunicación regular y efectiva es
fundamental para el éxito de Scrum, ya que asegura que todos estén alineados con los
objetivos del proyecto y la mejora continua buscando el compromiso del equipo obteniendo
la responsabilidad y la autorregulación del equipo, lo que significa que los equipos Scrum
sean autónomos y tomen decisiones sobre cómo abordar las tareas asignadas.
Evaluando las métricas disponibles se han evaluado revisar la medición de las siguientes
métricas sobre la que vamos a estar revisando la meta objetivo dependiendo de cómo va
mejorando:
ite KPI MÉTODO DE EXPLICACIÓN META
m CALCULO DE KPI OBJETIVO
1 Tasa de Defectos Defectos encontrados / Mide la cantidad Bajo DPU es
por Unidad Unidades funcionales de defectos por deseable.
Funcional probadas unidad funcional.
2 Tasa de Defectos Defectos encontrados / Mide la cantidad Baja tasa por
por Caso de Prueba Casos de prueba de defectos por caso.
ejecutados caso de prueba.
3 Índice de Rechazo (Casos de prueba Porcentaje de Bajo índice
de Pruebas fallidos / Casos de casos de prueba de rechazo.
prueba totales) * 100 que fallaron.
4 Tasa de Recurrencia Defectos recurrentes / Mide la frecuencia Baja tasa de
de Defectos Total de defectos de defectos recurrencia.
recurrentes.
5 Tiempo Promedio (Fecha de resolución - Promedio de Tiempo
de Resolución de Fecha de detección) / tiempo para corto de
Defectos Total de defectos resolver defectos. resolución
resueltos
6 Índice de Gravedad (Defectos críticos / Total Proporción de Bajo índice
de Defectos de defectos) * 100 defectos críticos de críticos.
respecto al total.
7 Índice de Eficiencia (Defectos encontrados Eficiencia de las Alto índice
de Pruebas en pruebas / Defectos pruebas en la de eficiencia.
encontrados por detección
usuarios) * 100 temprana.
8 Porcentaje de Retest (Casos de retest exitosos Porcentaje de Alto
Exitosos / Total de retest) * 100 casos de retest que porcentaje
pasan exitoso.
exitosamente.
9 Índice de Cobertura (Requisitos cubiertos Proporción de Alta
de Pruebas por pruebas / Total de requisitos cobertura de
requisitos) * 100 cubiertos por pruebas.
pruebas.
10 Tiempo Promedio (Fecha de aparición del Promedio de Largo
entre Defectos nuevo defecto - Fecha tiempo entre tiempo entre
de corrección del defectos defectos.
defecto anterior) / Total recurrentes.
de defectos recurrentes
Políticas
Responsabilidades
Equipo de Pruebas de Calidad: Un equipo especializado en pruebas de calidad se
encargará de planificar, diseñar, ejecutar y reportar las pruebas. Estos serán reportados
dentro de la herramienta de Scrum ‘Boards’ como un Bug donde se detalle el
escenario que fallo, junto con las evidencias adjuntas.
Desarrolladores: Los desarrolladores son responsables de escribir código siguiendo
las mejores prácticas teniendo en cuenta patrones de diseño y arquitectura
proporcionando aplicaciones de alta calidad, además de comunicarse efectivamente
con el equipo de pruebas de calidad para identificar y resolver problemas.
Gestión de Proyectos: Los gerentes de proyectos supervisarán el proceso de pruebas y
asegurarán que se cumplan los plazos y los objetivos de calidad.
Tipos de Pruebas
Realizamos una variedad de pruebas de calidad y software para garantizar que nuestros
productos sean sólidos y confiables. Estos incluyen:
Pruebas Unitarias: Los desarrolladores realizan pruebas unitarias para garantizar que cada
componente de software funcione correctamente de manera individual.
Escritura de Pruebas Unitarias Iniciales
- Crear Prueba Antes del Código (Red): En TDD, comienza escribiendo una prueba
unitaria que describe la funcionalidad que aún no existe. Esta prueba debe fallar
inicialmente, ya que el código aún no se ha escrito.
- Identificar un Caso de Uso o Funcionalidad Específica: Centrarse en una pequeña
parte del código, generalmente una función o método.
- Especificar el Comportamiento Esperado: La prueba debe definir claramente cuál
es el resultado esperado del código en función de los datos de entrada.
Codificar
- Escribir el Mínimo Código Necesario (Green): Ahora es el momento de escribir el
código real para que la prueba pase. No se debe escribir más código del necesario para
que la prueba sea exitosa.
Ejecución Recurrente
- Ejecutar las pruebas unitarias después de cada iteración del sprint, para validar de que
el nuevo código no haya introducido errores en áreas previamente funcionales.
Pruebas de Integración: Se prueban las interacciones entre componentes para garantizar que
funcionen todos juntos de manera efectiva.
Pruebas Funcionales: Verificamos que el software cumpla con todos los requisitos
funcionales especificados.
Pruebas No Funcionales: Evaluamos aspectos como la seguridad, el rendimiento, la
escalabilidad y la usabilidad del software.
Pruebas de Regresión: Realizamos pruebas de regresión para garantizar que las nuevas
actualizaciones no introduzcan errores en áreas previamente funcionales.
Proceso de Pruebas
Nuestro proceso de pruebas sigue las siguientes etapas:
Planificación de Pruebas: Definimos los objetivos de las pruebas, las estrategias, los recursos
necesarios y los plazos.
Diseño de Pruebas: Creamos casos de prueba detallados que cubren todos los aspectos
del software.
Ejecución de Pruebas: Se ejecutan las pruebas de acuerdo con el plan y los casos de
prueba definidos.
Registro y Seguimiento: Registramos y seguimos cada prueba realizada, incluyendo
resultados, defectos encontrados y su estado de resolución.
Informe de Pruebas: Generamos informes de pruebas detallados para informar sobre
el estado de calidad del software.
Control de Calidad
Gestión de Defectos: Todos los defectos identificados se registran en un sistema de
seguimiento de defectos y se asignan a los desarrolladores responsables de su
corrección.
Gestión de Cambios: Se planifican nuevas historias de usuario para implementar
cualquier cambio en el software después de que las pruebas hayan comenzado.
Retesting y Validación: Después de corregir los defectos, se realizan pruebas
adicionales para garantizar que los problemas se hayan resuelto correctamente.
Automatización de Pruebas
Fomentamos la automatización de pruebas siempre que sea posible. Esto ayuda a acelerar el
proceso de pruebas y a garantizar una cobertura más amplia.
Capacitación y Desarrollo Continuo
Mantenemos a nuestro equipo de pruebas actualizado con las últimas tendencias y
herramientas en pruebas de calidad y software. Promovemos la capacitación y el desarrollo
continuo para mejorar sus habilidades.
Cumplimiento Legal y Normativo
Cumplimos con todas las leyes y regulaciones aplicables relacionadas con la calidad del
software y la privacidad de los datos.
Se conoce que ciertas herramientas y soluciones de software pagadas pueden ser necesarias
debido a sus características avanzadas y capacidades específicas. En tales casos, nuestra
política establece que solo utilizaremos software con licencias debidamente adquiridas y
acordadas previamente. Esto garantiza que cumplamos con todas las obligaciones legales y
que tengamos acceso a soporte técnico adecuado cuando sea necesario. Además, evaluaremos
detenidamente las herramientas pagadas para asegurarnos de que aporten un valor
significativo a nuestro proceso de pruebas.
En nuestra empresa, entendemos la importancia fundamental de aplicar políticas orientadas a
las pruebas de software en todo el ciclo de vida del desarrollo, Estas políticas no solo son un
marco de trabajo, sino también una garantía de calidad y confiabilidad. Establecen una base
sólida para medir el progreso y evaluar la calidad de nuestro trabajo
En resumen, estas políticas no son simplemente un conjunto de reglas, sino una promesa. Son
la promesa de que entregaremos software sólido, confiable y de alta calidad. Son la promesa
de que estaremos siempre comprometidos con la excelencia en la ingeniería de software. Son
la promesa de que nuestros clientes pueden confiar en nosotros. Esta es nuestra promesa, y la
cumpliremos en cada proyecto que emprendamos."
HOJA DE CONTROL
REGISTRO DE CAMBIOS
CONTROL DE DISTRIBUCIÓN
Nombre y Apellidos
<Sara Barona>
<Camilo Falla>
<Carlos Valero>
<Diego Ladino>
<Harrison Avella>
<Ronald Carval>
El objetivo de este documento es recoger los casos de pruebas que verifican que el sistema
satisface los requisitos especificados. Deberá contener la definición de los casos de prueba, la
matriz de trazabilidad entre casos de pruebas y requisitos, y la estrategia a seguir en la
ejecución de las pruebas.
Integramos las pruebas en cada fase del ciclo de vida del software para garantizar la calidad
desde el inicio hasta la implementación y mantenimiento.
Qué Comprobar:
o Funcionalidad, rendimiento, seguridad, usabilidad y compatibilidad.
Personas y Recursos:
o Equipo de pruebas con habilidades adecuadas.
o Acceso a entornos de pruebas representativos.
Cómo Realizar las Actividades de Comprobación:
o Utilizando pruebas manuales y automatizadas, siguiendo casos de prueba
previamente definidos.
Establecer fechas concretas y definir el marco de cada iteración para las actividades de
análisis, diseño, implementación, ejecución y evaluación de pruebas.
Definir métricas clave para monitorear el progreso de las pruebas, como la cobertura de
pruebas, la tasa de defectos, etc.
7. Presupuesto de las Actividades de Prueba
Esta plantilla proporciona un marco general para organizar y planificar las actividades de
prueba en BRM an Alta Company, teniendo en cuenta el alcance y los objetivos específicos
de la empresa. Es importante adaptar esta plantilla según las necesidades y particularidades
de cada proyecto y organización.
Responsables y roles
El director del proyecto en la fase inicial debe determinar y definir los diferentes roles que
formaran parte de su equipo de trabajo.
Responsabilidades y actividades de las personas involucradas en el proyecto
Indicar el responsable específico para un procedimiento definido para dar cumplimiento a la
calidad y los medios, herramientas y formatos adecuados para dar fluidez al proceso de
pruebas.
Hemos visto que la mejor que se recomienda los siguientes roles con las siguientes
responsabilidades:
1. SCRUM Master
Responsabilidades:
o Facilitar las reuniones y eventos de Scrum.
o Ayudar al equipo a entender y aplicar los principios y prácticas de Scrum.
o Eliminar obstáculos que afecten la productividad del equipo.
o Fomentar la colaboración y la comunicación efectiva.
2. SCRUM Master
Responsabilidades:
o Definir y priorizar el backlog del producto.
o Representar las necesidades y expectativas del cliente.
o Tomar decisiones sobre qué funcionalidades deben desarrollarse a
continuación.
o Garantizar que el equipo comprenda los elementos del backlog y sus criterios
de aceptación.
3. Especialista de pruebas manuales
Responsabilidades:
o Diseñar, planificar y ejecutar casos de prueba manuales.
o Identificar y documentar defectos, errores o anomalías en el software.
o Colaborar con el equipo de desarrollo para entender los requisitos y las
funcionalidades.
o Participar en la revisión de código y contribuir a la mejora de la calidad del
software.
Responsabilidades:
6. Ingeniero de Calidad
Responsabilidades:
o Participar en la definición de la estrategia de calidad para el producto.
o Realizar análisis de riesgos y proponer acciones de mitigación.
o Colaborar con el equipo en la mejora continua de los procesos de desarrollo y
pruebas.
o Contribuir a la planificación de liberaciones y entregas del producto.
Sin embargo, tomando esta metodología y entre otras más, como base para nuestro proyecto,
hemos definido los roles, responsabilidades y funciones o actividades de la siguiente forma:
Nombre Rol
Camilo Andres Falla Albarracin Gestor del desarrollo / Líder de equipo
Ronald Isaac Carval Contreras Administrador requerimientos y soporte
Harrison Leonardo Avella Arevalo Líder del Equipo de Pruebas
Diego Alejandro Ladino Cubides Gestor de garantía de calidad (QA)
Carlos Andres Valero Velazco Gestor de proceso
Sara Juliana Barona Nicholls Gestor de planeación
Tabla 1. Nombres y Roles_ Creación Propia
Elegir el modelo CMM es una excelente opción para empresas que ya cuentan con un nivel
de madurez alto en la gestión de proyectos de software. CMM se destaca por su enfoque en la
mejora continua de procesos, lo que significa que las organizaciones que lo adoptan buscan
constantemente formas de optimizar sus procesos, lo que se traduce en una evolución
constante hacia la excelencia en la gestión de proyectos de software. Además, CMM
establece niveles de madurez de procesos que brindan una estructura sólida para llevar la
gestión de proyectos muy lejos, incluso para empresas que ya han alcanzado un alto grado de
madurez.
En resumen, CMM es una elección sólida para empresas con un alto nivel de madurez en la
gestión de proyectos de software. Aprovechando su experiencia existente, la organización
puede adoptar CMM de manera efectiva y continuar su viaje hacia la excelencia en la gestión
de proyectos.
Faro, Isabel, et al. “Los estándares de calidad del software más importantes - Blog de
Hiberus Tecnología.” Hiberus Tecnología, 5 December 2022,
https://www.hiberus.com/crecemos-contigo/los-estandares-de-calidad-del-software-
mas-importantes/. Accessed 11 September 2023.
FERNANDEZ, JUAN MANUEL. “CALIDAD DEL SOFTWARE.” Calidad del
software, 2011, https://www.uv.mx/personal/jfernandez/files/2010/07/8_Calidad.pdf.
Accessed 11 September 2023.
“Guía de los Fundamentos para la Dirección de Proyectos (Guía del PMBOK®) –
Sexta Edición Fe de Erratas–3a Impresión.” PMI,
https://www.pmi.org/-/media/pmi/documents/public/pdf/pmbok-standards/pmbok-
guide-6th-errata.pdf?rev=66712958a62647f6b285b3f24cf29dc4&sc_lang_temp=es-
ES. Accessed 11 September 2023.
SOCIETY, IEEE COMPUTER. Standard software quality metrics methodology.
1993. IEEE COMPUTER SOCIETY, https://ieeexplore.ieee.org/document/237006.
TESTING. Ministry of Testing | Ministry of Testing,
https://www.ministryoftesting.com/. Accessed 11 September 2023.
Wong, Daniel. “Modelo de Capacidad y Madurez Integrado CMMI.” Trinn, 18 July
2018, http://www.trinn.com.mx/IdeasParaTuNegocio/articulo/cmmi-modelo-
capacidad-y-madurez. Accessed 11 September 2023.