1. 什么是自动化?
概念:由机器设备代替人为自动完成指定目标的过程
1.1 优点:
- 减少人工劳动力
- 工作效率提高
- 产品规格统一标准
- 规模化(批量生产)
2. 什么是自动化测试
概念:让程序代替人为去验证程序功能的过程
2.1 为什么要进行自动化测试?
- 解决-回归测试
- 解决-压力测试
- 解决-兼容性测试
- 提高测试效率,保证产品质量
回归测试:项目在发新版本之后对项目之前的功能进行验证
压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
兼容性测试:不同浏览器(IE、Firefox、Chrome)等等
2.2 自动化测试相关知识
自动化测试在什么阶段开始?
功能测试完毕(手工测试) 手工测试:就是由人去一个一个输入用例,然后观察结果
自动化测试所属分类
- 黑盒测试(功能测试)
- 灰盒测试(接口测试)
- 白盒测试(单元测试) 提示:Web自动化测试属于黑盒测试(功能测试)
优点
- 较少的时间内运行更多的测试用例
- 自动化脚本可重复运行
- 减少人为的错误
- 测试数据存储
缺点
- 不能取代手工测试
- 手工测试比自动化测试发现的缺陷更多
- 测试人员技能要求
误区
- 自动化测试完全替代手工测试
- 自动化测试一定比手工测试厉害
- 自动化可以发掘更多的BUG
3. 自动化测试分类
- Web-(UI)自动化测试
- 接口-自动化测试
- 移动(app)-自动化测试
- 单元测试-自动化测试
4. 什么Web项目适合做自动化测试?
- 需求变动不频繁
- 项目周期长
- 项目需要回归测试
5. 如何进行Web自动化测试?(主流测试-工具)
1. QTP(收费)
QTP是商业的功能测试工具,收费,支持web,桌面自动化测试。
2. Selenium(开源)【本阶段学习】
Selenium是开源的web自动测试工具,免费,主要做功能测试。
3. Jmeter(开源、Web、接口、性能)
Jmeter是由Apache公司使用Java平台开发的一款测试工具,支持(Web、接口测试、性能测试)
提示:Web测试在通信层(无UI界面)
5. Loadrunner(收费、Web、性能)
Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试
6. Robot framework
Robot Framework是一个基于Python可扩展地(关键字驱动)的测试自动化框架
主流工具-汇结:
Web自动化测试:selenium、robot framework
App端自动化测试:Appium、Monkeyrunner、UIautomation
PC客户端(win32)自动化测试:QTP
接口自动化测试:Jmeter、Postman、httpUnit、RESTClient
云测平台:Testin Testbird
性能测试:Jmeter、LoadRunner
6. 什么是Selenium?
概念: Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)
6.1 Selenium特点
1. 开源软件:源代码开放可以根据需要来增加工具的某些功能
2. 跨平台:linux 、windows 、mac
3. 核心功能:就是可以在多个浏览器上进行自动化测试
4. 多语言:Java、Python、C#、JavaScript、Ruby等
5. 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用
6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
重点:
1. SeleniumIDE
2. Selenium2.0(WebDriver)