scholarly journals Analyzing the Performance of the Multiple-Searching Genetic Algorithm to Generate Test Cases

2020 ◽  
Vol 10 (20) ◽  
pp. 7264
Author(s):  
Wanida Khamprapai ◽  
Cheng-Fa Tsai ◽  
Paohsi Wang

Software testing using traditional genetic algorithms (GAs) minimizes the required number of test cases and reduces the execution time. Currently, GAs are adapted to enhance performance when finding optimal solutions. The multiple-searching genetic algorithm (MSGA) has improved upon current GAs and is used to find the optimal multicast routing in network systems. This paper presents an analysis of the optimization of test case generations using the MSGA by defining suitable values of MSGA parameters, including population size, crossover operator, and mutation operator. Moreover, in this study, we compare the performance of the MSGA with a traditional GA and hybrid GA (HGA). The experimental results demonstrate that MSGA reaches the maximum executed branch statements in the lowest execution time and the smallest number of test cases compared to the GA and HGA.

Mathematics ◽  
2021 ◽  
Vol 9 (15) ◽  
pp. 1779
Author(s):  
Wanida Khamprapai ◽  
Cheng-Fa Tsai ◽  
Paohsi Wang ◽  
Chi-En Tsai

Test case generation is an important process in software testing. However, manual generation of test cases is a time-consuming process. Automation can considerably reduce the time required to create adequate test cases for software testing. Genetic algorithms (GAs) are considered to be effective in this regard. The multiple-searching genetic algorithm (MSGA) uses a modified version of the GA to solve the multicast routing problem in network systems. MSGA can be improved to make it suitable for generating test cases. In this paper, a new algorithm called the enhanced multiple-searching genetic algorithm (EMSGA), which involves a few additional processes for selecting the best chromosomes in the GA process, is proposed. The performance of EMSGA was evaluated through comparison with seven different search-based techniques, including random search. All algorithms were implemented in EvoSuite, which is a tool for automatic generation of test cases. The experimental results showed that EMSGA increased the efficiency of testing when compared with conventional algorithms and could detect more faults. Because of its superior performance compared with that of existing algorithms, EMSGA can enable seamless automation of software testing, thereby facilitating the development of different software packages.


2021 ◽  
Vol 12 (1) ◽  
pp. 111-130
Author(s):  
Ankita Bansal ◽  
Abha Jain ◽  
Abhijeet Anand ◽  
Swatantra Annk

Huge and reputed software industries are expected to deliver quality products. However, industry suffers from a loss of approximately $500 billion due to shoddy software quality. The quality of the product in terms of its accuracy, efficiency, and reliability can be revamped through testing by focusing attention on testing the product through effective test case generation and prioritization. The authors have proposed a test-case generation technique based on iterative listener genetic algorithm that generates test cases automatically. The proposed technique uses its adaptive nature and solves the issues like redundant test cases, inefficient test coverage percentage, high execution time, and increased computation complexity by maintaining the diversity of the population which will decrease the redundancy in test cases. The performance of the technique is compared with four existing test-case generation algorithms in terms of computational complexity, execution time, coverage, and it is observed that the proposed technique outperformed.


2013 ◽  
Vol 709 ◽  
pp. 616-619
Author(s):  
Jing Chen

This paper proposes a genetic algorithm-based method to generate test cases. This method provides information for test case generation using state machine diagrams. Its feature is realizing automation through fewer generated test cases. In terms of automatic generation of test data based on path coverage, the goal is to build a function that can excellently assess the generated test data and guide the genetic algorithms to find the targeting parameter values.


2014 ◽  
Vol 556-562 ◽  
pp. 3976-3979
Author(s):  
Yu Liu ◽  
Feng Qin Wang ◽  
Xiu Li Zhao

Software testing is important to ensure the quality and reliability of the software.The improvement on the automation of test case generation is the entire key to improve the automation of the testing process.It helps a lot in the generation of test cases to construct multi-path model.It is based on genetic algorithm with three parts which are the test environment construction, the genetic algorithms and the operating environment.It’s feasibility and efficiency is verified by triangle classification procedures.


2020 ◽  
Vol 8 (6) ◽  
pp. 4466-4473

Test data generation is the task of constructing test cases for predicting the acceptability of novel or updated software. Test data could be the original test suite taken from previous run or imitation data generated afresh specifically for this purpose. The simplest way of generating test data is done randomly but such test cases may not be competent enough in detecting all defects and bugs. In contrast, test cases can also be generated automatically and this has a number of advantages over the conventional manual method. Genetic Algorithms, one of the automation techniques, are iterative algorithms and apply basic operations repeatedly in greed for optimal solutions or in this case, test data. By finding out the most error-prone path using such test cases one can reduce the software development cost and improve the testing efficiency. During the evolution process such algorithms pass on the better traits to the next generations and when applied to generations of software test data they produce test cases that are closer to optimal solutions. Most of the automated test data generators developed so far work well only for continuous functions. In this study, we have used Genetic Algorithms to develop a tool and named it TG-GA (Test Data Generation using Genetic Algorithms) that searches for test data in a discontinuous space. The goal of the work is to analyze the effectiveness of Genetic Algorithms in automated test data generation and to compare its performance over random sampling particularly for discontinuous spaces.


Author(s):  
Mengmeng Liu

