摘 要 随着智能化时代的到来,以自动饮料售卖机、自动地铁售票机、ATM机等为代表的智能服务终端对人们的生活起到了越来越重要的作用,对智能服务终端进行全面有效的测试以防止其可能出现的各种错误,提升用户体验变得十分重要.针对目前软件版本更新频繁、开发与测试难以对接、边开发边测试导致的测试工作量庞大且难以规范化等问题,根据智能服务终端状态及状态迁移特征明显的特点,提出一种在规格说明不充分、软件快速迭代需要不断回归测试情况下仍能被高效使用的测试方案——基于FSM(finite state machine)的探索性自适应测试.该方法首先通过探索性测试获得待测系统的状态及迁移信息,然后把它们建模成FSM,根据模型及已经执行过的测试用例,以状态及状态迁移覆盖为准则生成测试用例,在测试过程中不断地对测试模型及相应的测试用例进行自适应调整.基于该方法,通过集成开源软件Graphwalker,搭建了一个实验平台,选择了10种不同种类的常用智能服务终端,通过实验评估其有效性.实验结果表明,该方法生成的测试用例数量少,测试充分性程度高,可以高效地发现智能服务终端系统中存在的缺陷和问题.
关键词 有限状态机测试;智能服务终端;自适应测试;探索性测试;探索性自适应FSM测试
21世纪以来,软件的作用大幅提升,软件正逐步重新定义一切,但与此同时诸多软件问题也随之而来[1].在对软件没有进行规范而有效的测试时就仓促地把软件交付给客户,很有可能为软件的使用埋下隐患.因此,为了保障软件的质量,对软件进行规范而有效的测试变得十分重要.然而软件测试工作极其庞杂,需要消耗较多的人力和物力.随着现代软件技术的发展和人们需求水平的提高,软件系统规模扩大、版本更新频繁、开发与测试难以对接、边开发边测试