Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra

Introducción— Actualmente, la calidad del software en una característica fundamental para asegurarse un espacio en el mercado global que día a día es más competitivo y exigente. Las pruebas de software permiten a las empresas desarrolladoras de software encontrar y corregir fallos y con ello elevar...

Full description

Autores:
López Realpe, Andrés Rodrigo
Muñoz Ordoñez, Jorge Armando
Cobos Lozada, Carlos
Tipo de recurso:
Article of journal
Fecha de publicación:
2022
Institución:
Corporación Universidad de la Costa
Repositorio:
REDICUC - Repositorio CUC
Idioma:
eng
OAI Identifier:
oai:repositorio.cuc.edu.co:11323/12362
Acceso en línea:
https://hdl.handle.net/11323/12362
https://doi.org/10.17981/ingecuc.18.2.2022.18
Palabra clave:
Covering Arrays
Mixed Covering Arrays
Metaheuristic algorithms
Greedy algorithms
Simulated Annealing
Arreglos de Cobertura
Arreglos de Cobertura Mixtos
Algoritmos Metaheurísticos
Algoritmos Codiciosos
Recocido Simulado
Rights
openAccess
License
INGE CUC - 2022
id RCUC2_c982750da75785687c7b001d02c9fc4e
oai_identifier_str oai:repositorio.cuc.edu.co:11323/12362
network_acronym_str RCUC2
network_name_str REDICUC - Repositorio CUC
repository_id_str
dc.title.spa.fl_str_mv Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra
dc.title.translated.eng.fl_str_mv A Metaheuristic algorithm for the construction of mixed covering arrays of different strength levels to be used in the design of black box software test cases
title Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra
spellingShingle Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra
Covering Arrays
Mixed Covering Arrays
Metaheuristic algorithms
Greedy algorithms
Simulated Annealing
Arreglos de Cobertura
Arreglos de Cobertura Mixtos
Algoritmos Metaheurísticos
Algoritmos Codiciosos
Recocido Simulado
title_short Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra
title_full Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra
title_fullStr Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra
title_full_unstemmed Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra
title_sort Algoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negra
dc.creator.fl_str_mv López Realpe, Andrés Rodrigo
Muñoz Ordoñez, Jorge Armando
Cobos Lozada, Carlos
dc.contributor.author.spa.fl_str_mv López Realpe, Andrés Rodrigo
Muñoz Ordoñez, Jorge Armando
Cobos Lozada, Carlos
dc.subject.eng.fl_str_mv Covering Arrays
Mixed Covering Arrays
Metaheuristic algorithms
Greedy algorithms
Simulated Annealing
topic Covering Arrays
Mixed Covering Arrays
Metaheuristic algorithms
Greedy algorithms
Simulated Annealing
Arreglos de Cobertura
Arreglos de Cobertura Mixtos
Algoritmos Metaheurísticos
Algoritmos Codiciosos
Recocido Simulado
dc.subject.spa.fl_str_mv Arreglos de Cobertura
Arreglos de Cobertura Mixtos
Algoritmos Metaheurísticos
Algoritmos Codiciosos
Recocido Simulado
description Introducción— Actualmente, la calidad del software en una característica fundamental para asegurarse un espacio en el mercado global que día a día es más competitivo y exigente. Las pruebas de software permiten a las empresas desarrolladoras de software encontrar y corregir fallos y con ello elevar la calidad de sus productos. El costo de las pruebas hoy se estima en un 50% del costo total del desarrollo de software, por esto se hace necesario encontrar formas menos costosas que garanticen altos niveles de detección de fallos. En este escenario, las pruebas de caja negra tienen un papel fundamental y dentro de estas pruebas los enfoques combinatoriales son una de las mejores opciones. En las pruebas combinatorias se hace necesario que los usuarios probadores (testers) cuenten con una herramienta que les proporcione el menor número de casos de prueba con la mayor cobertura (detección de fallos) de acuerdo con los parámetros del método (procedimiento, función u otro) que desea probar, y este es el objetivo principal de este trabajo. Objetivo— En este artículo se presenta un algoritmo que soporta la generación de casos de prueba en pruebas de caja negra basado en la creación de Arreglos de Cobertura Mixta (MCA). Estos arreglos permiten generar el menor número de casos de prueba requeridos para probar una unidad de código con la mayor cobertura requerida (mayor posibilidad de detectar fallos). El algoritmo propuesto construye una solución inicial basado en un algoritmo codicioso (greedy) y luego mejora esta solución a través de un proceso iterativo orientado por recocido simulado (algoritmo metaheurístico) y tres formas de definir soluciones vecinas. Metodología— La investigación se realizó siguiendo el Patrón de Investigación Iterativa propuesto por Pratt. Primero se identificaron los principales problemas reportados en el estado del arte para la construcción de MCA, luego se realizó una revisión de las propuestas de solución a estos problemas. Después se creó un primer algoritmo y luego se fue modificando en forma iterativa este algoritmo, incluyendo y removiendo componentes de acuerdo con resultados experimentales de su funcionamiento. Cuando se obtuvo la versión deseada, se realizó un proceso de afinamiento de parámetros y se comparó con los mejores resultados presentados en la literatura, resultados obtenidos por diferentes algoritmos. Resultados— El algoritmo propuesto obtiene MCA que son competitivos (en promedio 3 casos de prueba adicionales) frente a los mejores reportados en el estado del arte en un tiempo corto de ejecución, aspecto que es de especial interés para los probadores de software. Conclusiones— Se confirmó que el enfoque codicioso y metaheurístico basado en recocido simulado es una buena alternativa para la construcción de un MCA. Los algoritmos de construcción de soluciones vecinas son claves para encontrar el MCA requerido y en un menor tiempo de ejecución.
publishDate 2022
dc.date.accessioned.none.fl_str_mv 2022-09-11 00:00:00
2024-04-09T20:22:00Z
dc.date.available.none.fl_str_mv 2022-09-11 00:00:00
2024-04-09T20:22:00Z
dc.date.issued.none.fl_str_mv 2022-09-11
dc.type.spa.fl_str_mv Artículo de revista
dc.type.coar.eng.fl_str_mv http://purl.org/coar/resource_type/c_6501
http://purl.org/coar/resource_type/c_2df8fbb1
dc.type.content.eng.fl_str_mv Text
dc.type.driver.eng.fl_str_mv info:eu-repo/semantics/article
dc.type.local.eng.fl_str_mv Journal article
dc.type.redcol.eng.fl_str_mv http://purl.org/redcol/resource_type/ART
dc.type.version.eng.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.coarversion.eng.fl_str_mv http://purl.org/coar/version/c_970fb48d4fbd8a85
format http://purl.org/coar/resource_type/c_6501
status_str publishedVersion
dc.identifier.issn.none.fl_str_mv 0122-6517
dc.identifier.uri.none.fl_str_mv https://hdl.handle.net/11323/12362
dc.identifier.url.none.fl_str_mv https://doi.org/10.17981/ingecuc.18.2.2022.18
dc.identifier.doi.none.fl_str_mv 10.17981/ingecuc.18.2.2022.18
dc.identifier.eissn.none.fl_str_mv 2382-4700
identifier_str_mv 0122-6517
10.17981/ingecuc.18.2.2022.18
2382-4700
url https://hdl.handle.net/11323/12362
https://doi.org/10.17981/ingecuc.18.2.2022.18
dc.language.iso.eng.fl_str_mv eng
language eng
dc.relation.ispartofjournal.spa.fl_str_mv Inge Cuc
dc.relation.references.eng.fl_str_mv A. Kovačević, “The Top 4 Trends That Will Change Software Development in the 2020s”, IEEE Computer Society, Mar. 2, 2020. [Online]. Available in: https://www.computer.org/publications/tech-news/trends/the-top-4-trends-that-will-change-software-development-in-the-2020s
A. Tripathi, K. Mishra, S. Tiwari, & N. Kumar, “Improved software cost estimation models: A new perspective based on evolution in Dynamic Environment,” J Intell Fuzzy Syst, vol. 35, no. 2, pp. 1707–1720, Jan. 2018. https://doi.org/10.3233/JIFS-169707
H. Wu, C. Nie, F. Kuo, H. Leung, & C. Colbourn, “A Discrete Particle Swarm Optimization for Covering Array Generation,” IEEE Trans Evol Composite, vol. 19, No. 4, pp. 575–591, Aug. 2015. https://doi.org/10.1109/TEVC.2014.2362532
T. Mahmoud & B. Ahmed, “An efficient strategy for covering array construction with fuzzy logic-based adaptive swarm optimization for software testing use,” Expert Syst Appl, vol. 42, no. 22, pp. 8753–8765, Dec. 2015. https://doi.org/10.1016/j.eswa.2015.07.029
J. Timaná-Peña, C. Cobos-Lozada, & J. Torres-Jimenez, “Metaheuristic algorithms for building Covering Arrays A review,” Rev Fac Ing, vol. 25, no. 43, pp. 31–45, Ene. 2016. https://doi.org/10.19053/01211129.v25.n43.2016.5295
J. Timaná, C. Cobos, & J. Torres-Jimenez, “Memetic algorithm for constructing covering arrays of variable strength based on global-best harmony search and simulated annealing,” presented at Mexican International Conference on Artificial Intelligence, MICAI, Guad., MX, 22-27 Oct. 2018. https://doi.org/10.1007/978-3-030-04491-6_2
S. Sabharwal, P. Bansal, & N. Mittal, “Construction of t-way covering arrays using genetic algorithm,” Int J Syst Assur Eng Manag, vol. 8, no. 2, pp. 264–274, Mar. 2016. https://doi.org/10.1007/s13198-016-0430-6
X. Yang, Nature-inspired Metaheuristic Algorithms, 2 ed., Cambr., UK: Luniver Press, 2010.
R. Walker & C. Colbourn, “Tabu search for covering arrays using permutation vectors,” J Stat Plan Inference, vol. 139, no. 1, pp. 69–80, Jan., 2009. https://doi.org/10.1016/j.jspi.2008.05.020
S. Esfandyari & V. Rafe, “A tuned version of genetic algorithm for efficient test suite generation in interactive t-way testing strategy,” Inf Softw Technol, vol. 94, pp. 165–185, Feb. 2018. https://doi.org/10.1016/j.infsof.2017.10.007
G. Demiroz & C. Yilmaz, “Using simulated annealing for computing cost-aware covering arrays,” Appl Soft Comput, vol. 49, pp. 1129–1144, Dec. 2016. https://doi.org/10.1016/j.asoc.2016.08.022
X. Chen, Q. Gu, A. Li, & D. Chen, “Variable strength interaction testing with an ant colony system approach,” presented at Asia-Pacific Software Engineering Conference, APSEC, PG, MY, 1-3 Dec. 2009. https://doi.org/10.1109/APSEC.2009.18
X. Bao, S. Liu, N. Zhang, & M. Dong, “Combinatorial Test Generation Using Improved Harmony Search Algorithm,” Int J Hybrid Inf Technol, vol. 8, no. 9, pp. 121–130, Sep. 2015. https://doi.org/10.14257/ijhit.2015.8.9.13
Y. Zhang, L. Cai, & W. Ji, “Combinatorial testing data generation based on bird swarm algorithm,” presented at 2nd International Conference on System Reliability and Safety, ICSRS, MIL, IT, Jan. 2018. https://doi.org/10.1109/ICSRS.2017.8272871
B. Ahmed, T. Abdulsamad & M. Potrus, ‘Achievement of minimized combinatorial test suite for configuration-aware software functional testing using the Cuckoo Search algorithm,’ Inf Softw Technol, vol. 66, pp. 13–29, Oct. 2015. https://doi.org/10.1016/j.infsof.2015.05.005
Y. Wang, M. Zhou, X. Song, M. Gu & J. Sun, “Constructing Cost-Aware Functional Test-Suites Using Nested Differential Evolution Algorithm,” IEEE Trans Evol Comput, vol. 22, no. 3, pp. 334–346, Jun. 2018. https://doi.org/10.1109/TEVC.2017.2747638
K. Zamli, B. Alkazemi & G. Kendall, “A Tabu Search hyper-heuristic strategy for t-way test suite generation,” Appl Soft Comput, vol. 44, pp. 57–74, Jul. 2016. https://doi.org/10.1016/j.asoc.2016.03.021
J. Torres-Jimenez, H. Avila-George & Izquierdo-Marquez, “A two-stage algorithm for combinatorial testing,” Optim Lett, vol. 11, no. 3, pp. 457–469, Feb. 2016. https://doi.org/10.1007/s11590-016-1012-x
I. Izquierdo-Marquez, J. Torres-Jiménez, B. Acevedo-Juárez & H. Avila-George, “A greedy-metaheuristic 3-stage approach to construct covering arrays,” Inf Sci, vol. 460-461, pp. 172–189, Sep. 2018. https://doi.org/10.1016/j.ins.2018.05.047
J. Torres-Jiménez & I. Izquierdo-Márquez, “A Simulated Annealing Algorithm to Construct Covering Perfect Hash Families,” Math Probl Eng, pp. 1–15, Jan. 2018. https://doi.org/10.1155/2018/1860673
M. Cohen, C. Colbourn & A. Ling, “Constructing strength three covering arrays with augmented annealing,” Discrete Math, vol. 308, no. 13, pp. 2709–2722, Jun. 2003. https://doi.org/10.1016/j.disc.2006.06.036
J. Torres-Jimenez & J. Perez-Torres, “A greedy algorithm to construct covering arrays using a graph representation,” Info Sci, vol. 477, pp. 234–245, Mar. 2019. https://doi.org/10.1016/j.ins.2018.10.048
J. Torres-Jiménez & I. Izquierdo-Márquez, “Improved covering arrays using covering perfect hash families with groups of restricted entries,” Appl Math Composite, vol. 369, pp. 1–10, Mar. 2020. https://doi.org/10.1016/j.amc.2019.124826
M. Martin, “SOLID: los 5 principios que te ayudarán a desarrollar software de calidad,” profile, 22 Nov. 2018 [Online]. Available in: https://profile.es/blog/principios-solid-desarrollo-software-calidad/
dc.relation.citationendpage.none.fl_str_mv 237
dc.relation.citationstartpage.none.fl_str_mv 233
dc.relation.citationissue.spa.fl_str_mv 2
dc.relation.citationvolume.spa.fl_str_mv 18
dc.relation.bitstream.none.fl_str_mv https://revistascientificas.cuc.edu.co/ingecuc/article/download/4416/4414
https://revistascientificas.cuc.edu.co/ingecuc/article/download/4416/4615
https://revistascientificas.cuc.edu.co/ingecuc/article/download/4416/4616
dc.relation.citationedition.spa.fl_str_mv Núm. 2 , Año 2022 : (Julio-Diciembre)
dc.rights.eng.fl_str_mv INGE CUC - 2022
dc.rights.uri.eng.fl_str_mv http://creativecommons.org/licenses/by-nc-nd/4.0
dc.rights.accessrights.eng.fl_str_mv info:eu-repo/semantics/openAccess
dc.rights.coar.eng.fl_str_mv http://purl.org/coar/access_right/c_abf2
rights_invalid_str_mv INGE CUC - 2022
http://creativecommons.org/licenses/by-nc-nd/4.0
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.mimetype.eng.fl_str_mv application/pdf
text/html
text/xml
dc.publisher.spa.fl_str_mv Universidad de la Costa
dc.source.eng.fl_str_mv https://revistascientificas.cuc.edu.co/ingecuc/article/view/4416
institution Corporación Universidad de la Costa
bitstream.url.fl_str_mv https://repositorio.cuc.edu.co/bitstreams/28996b09-8270-4117-8bfc-3453b2ac176e/download
bitstream.checksum.fl_str_mv 3a7359f045b265c90af3f25f955b0a84
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Repositorio de la Universidad de la Costa CUC
repository.mail.fl_str_mv repdigital@cuc.edu.co
_version_ 1811760733688430592
spelling López Realpe, Andrés RodrigoMuñoz Ordoñez, Jorge ArmandoCobos Lozada, Carlos2022-09-11 00:00:002024-04-09T20:22:00Z2022-09-11 00:00:002024-04-09T20:22:00Z2022-09-110122-6517https://hdl.handle.net/11323/12362https://doi.org/10.17981/ingecuc.18.2.2022.1810.17981/ingecuc.18.2.2022.182382-4700Introducción— Actualmente, la calidad del software en una característica fundamental para asegurarse un espacio en el mercado global que día a día es más competitivo y exigente. Las pruebas de software permiten a las empresas desarrolladoras de software encontrar y corregir fallos y con ello elevar la calidad de sus productos. El costo de las pruebas hoy se estima en un 50% del costo total del desarrollo de software, por esto se hace necesario encontrar formas menos costosas que garanticen altos niveles de detección de fallos. En este escenario, las pruebas de caja negra tienen un papel fundamental y dentro de estas pruebas los enfoques combinatoriales son una de las mejores opciones. En las pruebas combinatorias se hace necesario que los usuarios probadores (testers) cuenten con una herramienta que les proporcione el menor número de casos de prueba con la mayor cobertura (detección de fallos) de acuerdo con los parámetros del método (procedimiento, función u otro) que desea probar, y este es el objetivo principal de este trabajo. Objetivo— En este artículo se presenta un algoritmo que soporta la generación de casos de prueba en pruebas de caja negra basado en la creación de Arreglos de Cobertura Mixta (MCA). Estos arreglos permiten generar el menor número de casos de prueba requeridos para probar una unidad de código con la mayor cobertura requerida (mayor posibilidad de detectar fallos). El algoritmo propuesto construye una solución inicial basado en un algoritmo codicioso (greedy) y luego mejora esta solución a través de un proceso iterativo orientado por recocido simulado (algoritmo metaheurístico) y tres formas de definir soluciones vecinas. Metodología— La investigación se realizó siguiendo el Patrón de Investigación Iterativa propuesto por Pratt. Primero se identificaron los principales problemas reportados en el estado del arte para la construcción de MCA, luego se realizó una revisión de las propuestas de solución a estos problemas. Después se creó un primer algoritmo y luego se fue modificando en forma iterativa este algoritmo, incluyendo y removiendo componentes de acuerdo con resultados experimentales de su funcionamiento. Cuando se obtuvo la versión deseada, se realizó un proceso de afinamiento de parámetros y se comparó con los mejores resultados presentados en la literatura, resultados obtenidos por diferentes algoritmos. Resultados— El algoritmo propuesto obtiene MCA que son competitivos (en promedio 3 casos de prueba adicionales) frente a los mejores reportados en el estado del arte en un tiempo corto de ejecución, aspecto que es de especial interés para los probadores de software. Conclusiones— Se confirmó que el enfoque codicioso y metaheurístico basado en recocido simulado es una buena alternativa para la construcción de un MCA. Los algoritmos de construcción de soluciones vecinas son claves para encontrar el MCA requerido y en un menor tiempo de ejecución.Introduction— Currently, software quality is a fundamental feature to ensure a space in the global market that day by day is more competitive and demanding. Software testing allows software developers to find and fix bugs and, thereby, raise the quality of their products. The cost of testing is now estimated at 50% of the total cost of software development, so it is necessary to find less expensive ways to ensure elevated levels of fault detection. In this scenario, black box tests play a key role; within these tests, combinatorial approaches are one of the best options. In combinatorial tests, test users must have a tool that provides them with the least number of test cases with the greatest coverage (failure detection) according to the parameters of the method (procedure, function, or other) that they want to test, and this is the main objective of this work. Objective— This paper presents an algorithm that supports the generation of test cases in black box tests based on the creation of Mixed Covering Arrays (MCA). These fixes allow you to generate the smallest number of test cases required to test a unit of code with the highest required coverage. The proposed algorithm builds an initial solution based on a greedy algorithm and then improves this solution through an iterative process oriented by simulated annealing (metaheuristic algorithm). Methodology— The research was conducted following the Iterative Research Pattern proposed by Pratt. First, the main problems reported in the state of the art for the construction of CSF were identified, then a review of the proposed solutions to these problems was performed. Then a first algorithm was created and then iteratively modified this algorithm, including, and removing components according to the experimental results of its operation. When the desired version was obtained, a process of refinement of parameters was performed and compared with the best results presented in the literature, results obtained by different algorithms. Results— The proposed algorithm obtains MCAs that are competitive (on average 3 additional test cases) against the best reported in the state of the art in an abbreviated execution time, an aspect that is of special interest for software testers. Conclusions— It was confirmed that the greedy and metaheuristic approach based on simulated annealing is a suitable alternative for the construction of a CSF. Neighboring solution construction algorithms are key to finding the required MCA in a shorter execution time.application/pdftext/htmltext/xmlengUniversidad de la CostaINGE CUC - 2022http://creativecommons.org/licenses/by-nc-nd/4.0info:eu-repo/semantics/openAccessEsta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-SinDerivadas 4.0.http://purl.org/coar/access_right/c_abf2https://revistascientificas.cuc.edu.co/ingecuc/article/view/4416Covering ArraysMixed Covering ArraysMetaheuristic algorithmsGreedy algorithmsSimulated AnnealingArreglos de CoberturaArreglos de Cobertura MixtosAlgoritmos MetaheurísticosAlgoritmos CodiciososRecocido SimuladoAlgoritmo metaheurístico para la construcción de arreglos de cobertura mixtos de diferentes niveles de fuerza a usar en el diseño de casos de prueba de software de caja negraA Metaheuristic algorithm for the construction of mixed covering arrays of different strength levels to be used in the design of black box software test casesArtículo de revistahttp://purl.org/coar/resource_type/c_6501http://purl.org/coar/resource_type/c_2df8fbb1Textinfo:eu-repo/semantics/articleJournal articlehttp://purl.org/redcol/resource_type/ARTinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85Inge CucA. Kovačević, “The Top 4 Trends That Will Change Software Development in the 2020s”, IEEE Computer Society, Mar. 2, 2020. [Online]. Available in: https://www.computer.org/publications/tech-news/trends/the-top-4-trends-that-will-change-software-development-in-the-2020sA. Tripathi, K. Mishra, S. Tiwari, & N. Kumar, “Improved software cost estimation models: A new perspective based on evolution in Dynamic Environment,” J Intell Fuzzy Syst, vol. 35, no. 2, pp. 1707–1720, Jan. 2018. https://doi.org/10.3233/JIFS-169707H. Wu, C. Nie, F. Kuo, H. Leung, & C. Colbourn, “A Discrete Particle Swarm Optimization for Covering Array Generation,” IEEE Trans Evol Composite, vol. 19, No. 4, pp. 575–591, Aug. 2015. https://doi.org/10.1109/TEVC.2014.2362532T. Mahmoud & B. Ahmed, “An efficient strategy for covering array construction with fuzzy logic-based adaptive swarm optimization for software testing use,” Expert Syst Appl, vol. 42, no. 22, pp. 8753–8765, Dec. 2015. https://doi.org/10.1016/j.eswa.2015.07.029J. Timaná-Peña, C. Cobos-Lozada, & J. Torres-Jimenez, “Metaheuristic algorithms for building Covering Arrays A review,” Rev Fac Ing, vol. 25, no. 43, pp. 31–45, Ene. 2016. https://doi.org/10.19053/01211129.v25.n43.2016.5295J. Timaná, C. Cobos, & J. Torres-Jimenez, “Memetic algorithm for constructing covering arrays of variable strength based on global-best harmony search and simulated annealing,” presented at Mexican International Conference on Artificial Intelligence, MICAI, Guad., MX, 22-27 Oct. 2018. https://doi.org/10.1007/978-3-030-04491-6_2S. Sabharwal, P. Bansal, & N. Mittal, “Construction of t-way covering arrays using genetic algorithm,” Int J Syst Assur Eng Manag, vol. 8, no. 2, pp. 264–274, Mar. 2016. https://doi.org/10.1007/s13198-016-0430-6X. Yang, Nature-inspired Metaheuristic Algorithms, 2 ed., Cambr., UK: Luniver Press, 2010.R. Walker & C. Colbourn, “Tabu search for covering arrays using permutation vectors,” J Stat Plan Inference, vol. 139, no. 1, pp. 69–80, Jan., 2009. https://doi.org/10.1016/j.jspi.2008.05.020S. Esfandyari & V. Rafe, “A tuned version of genetic algorithm for efficient test suite generation in interactive t-way testing strategy,” Inf Softw Technol, vol. 94, pp. 165–185, Feb. 2018. https://doi.org/10.1016/j.infsof.2017.10.007G. Demiroz & C. Yilmaz, “Using simulated annealing for computing cost-aware covering arrays,” Appl Soft Comput, vol. 49, pp. 1129–1144, Dec. 2016. https://doi.org/10.1016/j.asoc.2016.08.022X. Chen, Q. Gu, A. Li, & D. Chen, “Variable strength interaction testing with an ant colony system approach,” presented at Asia-Pacific Software Engineering Conference, APSEC, PG, MY, 1-3 Dec. 2009. https://doi.org/10.1109/APSEC.2009.18X. Bao, S. Liu, N. Zhang, & M. Dong, “Combinatorial Test Generation Using Improved Harmony Search Algorithm,” Int J Hybrid Inf Technol, vol. 8, no. 9, pp. 121–130, Sep. 2015. https://doi.org/10.14257/ijhit.2015.8.9.13Y. Zhang, L. Cai, & W. Ji, “Combinatorial testing data generation based on bird swarm algorithm,” presented at 2nd International Conference on System Reliability and Safety, ICSRS, MIL, IT, Jan. 2018. https://doi.org/10.1109/ICSRS.2017.8272871B. Ahmed, T. Abdulsamad & M. Potrus, ‘Achievement of minimized combinatorial test suite for configuration-aware software functional testing using the Cuckoo Search algorithm,’ Inf Softw Technol, vol. 66, pp. 13–29, Oct. 2015. https://doi.org/10.1016/j.infsof.2015.05.005Y. Wang, M. Zhou, X. Song, M. Gu & J. Sun, “Constructing Cost-Aware Functional Test-Suites Using Nested Differential Evolution Algorithm,” IEEE Trans Evol Comput, vol. 22, no. 3, pp. 334–346, Jun. 2018. https://doi.org/10.1109/TEVC.2017.2747638K. Zamli, B. Alkazemi & G. Kendall, “A Tabu Search hyper-heuristic strategy for t-way test suite generation,” Appl Soft Comput, vol. 44, pp. 57–74, Jul. 2016. https://doi.org/10.1016/j.asoc.2016.03.021J. Torres-Jimenez, H. Avila-George & Izquierdo-Marquez, “A two-stage algorithm for combinatorial testing,” Optim Lett, vol. 11, no. 3, pp. 457–469, Feb. 2016. https://doi.org/10.1007/s11590-016-1012-xI. Izquierdo-Marquez, J. Torres-Jiménez, B. Acevedo-Juárez & H. Avila-George, “A greedy-metaheuristic 3-stage approach to construct covering arrays,” Inf Sci, vol. 460-461, pp. 172–189, Sep. 2018. https://doi.org/10.1016/j.ins.2018.05.047J. Torres-Jiménez & I. Izquierdo-Márquez, “A Simulated Annealing Algorithm to Construct Covering Perfect Hash Families,” Math Probl Eng, pp. 1–15, Jan. 2018. https://doi.org/10.1155/2018/1860673M. Cohen, C. Colbourn & A. Ling, “Constructing strength three covering arrays with augmented annealing,” Discrete Math, vol. 308, no. 13, pp. 2709–2722, Jun. 2003. https://doi.org/10.1016/j.disc.2006.06.036J. Torres-Jimenez & J. Perez-Torres, “A greedy algorithm to construct covering arrays using a graph representation,” Info Sci, vol. 477, pp. 234–245, Mar. 2019. https://doi.org/10.1016/j.ins.2018.10.048J. Torres-Jiménez & I. Izquierdo-Márquez, “Improved covering arrays using covering perfect hash families with groups of restricted entries,” Appl Math Composite, vol. 369, pp. 1–10, Mar. 2020. https://doi.org/10.1016/j.amc.2019.124826M. Martin, “SOLID: los 5 principios que te ayudarán a desarrollar software de calidad,” profile, 22 Nov. 2018 [Online]. Available in: https://profile.es/blog/principios-solid-desarrollo-software-calidad/237233218https://revistascientificas.cuc.edu.co/ingecuc/article/download/4416/4414https://revistascientificas.cuc.edu.co/ingecuc/article/download/4416/4615https://revistascientificas.cuc.edu.co/ingecuc/article/download/4416/4616Núm. 2 , Año 2022 : (Julio-Diciembre)PublicationOREORE.xmltext/xml2846https://repositorio.cuc.edu.co/bitstreams/28996b09-8270-4117-8bfc-3453b2ac176e/download3a7359f045b265c90af3f25f955b0a84MD5111323/12362oai:repositorio.cuc.edu.co:11323/123622024-09-17 10:52:47.752http://creativecommons.org/licenses/by-nc-nd/4.0INGE CUC - 2022metadata.onlyhttps://repositorio.cuc.edu.coRepositorio de la Universidad de la Costa CUCrepdigital@cuc.edu.co