Abstract The rails usually work in complex environments, which makes them more prone to mechanical failures. In order to better diagnose the crack faults, a multi-population state optimization algorithm (MPVHGA) is proposed in this paper, which is used to solve the problems of low efficiency, easy precocity, and easy convergence of local optimal solutions in traditional genetic algorithms. The detection results of fault signals show that MPVHGA has the advantages of fast convergence rate, high stability, no stagnation, and no limitation of fixed iterations number. The average iterations number of MPVHGA in 100 independent iterations is about 1/5 of the traditional genetic algorithm (SGA for short) and about 1/3 of the population state optimization algorithm (VHGA for short), and the total convergence number of MPVHGA converges to 55 and 10 more than SGA and VHGA respectively, and the accuracy of fault diagnosis can reach 95.04%. On the basis of improving the performance of simple genetic algorithm, this paper provides a new detection method for rail crack fault diagnosis, which has important engineering practical value.


2012 ◽  
Vol 466-467 ◽  
pp. 773-777 ◽  
Author(s):  
Peng Jia Wang ◽  
Chen Guang Guo ◽  
Yong Xian Liu ◽  
Zhong Qi Sheng

Aiming at the optimization design of spindle, this paper introduces deflection constraint, strength constraint, corner constraint, cutting force constraint, the limit of torsional deflection, boundary constraint of design variable, dynamic property constraint , realizes the expression of the mathematical model of the spindle optimization design. Through the introduction of the real number code rule, the selection operator is built by adopting the optimum maintaining tactics and proportional selection, the crossover operator is built by using the method of arithmetic crossover and the mutation operator is built by using the method of uniform mutation. In the platform of VC++, the system of spindle optimization design based on GA is built. The analysis of the example shows that using the genetic algorithm to optimize the spindle can ensure the convergence of the optimization course, expand the search space, and the effect of optimization is obvious.


2019 ◽  
Vol 6 (1) ◽  
pp. 19-23
Author(s):  
Muhammad Bahrul Arif

Combination of good path distribution by land can optimize travel time and costs. However, not all of these path distribution combinations will provide the best solution. The study was conducted to determine the distribution of goods so that the best solution is achieved. To simplify the process of determining the goods distribution channel, it is supported by software development. Genetic algorithms that have reliability in producing optimal solutions can be used to solve this problem. The application of the genetic algorithm method is applied in software. In the software that is built, there are several inputs needed, namely: cities destination distribution as the initial chromosome number, number of generations, crossover probability and probability of mutation. The result of processing is a combination of goods distribution lines to be taken which represent the solution to this problem. Only the best chromosomes will be given as a result. Through the software that was built, the determination of goods distribution lines is expected to be better and can optimize the time and cost of travel. Based on the research, 5 road combinations are used as chip distribution routes used for testing. This study results from the first fitness gene get the highest fitness 7.4, fitness lowest 5.6 and the second gene get the highest fitness 9.3, fitness lowest 5.6.


Author(s):  
RUCHIKA MALHOTRA ◽  
ABHISHEK BHARADWAJ

Software is built by human so it cannot be perfect. So in order to make sure that developed software does not do any unintended thing we have to test every software before launching it in the operational world. Software testing is the major part of software development lifecycle. Testing involves identifying the test cases which can find the errors in the program. Exhaustive testing is not a good idea to follow. It is very difficult and time consuming to perform. In this paper a technique has been proposed to do prioritize test cases according to their capability of finding errors. One which is more likely to find the errors has been assigned a higher priority and the one which is less likely to find the errors in the program has been assigned low priority. It is recommended to execute the test cases according their priority to find the errors.


2021 ◽  
Vol 27 (2) ◽  
pp. 170-189
Author(s):  
P. K. Gupta

Software is an integration of numerous programming modules  (e.g., functions, procedures, legacy system, reusable components, etc.) tested and combined to build the entire module. However, some undesired faults may occur due to a change in modules while performing validation and verification. Retesting of entire software is a costly affair in terms of money and time. Therefore, to avoid retesting of entire software, regression testing is performed. In regression testing, an earlier created test suite is used to retest the software system's modified module. Regression Testing works in three manners; minimizing test cases, selecting test cases, and prioritizing test cases. In this paper, a two-phase algorithm has been proposed that considers test case selection and test case prioritization technique for performing regression testing on several modules ranging from a smaller line of codes to huge line codes of procedural language. A textual based differencing algorithm has been implemented for test case selection. Program statements modified between two modules are used for textual differencing and utilized to identify test cases that affect modified program statements. In the next step, test case prioritization is implemented by applying the Genetic Algorithm for code/condition coverage. Genetic operators: Crossover and Mutation have been applied over the initial population (i.e. test cases), taking code/condition coverage as fitness criterion to provide a prioritized test suite. Prioritization algorithm can be applied over both original and reduced test suite depending upon the test suite's size or the need for accuracy. In the obtained results, the efficiency of the prioritization algorithms has been analyzed by the Average Percentage of Code Coverage (APCC) and Average Percentage of Code Coverage with cost (APCCc). A comparison of the proposed approach is also done with the previously proposed methods and it is observed that APCC & APCCc values achieve higher percentage values faster in the case of the prioritized test suite in contrast to the non-prioritized test suite.


Sign in / Sign up

Export Citation Format

Share Document