1、自动化测试的定义
借助工具、按照测试规范;部分或者全部代替人工测试;主要目的是为了提高测试效率。
2、 自动化测试的优势
可重复性:
可程序化:可以进行编程,规范其格式和标准
可靠:没有情绪化,稳定
提高测试精确度:
提升测试资源利用率:人力资源;时间资源;
3、 自动化测试和手工测试相比,有哪些区别?
1) 谁发现的缺陷多?手工测试。因为人是有智慧的,可以自觉的判断更多的问题和现象,找出更多的缺陷。
2) 测试质量的高低?手工测试的质量更高。手工测试可以发现更多的计划之外的缺陷。
3) 与开发的关系?自动化测试。自动化测试需要编写程序和代码。自动化测试有手工测试做不到的,也有做不到手工测试方面内容。
4) 二者各自的局限性。手工测试相比较而言,工作效率较低;容易情绪化,导致工作内容不稳定。自动化测试的局限性:不灵活,不能像人一样思考。
4、 主流的测试用具
1) UFT(QTP:quick Testing Profession),曾经是Mercury(网络产品,路由器)的产品,后被HP公司收购,现又被MicroFocus收购。
2) Selenium。
3) Loadrunner。
4) JMeter。
5、 自动化测试的流程
自动测试决定—获取测试工具—自动化测试引入—测试计划、设计与开发(写脚本)、测试执行与管理—测试评审和评估
自动化测试考虑的因素:
对项目的影响:是否对进度、覆盖率、风险有积极的影响,或者让开发更敏捷
复杂度:是否容易实现
时间:实现需要的时间
早期需求和代码稳定性
维护工作量:代码是否能长期保持稳定,功能特性是否会进化
覆盖率:能否覆盖程序的关键特性和功能
资源:是否拥有足够的人力资源和硬件资源数据资源
自动化测试的执行:是否拥有足够的技能和时间去运行自动化测试
6、 适用于自动化测试的条件
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本
1) 回归测试
2) 频繁、重复性强的功能
3) 跨平台的
4) 手工测试无法实现的
7、 选择自动化测试技术时以语言为主的技术线:
1) Python:Web自动化测试(Selenium)+接口测试(requests)+移动端测试(Appium)+性能测试(Locust)+单元测试(unittest)
2) Java:Web自动化测试(Selenium)+接口测试(HTTPClient)+移动端测试(Appium)+性能测试(JMeter)+单元测试(JUnit)
8、关于自动化测试的几点说明:
1、 自动化测试依赖于手工测试。手工测试(用例设计的目的)决定着自动化测试中脚本编写的内容。
2、 自动化测试中也有区分正向和反向,并且区分的原则和手工测试一模一样。
3、 自动化测试在实施的过程中,过程比较随意。但是一般情况下,都会遵循手工测试的一些原则。
4、 自动化测试看着高大上,其实“不过如此”。
9.自动化测试流程
自动测试决定——获取测试工具——引入自动测试——测试计划、设计与开发(写脚本)——测试执行与管理——测试评审与评估
Selenium的简介
1、 Selenium的组成
1) Selenium1.0
Selenium IDE:是Firefox浏览器的一个插件(只用于火狐浏览器),专门用于录制和回放测试过程。
Selenium Grid:可以实现在不同设备上运行Selenium脚本;加快运行Web-APP(应用)的功能测试。
Selenium RC:实现不同的语言编写的脚本都能够运行;代理服务器运行测试脚本。
2) Selenium 3.0.
组成:IDE+Webdriver+Selenium Grid
特点:所有浏览器都要使用Webdriver进行驱动,不再有单独的Firefox特权。
3) Selenium 4.0
发布于:2019年年底。试用版,没有正式推广。
区别不是特别大,只是有一些函数和方法的改变。对学习影响不大。
Selenium的安装和配置
1) 安装和配置Python环境。
2) 安装Selenium。
以管理员身份运行 cmd。
使用命令 pip install selenium 或者easy_install selenium
在Selenium安装完毕后
设置浏览器驱动。
第一种方式:专门设置一个驱动程序所在的目录,然后将该目录设置到path变量中,把文件geckodriver.exe放到文件夹中
第二种方式:直接将geckodriver.exe 驱动程序放在Python的安装目录下即可。
安装火狐浏览器(步骤省略)
写代码,实现浏览器自动运行
记得关注我哦,后续还会持续更新!!!