当前位置:问答库>论文摘要

题目:面向业务流程执行语言的变异测试系统的设计与实现

关键词:业务流程执行语言,变异测试,遗传算法,变异体

  摘要



近些年来随着Web服务组合得到了广泛的应用,对于实现Web服务组合的业务流程执行语言(BPEL)程序的测试也显得越来越重要。因此本课题专门为业务流程执行语言(BPEL)程序设计了一个测试系统,实现了对BPEL程序的测试,验证了BPEL程序的正确性和健壮性。

本文运用变异测试技术来设计该测试系统。变异测试技术要求在实现该系统时解决三个问题:解析BPEL程序、产生原程序的变异体、对比分析原程序和变异体的输出。为了能让基于变异测试技术的测试系统得以实现,系统还要实现设计用户界面和连接客户端和服务器的功能。因此本文将系统设计成五个部分:界面输入输出模块、BPEL分析器、变异生成器、执行系统和Socket通信模块。界面输入输出模块负责接收测试人员输入的BPEL原程序以及测试BPEL程序时所需的所有文件和测试用例,并输出最终的测试结果。BPEL分析器利用DOM4J来对BPEL程序文件进行内容读取,判断原程序是否能够与某个算子相匹配,得到一个可变异程序的算子列表。变异生成器,接收原始BPEL程序的定义和分析器的输出,利用遗传算法,根据算子的变异规则产生变异体。然后把变异体集合与资源文件打包通过Socket通信模块发送给服务器端的执行系统进行执行。执行系统对收到的数据包进行解压,将解压后的BPEL文件自动部署到由Apache ODE引擎和Takuan拓展引擎结合而成的执行引擎上,然后使用测试用例对变异后的程序与原程序的输出结果进行比较,生成执行矩阵,并将执行矩阵的结果返回给客户端的界面输入输出模块。界面输入输出模块通过分析执行矩阵的结果,计算变异体在测试用例中的存活率和测试用例杀死变异体的能力值,将测试结果展现出来。

系统在对BPEL原程序进行测试之后,其结果显示变异体在测试用例中的平均存活率为30%,平均水平较低,但有个别变异体的存活较高。测试用例杀死变异体能力的平均值为70%,平均水平较高,但有个别测试用例杀死变异体的能力值较低。这表明:变异体被杀死的较多,测试用例杀死变异体的能力较强,系统设计合理。但有个别变异体和测试用例不满足要求,需要对系统进行更全面的完善。