Font Size: a A A

Research On Test Case Generation And Prioritization Based On UML Model

Posted on:2021-05-14Degree:MasterType:Thesis
Country:ChinaCandidate:Q Y SunFull Text:PDF
GTID:2428330605982447Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With increasing demand on software,the scale of system continues to expand.In order to ensure the quality of system and reduce test costs,two technologies,including test case generation and test case prioritization,were developed.Test case generation aims to reduce test costs and improve test efficiency by minimizing test case set to cover test requirements.Test case prioritization is to adjust the execution order of the generated test case set,so as to detect software faults as early as possible.Due to the rise of model-driven development,model-based software testing requirements have emerged.Existing model-based test case generation techniques fail to reduce the number of redundant migrations and test cases by analyzing model state correlation features.Since most test case prioritization techniques are based on software code,they are difficult to be applied to model-based software testing.Moreover,existing model-based test case prioritization techniques often do not take the likely distribution of faults into consideration by combining the characteristics of the model.Intuitively,test cases that cover more fault-prone modules are more likely to reveal faults so that they should be run with a higher priority.In addition,for large data sets,clustering techniques have been introduced into code-based test case prioritization to obtain better sorting results,but these techniques have not been applied to model-based testing.Aiming at the above problems,this paper studies the following aspects:A test case generation method based on extended finite state machine(EFSM)model is proposed.Firstly,the UML model is converted to the EFSM model and loops in the model are processed to transform the complex model into a simple model.Secondly,the state path set is generated by slicing the simple model and combing the loop.Finally,the state path set is converted into a migration path set and the migration path set is reduced.Experiments show that this method can obtain better test case set and save test costs.A test case prioritization method based on Hidden Markov model(HMM)is proposed.Firstly,the UML model is transformed to HMM and the fault priority and fault probability of the test case are evaluated to estimate fault urgency the test case may reveal.Secondly,a complex network model of HMM is constructed to evaluate the state weight which reflects the severity of fault.Finally,the test case priority is defined by the fault urgency and fault severity,and then the test cases are sorted according to the priority.Experimental results show that this method can detect software defects as soon as possible.For large data sets,a test case prioritization method based on clustering and HMM features is proposed.Firstly,the state vector of the test cases is construct to calculate the similarity of any two test cases by combining the state weight information.Secondly,an improved K-means clustering algorithm is designed based on the similarity.Finally,the clustering method and the model information are combined to design the sorting strategy.Experimental results show that this method can get better efficiency on large data sets.
Keywords/Search Tags:testing cost, testing efficiency, UML model, test case generation, test case prioritization
PDF Full Text Request
Related items