概念:由机器设备代替人为自动完成指定目标的过程
1. 减少人工劳动力
2. 工作效率提高
3. 产品规格统一标准
4. 规模化(批量生产)
概念:让程序代替人为去验证程序功能的过程
1. 解决-回归测试
2. 解决-压力测试
3. 解决-兼容性测试
4. 提高测试效率,保证产品质量
回归测试:项目在发新版本之后对项目之前的功能进行验证;
压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
兼容性测试:不同浏览器(IE、Firefox、Chrome)等等
2.2 自动化测试相关知识
自动化测试在什么阶段开始?
功能测试完毕(手工测试)
手工测试:就是由人去一个一个输入用例,然后观察结果;
自动化测试所属分类
1. 黑盒测试(功能测试)
2. 灰盒测试(接口测试)
3. 白盒测试(单元测试)
提示:Web自动化测试属于黑盒测试(功能测试)
优点
1. 较少的时间内运行更多的测试用例;
2. 自动化脚本可重复运行;
3. 减少人为的错误;
4. 测试数据存储
缺点
1. 不能取代手工测试;
2. 手工测试比自动化测试发现的缺陷更多;
3. 测试人员技能要求;
误区:
1). 自动化测试完全替代手工测试
2). 自动化测试一定比手工测试厉害
3). 自动化可以发掘更多的BUG
在软件测试领域中,自动化测试有哪些分类呢?
1. Web-(UI)自动化测试(本阶段学习)
2. 接口-自动化测试
3. 移动(app)-自动化测试
4. 单元测试-自动化测试
课程目标:
掌握selenium web UI界面自动化测试流程、方法,完成web UI界面元素自动化测试。
掌握使用selenium进行web UI测试的方法并结合unittest框架实现用例的管理及报告的输出。
概念:让程序代替人为自动验证Web项目功能的过程
1.需求变动不频繁
2.项目周期长
3.项目需要回归测试
1. QTP(收费)
QTP是商业的功能测试工具,收费,支持web,桌面自动化测试。
2. Selenium(开源)【本阶段学习】
Selenium是开源的web自动测试工具,免费,主要做功能测试。
3. Jmeter(开源、Web、接口、性能)
Jmeter是由Apache公司使用Java平台开发的一款测试工具,支持(Web、接口测试、性能测试)
提示:Web测试在通信层(无UI界面)
5. Loadrunner(收费、Web、性能)
Loadrunner是商业性能测试工具,收费,功能强大,适合做复杂场景的性能测试
Web自动化测试:selenium
App端自动化测试:Appium、UIautomation
PC客户端(win32)自动化测试:QTP
接口自动化测试:Jmeter、Postman
性能测试:Jmeter、LoadRunner
概念: Selenium是一个用于Web应用程序测试的工具;中文的意思(硒)
selenium是ThoughtWorks公司的一款强大的开源web界面自动化功能测试工具套件,
用来实现整个测试过程的管理,包括读入测试套件、执行测试和记录测试结果。
selenium测试直接运行在浏览器中,模拟手动界面操作。
1. 开源软件:源代码开放可以根据需要来增加工具的某些功能
2. 跨平台:linux 、windows 、mac
3. 核心功能:就是可以在多个浏览器上进行自动化测试
4. 多语言:Java、Python、C#、JavaScript、Ruby等
5. 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用
6. 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
1. Selenium RC工作原理图
selenium webdriver执行效率更高的原因:
可以直接操作浏览器,省去了中间环节,操作更直接。
利用浏览器自身特定的api完成命令执行,执行方式更有针对性,执行效率更高。
selenium RC与selenium webdriver的区别:
selenium RC不支持无头浏览器(运行在内存中,不依赖于拥有实际页面的浏览器)。
selenium RC面向过程,selenium webdriver面向对象。
selenium RC不支持移动端自动化测试。
重点:
1. SeleniumIDE
2. Selenium2.0(WebDriver)