接下来开始学习SeleniumUI自动化测试,在开始前,先了解下自动化测试的相关概念。
一、初识自动化测试
概念
-
软件测试的定义
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
-
自动化测试的定义
把人对软件的测试行为转化为由机器执行测试行为的一种实践,用代码测试代码。
-
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.持续维护
接下来会写seleniumUI自动化测试的系列文章, 4/5/6/7/8/9步骤我们在后续文章拆开来写。
扫码关注公众号
一起变强