软件自动化测试在功能测试中的应用

开发 测试 自动化
软件测试对软件质量的保证起着致关重要的作用,在软件测试中,存在许多BUG需要进行回归测试,这些工作都存在大量的重复性劳动,有必要引入和运用功能自动化测试方法。本文就为你详述软件自动化测试在功能测试中的应用。

  软件测试对软件质量的保证起着致关重要的作用。虽然国内软件企业越来越注重软件测试工作,但仍然存在这样一个不争的现实:除了部分大中型软件企业外,相当多的软件企业的软件测试工作还完全处于手工测试状态,甚至还没有稳定的测试团队。在这样的企业环境下,软件测试工作变成了一项枯燥繁重的“苦差事”。大型软件项目的新增业务需求和变更需求比较多,且各类业务比较复杂,如ERP、CRM、SCM等等。软件开发往往采取模块化设计和增量集成的方式,加上某些系统对流程和权限的控制比较严格,从而导致单据从受理到进入归档状态是一个非常漫长的过程。测试人员准备测试数据比较困难,经常需要花很多时间去创建一张单并执行到预定的状态。此外还有大量的变更问题需要验证,软件测试中的许多BUG还需要进行回归测试。这些工作都存在大量的重复性劳动,有必要引入和运用功能自动化测试方法。

  自动化测试方法

  我们在使用自动化测试工具进行功能测试时,主要是对软件进行自动化回归测试。回归测试是软件侧试过程中的一个重要阶段。当代码修改、软件硬件平台变更或硬件配置改变后, 都必须进行回归测试。作为软件生命周期的一个组成部分, 回归测试在整个软件测试过程中占有很大的工作比重。在测试过程中,回归测试有两个很大的缺点:费时而烦琐。尤其在测试用户界面(GUI)时, 测试变得很复杂, 操作员也非常容易出错。但越来越多的应用程序需要和图形用户界面(GUI)一期工作,为了支持这些应用程序的测试,就要求软件测试工具必须提供捕获用户操作(如击键、鼠标活动等)的能力和在代码被修改后自动回放用户操作的能力。

  捕获和回放

  所谓的摘获和回放技术就是先由手工完成一遍需要测试的流程,在这期间,测试工具可以把用户在进行测试时的键盘和鼠标等输入操作记录下来, 同时也把软件的响应记录下来, 当对软件作了修改并重新运行这个测试时, 就可以利用测试回放功能把这个测试以前所作的输入操作重新应用到本次侧试中,并自动比较软件对本次测试和以前的测试的响应是否相同,如果不同, 就表明对软件的修改产生了新的错误。

  脚本技术

  脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量。当然,也可以直接用脚本语言编写脚本。在自动化测试时,应根据实际的测试需求和条件选取适当的脚本开发方法。一般都会综合好几种开发方法。

  自动化测试工具

  在实际工作中,回归测试需要反复进行,当测试者一次又一次地完成相同的测试时,这些回归测试将变得非常令人厌烦,而在大多数回归测试需要手工完成的时候尤其如此,因此,需要通过自动测试来实现重复的和一致的回归测试。通过测试自动化可以提高回归测试效率。为了支持多种回归测试策略,自动测试工具应该是通用的和灵活的,以便满足达到不同回归测试目标的要求。

  目前主流的功能自动化测试工具有HP公司的QuickTest Professional,IBM公司的Rational Functional Tester等。下面就以HP公司的QuickTest Professional为例,简单介绍一下自动化测试工具的工作流程。

  QuickTest Professional

  HP QuickTest Professional简称QTP,提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念已简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。

  主要步骤

  QTP进行功能测试的测试流程 [制定测试计划]——>[创建测试脚本]——>[增强测试脚本功能]——>[运行测试]——>[分析测试结果] 大致五个步骤:

  1、制定测试计划

  自动测试的测试计划是根据被测项目的具体需求,以及所使用的测试工具而制定的,完全用于指导测试全工程。

  QTP是一个功能测试工具,主要帮助测试人员完成软件的功能测试,与其他测试工具一样,QTP不能完全取代测试人员的手工操作,但是在某个功能点上,使用QTP的确能够帮助测试人员做很多工作。在测试计划阶段,首先要做的就是分析被测应用的特点,决定应该对哪些功能点进行测试,可以考虑细化到具体页面或者具体控件。对于一个普通的应用程序来说,QTP应用在某些界面变化不大的回归测试中是非常有效的。

  2、创建测试脚本

  当测试人员浏览站点或在应用程序上操作的时候,QTP的自动录制机制能够将测试人员的每一个操作步骤及被操作的对象记录下来,自动生成测试脚本语句。与其他自动测试工具录制脚本有所不同的是,QTP除了以VBScript脚本语言的方式生成脚本语句以外,还将被操作的对象及相应的动作按照层次和顺序保存在一个基于表格的关键字视图中。比如,当测试人员单击一个链接,然后选择一个CheckBox或者提交一个表单,这样的操作流程都会被记录在关键字视图中。

  3、增强测试脚本的功能

  录制脚本只是实现创建或者设计脚本的第一步,基本的脚本录制完毕后,测试人员可以根据需要增加一些扩展功能,QTP允许测试人员通过在脚本中增加或更改测试步骤来修正或自定义测试流程,如增加多种类型的检查点功能,既可以让QTP检查一下在程序的某个特定位置或对话框中是否出现了需要的文字,还可以检查一个链接是否返回了正确的URL地址等,还可以通过参数化功能,使用多组不同的数据驱动整个测试过程。

  4、运行测试

  QTP从脚本的第一行开始执行语句,运行过程中会对设置的检查点进行验证,用实际数据代替参数值,并给出相应的输出结构信息。测试过程中测试人员还可以调试自己的脚本,直到脚本完全符合要求。

  5、分析测试

  运行结束后系统会自动生成一份详细完整的测试结果报告。

  小结

  自动化测试同手工测试一样,都需要有一个计划,测试的覆盖率,评估自动化测试工具是否能带来收益来确定测试的内容,其实,并不是所有项目都适合自动化测试工具的,如果项目周期短,是不适宜做自动化测试的,自动化测试虽然在运行中比较省时间,但是在前期的设计,脚本的编写和维护都会浪费较多的时间,如果自动化测试脚本不能重复利用多次,自动化对于我们只是一种时间的浪费,只会令整个项目延期。如果你要用QTP这种识别图形用户界面(GUI)属性的工具必须要等待页面功能稳定以后才能进行自动化脚本的设计,因为任何一个控件的修改都会导致自动化工具不能识别控件。

