此外,测试员还可以通过在验证点中使用正则表达式,建立更加灵活的验证点,保证测试脚本的重用性。
图六、正则表达式在验证点中的应用
3.3 提供多种专利技术,提高脚本的可维护性
使用IBM Rational Functional Test工具进行Java和Web应用系统测试时,标准Java的测试脚本语言,为测试脚本的可重用性和脚本能力提供了第一层保证。此外,通过维护"测试对象图",IBM为测试员提供了不用任何编程就可以实现测试脚本在不同的被测系统版本间的重用能力。"测试对象图"分为两种,一种是公用"测试对象图",它可以为项目中的所有测试脚本使用;另一种是私有"测试对象图",它只被某一个管理的测试脚本所使用。在软件开发的不同版本间,开发员会跟据系统需求的变化,修改被测系统和用于构建被测系统的各种对象,所以测试脚本在不同的版本间进行回归测试时经常会失败。因此,通过维护公用"测试对象图",如图七所示,测试员可以根据被测应用系统中对象的改变,更新测试对象的属性值及对应权重,这样在不修改测试脚本的前提下,就能使原本会失败的测试脚本回放成功。同时,为了方便测试员对测试对象图的修改和维护能力,RFT还提供了强大的查询和查询定制能力,帮助测试脚本维护人员快速找到变化的测试对象,进行修改和维护工作。
图七、测试对象图的维护
其次,IBM提供的ScriptAssurance专利技术,使测试员能够从总体上改变工具对测试对象变更的容忍度,在很大程度上提高了脚本的可重用性。ScriptAssurance技术主要使用以下两个参数:脚本回放时,工具所容忍被测对象差异的最大门值和用于识别被测对象的属性权重。使用这种技术,测试员可以通过Eclipse的首选项设定脚本回放的容错级别,即门值,如图八和图九所示:
图八、IBM专利技术:ScriptAssurance容错级别设定
点击高级,能够看到各种具体的可接受的识别门值。
图九、ScriptAssurance门值设定
其次,测试员可以根据被测对象实际更改情况,在测试对象图中(如图七所示)修改用于回放时识别被测对象的属性及其权重。在测试脚本回访时,测试对象的识别分数将由以下公式计算得出:
int score = 0; for ( int i = 0; i < property.length; ++i ) score += (100 - match(property[i])) * weight;
其中,match()将根据属性的符合程度返回0~100之间的值,完全符合返回100,完全不符合返回0。
测试脚本回放成功与否则取决于:识别得分 < 识别门值。通过这一技术,如图十所示,通过设置恰当的ScriptAssurance门值和为用于识别对象的属性设置合适的权重,即使在两个回归测试的版本间测试对象有多个属性不同,对象仍有可能被正确识别,脚本仍有可能回放成功。这为测试脚本的重用提供了最大程度的灵活性。
图十、ScriptAssrance技术保证脚本的重用
3.4 与其它生命周期管理软件的完美集成
IBM Rational的自动化功能测试工具基于Eclipse平台,提供了和需求管理工具(RequisitePro)、建模工具、代码级测试工具和变更及配置管理工具(ClearQuest和ClearCase)的完美集成,这使得系统测试人员能够和整个软件开发团队在同一个软件平台上,实现系统功能测试,完成测试脚本的配置管理和缺陷追踪。
4 小结
5 参考资料
IBM Rational Functional Tester工具帮助
Evaluating Automated Functional Testing Tools by Carey Schwaber and Mike Gilpin
文章来源于领测软件测试网 https://www.ltesting.net/