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

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...

Full description

Bibliographic Details
Main Authors: Andrés Rodrigo López Realpe, Jorge Armando Muñoz Ordoñez, Carlos Cobos Lozada
Format: Article
Language:English
Published: Universidad de la Costa 2022-11-01
Series:Inge-Cuc
Subjects:
Online Access:https://revistascientificas.cuc.edu.co/ingecuc/article/view/4416
_version_ 1797668279602380800
author Andrés Rodrigo López Realpe
Jorge Armando Muñoz Ordoñez
Carlos Cobos Lozada
author_facet Andrés Rodrigo López Realpe
Jorge Armando Muñoz Ordoñez
Carlos Cobos Lozada
author_sort Andrés Rodrigo López Realpe
collection DOAJ
description 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 creating 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.
first_indexed 2024-03-11T20:26:51Z
format Article
id doaj.art-f758e0648d7d41d690cd2b8f802533ab
institution Directory Open Access Journal
issn 0122-6517
2382-4700
language English
last_indexed 2024-03-11T20:26:51Z
publishDate 2022-11-01
publisher Universidad de la Costa
record_format Article
series Inge-Cuc
spelling doaj.art-f758e0648d7d41d690cd2b8f802533ab2023-10-02T14:16:52ZengUniversidad de la CostaInge-Cuc0122-65172382-47002022-11-0118223323710.17981/ingecuc.18.2.2022.183432Metaheuristic algorithm for the construction of mixed covering arrays of different strength levels to be used in the design of black box software test casesAndrés Rodrigo López Realpe0Jorge Armando Muñoz Ordoñez1Carlos Cobos LozadaUniversidad del CaucaUniversidad del CaucaIntroduction: 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 creating 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.https://revistascientificas.cuc.edu.co/ingecuc/article/view/4416covering arraysmixed covering arraysmetaheuristic algorithmsgreedy algorithmssimulated annealing
spellingShingle Andrés Rodrigo López Realpe
Jorge Armando Muñoz Ordoñez
Carlos Cobos Lozada
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
Inge-Cuc
covering arrays
mixed covering arrays
metaheuristic algorithms
greedy algorithms
simulated annealing
title 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_full 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_fullStr 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_full_unstemmed 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_short 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_sort 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
topic covering arrays
mixed covering arrays
metaheuristic algorithms
greedy algorithms
simulated annealing
url https://revistascientificas.cuc.edu.co/ingecuc/article/view/4416
work_keys_str_mv AT andresrodrigolopezrealpe metaheuristicalgorithmfortheconstructionofmixedcoveringarraysofdifferentstrengthlevelstobeusedinthedesignofblackboxsoftwaretestcases
AT jorgearmandomunozordonez metaheuristicalgorithmfortheconstructionofmixedcoveringarraysofdifferentstrengthlevelstobeusedinthedesignofblackboxsoftwaretestcases
AT carloscoboslozada metaheuristicalgorithmfortheconstructionofmixedcoveringarraysofdifferentstrengthlevelstobeusedinthedesignofblackboxsoftwaretestcases