Test Case Prioritization Technique Based on Error Probability and Severity of UML Models

Author(s):  
Tianning Zhang ◽  
Xingqi Wang ◽  
Dan Wei ◽  
Jinglong Fang

Test case prioritization is one of the most useful activities in testing. Most existing test case prioritization techniques are based on code coverage, which requires access to source code. However, code-based testing comes late in the software development life cycle, when errors are detected, the cost of testing is very high. Therefore, in this paper, we provide a test case prioritization technique based on Unified Modeling Language (UML) model, built before coding, to detect errors as earlier as possible and reduce the cost of modification. The technique consists of the following main parts: (1) using C&K metrics to estimate the error probability of class; (2) using dependences, obtained from the model slicing, to estimate error severity; (3) generating test case priority from error probability and severity, then prioritizing the test case. With our technique, test engineers need the UML model only and the test cases can be prioritized automatically. To evaluate our technique, we applied our technique to unmanned aerial vehicles (UAV) flight control system and performed test case prioritization. The results show that the error can be detected effectively and stability can be increased significantly as compared to the current code-based techniques.

Author(s):  
Dan Wei ◽  
Qingying Sun ◽  
Xingqi Wang ◽  
Tianning Zhang ◽  
Bin Chen

With the aggrandizement scale of software system, the number of test cases has grown explosively. Test case prioritization (TCP) has been widely used in software testing to effectively improve testing efficiency. However, traditional TCP methods are mostly based on software code and they are difficult to apply to model-based testing. Moreover, existing model-based TCP techniques often do not take the likely distribution of faults into consideration, yet software faults are not often equally distributed in the system, and test cases that cover more fault prone modules are more likely to reveal faults so that they should be run with a higher priority. Therefore, in this paper, we provide a TCP approach based on Hidden Markov Model (HMM), to detect faults as earlier as possible and reduce the cost of modification. This approach consists of the following main parts: (1) transforming the Unified Modeling Language (UML) sequence diagram to HMM; (2) estimating the fault urgency according to fault priority and probability; (3) estimating the fault severity by analyzing the weight of the state in the HMM; (4) generating test case priority from fault urgency and fault severity, then prioritizing test case. The proposed approach is implemented on unmanned aerial vehicles (UAV) flight control system to perform TCP. The experimental results show that our proposed TCP approach can effectively enhance the probability of earlier fault detection and improve the efficiency and stability as compared to other prioritization techniques, such as original prioritization, random prioritization, additional prioritization and EPS-UML.


Author(s):  
Ramzi A. Haraty ◽  
Nashat Mansour ◽  
Lama Moukahal ◽  
Iman Khalil

Regression testing is important for maintaining software quality. However, the cost of regression testing is relatively high. Test case prioritization is one way to reduce this cost. Test case prioritization techniques sort test cases for regression testing based on their importance. In this paper, we design and implement a test case prioritization method based on the location of a change. The method consists of three steps: (1) clustering test cases, (2) prioritizing the clusters with respect to the relevance of the clusters to a code change, and (3) test case prioritization within each cluster based on metrics. We propose a metric for measuring test case importance based on Requirement Complexity, Code Complexity, and Code Coverage. To evaluate our method, we apply it on a launch interceptor problem program, and measure the inclusiveness and precision for clusters of test cases with respect to code change in specific test cases. Our results show that our proposed change-based prioritization method increases the likelihood of executing more relevant test cases earlier.


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.


Author(s):  
Vedpal ◽  
Naresh Chauhan

Test case prioritization technique creates the sequence of test cases for execution in such a way that the test cases with higher rate of fault detection are executed earlier than those test cases which have lower rate of fault detection. In this paper a new algorithm is proposed to prioritize the test cases based on coverage of object oriented programming factors. The factors are considered on the basis of complexity and probability of errors introduced by them. For the experimental validation and analysis the proposed test case prioritization algorithm is applied on two case studies. The analyzed case studies are implemented in C++ language. By using the presented algorithm it helps to reduce the cost and time for testing the software.


