Machine Learning Aplicada Al Aseguramiento de La Calidad
Machine Learning Aplicada Al Aseguramiento de La Calidad
Machine Learning Aplicada Al Aseguramiento de La Calidad
aseguramiento de la calidad
Abstract
Procesar datos generados como parte del proceso de aseguramiento de
la calidad que tienen bajo costo de obtención, con el objetivo de retro-
alimentar, mejorar o aportar información de relevancia para la toma de
decisiones que contribuyan a la mejora continua en un proyecto de
desarrollo de software
Introducción
El software es objeto de diferentes problemáticas, en el año 1986 Fred
Brooks público un estudio basado en las problemáticas que poseía el
software llegando a la conclusión que no existen formas mágicas de re-
solverlas. Desde ese estudio realizado hasta la actualidad pasaron 41
años, pero a pesar del tiempo transcurrido la tasa de proyectos exitosos
es del 29% (CHAOS, 2015)
Prueba de Concepto
El objetivo del aseguramiento de la calidad es entregar al usuario un pro-
ducto que cumpla con sus expectativas y sea funcional, por lo tanto, para
lograrlo se deben realizar acciones que permitan prevenir que defectos
con alto impacto en la funcionalidad del sistema afecten al usuario, estos
defectos son comúnmente llamados defectos bloqueantes o críticos. Es-
tos deben ser detectados durante el proceso de desarrollo del mismo para
asegurar al usuario que el funcionamiento básico del sistema se desem-
peña correctamente.
Para este estudio se plantea que un bug critico es aquel que posee seve-
ridad 1 o 2, dejando de lado las otras severidades ya que las demás no
interrumpen el flujo básico de la aplicación. Siendo el objetivo de este
estudio la predicción de existencia de defectos en el futuro debido que
así se pueden realizar acciones preventivas para detectarlos con anterio-
ridad y evitar que sean detectados por el cliente o que terminen causando
que la entrega del producto se retrase.
3
Analizando los datos de severidad 1 y 2 ambos poseen la misma distri-
bución, por lo tanto, calculando la distribución de los mismos se puede
realizar simulaciones de valores futuros.
Primer Punto
Tercer Punto
Cuarto Punto
Una vez corregido los errores este estudio aplica una técnica preventiva
que es la utilización de Inteligencia Artificial para obtener información
de antemano con un cierto grado de confianza de que los errores van a
ocurrir y realizar acciones de mitigación como mejorar las inspecciones
de código, empezar el testing de las funcionalidades en etapas tempranas
para evitar que sean detectados en las fases finales del proyecto cuando
ya el costo de arreglado es elevado y pone en riesgo la entrega del pro-
ducto.
Quinto Punto
5
calidad descripto anteriormente en términos de eficiencia ya que al utili-
zar estas herramientas el esfuerzo es en su mayoría automático y además
la salida de este proceso seria la simulación del comportamiento futuro
de los defectos, la cual es usada como entrada para la planificación del
proceso de aseguramiento de la calidad.
7
Tomando en cuenta la economía de los defectos, en donde establece que
a medida que los defectos son encontrados en fases más tardías el costo
aumenta exponencialmente y si a esto se lo multiplica por la cantidad de
defectos que sean detectados en fases tardías que podrían haber sido de-
tectados en fases tempranas utilizando la técnica planteada por este estu-
dio el costo de implementación podría decirte que es insignificantico,
sumado que una vez que este proceso esta automatizado en un proyecto
puede impactar hasta disminuyendo el tiempo de re trabajo de los equipo
logrando así mayor capacidad para incorporar nuevas funcionalidades en
el sistema.
Por lo tanto, la utilización del proceso detallado en este estudio ataca los
costos internos y externos, ya que al permitir identificar los defectos in-
ternamente en etapas más tempranas permite el ahorro de estos costos, y
además al haber defectos estos defectos antes de ser entregado al cliente
se previene la existencia de costos externos.
Trabajo Futuro
Debido a que las complejidades de líneas de código varían de un pro-
yecto a otro y de un equipo a otro, es necesario añadir parámetros que
permitan manejar esta variabilidad, para ello tomar datos desde la etapa
de desarrollo de software serán de utilidad para este algoritmo.
Como resultado de todo esto este estudio propone que los pasos del ase-
guramiento estadístico de la calidad sean los siguientes:
Bibliografía
Cano, J. L. (2007). Business Intelligence Competir con Informacion.
Recuperado el 2017, de
http://itemsweb.esade.edu/biblioteca/archivo/Business_Intellige
nce_competir_con_informacion.pdf
11
CHAOS. (2015). CHAOS Report. Standish Group 2015 Chaos Report.
(S. Group, Ed.) Standish Group. Recuperado el 2017, de
https://www.infoq.com/articles/standish-chaos-2015