|
知识路径: > 自动化测试 >
|
相关知识点:13个
|
|
|
|
|
传统的手工测试是测试人员执行测试用例,然后将测试结果和预期结果相比较并记录测试结果。然而,随着软件工程的规模越来越大,软件产品的功能越来越复杂,同时,软件的更新换代也越来越频繁,软件测试部门的工作难度越来越大,手工测试已经跟不上这种发展趋势了。
|
|
|
功能自动化测试工具可以帮助测试工程师自动处理测试开发到测试执行的整个过程中的问题。你可以创建可修改且可复用的测试脚本,甚至可以在下班后让计算机自动执行脚本,从而减少劳动量,提高测试效率。
|
|
|
功能测试自动化工具的主要功能,就是为了确保应用能够按照预期设计执行而将业务处理过程记录到测试脚本中。当应用被开发完成或应用升级时,测试工具支持测试脚本的编辑、扩展、执行和报告测试结果,并且保证测试脚本的可重复使用,贯穿于应用的整个生命周期。
|
|
|
当一个应用开发完毕后,程序界面基本定型,这个时候,针对该应用的自动测试应该展开。自动测试的引入,大大提高了测试的效率和测试的准确性,而且测试人员一次设计的脚本,可以在软件生命周期的各个阶段重复使用,尤其在软件交付后,随着企业的发展,你的应用就会随之在数量和范围上增长。为了满足业务的需求,应用的改变会很频繁,对于这些需求,将可以通过小范围修改测试工具录制的脚本来完成。对于功能测试工具的使用,比较重要的是测试规划问题。如何规划一次录制,使它具有良好的可扩展性、重用性,整个脚本能够有清晰的层次和最大限度地适应以后程序的修改,这些也是在实际工程中用户最普遍遇到的问题,它的实施就需要有经验的软件测试人员介入并结合应用来进行具体分析。
|
|
|
|
功能自动化测试工具基本上都是采取录制回放的方式来模拟用户的实际操作。当你在软件操作中点击图形用户界面上的对象时,测试工具会用一种类C或者其他的脚本语言(TSL)生成一个测试脚本,该脚本记录了你的操作过程,然后测试工具就可以回放刚才的操作过程。当然你也可以手工编程生成这个脚本。通常情况下,测试工具采取两种录制模式。
|
|
|
|
这种模式根据你选取的图形用户界面对象(如窗体、清单、按钮等),把你对软件的操作动作录制下来,并忽略这些对象在屏幕上的物理位置。每一次你对被测软件进行操作,测试脚本语言会记录并描述你选取的对象和你的操作动作。当你进行录制时,测试工具会对你选取的每个对象做惟一描述并写入相应的文件中。当软件用户界面发生变化时,你只需更新特定的对象记录文件。这样一来,环境判断模式的测试脚本将非常容易地被重复使用。执行测试只需要回放测试脚本。回放时,测试工具从指定文件中读取对象描述,并在被测软件中查找符合这些描述的对象并模拟用户使用鼠标选取该对象、用键盘输入数据的操作。
|
|
|
|
这种模式记录鼠标点击、键盘输入和鼠标在二维平面上(x轴和y轴)的精确运动轨迹。执行测试时,测试工具让鼠标根据轨迹运动。这种模式对于那些需要追踪鼠标运动的测试非常有用,例如画图软件等。
|
|
|
不论测试工具采用的是哪种录制模式,通常情况下,其实施测试必须经历的几个操作步骤如下。
|
|
|
. 创建脚本:你可以通过录制、编程或两者同用的方式创建测试脚本。测试工具可以自动记录你的操作并生成所需的脚本代码,你还可以直接修改测试脚本以满足各种复杂测试的需求。录制测试时,在需要检查软件反应的地方插入检查点(checkpoint)。你可以插入检查点来检查GUI对象、位图(bitmap)和数据库。在这个过程中,测试工具会自动捕捉数据,并将该数据作为期望结果储存下来。例如,在创建测试时,可以设定哪些数据库表和记录需要检测,在测试运行时,测试程序就会自动核对数据库内的实际数值和预期的数值是否一致。
|
|
|
. 调试脚本:脚本录制或编辑结束后,你可以先在调试模式下运行脚本。并可以设置中断点(breakpoint)来监测变量,控制对象识别和隔离错误。
|
|
|
. 执行测试:脚本调试结束后,便可以在检验模式下测试被测软件。运行测试时,测试工具会自动操作应用程序,就像一个真实的用户根据业务流程执行着每一步的操作。此时,测试工具在运行脚本过程中如果遇到了检查点,就把当前数据和事先捕捉并保存的期望值进行比较。如果发现有不符合,就记录下来作为测试结果。在具体的测试过程中,为了全面地测试一个应用程序,需要使用不同类型的数据来测试。一般情况下,测试工具都能提供动态数据处理及参数化技术,可以用参数去代替定值,从而真实地反映多个用户行为。以一个订单输入的流程为例,你可能希望把订单号或客户名称作为可变栏,用多套数据进行测试。使用数据驱动向导,你可以选择订单号或客户名称用数据表格文件中的哪个栏目的数据替换。你可以把订单号或客户名称输入数据表格文件,或从其他表格和数据库中导入。数据驱动测试不仅节省了时间和资源,又提高了应用的测试覆盖率。
|
|
|
. 结果分析:每次测试结束,测试工具都会把测试情况显示在测试结果报告中。测试结果报告会详细描述测试执行过程中发生的所有主要事件,如检查点、错误信息、系统信息或用户信息。如果在检查点有不符合的情况被发现,你可以在测试结果窗口查看预期结果和实际测试结果。如果是位图不符合,你也可以查看用于显示预期值和实测结果之间差异的位图。如果由于测试中发现错误而造成测试运行失败,你可以直接从测试结果中查看有关错误信息。
|
|
|