一、初识自动化测试
概念
- 软件测试的定义
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
- 自动化测试的定义
把人对软件的测试行为转化为由机器执行测试行为的一种实践,用代码测试代码。
- WebUI自动化测试
由自动化测试工具模拟人工在web程序上各种操作,并自动验证结果是否符合预期。
- AppUI自动化测试
由自动化测试工具模拟人工在APP程序上各种操作,并自动验证结果是否符合预期。
- 接口自动化测试
由自动化测试工具模拟系统或组件之间通过接口传输数据,并自动验证结果是否符合预期。
自动化测试的优缺点
优点
缺点
自动化测试可行性分析
常见的自动化测试工具
Selenium:WebUI自动化测试
QTP/uft:WebUI自动化测试
Appnium/airtest:APP自动化测试
Monkey/MonkeyRunner:app自动化测试
Jmeter:接口、性能测试
Postman:接口测试
SoapUI:接口测试
LoadRunner:性能测试
Jenkins:持续集成
等等等等。
测试金字塔的概念
- 测试金字塔的概念来自Mike Cohn,在他的书《Succeeding With Agile》中详细描述着:“测试金字塔最底层是单元测试,然后是业务逻辑测试,最后是端到端的测试(GUI或CLI)。
- 我们应该有更多低级别的单元测试,而不仅仅是用户界面运行的高层的端到端的测试
- 分层自动化测试倡导的是从黑盒UI单层到黑白盒多层的自动化测试体系,从全面黑盒的自动化测试到对系统的不同阶段、不同层次进行自动化测试。
- [小型测试]是指单元测试,用于验证应用的行为,一次验证一个类
- [中型测试]指集成测试,用于验证模块内堆栈级别之间的互动或相关模块之间的互动
- [大型测试]是指端到端的测试,用于验证跨越了应用的多个模块的用户操作流程
- 从小型测试到大型测试,各类测试的保真度逐级提高,但维护和调试工作所需的执行时间和工作量也逐级增加。因此,我们编写的单元测试应多于继承测试,集成测试应多于端到端的测试。虽然各类测试的比例可能会因应用的用例不同而异,但通常建议各类测试所占比如下:小型测试70%,中型测试20%,大型测试10%
二、selenium自动化测试流程分析
1.熟悉业务流程
熟悉业务流程是我们做自动化测试的前提,在此基础上我们才能分析出自动化测试能不能做、适不适合做、怎么做等等。
2.选取场景
一个项目中,并不是所有场景的测试都需要去做自动化的,需要我们从人力成本、时间成本、代码稳定性、覆盖率等多个角度综合分析,制定性价比最高的测试策略。
3.确定方案
确定要做自动化之后,就可以进行工具选型了。appium?seleium?airtest?QTP?等等。选能实现需求且自己擅长的就可以了。
4.了解前端
在开始写自动化脚本之前,应该掌握一些前端基础知识并对被测项目的前端结构进行了解,方便后续进行元素定位和脚本编写。(之后文章详解)
5.元素定位
6.编写脚本
7.运行优化
8.产生报告
9.持续维护
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】