自动化测试简介

自动化测试:把以人为驱动的测试行为转化为机器执行的过程。

自动化测试优点:

  1. 对程序回归测试更为方便;
  2. 可以运行更多更繁琐的测试
  3. 可以执行一些手工测试困难或不可能进行的测试;
  4. 更好地利用资源,在某些方面解放测试工程师;
  5. 测试具有一致性(机器自动执行)、可重复性及测试用例的复用;
  6. 自动化测试脚本完全具有复用性,在不同的版本之间仅需做少量的维护甚至不作任何修改实现在不同版本执行相同的测试用例;
  7. 使软件更有信任度;
  8. 多环境下,比如IE6/IE7/IE8,FireFox等下执行相同的测试用例。

自动化测试缺点:

  1. 自动化测试永远无法替代手工测试,无法做到手工测试的覆盖率;
  2. 无法完全保证测试的正确性,程序可能有逻辑错误;
  3. 手工测试能发现的缺陷远比自动化测试多;
  4. 对测试质量的依赖性极大,自动化测试的运行首先要建立在版本质量测试稳定的大条件下
  5. 测试自动化可能会制约软件开发,因为脚本维护受到限制;
  6. 自动化测试工具是死的,它本身没有任何想象力,完全取决于自动化测试负责人和测试工程师的思想和技术;
  7. 成本投入过高,风险大;
  8. 自动化测试对测试人员技术要求高,对测试工具同样有一定要求。

适合自动化测试的场景:

  1. 任务测试明确,不会频繁变动;
  2. 项目周期长,测试脚本可以复用;
  3. 系统中的测试对象基本可以正常识别;
  4. 系统中不存在大批量第三方控件;
  5. 需要反复测试,如可靠性测试需要进行上千次的系统测试。

自动化测试流程

自动化测试用例设计:

  • 往往是核心业务流程或者重复执行率最高的
  • 自动化测试用例选择一般以正向为主
  • 不是所有手工测试都可以使用自动化测试来实现,例如有些会牵涉到硬件设备辅助的,比如刷卡机;有些需要与合作机构进行互动联调。
  • 手工测试可以不用回归原点,自动化测试往往需要回归原点。1.恢复其在执行前的初始状态;或者2.初始化数据。
  • 自动化测试用例和手工测试用例不同,不需要每个步骤都写预期结果。

常用的自动化测试工具:

1.UFT

QTP/UFT:主要是用于回归测试和测试同一软件的新版本;

UFT自动化测试_nee~的博客-CSDN博客_uft自动化测试工具

录制支持
被测系统支持B/S和C/S
对象识别
对象库支持
IDE
回放速度快
脚本编写方便
支持语言VBScript
函数库支持
测试结果支持
与其他测试工具联动支持
自身扩展
价格昂贵

2.Robot Framework

Robot Framework:python编写的功能自动化测试框架,良好的可扩展性;

3.Selenium

selenium:用于web应用程序测试,支持多平台、多浏览、多语言去实现自动化测试。

  • 开源、免费软件;
  • 支持主流浏览器:Chrome,FireFox,IE
  • 跨平台:windows,linux,Mac
  • 多语言:java Ruby,php,JS
  • 对web支持良好,丰富简单的API

Selenium的底层工作原理

简单描述是:框架底层使用JavaScript模拟真实用户对浏览器进行操作。测试脚本执行时,浏览器自动按照脚本代码点击,输入,打开,验证等操作,就像真实用户所做的一样,从终端用户的角度测试应用程序。使浏览器兼容性测试自动化成为可能,尽管在不同的浏览器上依然有细微的差别。

自动化测试模型:

1.线性测试:通过录制或编写操作步骤而产生相应的线性脚本,每个线性脚本相对独立,且不产生依赖与调用。缺点:不易维护。

2.模块化与类库:把重复的操作单独封装成公共模块,在测试用例执行过程中,当需要用到封装模块时对其进行调用,从而提高的测试用例的可维护性。

3.数据驱动测试:数据的改变驱动自动化测试的执行,最终引起测试结果的改变。即把数据驱动所需要的测试数据参数化,我们可以用多种方式来存储和管理这些参数话的数据。

4.关键字驱动测试:这类框架会把自动化操作封装为“关键字”,避免测试人员直接接触代码,多以“填表格”的形式降低脚本的编写难度。robot framework是主流的关键字驱动测试框架之一。

Python + Selenium实现web端的UI自动化:

        Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上;测试系统功能——创建回归测试检验软件功能和用户需求。
        Python与Selenium结合能够很好的实现web端的UI级别的自动化。Selenium几乎能解决目前遇到的web页面中所有的定位难题,当然有些特殊的可以借助JavaScripts也可以实现。

Python + Requests实现接口测试: 

        进入python requests官网看到的的第一句话是:Requests 唯一的一个非转基因的Python HTTP 库,人类可以安全享用。

        通过requests库提供的各种API可以非常方便的模拟HTTP请求,实现接口自动化测试。

Python + Appium实现app自动化测试:

        Appium是一个自动化测试开源工具,支持 iOS 平台和Android 平台上的原生应用,web 应用和混合应用。

        所谓的 移动原生应用 是指那些用iOS 或者 Android SDK 写的应用。所谓的 移动 web 应用 是指使用移动浏览器访问的应用(Appium 支持 iOS 上的Safari 和 Android 上的 Chrome)。所谓的“混合应用”是指原生代码封装网页视图——原生代码和web 内容交互。比如,像 Phonegap,可以帮助开发者使用网页技术开发应用,然后用原生代码封装,这些就是混合应用。

        重要的是,Appium 是一个跨平台的工具:它允许测试人员在不同的平台(iOS,Android)使用同一套API来写自动化测试脚本,这样大大增加了iOS 和 Android 测试套件间代码的复用性。

        Appium也是多语言支持,当然也是支持python的,运用python + Appium可以实现跨平台的app UI自动化测试。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值