java实现白盒测试代码 白盒测试测试用例模板( 九 )


黑盒测试(功能测试)工具的选择
那么 , 如何高效地完成功能测试?选择一款合适的功能测试工具并培训一支高素质的工具使用队伍无疑是至关重要的 。尽管现阶段存在少数不采用任何功能测试工具,从事功能测试外包项目的软件服务企业 。短期来看 , 这类企业盈利状况尚可,但长久来看,它们极有可能被自动化程度较高的软件服务企业取代 。
目前,用于功能测试的工具软件有很多,针对不同架构软件的工具也不断推陈出新 。这里重点介绍的是其中一个较为典型自动化测试工具,即Mercury公司的WinRunner 。
WinRunner是一种用于检验应用程序能否如期运行的企业级软件功能测试工具 。通过自动捕获、检测和模拟用户交互操作,WinRunner能识别出绝大多数软件功能缺陷 , 从而确保那些跨越了多个功能点和数据库的应用程序在发布时尽量不出现功能性故障 。
WinRunner的特点在于: 与传统的手工测试相比,它能快速、批量地完成功能点测试; 能针对相同测试脚本,执行相同的动作,从而消除人工测试所带来的理解上的误差; 此外,它还能重复执行相同动作,测试工作中最枯燥的部分可交由机器完成; 它支持程序风格的测试脚本 , 一个高素质的测试工程师能借助它完成流程极为复杂的测试,通过使用通配符、宏、条件语句、循环语句等,还能较好地完成测试脚本的重用; 它针对于大多数编程语言和Windows技术 , 提供了较好的集成、支持环境 , 这对基于Windows平台的应用程序实施功能测试而言带来了极大的便利 。
WinRunner的工作流程大致可以分为以下六个步骤:
1.识别应用程序的GUI
在WinRunner中,我们可以使用GUI Spy来识别各种GUI对象,识别后 , WinRunner会将其存储到GUI Map File中 。它提供两种GUI Map File模式: Global GUI Map File和GUI Map File per Test 。其最大区别是后者对每个测试脚本产生一个GUI文件,它能自动建立、存储、加载,推荐初学者选用这种模式 。但是,这种模式不易于描述对象的改变,其效率比较低,因此对于一个有经验的测试人员来说前者不失为一种更好的选择,它只产生一个共享的GUI文件,这使得测试脚本更容易维护,且效率更高 。
2.建立测试脚本
在建立测试脚本时,一般先进行录制,然后在录制形成的脚本中手工加入需要的TSL(与C语言类似的测试脚本语言) 。录制脚本有两种模式: Context Sensitive和Analog,选择依据主要在于是否对鼠标轨迹进行模拟,在需要回放时一般选用Analog 。在录制过程中这两种模式可以通过F2键相互切换 。
只要看看现代软件的规模和功能点数就可以明白,功能测试早已跨越了单靠手工敲敲键盘、点点鼠标就可以完成的阶段 。而性能测试则是控制系统性能的有效手段 , 在软件的能力验证、能力规划、性能调优、缺陷修复等方面都发挥着重要作用 。
3.对测试脚本除错(debug)
在WinRunner中有专门一个Debug Toolbar用于测试脚本除错 。可以使用step、pause、breakpoint等来控制和跟踪测试脚本和查看各种变量值 。
4.在新版应用程序执行测试脚本
当应用程序有新版本发布时,我们会对应用程序的各种功能包括新增功能进行测试,这时当然不可能再来重新录制和编写所有的测试脚本 。我们可以使用已有的脚本,批量运行这些测试脚本测试旧的功能点是否正常工作 。可以使用一个call命令来加载各测试脚本 。还可在call命令中加各种TSL脚本来增加批量能力 。
5.分析测试结果
分析测试结果在整个测试过程中最重要 , 通过分析可以发现应用程序的各种功能性缺陷 。当运行完某个测试脚本后,会产生一个测试报告,从这个测试报告中我们能发现应用程序的功能性缺陷,能看到实际结果和期望结果之间的差异,以及在测试过程中产生的各类对话框等 。

推荐阅读