自动化测试概述/自动化工具

  • 自动化测试
    • 常见的WEB自动化测试工具:
  • 自动化测试工具选择要求

是看着课程听的,做的课程的随堂笔记
课程的链接如下:
https://coding.imooc.com/class/411.html

自动化测试

◆自动化测试就是把手工测试转化成用机器、软件、程序来测试产品的过程。

很多时候自动化测试的用例是从功能测试里来的,是功能测试的一部分,更多时候是从冒烟测试来的,从冒烟测试生成测试脚本。

自动化测试使用代码代替一些手动的工作。

自动化测试的意义
1.缩短软件开发测试周期,可以让产品更快投放市场。 测试效率高,充分利用硬件资源。(自动化测试在敏捷里的意义是非凡的,能更快的完成软件测试,他可以在夜间进行自动化回归就可以完成测试)
2.节省人力资源,降低测试成本。
3.增强测试的稳定性和可靠性。(可能由于人的懈怠或者注意力不集中,测试不够稳定可靠)
4.提高软件测试的准确度和精确度,增加软件信任度。
5.软件测试工具使测试工作相对比较容易,但能产生更高质量的测试结果。

自动化测试应用场景分析
◆首先要考虑的是什么样的项目适合自动化?
◆决定项目是否采用自动化测试,通常要关注以下几个方面:

1.需求变更有计划性,并且频率不高。
需求变更不能太多,不然没时间去维护自动化测试
2.项目周期长, 资源丰富。
比如支付宝,功能点繁杂,适合自动化,但是如果这个项目只持续几天没必要自动化
3.脚本重复利用率。
4.代码规范。

