软件自动化测试探秘

本文主要说明:

1、自动化测试是大势所趋

2、自动化测试的发展

3、自动化测试应用场景

4、自动化测试工具

5、自动化测试需要什么技能

6、自动化测试能完全代替人工测试吗?

1、自动化测试是大势所趋

自动化测试是指借用软件工具来代替人的测试,一方面有些测试人力是无法完成的,比如压力测试,另一方面是因为人力测试耗时长、成本高、对人的技能水平要求高等。自动化测试是软件测试的大势所趋,手工测试存在测试效率低下、测试时间长、质量无法保障、测试成本高等弊端,必将被高效率的、高覆盖率的、能充分发挥机器优势的自动化测试逐渐替代。自动化测试不仅可以用于静态测试,也可以用于动态测试,不仅可以用于非功能测试,也可以用于功能测试。

2、自动化测试的发展

自动化测试发展也是跟随IT技术的快速发展和业务需要快速推向市场的需求而发展起来的。至今,自动化测试经历了三个发展阶段:

1)、“录制-回放”阶段:早起的自动化测试是简单的录制-回放。即录制页面操作形成测试脚本,然后通过回放来执行测试脚本进行测试。其缺点是脚本和数据混在一起,几乎一个测试用例对应一个脚本,维护成本汉高。一旦界面发生变更,需要重新录制。

2)、“数据驱动”阶段:测试脚本从数据文件中读取数据,数据与脚本分离,相当于对数据参数化,不同的数据文件对应不同的测试用例,而脚本却是同一个。在这种模式下脚本的利用率和可维护性大大提高,但仍然受界面变化的影响很大。

3)、“关键字驱动”阶段:这是对数据驱动的改进,它对测试逻辑进行包装,用关键字代替测试脚本。它实际上将测试人员分成两类:封装测试逻辑程序的开发人员和设计测试用例的测试人员。测试人员只需要用可理解的关键字指代测试逻辑,而不用关系测试逻辑程序内部结构。当然,这里的关键字可以指代被操作的对象、操作逻辑和数据,比如用“签到”指代登录的测试程序,用“客户号”指代客户号输入数据等等。它的原理就是让自动化测试脚本开发变得无程序化、简单化,降低脚本开发对测试人员的技能要求,它的中心思想简单说就是就是三分离:脚本与数据分离,界面元素名称与测试内部对象标识分离、测试描述与具体实现细节分离。

3、自动化测试应用场景

什么样的情况下适合使用自动化测试工具?自动化测试的前提是软件系统的功能比较稳定、软件系统测试的时间较长。因为如果软件本身还处于不断变更或者有大量问题需要修复时,自动化测试脚本可能需要频繁修改以适应新的软件笨笨,其维护脚本的成本会更高;而如果测试时间很短,比如一周两周的,用人工测试可以能更快实现目的。当然,还需要有足够的投入,因为自动化测试通常不是一个人可以完成的,也不是赤手空拳可以做到的,必须有相应的服务器、开发工具等等。

所以在所有的测试中功能测试的自动化发展最慢,直至现在银行系统的功能测试,尤其是用户验收测试都是以人工测试为主。前面几节简单介绍过性能测试和静态测试用到的自动化工具,所以本节仅概述功能自动化测试及使用到的主要工具。目前功能自动化测试主要集中在回归测试阶段和系统投产后的运维阶段,在系统集成测试阶段和用户验收测试阶段,很少使用到自动化测试工具。

4、自动化测试工具

目前主要的功能测试工具有HP的QTP(Quick Test Professional),开源的Selenium(适用于Web应用程序的功能测试),RobertFramework,AutoRunner等等。

对自动化测试工具的具体介绍以后会有专文描述,这里不展开细说。

5、自动化测试需要什么技能?

自动化测试需要什么技能?一要有一定的开发能力,因为脚本是用编程语言开发完成的,如java、C、Python等等;比如web测试,就还需要熟悉js,html等,比如APP测试,就需要熟悉iOS或者Andriod操作系统;二是要掌握至少一个自动化测试工具;三是要熟悉被测试系统的业务流程。

6、自动化测试能完全替代人工测试吗?

自动化测试工具不可能取代所有人工测试,它还是需要测试人员去规划测试、编制测试方案和计划、设计测试用例或测试脚本、分析和跟踪缺陷。但有了自动化测试工具,可以将测试人员从大量繁重、重复的测试执行中解放出来,而将精力投放在高端测试工作上来。所以,今后的测试人员其一是向自动化测试的开发方面发展,其二是朝高端的测试设计方面发展。这两类人员的关系类似于现在的需求人员和开发人员的关系,由测试设计人员规划测试需求和测试用例,由自动化测试开人员来开发测试脚本以满足测试需求。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180514G0PUIT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券