Este documento propone un algoritmo híbrido basado en programación lineal entera para construir conjuntos priorizados de productos de prueba para líneas de productos de software. El algoritmo maximiza la cobertura ponderada de pares de características cubiertas mientras minimiza el número de productos de prueba. Los experimentos muestran que el enfoque propuesto es más efectivo que métodos existentes para conjuntos de productos pequeños y medianos. El trabajo futuro incluye encontrar la frontera de Pareto exacta y estudiar el crecimiento de variables y restric
El documento describe diferentes aspectos de la disposición de productos en los estantes de un supermercado. Explica que existen cuatro niveles en los estantes, y que las zonas más vendidas son las del medio y superior donde los productos están a la altura de los ojos. También describe zonas "calientes" y "frías" dependiendo de cuán visitadas son, y dos formas de disponer los productos, de manera horizontal en un solo nivel o de forma vertical en varios niveles. Finalmente, recomienda que la disposición vertical es más efectiva aunque requi
Optimizacion del lineal y control de las acciones de merchandisingEva San Juan Sacristán
Este documento trata sobre la optimización del espacio en los lineales y el control de las acciones de merchandising. Explica qué son los lineales, los tipos de lineales y zonas. Además, cubre temas como la implantación de productos en el lineal, incluyendo la determinación del espacio mínimo requerido y la disposición de los productos. Por último, analiza la rentabilidad del lineal y métodos para medirla, como los basados en el beneficio bruto del producto y en el beneficio directo del producto.
El documento habla sobre la distribución de las familias de productos en los estantes disponibles de un punto de venta. Explica que analizará cómo repartir cada familia de productos en el espacio disponible, comenzando con nociones básicas sobre el lineal y el proceso para implantar correctamente las familias y productos. También describe que una adecuada gestión del lineal mejora la rentabilidad del establecimiento.
GRASP con PR para el SRFLP en el MAEB 2016Micael Gallego
Presentación sobre el Problema de la distribución de instalaciones en línea (SRFLP) en el MAEB 2016 dentro del CEDI 2016. Usamos un GRASP con Path Relinking que mejora los métodos del estado del arte
El documento presenta conceptos relacionados con el análisis de la capacidad de un proceso, incluyendo los índices Cp, Cpk y Cpm. Explica que Cp mide la capacidad del proceso, Cpk evalúa si el proceso está centrado, y Cpm analiza la variabilidad y desempeño frente a las especificaciones. También introduce el índice de inestabilidad St para determinar si un proceso está fuera de control estadístico.
El uso de Python en la Ingenieria Química - Charla CompletaCAChemE
Este documento describe el uso de Python en la ingeniería química. En primer lugar, explica cómo Python puede utilizarse para resolver ecuaciones en derivadas parciales mediante paquetes como FiPy. Luego, detalla cómo Python puede utilizarse para resolver problemas de optimización como la selección de equipos y el diseño de reactores químicos mediante herramientas de programación matemática como Pyomo. Finalmente, proporciona ejemplos concretos de cómo modelar y resolver problemas típicos de logística empresarial e ingeniería de proces
El proceso de fabricación de barras energéticas bajas en grasas presenta problemas de capacidad e inestabilidad. La carta x-R muestra puntos fuera de control y tendencias, lo que indica que el proceso no está debidamente controlado. Los índices Cp=0.67, Cpk=0.5 y Cpm=0.5 son menores a 1, revelando que la capacidad del proceso no satisface las especificaciones. Se recomienda mejorar el proceso mediante técnicas estadísticas para lograr un estado de control estadíst
El documento describe diferentes aspectos de la disposición de productos en los estantes de un supermercado. Explica que existen cuatro niveles en los estantes, y que las zonas más vendidas son las del medio y superior donde los productos están a la altura de los ojos. También describe zonas "calientes" y "frías" dependiendo de cuán visitadas son, y dos formas de disponer los productos, de manera horizontal en un solo nivel o de forma vertical en varios niveles. Finalmente, recomienda que la disposición vertical es más efectiva aunque requi
Optimizacion del lineal y control de las acciones de merchandisingEva San Juan Sacristán
Este documento trata sobre la optimización del espacio en los lineales y el control de las acciones de merchandising. Explica qué son los lineales, los tipos de lineales y zonas. Además, cubre temas como la implantación de productos en el lineal, incluyendo la determinación del espacio mínimo requerido y la disposición de los productos. Por último, analiza la rentabilidad del lineal y métodos para medirla, como los basados en el beneficio bruto del producto y en el beneficio directo del producto.
El documento habla sobre la distribución de las familias de productos en los estantes disponibles de un punto de venta. Explica que analizará cómo repartir cada familia de productos en el espacio disponible, comenzando con nociones básicas sobre el lineal y el proceso para implantar correctamente las familias y productos. También describe que una adecuada gestión del lineal mejora la rentabilidad del establecimiento.
GRASP con PR para el SRFLP en el MAEB 2016Micael Gallego
Presentación sobre el Problema de la distribución de instalaciones en línea (SRFLP) en el MAEB 2016 dentro del CEDI 2016. Usamos un GRASP con Path Relinking que mejora los métodos del estado del arte
El documento presenta conceptos relacionados con el análisis de la capacidad de un proceso, incluyendo los índices Cp, Cpk y Cpm. Explica que Cp mide la capacidad del proceso, Cpk evalúa si el proceso está centrado, y Cpm analiza la variabilidad y desempeño frente a las especificaciones. También introduce el índice de inestabilidad St para determinar si un proceso está fuera de control estadístico.
El uso de Python en la Ingenieria Química - Charla CompletaCAChemE
Este documento describe el uso de Python en la ingeniería química. En primer lugar, explica cómo Python puede utilizarse para resolver ecuaciones en derivadas parciales mediante paquetes como FiPy. Luego, detalla cómo Python puede utilizarse para resolver problemas de optimización como la selección de equipos y el diseño de reactores químicos mediante herramientas de programación matemática como Pyomo. Finalmente, proporciona ejemplos concretos de cómo modelar y resolver problemas típicos de logística empresarial e ingeniería de proces
El proceso de fabricación de barras energéticas bajas en grasas presenta problemas de capacidad e inestabilidad. La carta x-R muestra puntos fuera de control y tendencias, lo que indica que el proceso no está debidamente controlado. Los índices Cp=0.67, Cpk=0.5 y Cpm=0.5 son menores a 1, revelando que la capacidad del proceso no satisface las especificaciones. Se recomienda mejorar el proceso mediante técnicas estadísticas para lograr un estado de control estadíst
Este documento presenta los datos de 30 observaciones de un proceso de fabricación de barras energéticas. Se deben calcular los índices Cp, Cpk y Cpm, y analizar el estado del proceso mediante una carta x-R. El proceso parece ser capaz pero está fuera de control, por lo que se debe trabajar para controlarlo y volver a calcular su capacidad una vez eliminadas las causas de variabilidad.
Este documento presenta los datos de 30 observaciones de un proceso de fabricación de barras energéticas. Se deben calcular los índices Cp, Cpk y Cpm, y analizar el estado del proceso mediante un gráfico de control x-R. El proceso parece ser capaz pero está fuera de control, por lo que se debe trabajar para controlarlo y volver a calcular su capacidad una vez eliminadas las causas especiales.
Este documento describe los conceptos de ingeniería concurrente y diseño para el cliente en el desarrollo de productos. Explica que la ingeniería concurrente integra funciones como mercadeo, diseño e ingeniería desde las primeras etapas para acortar tiempos de desarrollo. También describe herramientas como el despliegue de la función de calidad y la casa de calidad para traducir las necesidades de los clientes en especificaciones técnicas.
El documento presenta varios ejemplos de aplicaciones de la programación lineal para la toma de decisiones gerenciales, como determinar la mejor asignación de recursos limitados para maximizar las ganancias o minimizar los costos. Entre los ejemplos se incluyen la producción y el inventario, la selección de portafolios de inversión, la asignación de presupuestos de publicidad, y el transporte de mercancías entre almacenes. Todos los problemas de programación lineal comparten el objetivo de optimizar una función y están restringidos por limitaciones en los
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?TestingUy
Expositor: Edgardo Crovetto
Resumen: ¿Cuántas veces pasa que hay que hacer tests cases por el hecho de hacerlos y además hechos para ayer porque no hay tiempo?¿Qué podemos hacer para mantener el máximo cubrimiento de prueba y mínima documentación?
El objetivo es realmente enfocarnos en hacer entrega de un producto de calidad, sin la obligación de crear documentación innecesaria por el hecho de hacerlo. Al mismo tiempo, poder mostrar cubrimiento de pruebas apropiado y hacer los informes necesarios para poder estar confiados que se está entregando con calidad.
En esta charla trataremos de dar un enfoque para poder elegir una buena estrategía en base a algún caso práctico.
Conceptos relacionados con el control estadisticoIris Márquez
Este documento describe conceptos relacionados con el control estadístico de procesos, incluyendo medidas de capacidad de proceso como Cp, Cpk, Pp y Ppk. Explica que Cp y Cpk miden qué tan bien los datos de un proceso se ajustan a los límites de especificación, mientras que Pp y Ppk miden el rendimiento real del proceso. También relaciona estas medidas con el nivel de calidad sigma de un proceso, y explica que Seis Sigma busca reducir la variabilidad de un proceso para disminuir los defectos por
El documento presenta información sobre diferentes temas relacionados con la gestión de empresas y la mejora de procesos productivos. Aborda conceptos como el objetivo del management, la teoría de las restricciones, métodos para medir y mejorar la eficiencia como Six Sigma y Toyota Production System, entre otros. También analiza ejemplos concretos de procesos productivos e identifica oportunidades de mejora a través de la reducción del tiempo improductivo.
El documento presenta información sobre diferentes temas relacionados con la gestión de empresas y la mejora de procesos productivos. Aborda conceptos como el análisis y mejora de procesos, la teoría de las restricciones, lean manufacturing y seis sigma. También analiza ejemplos concretos de procesos productivos y métodos para su optimización a través de la reducción de tiempos improductivos y el aumento del contenido de trabajo.
Este documento proporciona información sobre SIMLog S.A., una empresa de servicios informáticos que comercializa, implementa, integra y soporta software para empresas manufactureras y de servicios. Describe las funcionalidades del software Preactor, incluyendo su capacidad para programar órdenes de trabajo, asignar recursos, y optimizar la programación y el rendimiento de la planta.
No estaba muerto... cleanroom software engineeringSoftware Guru
El documento presenta el método Cleanroom Software Engineering (CSE) para el desarrollo de software de alta calidad. CSE se basa en fundamentos matemáticos y especifica el software como funciones matemáticas mediante el uso de "cajas" (negras, de estado y transparentes) que mapean entradas a salidas. El desarrollo sigue un proceso incremental con verificación y pruebas estadísticas para garantizar la calidad. CSE puede integrarse con métodos ágiles y es compatible con marcos como CMMI.
Este documento presenta los principios y herramientas de manufactura esbelta o "Lean Manufacturing". Se define como un sistema para identificar y eliminar desperdicios a través de mejoramiento continuo. Se describen conceptos clave como ciclo de producción, principios de Lean, tipos de desperdicios, y herramientas como 5S, almacenamiento en el punto de uso, reducción de tamaño de lote, cambios rápidos, trabajo en equipo, TPM, Kanban y mapeo de flujo de valor. El objetivo general es maximizar el valor para el cliente elim
Este documento discute los riesgos asociados con la compra de energía. Identifica siete riesgos clave: 1) es necesario entender completamente qué energía se está comprando, 2) es importante conocer cómo se usa la energía dentro de la organización, 3) la eficiencia energética puede ayudar a reducir costos, 4) se necesita un experto en gestión energética, 5) el costo de la energía debe medirse como un KPI clave, 6) la energía no es solo una commodity, y 7) una configuración energética inade
El documento discute varios temas relacionados con la mejora de procesos y la productividad en las organizaciones. En primer lugar, enfatiza que el objetivo principal de la gestión debería ser maximizar la prosperidad tanto del empleador como de los empleados. Luego, describe diferentes enfoques para la mejora como Seis Sigma, Lean Thinking y Teoría de Restricciones. Finalmente, presenta ejemplos concretos de análisis y mejora de procesos en una empresa.
Este documento describe un curso sobre la aplicación de modelos cuantitativos de Investigación de Operaciones para resolver problemas reales. El curso busca aplicar modelos como Programación Lineal y Problemas de Transporte. Los objetivos son aplicar modelos cuantitativos en la resolución de problemas administrativos y optimizar soluciones usando Investigación de Operaciones. La metodología incluye clases expositivas, videos, tareas, prácticas y exámenes. La evaluación considera asistencia, trabajos individuales y en grupo, y un examen o proyect
Este documento describe un curso sobre la aplicación de modelos cuantitativos de Investigación de Operaciones para resolver problemas reales. El curso cubrirá modelos de Programación Lineal y Problemas de Transporte. Los objetivos son aplicar estos modelos para optimizar soluciones a problemas administrativos. La metodología incluye clases expositivas, videos, tareas, prácticas y exámenes. La evaluación considera asistencia, trabajos individuales y en grupo, y un examen o proyecto final.
1. El documento describe conceptos clave de sistemas de producción como producción en masa, calidad de clase mundial, producción justo a tiempo y tendencias como la capacidad de adaptación. 2. También explica herramientas como 5S, grupos de mejora continua, poka-yoke y kanban que ayudan a eliminar desperdicios y mejorar la productividad. 3. El objetivo final es satisfacer al cliente produciendo solo lo necesario, cuando se necesita y nada más.
Serie de métodos y técnicas utilizadas para la evaluación del área de ensamblaje de breakers TQD, de manera que se obtenga la alternativa de despliegue que permita alcanzar la producción diaria requerida.
Este documento presenta un caso de estudio sobre una empresa que produce latas de hojalata a partir de láminas de dos tipos. Se debe formular un modelo de programación lineal para determinar la cantidad óptima de latas a producir semanalmente para maximizar los beneficios, considerando costos de sobrantes y disponibilidad de recursos. El estudiante debe resolver el problema usando software de optimización y analizar los resultados obtenidos.
Buscador de Eventos y Fiestas en España - Buscafiestaholabuscafiesta
Buscafiesta.es es el buscador líder en España para fiestas y eventos, diseñado para satisfacer las necesidades tanto de organizadores como de asistentes. Este innovador software ofrece una plataforma integral que permite a los organizadores de eventos añadir, gestionar y promocionar sus actividades de manera totalmente autónoma, facilitando la visibilidad y escalabilidad de sus eventos.
Buscafiesta.es no solo conecta a los organizadores con su público objetivo, sino que también ofrece herramientas de marketing y análisis que ayudan a maximizar el impacto de cada evento. Ya sea para una fiesta local, un concierto multitudinario o un evento corporativo, Buscafiesta.es es la solución definitiva para hacer de cada evento un éxito rotundo.
Más contenido relacionado
Similar a Aplicando programación lineal entera a la búsqueda de conjuntos de productos de prueba priorizados para líneas de productos software
Este documento presenta los datos de 30 observaciones de un proceso de fabricación de barras energéticas. Se deben calcular los índices Cp, Cpk y Cpm, y analizar el estado del proceso mediante una carta x-R. El proceso parece ser capaz pero está fuera de control, por lo que se debe trabajar para controlarlo y volver a calcular su capacidad una vez eliminadas las causas de variabilidad.
Este documento presenta los datos de 30 observaciones de un proceso de fabricación de barras energéticas. Se deben calcular los índices Cp, Cpk y Cpm, y analizar el estado del proceso mediante un gráfico de control x-R. El proceso parece ser capaz pero está fuera de control, por lo que se debe trabajar para controlarlo y volver a calcular su capacidad una vez eliminadas las causas especiales.
Este documento describe los conceptos de ingeniería concurrente y diseño para el cliente en el desarrollo de productos. Explica que la ingeniería concurrente integra funciones como mercadeo, diseño e ingeniería desde las primeras etapas para acortar tiempos de desarrollo. También describe herramientas como el despliegue de la función de calidad y la casa de calidad para traducir las necesidades de los clientes en especificaciones técnicas.
El documento presenta varios ejemplos de aplicaciones de la programación lineal para la toma de decisiones gerenciales, como determinar la mejor asignación de recursos limitados para maximizar las ganancias o minimizar los costos. Entre los ejemplos se incluyen la producción y el inventario, la selección de portafolios de inversión, la asignación de presupuestos de publicidad, y el transporte de mercancías entre almacenes. Todos los problemas de programación lineal comparten el objetivo de optimizar una función y están restringidos por limitaciones en los
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?TestingUy
Expositor: Edgardo Crovetto
Resumen: ¿Cuántas veces pasa que hay que hacer tests cases por el hecho de hacerlos y además hechos para ayer porque no hay tiempo?¿Qué podemos hacer para mantener el máximo cubrimiento de prueba y mínima documentación?
El objetivo es realmente enfocarnos en hacer entrega de un producto de calidad, sin la obligación de crear documentación innecesaria por el hecho de hacerlo. Al mismo tiempo, poder mostrar cubrimiento de pruebas apropiado y hacer los informes necesarios para poder estar confiados que se está entregando con calidad.
En esta charla trataremos de dar un enfoque para poder elegir una buena estrategía en base a algún caso práctico.
Conceptos relacionados con el control estadisticoIris Márquez
Este documento describe conceptos relacionados con el control estadístico de procesos, incluyendo medidas de capacidad de proceso como Cp, Cpk, Pp y Ppk. Explica que Cp y Cpk miden qué tan bien los datos de un proceso se ajustan a los límites de especificación, mientras que Pp y Ppk miden el rendimiento real del proceso. También relaciona estas medidas con el nivel de calidad sigma de un proceso, y explica que Seis Sigma busca reducir la variabilidad de un proceso para disminuir los defectos por
El documento presenta información sobre diferentes temas relacionados con la gestión de empresas y la mejora de procesos productivos. Aborda conceptos como el objetivo del management, la teoría de las restricciones, métodos para medir y mejorar la eficiencia como Six Sigma y Toyota Production System, entre otros. También analiza ejemplos concretos de procesos productivos e identifica oportunidades de mejora a través de la reducción del tiempo improductivo.
El documento presenta información sobre diferentes temas relacionados con la gestión de empresas y la mejora de procesos productivos. Aborda conceptos como el análisis y mejora de procesos, la teoría de las restricciones, lean manufacturing y seis sigma. También analiza ejemplos concretos de procesos productivos y métodos para su optimización a través de la reducción de tiempos improductivos y el aumento del contenido de trabajo.
Este documento proporciona información sobre SIMLog S.A., una empresa de servicios informáticos que comercializa, implementa, integra y soporta software para empresas manufactureras y de servicios. Describe las funcionalidades del software Preactor, incluyendo su capacidad para programar órdenes de trabajo, asignar recursos, y optimizar la programación y el rendimiento de la planta.
No estaba muerto... cleanroom software engineeringSoftware Guru
El documento presenta el método Cleanroom Software Engineering (CSE) para el desarrollo de software de alta calidad. CSE se basa en fundamentos matemáticos y especifica el software como funciones matemáticas mediante el uso de "cajas" (negras, de estado y transparentes) que mapean entradas a salidas. El desarrollo sigue un proceso incremental con verificación y pruebas estadísticas para garantizar la calidad. CSE puede integrarse con métodos ágiles y es compatible con marcos como CMMI.
Este documento presenta los principios y herramientas de manufactura esbelta o "Lean Manufacturing". Se define como un sistema para identificar y eliminar desperdicios a través de mejoramiento continuo. Se describen conceptos clave como ciclo de producción, principios de Lean, tipos de desperdicios, y herramientas como 5S, almacenamiento en el punto de uso, reducción de tamaño de lote, cambios rápidos, trabajo en equipo, TPM, Kanban y mapeo de flujo de valor. El objetivo general es maximizar el valor para el cliente elim
Este documento discute los riesgos asociados con la compra de energía. Identifica siete riesgos clave: 1) es necesario entender completamente qué energía se está comprando, 2) es importante conocer cómo se usa la energía dentro de la organización, 3) la eficiencia energética puede ayudar a reducir costos, 4) se necesita un experto en gestión energética, 5) el costo de la energía debe medirse como un KPI clave, 6) la energía no es solo una commodity, y 7) una configuración energética inade
El documento discute varios temas relacionados con la mejora de procesos y la productividad en las organizaciones. En primer lugar, enfatiza que el objetivo principal de la gestión debería ser maximizar la prosperidad tanto del empleador como de los empleados. Luego, describe diferentes enfoques para la mejora como Seis Sigma, Lean Thinking y Teoría de Restricciones. Finalmente, presenta ejemplos concretos de análisis y mejora de procesos en una empresa.
Este documento describe un curso sobre la aplicación de modelos cuantitativos de Investigación de Operaciones para resolver problemas reales. El curso busca aplicar modelos como Programación Lineal y Problemas de Transporte. Los objetivos son aplicar modelos cuantitativos en la resolución de problemas administrativos y optimizar soluciones usando Investigación de Operaciones. La metodología incluye clases expositivas, videos, tareas, prácticas y exámenes. La evaluación considera asistencia, trabajos individuales y en grupo, y un examen o proyect
Este documento describe un curso sobre la aplicación de modelos cuantitativos de Investigación de Operaciones para resolver problemas reales. El curso cubrirá modelos de Programación Lineal y Problemas de Transporte. Los objetivos son aplicar estos modelos para optimizar soluciones a problemas administrativos. La metodología incluye clases expositivas, videos, tareas, prácticas y exámenes. La evaluación considera asistencia, trabajos individuales y en grupo, y un examen o proyecto final.
1. El documento describe conceptos clave de sistemas de producción como producción en masa, calidad de clase mundial, producción justo a tiempo y tendencias como la capacidad de adaptación. 2. También explica herramientas como 5S, grupos de mejora continua, poka-yoke y kanban que ayudan a eliminar desperdicios y mejorar la productividad. 3. El objetivo final es satisfacer al cliente produciendo solo lo necesario, cuando se necesita y nada más.
Serie de métodos y técnicas utilizadas para la evaluación del área de ensamblaje de breakers TQD, de manera que se obtenga la alternativa de despliegue que permita alcanzar la producción diaria requerida.
Este documento presenta un caso de estudio sobre una empresa que produce latas de hojalata a partir de láminas de dos tipos. Se debe formular un modelo de programación lineal para determinar la cantidad óptima de latas a producir semanalmente para maximizar los beneficios, considerando costos de sobrantes y disponibilidad de recursos. El estudiante debe resolver el problema usando software de optimización y analizar los resultados obtenidos.
Similar a Aplicando programación lineal entera a la búsqueda de conjuntos de productos de prueba priorizados para líneas de productos software (20)
Buscador de Eventos y Fiestas en España - Buscafiestaholabuscafiesta
Buscafiesta.es es el buscador líder en España para fiestas y eventos, diseñado para satisfacer las necesidades tanto de organizadores como de asistentes. Este innovador software ofrece una plataforma integral que permite a los organizadores de eventos añadir, gestionar y promocionar sus actividades de manera totalmente autónoma, facilitando la visibilidad y escalabilidad de sus eventos.
Buscafiesta.es no solo conecta a los organizadores con su público objetivo, sino que también ofrece herramientas de marketing y análisis que ayudan a maximizar el impacto de cada evento. Ya sea para una fiesta local, un concierto multitudinario o un evento corporativo, Buscafiesta.es es la solución definitiva para hacer de cada evento un éxito rotundo.
Aplicando programación lineal entera a la búsqueda de conjuntos de productos de prueba priorizados para líneas de productos software
1. 1 of 17
•Haga clic para modificar el estilo de subtítulo del patrón
Ajhsia
JISBD 2016
Aplicando Programación Lineal Entera a la
Búsqueda de Conjuntos de Productos de Prueba
Priorizados para Líneas de Productos Software
Javier Ferrer Francisco Chicano Roberto López-Herrejón Enrique Alba
ferrer@lcc.uma.es chicano@lcc.uma.es roberto.lopezherrejon@gmail.com eat@lcc.uma.es
2. 2 of 17JISBD 2016 2/20
Contenidos
3
Líneas de Productos
Priorización en las Pruebas
Algoritmos basado en Programación Lineal Entera
Experimentos y Resultados
Conclusiones
1
2
5
4
3. 3 of 17JISBD 2016 3/20
•Una línea de productos (LP) es una familia de productos
desarrollados a partir de un conjunto de características:
•Los productos tienen características similares
•Los productos tienen características únicas
•Utilizar LPs tiene muchas ventajas:
•Personalización rápida
•Incrementa la reutilización
•Reducción tiempo a mercado
Líneas de Productos
4. 4 of 17JISBD 2016 4/20
•Cuando el producto es Software hablamos de Software Product
Lines (SPLs)
•Se modelan usando modelos de características (Feature Models)
•Las SPLs tienen un alto número de productos
•Probar todos los productos no es viable!!
Líneas de Productos Software
1.900.544
productos
5. 5 of 17JISBD 2016 5/20
•Desafío:
•¿Cómo probar las líneas de productos software
eficientemente?
•Factores importantes a considerar:
•Evitar la repetición de pruebas
•Ceñirse a las restricciones de coste y tiempo
•Técnicas usadas:
•Priorización: Probar primero aquellos productos con
características importantes o costosas
•Pruebas Combinatorias de Interacción: Al menos un
producto tiene que cubrir cada par, trio,…de características.
Líneas de Productos Software II
6. 6 of 17JISBD 2016 6/20
Modelos de Características
•Modelos de Características son el estándar de facto para
modelar las características comunes y variables de un
sistema y sus relaciones
raiz
obligatoria
opcional
Or-inclusiva
Or-exclusiva
8. 8 of 17JISBD 2016 8/20
Productos Válidos
•Ejemplos de productos válidos:
•Aircraft, Wing, Engine, Materials, High, Shoulder, Low,
Piston, Jet, Metal, Wood, Plastic, Cloth
•Criterio de Cobertura Pairwise: Cada par de valores debe
estar presente en al menos un producto de la test suite
9. 9 of 17JISBD 2016 9/20
Productos y Pares Priorizados
•Producto priorizado: Debe ser un producto válido con un
peso asignado.
•Pares priorizados: Su prioridad es calculada según el peso
los productos dónde aparecen.
17
17
15
15
13
13
6
6
pc1=[{Plastic},{Cloth}]
Peso par= pp0.w + pp2.w = 17 + 15 = 32
pesos
10. 10 of 17JISBD 2016 10/20
Problema de Optimización
•El problema es encontrar un conjunto de productos que:
•Cubran todos los pares de características válidas (restricción)
•Se maximice la cobertura ponderada (objetivo)
•Se minimice el nº de productos a probar (objetivo)
ZipMe
Compress Extract Checksum Adapt GZIP ArchCheck CRC
✔ ✔ ✔ ✔ ✔
✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔ ✔
✔ ✔ ✔
✔ ✔ ✔ ✔
1
2
3
4
5
6
64 productos
11. 11 of 17JISBD 2016 11/20
Algoritmo basado en Programación Lineal Entera
APLE es un algoritmo ávido que genera el siguiente producto que nos
proporcione más cobertura ponderada.
Transformamos nuestro problema inicial en un programa lineal entero
• 𝑥𝑗: 𝑆𝑖 𝑙𝑎 𝑐𝑎𝑟𝑎𝑐𝑡𝑒𝑟í𝑠𝑡𝑖𝑐𝑎 𝑗 𝑎𝑝𝑎𝑟𝑒𝑐𝑒 𝑒𝑛 𝑒𝑙 𝑠𝑖𝑔𝑢𝑖𝑒𝑛𝑡𝑒 𝑝𝑟𝑜𝑑𝑢𝑐𝑡𝑜
• 𝑣𝑗: 𝑆𝑖 𝑙𝑎 𝑐𝑎𝑟𝑎𝑐𝑡𝑒𝑟í𝑠𝑡𝑖𝑐𝑎 𝑗 𝑎𝑝𝑎𝑟𝑒𝑐𝑒 𝑒𝑛 𝑙𝑎 𝑐𝑙𝑎𝑢𝑠𝑢𝑙𝑎
• 𝑢𝑗: 𝑆𝑖 𝑙𝑎 𝑐𝑎𝑟𝑎𝑐𝑡𝑒𝑟í𝑠𝑡𝑖𝑐𝑎 𝑗 𝑎𝑝𝑎𝑟𝑒𝑐𝑒 𝑛𝑒𝑔𝑎𝑑𝑎 𝑒𝑛 𝑙𝑎 𝑐𝑙𝑎𝑢𝑠𝑢𝑙𝑎
𝑗=1
𝑓
𝑣𝑗 𝑢𝑗 1 − 𝑥𝑗 + 1 − 𝑢𝑗 𝑥𝑗 ≥ 1.
•Ejemplo: 𝑃𝑖𝑠𝑡𝑜𝑛 𝐽𝑒𝑡 ->𝑥7 + (1 − 𝑥8) ≥ 1
•𝑐𝑗,𝑘, 𝑐𝑗,𝑘, 𝑐𝑗, 𝑘, 𝑐𝑗, 𝑘: Si el par j, k se cubre en el nuevo producto
2𝑐𝑗, 𝑘 ≤ 1 − 𝑥𝑗 + 1 − 𝑥 𝑘 ,
2𝑐𝑗,𝑘 ≤ 1 − 𝑥𝑗 + 𝑥 𝑘,
2𝑐𝑗, 𝑘 ≤ 𝑥𝑗 + 1 − 𝑥 𝑘 ,
2𝑐𝑗,𝑘 ≤ xj + xk.
Función objetivo:
max 𝑓𝑐 =
𝑗,𝑘 ∈𝑈
𝑤𝑗,𝑘 𝑐𝑗,𝑘
12. 12 of 17JISBD 2016 12/20
•Algoritmo ávido que en cada iteración busca el próximo
producto que maximice la cobertura respecto a la test suite
actual.
Entrada: FM y U (conjunto de pares con peso > 0)
Salida: ppCA (lista de productos)
1: ppCA<- []
2: while U != vacío do
3: z<- generaProducto (sujeto a restricciones)
4: ppCA<-ppCA + z
5: U<- U/cubiertos (z)
6: end while
Algoritmo APLE
13. 13 of 17JISBD 2016 13/20
•Comparamos frente a:
•Prioritized ICPL (pICPL) propuesto por Johansen 2012
•Prioritized PGS (PPGS) nuestra propuesta en Gecco’14
•Tres esquemas de asignación de prioridades:
•Valores medidos
•Valores basados en rango
•Valores aleatorios
•Diferentes porcentajes de productos seleccionados
•Entre 5% y 50% de productos usados
Experimentos
14. 14 of 17JISBD 2016 14/20
1. Valores medidos
• 16 ejemplos reales SPL
• Código y feature model
disponibles
• Se miden propiedades no
funcionales (ej: footprint)
2. Basados en rango
• Cómo de diferentes son
dos productos entre si
• Cuanto más diferentes,
más probabilidad de
cubrir nuevos pares
3. Valores Aleatorios
• [Min..Max] rango
Métodos de Asignación de Prioridades
15. 15 of 17JISBD 2016 15/20
Instancias
Instancias G1 = 160 fm X 2 asignaciones prioridades X 3 porcentajes = 960
Instancias G2 = 59 fm X 2 asignaciones prioridades X 3 porcentajes = 354
Instancias G3 = 16 fm X 1 prioridades asignación = 16
Total independent runs = 1.330 X 2 algorithms x 30 indep. runs + 1.330= 81.130
G1 G2 G3 Resumen
Número de Feature Models 160 59 16 235
Número de Productos 16-1K 1K-80K 32-≈1E20 16-≈1E20
Número de Características 10-56 14-67 6-101 6-101
Método de asignación:
RB Basado en rango, RD Aleatorio,
M Medidos
RK,RD RK,RD M
Porcentaje de productos usados 20,30,50 5,10,20 ≈0.0 - 100
Número de instancias 960 354 16 1330
16. 16 of 17JISBD 2016 16/20
•G1: Menos de 1.000 productos
•En 7 ocasiones APLE es mejor que los otros dos algoritmos
Resultados: Kruskal-wallis
17. 17 of 17JISBD 2016 17/20
•G1: Menos de 1.000 productos
•En 7 ocasiones APLE es mejor que los otros dos algoritmos
•G2: Entre 1.000 y 80.000 productos
•APLE y PPGS siempre mejores que pICPL
Resultados: Kruskal-wallis
18. 18 of 17JISBD 2016 18/20
•G1: Menos de 1.000 productos
•En 7 ocasiones APLE es mejor que los otros dos algoritmos
•G2: Entre 1.000 y 80.000 productos
•APLE y PPGS siempre mejores que pICPL
•G3: Entre 32 a 3E24 productos
•APLE y PPGS similares en calidad pero…
•APLE mejor en tiempo de computación
Resultados: Kruskal-wallis
19. 19 of 17JISBD 2016 19/20
•Â12 mide la importancia de la diferencia
•Â12=0,3 significa que un algoritmo A obtendría valores
menores que un algoritmo B para una medida M el 70% de
las veces.
Resultados: Estadístico Â12
APLE vs pICPL
APLE vs PPGS
20. 20 of 17JISBD 2016 20/20
Conclusiones y Trabajo Futuro
Contribuciones:
Proponemos un algoritmo hibrido (ávido + resolutor ILP) para
construir conjuntos de pruebas ordenados por prioridad
Resultados:
Nuestro enfoque basado en ILP es mejor en calidad de la solución
y en tiempo de ejecución.
Trabajo Futuro:
Frente de Pareto exacto para este problema
Estudio del crecimiento de variables y restricciones para la
construcción de test suites completas
21. 21 of 17JISBD 2016 21/20
Gracias por su atención
Javier Ferrer: ferrer@lcc.uma.es
http://neo.lcc.uma.es/
Aplicando Programación Lineal Entera a la
Búsqueda de Conjuntos de Productos de Prueba
Priorizados para Líneas de Productos Software
FINAL
Notas del editor
Frequently, software testers are faced with situations in which there is not enough time for testing, since the software under test must be finished on time for the release date not to be delayed. Hence, software testers have to deal with limited resources, unfinished systems, and not much time to test the software. If this is the case, the prioritization of test cases is a technique for re-ordering of tests to find faults in early stages.
Asumiendo que cada funcionalidad o característica ha sido probada aisladamente, la mayoría de los defectos es debido a la interacción entre funcionalidades o características. Reducimos el nº de productos a probar, pero mantenemos una gran capacidad de detección de errores.
Esta representación nos da la posibilidad de representar gran cantidad de variantes de productos de forma muy resumida.
Salvo la raiz, todas las características tienen un padre y pueden tener varios hijos. Para que un hijo pueda seleccionarse, le padre debe estar seleccionado. Ej: Engine
Recordar que la ausencia en el producto de dos characterísiticas también es una combinación que debe estar contemplada.
Cubran todos los pares de características válidas (CIT)
Se prueben primero los productos con más prioridad
Se minimice el nº de productos a probar
También incluimos las variables c de j,k que estan aún por cubrir. Si a ese conjunto le llamamos U, la función objetivo es…
Esquemas o métodos de asignación de prioridades
Explicar los colores grises:
Gris claro diferencia con otro algoritmo, gris oscuro indica que hay diferencias con los otros dos algoritmos. Estas diferencias son positivas para el algoritmo que marcamos diferente, los resultados son mejores, en este caso con un valor de tamaño o tiempo más pequeño.
Nuestra principal contribución es la combinación de un algoritmo greedy con un resolutor ILP para la construcción de conjuntos de pruebas ordenados por prioridad.
Trabajo futuro:
Nuestro enfoque no nos proporciona el óptimo, ya que para ello tendríamos que calcular la mejor test suite para cada tamaño utilizando la cobertura ponderada. Y por otro lado, ya estamos investigando la posibilidad de aplicar los resolutores ILP para contruir test suites completas. Los resultados preliminares nos dicen que la aplicación directa no es posible por la explosión combinatoria al subir mucho el nº de características. Y queremos ver hasta donde podemos llegar, buscar siempre el límite de la técnica.