◆考虑了什么样的项目可以使用自动化,接下来我们要了解的就是在一个项目中,我们也要区分哪些部分适合自动化
◆某种普遍存在的观点:
认为自动化测试更适合回归测试和API(接口)测试,手工测试更适合做验收测试和GUI测试。(大多数人认为带页面的用手工,带接口的用自动化,但是这个观点是不对的

◆正确的观点:
什么区分了手工测试和自动化测试,实际上与API还是GUI,回归还是功能都没有关系。应该从代码是业务逻辑相关还是基础性代码出发

业务逻辑代码对应终端用户使用的那些功能,是实际完成工作的。

◆基础性代码则确保业务逻辑代码运行在合适的环境中起支撑作用而彼此之间相对独立,并不存在业务关系的

以上两种代码都要测试,但是手工测试更适合测业务逻辑,因为这部分人来学习起来要比交给自动化容易。

理由:
基础性代码可能用自动化测试效率更好,比如通过余额宝买入买出,要依赖与银行和我们的对接,才知道账单到底有无到账,像这种偏向于对账的业务逻辑,比较适合手工测试。

场景分析:

做测试的时候。发现项目业务周期长,庞大 可以引入自动化测试,然后看项目的结构,一些功能性的基础东西比如登录下单,可以交给自动化,其余的繁杂的业务逻辑手动去测试

常见的WEB自动化测试工具:


主流自动化测试工具–QTP
◆QTP是一个侧重于功能的回归自动化测试工具;提供了很多插件。
◆QTP支持的脚本语言是 VBScript,这对于测试人员来说,感觉要舒服得多,VBScript毕竟是一种松散的、 非严格的、普及面很广的语言。

◆QTP的高可用性:
1.支持录制与回放
2.支持lower level模式(支持点击,像素点的点击)
3. QTP的编辑器支持两种视图: Keyword模式和Expert模式(有自己单独的编辑器,大多用的是keyword模式)

QTP支持C/S,也支持B/S,同时语句也相对简单

脚本录制过程:

Selenium(WebDriver)
用与QTP比较的方式来了解二者的特征和优劣。

价格:
selenium是开源的自动化测试工具,但是QTP是商业版的,而且价格不菲。

应用领域:
Selenium仅支持web页面的测试,而QTP不光支持web界面的测试,而且还支持Client方面的测试。

功能方面:
录制功能QTP支持的好。QTP的录制回放成功率很高,selenium的录制回放成功率非常的低。

脚本的编辑功能:
熟悉java、python等的人喜欢selenium,熟悉的是VBScript可能就会喜欢QTP。

框架处理的能力:
在数据驱动方面,QTP支持很灵活。可以通过简单的设置就可以
完成数据驱动的自动化脚本selenium要用编程来实现才可以。(se可以自己靠编程把这个框架搭的更好)

常见自动化测试工具–UFT(没什么新意)
◆UFT (Unified Functional Testing)
◆UFT是什么?
◆UFT是QTP的新名字,叫统一功能测试框架。新的功能如下:

  1. Insight智能图像识别
    图像识别一直是我们做自动化测试的阻碍之一。包含游戏自动化、flash动态的一些自动化。
    (只能做到基于图像去找一些元素然后去操作)
    2.多脚本调试
  2. PDF文本验证点
    现在UFT可以识别PDF文件并对他们直接进行比较,甚至可以插入文本验证点。(比较鸡肋)
    4.支持开源CI
    5.支持移动设备(但是移动自动化测试有自己的工具)

常见自动化测试工具–RFT
RFT (IBM Rational Functional Tester)
IBM的一款适合于功能测试、回归测试的自动化测试工具。针对于Java、.NET 的对象技术和基于Web应用程序的录制与回放。
◆因为录制与回放功能对于程序运行的环境依赖性太大。
◆因此更多使用该工具的测试团队采用了自己手动写脚本的方式来提高脚本的易读性以及可维护性

框架结构:有自己的分层架构
1.RFT的脚本可以分别被归类为AppObjects、Tasks 和Testcases
2. AppObjects: 定义页面上的元素。
3. Tasks: 定义可以单元化,可重用的任务,调用在AppObjects中定义的元素。
4. Testcases: 一个case写成一个脚本,每个测试场景,可以写成一个或多个脚本,每个脚本只调用在Tasks中定义的可重用的任务。

RFT结构运行图:

为什么RFT传播和使用范围都不大呢?
1.帮助文档和教程很少,很不系统。而提供的API接口只有说明文档,未提供如何使用该文档;提供的例子很少。
2.环境要求比较高,至少得1 G内存才能比较顺畅使用,512M内存时比较卡,速度慢
3.参数化只支持使用Xm|格式文件来存储测试数据。
4.回放速度极其慢。

常见自动化测试工具–WINRUNNER
老一代的自动化测试框架,是较早可以录制一-回放一修改的自动化测试模式。与QTP类似, 也会使用资源库方式存储控件,在06年以前,是测试行业使用最广的自动化测试工具。
2006年Mercury公司被**HP全权收购,如今Winrunner已从HP产品家族中消失。**除了HP自身推行QTP的原因外,它只支持C语言的模式既成就了它在当时的盛行,也阻碍了它自身的扩展性

新型思路的自动化测试工具: Sikuli
基于图像识别的测试工具
◆创新的图形化编程技术
Sikuli是由MIT(麻省理工)的研究团队发布的新型图形化编程技术。它以图像检索技术为基础,提供了一套基于Jython(python语言在java中的完整实现,像python一样又支持Java的一些代码)的脚本语言以及集成开发环境。(不管是b/s,c/s,我支持的是基于图像化)
使用者可利用屏幕截图直接弓|用GUI元素进行编程,完成交互操作。

◆Sikuli 脚本
Sikuli的脚本编写遵循Python语法规范,其本身提供了多种自定义类及方法。
Sikuli基于Jython,其核心代码由Java编写。
◆通过一个自动打开Firefox浏览器,并登录Gmail的简单实例来快速一览Sikuli脚本的独特之处

脚本中包含图像:
我在我的机器上截图,和别人机器上可能就不大一样

自动化测试工具选择要求

◆开源免费
◆使用灵活、简单
◆后期用例易于维护
◆支持多种语言
◆容易与单元测试框架结合
◆可支持多浏览器同时,支持远程启动其他服务器高度复用性
◆代码可自主掌控,对于搭建框架、平台等有不可替代的优势

自动化测试概述/自动化工具相关推荐

  1. 华为云龙api自动化工具_2020年十大最佳自动化测试工具

    Best Automation Testing Tools for 2020 对更快交付高质量软件(或"快速质量")的需求要求组织以敏捷,持续集成(CI)和DevOps方法论来寻找 ...

  2. python自动化工具哪个好用_10款好用的自动化测试工具推荐

    当我们功能测试干的时间比较久了,或者想要学习更多的技术,提升自己的时候,基本上第一时间就会想到的是自动化测试.而在自动化测试领域,自动化工具的核心地位毋庸置疑,下面为大家推荐10款常见常用的自动化测试 ...

  3. 【自动化测试】推荐一款超好用的ui自动化工具--uiautomator2

    今天直接进入正文,给大家推荐一款超级好用的ui自动化工具 uiautomator2 正文来了 我将从以下几个方面,向大家介绍 uiautormator2,希望该项目的作者看到我的文章之后,可以请我喝杯 ...

  4. squish自动化测试_Squish GUI测试自动化工具达到4.0

    squish自动化测试 Squish 4.0现已推出. Squish是一种跨平台和跨技术的GUI测试自动化工具,用于测试基于多种GUI技术的应用程序,包括Java SWT / Eclipse RCP和 ...

  5. 移动端自动化工具概述

    AutomateIt.Automate.按键精灵.AutoJS-等Android自动化工具有什么特点? 这几款工具,都是自动化工具,大致可以分为两类,全自动化工具及半自动化脚本工具.各有千秋,建议根据 ...

  6. 用于软件测试的最佳免费自动化工具

    有免费的自动化工具可用于桌面和Web应用程序的功能和性能测试自动化. 在本教程中,我们将看到用于应用程序功能测试和负载测试的软件测试自动化工具. 目录 1.概述 2.最好的免费自动化软件测试工具 2. ...

  7. 软件测试自动化工具_用于软件测试的最佳免费自动化工具

    软件测试自动化工具 有免费的自动化工具,用于桌面和Web应用程序的功能和性能测试自动化. 在本教程中,我们将看到用于应用程序功能测试和负载测试的软件测试自动化工具. 目录 1.概述 2.最好的免费自动 ...

  8. 对非自动化测试的自动化支持

    在过去的十多年来,已经看到了在支持需求管理.应用程序设计和开发.代码分析以及单元.系统和部署测试的应用软件方面有了实质的进步.依次来看,这些解决方案已经帮助开发人员改进了质量和加速了驱动核心业务功能的 ...

  9. 【5.21】六、自动化测试—概述

    目录 6.1 自动化测试概述 6.1.1 什么是自动化测试 6.1.2 自动化测试的基本流程 6.1.3 自动化测试实施策略 6.1.4 自动化测试的优势和劣势 测试中的许多操作都是重复性的.非智力性 ...

最新文章

  1. 【面试】我是如何面试别人List相关知识的,深度有点长文
  2. android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件
  3. delphi 鼠标获取窗口句柄_Windows窗口自定义,只需WindowTop一键设置
  4. 【HDU - 4185】Oil Skimming (二分图,建图,匈牙利算法)
  5. Latex调整表格与标题表名之间的间距
  6. Redis简介与安装
  7. Windows学习总结(4)——Host文件的作用和如何修改Host文件
  8. VS中的预先生成事件和后期生成事件
  9. 51CTO大赛,欢迎投博主一票
  10. hdu 5755 Gambler Bo 高斯消元
  11. 旧的非flash版Metalink的入口
  12. Linq to sql 增删改查
  13. 基于MATLAB的PID控制器设计
  14. 苹果计算机取消用户名和密码进入不,苹果手机刷机过后进不了桌面要id账号和密码但是忘记了怎么处理?...
  15. oracle发生20001,Oracle IMP数据时报20001错误
  16. KEYCODE 按键列表
  17. 浅述Docker的容器编排
  18. 计算机二级办公室应用题目,干货|计算机二级备考攻略
  19. 基于高光谱影像的农作物检测应用简介
  20. java实训报告心得体会,深度好文

热门文章

  1. 《炒股的智慧》第5节文摘
  2. 如何在官网下载java JDK或JRE的历史版本
  3. 【优化布局】matlab基于禁忌搜索算法求解基站选址问题代码
  4. Spring中同一个service类中方法相互调用事务不生效问题解决方案
  5. deep learning 从自我学习到深层网络学习
  6. Vue 中使用 axios 传输数据,当数据量过大时会提示跨域?(√已解决)
  7. BIM在工程中的20种典型功能
  8. WORD转PDF时候出现空白页的解决办法
  9. 【数据分析/商业分析】面试题整理——统计学/机器学习/业务专题
  10. 看《我的工科女友》感受