【编辑推荐】

  1. 单元测试框架进行自动化测试
  2. 软件自动化测试流程
  3. 软件测试中基于关键字的自动化测试
  4. 自动化测试技术在网站链接测试中的应用
  5. 自动化测试在功能测试中的应用
责任编辑:韩亚珊 来源: 中国IT实验室
相关推荐

2019-07-18 11:00:45

自动化运维测试

2024-01-08 13:31:00

Rust自动化测试

2021-06-30 19:48:21

前端自动化测试Vue 应用

2010-09-08 15:25:09

自动化测试技术网站链接测试

2021-06-26 07:40:21

前端自动化测试Jest

2010-07-26 09:53:08

Perl多进程

2023-05-18 14:01:00

前端自动化测试

2010-07-14 11:14:48

Perl多进程

2012-02-27 17:34:12

Facebook自动化

2022-08-23 09:00:00

Web测试工具自动化

2022-02-17 10:37:16

自动化开发团队预测

2022-09-12 16:02:32

测试企业工具

2011-12-23 17:09:57

自动化测试

2012-12-24 22:54:31

2014-04-16 14:15:01

QCon2014

2011-08-16 15:36:47

iPhone应用测试

2023-03-27 15:37:43

自动化测试开发

2022-05-10 11:18:42

自动化测试软件测试

2022-06-08 14:22:55

自动化测试测试

2009-07-06 10:08:03

Flex自动化
点赞
收藏

51CTO技术栈公众号