Author(s):  
Gayatri Nayak ◽  
Mitrabinda Ray

Test case prioritization is a technical method to reorder the execution of test cases to reduce regression testing costs. This paper has examined various existing techniques that are widely used and suggests improving test case prioritization process after finding many research gaps. These research gaps are collected after doing a thorough study on 206 papers after surfing 310 papers on test case generation and prioritization techniques. These papers are collected from different electronic databases such as IEEE Explore, Science Direct, ACM Library, Springer, Wiley, and Elsevier. The authors have targeted to make a statistical record to show research contribution on test case prioritization at three levels of software development life cycle. This survey shows that 20.87% of papers are contributing for TCP at the requirement phase, 38.83% of papers are contributing for TCP at the design phase, 40.29% of papers are contributing to TCP at the coding phase. The inference of this study cites many future recommendations for the current researchers in the conclusion section.


2021 ◽  
Vol 12 (1) ◽  
pp. 41-59
Author(s):  
Satya Sobhan Panigrahi ◽  
Ajay Kumar Jena

This paper introduces the technique to select the test cases from the unified modeling language (UML) behavioral diagram. The UML behavioral diagram describes the boundary, structure, and behavior of the system that is fed as input for generating the graph. The graph is constructed by assigning the weights, nodes, and edges. Then, test case sequences are created from the graph with minimal fitness value. Then, the optimal sequences are selected from the proposed fractional-spider monkey optimization (fractional-SMO). The developed fractional-SMO is designed by integrating fractional calculus and SMO. Thus, the efficient test cases are selected based on the optimization algorithm that uses fitness parameters, like coverage and fault. Simulations are performed via five synthetic UML diagrams taken from the dataset. The performance of the proposed technique is computed using coverage and the number of test cases. The maximal coverage of 49 and the minimal number of test cases as 2,562 indicate the superiority of the proposed technique.


2019 ◽  
Vol 5 (1) ◽  
pp. 1
Author(s):  
Afrizal Adam Maulana ◽  
Wijanarto Wijanarto

Kemajuan teknologi dan fasilitas infrastruktur saat ini seringkali mengakibatkan seseorang sulit untuk mengingat semua jalan menuju ke tempat tertentu. Lebih dari 75% sebagian orang menghabiskan waktu dalam ruangan. Ketika mereka pergi ke tempat didalam bangunan dengan dimensi dan ukuran yang berbeda-beda, seperti, bangunan bertingkat, pusat perdagangan, pusat perbelanjaan, bandara, rumah sakit dan universitas, seringkali mereka bingung untuk menuju tempat yang diinginkan dalam waktu cepat dan tepat berdasarkan informasi yang terbatas. Pertanyaan yang akan dijawab dalam paper ini, bagiamana menganalisa prinsip dasar navigasi dan mendefinisikan instruksi dalam suatu domain model. Kemudian menentukan algoritma untuk menghasilkan rute terpendek. Terakhir mengimplementasikan algoritma dalam suatu aplikasi berbasis web dengan javascript. Solusinya adalah membuat model navigasi dengan unified modeling language peta digital, algoritma A-start dipilih sebagai solusi dalam menentukan rute untuk navigasi dalam peta serta membangun dan mengevaluasi aplikasi dengan javascript dan jasmine unit test. Hasil dari penelitian menunjukan bahwa model yang dipilih tepat untuk dapat diimplementasikan menjadi aplikasi berbasis web dan lolos evaluasi dengan 75 test case sebesar 100%, semua fungsionalitas aplikasi berjalan sesuai disain dan menghasilkan aplikasi tanpa anomaly.Kata Kunci — Navigasi, Indoor, Rute Terpendek, A-Star.Advances in technology and infrastructure facilities today often make it difficult for people to remember all the way to a particular place. More than 75% of people spend time indoors. When they go to places in buildings of different dimensions and sizes, such as, multilevel buildings, commercial centers, shopping centers, airports, hospitals and universities, they are often confused to get to the desired place in quick and precise time based on information limited. Questions to be answered in this paper, how to analyze the basic principles of navigation and define instruction in a domain model. Then determine the algorithm to generate the shortest route. Last implemented algorithm in a web based application with javascript. The solution is to create a navigation model with a unified modeling language digital map, A-start algorithm selected as a solution in determining the route for navigation in the map as well as build and evaluate applications with javascript and jasmine unit tests. The results of the research show that the chosen model is appropriate to be implemented into web-based applications and pass the evaluation with 75 test cases of 100%, all application functionality runs according to design and produces application without anomaly.Keywords— Navigation, Indoor, Shortest Route, A-Star.


