WS-CDL测试路径的生成与排序
2012-03-13刘翠翠李必信
刘翠翠 邱 栋 李必信
(东南大学计算机科学与工程学院,南京211189)
Web 服务编舞描述语言(Web service choreography description language,WS-CDL)[1-2]是一种应用广泛的服务编舞语言.在使用WS-CDL 描述组合服务时,为尽早发现设计中的错误,减少维护开销,需要对WS-CDL 进行测试.WS-CDL 规约指出,WS-CDL 不是一种可执行的业务过程描述语言,也不是一种实现语言,因此目前没有业界统一的执行引擎,这也导致对WS-CDL 的测试工作研究甚少.文献[3]将服务编舞行为建模成带标签的转换系统,将XPath 和XML schema 与服务编舞的具体行为联系起来,识别数据流,生成数据流测试准则.文献[4]提出一种测试WS-CDL 的方法,该方法对当前路径中的最后一个谓词取反,得到下一条路径再执行;重复该过程直至所有路径均被执行则终止.该方法对WS-CDL 规约进行扩展,加入assertion 语句,用以描述WS-CDL 程序的设计者对程序的预期,便于在测试过程中与实际结果相比较.因此,若测试人员采用该方法对WS-CDL 程序进行测试,就需要以侵入方式修改内部代码,从而改变了源程序.
对WS-CDL 组合流程进行测试时,如果运行所有的测试用例会导致测试开销过高,因此研究者提出各种约简测试集的方案[5-6],以减小测试开销,但这也可能会对错误定位有所影响.测试集排序技术[7-11]根据测试需求定义某种重要性准则,并对测试用例按重要性由高到低排序,即重要性高的测试用例优先测试,这样可以尽早地发现错误.
本文首先提出一种基于控制流图的WS-CDL测试路径生成方法,该方法对WS-CDL 程序进行解析,提取有……