| In software development,software testing plays a very important role in ensuring software quality,so research on software testing technology has always been a hot issue in the field of software engineering.In particular,combination testing technology can detect faults caused by interactions between different factors in software with as few test cases as possible while ensuring error detection capability.Test case priority technology can sort existing test case sets according to optimization goals to improve testing efficiency.Correspondingly,introducing test case priority technology into combination testing can also improve the efficiency of combination testing by sorting combination test cases.Test cost is an important factor affecting testing efficiency.In addition to the cost of test case execution,the cost of configuring each test case cannot be ignored.The order of test case execution will affect the cost of switching test case configurations.Therefore,the cost required to switch test case configurations should also be used as an optimization goal when sorting test case priorities.Although previous researchers have conducted research on switching costs in combination test case priorities,their proposed switching cost model only considers that different parameters have different switching costs and does not consider that there may be differences in switching costs between different values of the same parameter.Therefore,this article conducts research on combination test case priority technology based on parameter value switching costs.We propose a new parameter value switching cost model;based on this model,we propose a combination test case priority sorting technology for scenarios with historical test cases;and for scenarios without historical test cases,we propose a combination test case generation technology based on parameter value switching costs.The specific work is as follows:(1)Propose a new combination test parameter value switching cost model.To solve the problem of evaluating combination coverage,we propose an index RCC(combination coverage rate)that compares the number of combinations covered and an index RCCscec(Pk)(combination coverage rate based on test cost)that compares the number of combinations covered within unit time cost.(2)In scenarios with historical test cases,we propose two algorithms for sorting test case priorities based on execution costs: TPtc and TPtc,rcc;and two algorithms for sorting test case priorities based on parameter value switching costs: TPsc and TPsc,rcc.These algorithms solve the problem of optimizing test costs when considering execution costs and optimizingswitching costs when not considering execution costs respectively.Experiments show that all four algorithms can effectively reduce the testing cost and switching cost of the test case set.(3)In scenarios without historical test cases,we propose two algorithms for generating combination test cases based on parameter value switching costs: TGsc and TGsc,rcc which also consider combination coverage rate.Experimental results show that both TGsc and TGsc,rcc algorithms can effectively reduce the switching cost between generated combination test cases while generating them.(4)Based on theoretical research results and Spring Boot framework,we designed and implemented a My SQL-based prototype tool for generating combination test cases with prioritization algorithm functionality. |