Author(s):  
Dharmveer Kumar Yadav ◽  
Sandip Kumar Dutta

In the software maintenance activity, regression testing is performed for validing modified source code. Regression testing ensures that the modified code would not affect the earlier tested program. Due to a constraint of resources and time, regression testing is a time-consuming process and it is a very expensive activity. During the regression testing, a set of the test case and the existing test cases are reused. To minimize the cost of regression testing, the researchers proposed a test case prioritization based on clustering techniques. In recent years, research on regression testing has made significant progress for object-oriented software. The empirical results show the importance of K-mean clustering algorithm used to achieve an effective result. They found from experimental results that their proposed approach achieves the highest faults detected value than others.


Author(s):  
R. KRISHNAMOORTHI ◽  
S. A. SAHAAYA ARUL MARY

Test case prioritization schedules the test cases in an order that increases the effectiveness in achieving some performance goals. One of the most important performance goals is the rate of fault detection. Test cases should run in an order that increases the possibility of fault detection and also detects the most severe faults at the earliest in its testing life cycle. Test case prioritization techniques have proved to be beneficial for improving regression testing activities. While code coverage based prioritization techniques are found to be studied by most scholars, test case prioritization based on requirements in a cost effective manner has not been used for studies so far. Hence, in this paper, we propose to put forth a model for system level Test Case Prioritization (TCP) from software requirement specification to improve user satisfaction with quality software that can also be cost effective and to improve the rate of severe fault detection. The proposed model prioritizes the system test cases based on six factors: customer priority, changes in requirement, implementation complexity, usability, application flow and fault impact. The proposed prioritization technique is experimented in three phases with student projects and two sets of industrial projects and the results show convincingly that the proposed prioritization technique improves the rate of severe fault detection.


2021 ◽  
Vol 2021 ◽  
pp. 1-13
Author(s):  
Ali Samad ◽  
Hairulnizam Bin Mahdin ◽  
Rafaqat Kazmi ◽  
Rosziati Ibrahim ◽  
Zirawani Baharum

Modified source code validation is done by regression testing. In regression testing, the time and resources are limited, in which we have to select the minimal test cases from test suites to reduce execution time. The test case minimization process deals with the optimization of the regression testing by removing redundant test cases or prioritizing the test cases. This study proposed a test case prioritization approach based on multiobjective particle swarm optimization (MOPSO) by considering minimum execution time, maximum fault detection ability, and maximum code coverage. The MOPSO algorithm is used for the prioritization of test cases with parameters including execution time, fault detection ability, and code coverage. Three datasets are selected to evaluate the proposed MOPSO technique including TreeDataStructure, JodaTime, and Triangle. The proposed MOPSO is compared with the no ordering, reverse ordering, and random ordering technique for evaluating the effectiveness. The higher values of results represent the more effectiveness and the efficiency of the proposed MOPSO as compared to other approaches for TreeDataStructure, JodaTime, and Triangle datasets. The result is presented to 100-index mode relevant from low to high values; after that, test cases are prioritized. The experiment is conducted on three open-source java applications and evaluated using metrics inclusiveness, precision, and size reduction of a matrix of the test suite. The results revealed that all scenarios performed well in acceptable mode, and the technique is 17% to 86% more effective in terms of inclusiveness, 33% to 85% more effective in terms of precision, and 17% minimum to 86% maximum in size reduction of metrics.


Sign in / Sign up

Export Citation Format

Share Document