自动化测试
1. 什么是自动化测试
让程序代替人为去验证程序功能的过程
- 优点:
- 减少人工劳动力
- 工作效率提高
- 产品规格统一标准
- 规模化(批量生产)
2.为什么要进行自动化测试
解决-回归测试
解决-压力测试
解决-兼容性测试
提高测试效率,保证产品质量
- 回归测试:项目在发新版本之后对项目之前的功能进行验证;
- 压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
- 兼容性测试:不同浏览器(IE、Firefox、Chrome)等等
3. 自动化测试在什么阶段开始?
功能测试完毕(手工测试)
手工测试:就是由人去一个一个输入用例,然后观察结果;
4.自动化测试所属分类
- 黑盒测试(功能测试)
- 灰盒测试(接口测试)
- 白盒测试(单元测试)
提示:Web自动化测试属于黑盒测试(功能测试)
- 优点
- 较少的时间内运行更多的测试用例;
- 自动化脚本可重复运行;
- 减少人为的错误;
- 测试数据存储
- 缺点
不能取代手工测试;
手工测试比自动化测试发现的缺陷更多;
测试人员技能要求; - 误区:
1). 自动化测试完全替代手工测试
2). 自动化测试一定比手工测试厉害
3). 自动化可以发掘更多的BUG
5.自动化测试分类
- Web-(UI)自动化测试
- 接口-自动化测试
- 移动(app)-自动化测试
- 单元测试-自动化测试
Web自动化测试
概念:让程序代替人为自动验证Web项目功能的过程
什么Web项目适合做自动化测试?
1.需求变动不频繁
2.项目周期长
3.项目需要回归测试
主流工具-汇结:
- Web自动化测试:selenium、robot framework
- App端自动化测试:Appium、Monkeyrunner、UIautomation
- PC客户端(win32)自动化测试:QTP
- 接口自动化测试:Jmeter、Postman、httpUnit、RESTClient
- 云测平台:Testin Testbird
- 性能测试:Jmeter、LoadRunner
selenium
selenium是一个用于web应用程序测试的工具,主要做功能测试
Selenium特点
- 开源软件:源代码开放可以根据需要来增加工具的某些功能
- 跨平台:linux 、windows 、mac
- 核心功能:就是可以在多个浏览器上进行自动化测试
- 多语言:Java、Python、C#、JavaScript、Ruby等
- 成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用
- 功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能
重点:Selenium IDE , Selenium2.0(WebDriver)
Selenium IDE:是一个Firefox插件,用于记录和播放用户与浏览器的交互。 (录制Web操作脚本)
为什么学习Selenium IDE?
- 使用Selenium IDE录制脚本,体验自动化脚本魅力
- 使用Selenium IDE录制的脚本转换为代码语言 (在后期我们自己设计脚本时,如果不知道用什么方式定位元素,可使用此方法参考)
如何快速查找一个元素标签的属性和值?
FireBug
- FireBug插件是火狐浏览器一款插件,能够调试所有网站语言,同时也可以快速定位HTML页面中的 元素;
- 作用:定位元素(获取元素定位和查看元素属性);