| Because software products apply in various fields of society more widely,defects in software systems may result in more extensive and serious consequences,which bring new challenges to software reliability assurance.Software testing is the most commonly used method to ensure software quality and reliability,but time and economic cost is getting higher with the increase of software complexity.Test automation technology can improve testing efficiency effectively,but related techniques are not complete.With limited testing resources,how to choose test cases to find out mistakes as much as possible and to save test cost further,is still a subject worth studying.This paper researches problems about difficult software behavior modeling,high test cost and insufficient test automation.Firstly,the user use frequency information is exploited to guide the test process,and the probabilistic extended finite state machine model is proposed based on the idea of statistical testing.Besides,the modeling scenarios and process are explained in details.Compared with the traditional Markov usage model,the novel model has capacities to model more complex software.Secondly,a test case generation method based on this model is proposed,which increases the opportunity to test frequently used and important operations so as to reduce the scale of test cases.This method saves the test cost as much as possible under the premise of keeping certain error detection abilities.Because of guards on the edges of the model,a large number of infeasible paths will be generated if selecting transitions according to the probabilities directly.Therefore,regular expressions are utilized as an intermediate form to generate test cases.Correspondingly,a series of algorithms are proposed,including the improved converting algorithm of regular expressions,the candidate path set generation,the feasibility analysis of paths and the selection of test cases.To embody the practicability of this method,a case study is conducted to test a smart TV.Moreover,a corresponding automated testing tool with complete functions is developed to prove the validity and practical value of this method.In addition,experiments are designed to compare with the newest method named RWADS.The results show that this method can significantly improve the error detection efficiency of test cases. |