机器学习和基于事件的软件测试:识别不可行GUI事件序列的分类器
Machine Learning and Event-Based Software Testing: Classifiers for Identifying Infeasible GUI Event Sequences
关键词:电子信息;软件测试;机器学习
摘 要:Machine learning is a technique not widely used in software testing even though the broader field of software engineering has used machine learning to solve many problems. In this chapter we present an overview of machine learning approaches for many problems in software testing, including test suite reduction, regression testing, and faulty statement identification. We also present our work using machine learning to augment automatic model-based test case generation for graphical user interfaces (GUIs). A model of the GUI is used to generate test cases, which are event sequences, to be executed on the system under test. Such models may not completely represent the GUI, and therefore may allow infeasible test cases to be generated that violate constraints in the GUI. We use two different machine learning techniques (support vector machines and grammar induction) to identify infeasible test cases (i.e., test requirements that cannot be satisfied). We demonstrate that these techniques are robus,t across different-length test cases and different GUI constraints.