目录
前言
新人学习自动化是一个艰苦的过程,因为自动化测试失败的案例比成功的案例要多,至少很多人是如此认为。
很多团队都尝试过自动化测试,但一般都是浅尝则止,很少有非纯技术团队能够在自动化测试的道路上坚持下去。
什么是自动化测试?
自动化测试是软件测试活动中一个重要的分支和组成部分,即利用工具或脚本达到测试目的,没有人工或者极少人工参与的软件测试活动称为自动化测试。
自动化测试是一个很广义的概念,一般说来所有能替代人工测试的方式都属于自动化测试,我们一般说的单元测试就是自动化测试的一种,单元测试很多人称之为“毫秒级的自动化测试”。
自动化测试的优势有哪些?
- 方便进行回归测试,当软件的版本发布比较频繁的时候,自动化的效果很明显
- 自动处理原本烦琐、重复的任务,提高测试的准确性和测试人员的积极性
- 具有复用性和一致性,可以在不同的版本上重复运行,保障测试内容的一致性
自动化测试的分类:
(1)从软件开发周期的角度分类:
- 单元自动化测试:自动化的完成对代码中的类和方法进行测试,主要关注代码实现细节及业务逻辑等方面。
- 接口自动化测试:测试系统组件间接口的请求和返回,接口测试稳定性高,更适合开展自动化。
- UI自动化测试:对图形化界面进行流程和功能等方面进行测试。
(2)从测试目的的角度分类:
- 连接和其他比较稳定而不经常发生变化的元素
- 性能自动化测试:依托自动化平台自动的执行性能测试、收集测试结果,并分析测试结果的一种接近无人值守的性能测试,具有以下特性:
a.对脚本创建和提供类库和其他模块支撑
b.可以设定自动化任务(比如每天根据特定的场景执行一轮性能测试)
c.自动收集测试结果并存储
d.事中监控(比如场景执行过程中的异常错误自动预警邮件功能)
e.成熟的平台可以进行自动分析功能(比如哪些事物有问题、哪些资源消耗异常等)
f.安全自动化测试
自动测试工具分类
UI自动化
- Selenium
- Appium
- Robot Framework
- Airtest
- Cypress
- ...
接口自动化
- Jemeter
- Postman
- python+Requests
- SoapUI
- HttpClient
单元测试工具
- JUnit
- TestNG
- unittest
- pytest
怎样选择测试框架?这里有一些标准可参考:
- 相对快速和方便设置(或开箱即用的解决方案)
- 支持社区或开发者自己可以为其框架提供支持
- 有清晰而全面的文档
- 与其他工具充分集成
- 有一些很酷的功能,例如代码可重用性支持在多个平台和环境进行测试
Selenium
Selenium 是一个涵盖几种工具的生态系统,主要包括:Selenium WebDriver、Selenium IDE 和 Selenium Grid。
Selenium 的核心特性是跨浏览器和跨平台测试,多种测试语言(Python、Java、C#等),高度可调整的开源代码,并行运行测试等。
官网地址:
Appium
Appium 是跨平台的,它允许您使用相同的 API 编写针对多个平台(IOS、Android、Windows)的测试。这使 IOS、Android 和 Windows 测试套件之间的代码重用成为可能。
官网地址:
Appium: Mobile App Automation Made Awesome.
Cypress(自动化测试)
Cypress 是基于 web 的下一代前后端测试工具,与 Selenium 相比,Cypress底层协议不采用 WebDriver,这使得它能够实现快速、简单、可靠的测试。
Cypress 支持端到端测试、集成测试、单元测试。
结语
感谢每一个认真阅读我文章的人!!!
如果下面这些资料用得到的话可以直接拿走:
1、自学开发或者测试必备的完整项目源码与环境
2、测试工作中所有模板(测试计划、测试用例、测试报告等)
3、软件测试经典面试题
4、Python/Java自动化测试实战.pdf
5、Jmeter/postman接口测试全套视频获取
6、Python学习路线图
重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料包含:电子书,简历模板,各种工作模板,面试宝典,自学项目等。需要的朋友和我在评论区互动交流吧!