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...
Main Authors: | , , |
---|---|
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 |