基于模型的测试是软件测试中一个重要分支,但随着模型规模的增大,测试用例生成也变得越来越困难.扩展有限状态机(extended finite state machine,EFSM)是一种广泛应用的模型,它是对有限状态机(finite state machine,FSM)的扩展,能够更精确地刻画软件系统的动态行为.对EFSM模型的测试主要包含2个部分:测试迁移路径的生成和覆盖测试迁移路径的测试数据的生成.基于搜索的方法已被应用于测试数据的生成.为了提高在大规模EFSM模型中测试用例生成的效率,在前期对EFSM模型非终止性研究新型依赖性分析和切片技术的基础上,提出了基于EFSM模型不定型切片的测试用例生成方法和测试用例补全方法.通过2个案例分析得出:基于模型切片可以更加准确地生成可行路径和提高测试强度.基于7个基准EFSM模型的实验结果表明,在大多数情况下,在切片上生成测试用例的效率都比在原模型上高.
软件开发者在开发过程遇到应用程序编程接口(application programming interface,API)使用问题时,通常希望能够得到有效的API使用模式建议,从而帮助其学习和使用.传统的API推荐方法会挖掘和学习代码库中API的使用知识,然后给开发者推荐与上下文相关的API.然而由于上下文信息表征不够充分,以及推荐列表中冗余项和同质化内容的出现影响了推荐性能.针对这一问题,构建项目和方法与API的API层次调用图(API hierarchy call graph,AHCG)模型以更好地表达API上下文关系,充分利用API结构信息和语义信息来减少冗余项和降低同质化内容被推荐的可能性,进而提出基于上下文感知并面向多样性的API推荐(context-aware based API recommendation with diversity,CAPIRD)方法.该方法中引入相关性度量和关联性度量,最大限度地保留相关结果,同时平衡已选API与候选API的关联性,以尽可能挖掘到合理的初选API列表.最后结合最大边缘相关算法,在标准模式数据集上学习相关性和关联性的最佳权重组合,并进行多样性重排推荐.在2210个项目构成的3类数据集上进行实验并验证推荐性能,实验结果表明,CAPIRD在基于上下文的API推荐场景下能够有效提高推荐性能.在所有数据集的API推荐中,平均精度(mean average precision,MAP)指标平均提升值约9%,在Top-1的推荐中,成功率(success rate)指标平均提升约13%.