自动化测试基础

1、什么是自动化测试

  以程序测试程序,以代码代替思维,以脚本的运行代替手工测试。自动化的测试涵盖了:功能(黑盒)自动化测试,功能(白盒)自动化测试,性能测试,压力测试,GUI(Graphical User Interface)测试,安全性测试等。

  2、自动化测试的优势

  回归测试更方便可靠 ;可运行更多,更繁琐的测试,且快速高效;可执行一些手工测试执行相当困难或者做不到的测试,如大量的用户并发;更好的利用资源,具有一致性和可重复性的特点,自动化测试脚本完全可复用;提升了软件的可信度;多环境下测试等。

  3、自动化测试无法做到的事以及劣势

  永远不可能完全替代手工测试,自动化测试无法做到手工测试的覆盖率,不是每个测试用例都适合做成自动化,如建议一个页面的布局是否正确。

  手工测试发现的缺陷远比自动化多。自动化测试是几乎无法发现新缺陷的,最大的用途是用来回归,确保曾经的bug没有在新的版本上重新出现。

  自动化测试工具是死的,它不具备任何想象力。自动化测试的好坏,完全取决于测试工程师。

  成本投入高,风险大。对测试人员的技术要求高,对测试工具同样有要求。

  4、合适引入自动化

  项目周期长,系统版本不断,并且需求不会频繁变更,此时是适合引入自动化测试的。

  系统的测试对象基本可以正常识别,以及对无法识别的控件能否提供一个解决方案。

  系统中不存在大量的第三方控件。

  需要反复测试,如可靠性测试需要进行上千次的系统测试

  5、不适合自动化

  项目周期短,需求频繁变更。即使是周期长的项目,如果经常需求变更,也不适合做自动化。

  软件版本还没有稳定的情况下,主功能或大量功能有被重新更改的可能话,也不适合做自动化。

  没有明确的项目测试自动化计划,措施和管理。

  多数对象无法识别,以及脚本维护频繁与艰难,二者有其一,自动化必定失败。

  6、自动化测试的流程




合理的自动化切入点:通常,项目只有经历了完整的系统测试之后才算具备了基本的引入测试自动化的条件。

  测试自动化分析:

  (1)可行性分析

  (2)抽样demo分析,demo一般选取冒烟测试用例,检查脚本是否能够成功运行通过,已设计的测试点是否全部执行

  (3)测试需求分析,分析哪些功能点准备进行自动化

  测试计划定制:自动化测试计划越全面,后期越能循规蹈矩的去实施,自动化测试的成功率越高

  自动化测试设计阶段:主要分为自动化测试框架和自动化测试用例。

  (1)自动化测试框架的设计,开发与搭建:应能保证测试的分布执行,脚本模块化,数据驱动,日志分析,错误截图,报表回收,共享对象库,公共函数库,环境配置,统一设计模式,异常处理,场景恢复的一个无人值守的,针对每个独立项目的测试框架

  (2)自动化测试用例设计三部曲:手工测试用例是从无到有,然后自动化测试用例是根据手工测试用例来写的。首先,筛选手工测试用例。然后转换手工测试用例,最后新增&补充自动化测试用例。

  为什么不能用手工测试用例完全替代自动化测试用例?

  自动化测试用例的范围往往是核心业务流程或者重复执行率高的,自动化测试的覆盖率不能达到手工测试的覆盖率。自动化测试的用例选择一般以正向为主,而反向的情况却有很多,但是并不是所有反向情况自动化测试都会涵盖,而是有筛选的选取一部分。也并不是所有的手工测试用例都可以用来做自动化的,如页面布局的检查。手工测试可以不需要回原点,但是自动化测试往往是必须的。自动化测试用例与手工测试用例不同,不需要每个步骤都写预期结果。

  测试脚本设计与开发:

  测试脚本大致可划分为五种,

  (1)线性脚本:通过录制直接产生的线性可执行的脚本

  (2)结构化脚本:具有顺序,循环,分支等结构的脚本

  (3)可共享脚本:可以被多个测试用例使用,被其他脚本调用的脚本

  (4)数据驱动脚本:测试数据跟业务流程控制分离的脚本,通过读入数据文件来驱动流程进行的脚本

  (5)关键字驱动脚本:脚本,数据,业务分离,数据和关键字在不同的数据表中,通过关键字来驱动测试业务逻辑。关键字驱动的特点是,它更像是描述一个测试用例在做什么,而不是如何做。

  自动化测试执行:

  (1)无人值守的测试:环境搭建,部署与配置;自动化测试用例与测试脚本相互绑定;自动化测试用例执行顺序排列与组合

  (2)异常处理与场景恢复

  提交自动化测试产物:大致需要提交执行情况,测试结果,分析报表,测试报告,质量情况等。

  测试脚本维护:严格来讲,每个阶段都在做测试脚本维护。一个不值得维护的自动化测试项目是不值得立项的。








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值