【软件测试】功能测试进阶自动化测试,从这开始

软件测试学习打卡交流←←←


1.自动化测试是什么

维基百科对自动化测试的定义-—自动化测试就是使用软件来控制测试案例的执行。它将实际测试结果与预期结果进行比较,并提供测试预置条件设定、测试逻辑控制以及测试报告等重要功能。通常,自动化测试都是基于已经存在,并拥有成熟测试流程的人工测试来实现的。

尽管人工测试可以发现大量的软件系统缺陷,但它无疑会耗费大量人力及时间,并且不容易发现某些特定类型的缺陷(例如数个下拉菜单的逻辑组合查询测试)。对测试进行自动化的过程,就是写一段程序来代替人工测试。一旦测试被成功自动化后,它们就可以在任何需要的时候快速执行。对于软件维护周期很长的应用系统而言,这无疑是最高效的方式。因为在漫长的软件维护周期中,一个很小的改动,都可能导致原本正常的软件功能失效。

2.自动化测试有两种常见的方式:

1.代码驱动测试:

通过大量不同的输入参数和对应的返回结果,来验证类、模块或者库文件的公共接口是否正确。

“代码驱动测试自动化”是敏捷开发的一个关键特性,同时它又被很多人称为测试驱动开发(TDD)。单元测试的逻辑在代码编写之前就应该确定下来,只有当代码通过了所有测试,代码编写工作才能结束。支持这一看法的业界专家认为,

2.图形用户接口测试

测试框架产生用户接口事件(例如键盘敲击、鼠标单击等),并捕获事件导致的图形用户接口改变,以便验证可见的程序响应是否正确。很多自动化测试工具都支持录制/回放特性,它们允许用户交互性地录制自己的操作,在需要的时候进行回放,并将回放的实际结果与期望结果进行比较。

自动化测试工具通常都是很昂贵的,并经常与手工测试结合起来使用。如果在较长的时间周期内考察,那么自动化测试是有价值的,它特别适合于定期的回归测试。

在开始自动化测试工作前,您必须先决定自动化什么,什么时间自动化,甚至于是否需要自动化。选择待测软件系统的哪些功能特性进行自动化测试,在很大程度上决定了自动化工作的成败。对不稳定的功能特性,或者即将改变的功能特性,进行自动化测试,必定得不偿失,绝对不要这么做。

3.是否需要对测试进行自动化?

自动化总是有利可图的吗?什么时候我们会决定对测试案例进行自动化?

自动化并非总是有利可图的,有时候人工测试更适合。举个例子,如果系统的用户界面会在最近发生改变,那么自动化测试案例就不得不面临重构。而有时候并没有足够的时间去设计自动化测试,对于工期较短的项目,人工测试也许更有效率。如果一个项目有严格的截至时间点,并且当前没有可用的自动化测试案例,那么人工测试是你最好的解决方案。

不过自动化测试在一个长周期的迭代测试中,拥有许多优点:

  • 能够支持频繁的回归测试;
  • 能够在软件开发过程中尽早发现缺陷;
  • 能够无限地循环执行测试案例;
  • 零成本实现Web自动化测试——基于Selenium和 Bromine
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值