在初见自动化测试(一)中,简单的介绍了什么项目适合自动化测试,这篇文章在上篇的基础上做一个简单的补充。简单介绍下分层的自动化测试。
![](https://img.haomeiwen.com/i9292527/bef72f49090c615c.jpg)
分层的自动化测试
如下图所示测试金字塔概念是由迈克恩科提出的测试策略(只针对于金字塔部分)
![](https://img.haomeiwen.com/i9292527/b0f2c9ed2273ae7e.png)
单元自动化测试
单元自动化测试是对软件中最小的可测试单元与程序的其他部分相隔离的情况下进行检查跟检验的工作,最小的可测试单元一般指的是函数或者类。
责任人:通常由开发工程师来完成。随着代码一块提交到代码库。
适合的场景:单元测试一般以自动化的方式执行,
单元测试用例是一个“输入数据”和“预计输出”的一个集合
常见的单元测试框架有:java语言的Junit,python语言的unittest等
接口自动化测试
web接口测试
服务器接口:指的是浏览器(app)与服务器之间的接口,前端界面与后台之间的逻辑交互,数据处理。
在这部分的测试中投入产出比比较高。为什么这么讲,相信大家心中都有共鸣,互联网产品更新、迭代速度非常快,没有太多的时间留给测试,所以怎样保证软件产品的质量呢?从这里入手我觉得是最有效的。
外部接口:最常见的是第三方登录与第三方支付。很多电商产品都是将支付宝、微信的支付功能集成在自己的代码里。
常用的接口测试工具有:postman、fillder等
UI自动化测试
俗称界面自动化,也是端到端的自动化测试,好处是用户直接接触到的,容易模拟用户的行为,坏处是需求不稳定导致界面更新太快,来不及将UI层测试脚本编写完毕,界面就已经发生了改变所以投入的时间成本太大,失去了些脚本本来的意义,那又有一个问题,不做UI层的测试可以么?答案是No!举个最简单的例子,点击选中按钮,按钮切换状态这个功能,所以常用的套路是自动化测试为辅,手工测试为主。将主要重要的业务采用自动化的策略,其他根据项目本身、时间等实际情况来判定。
常见的主流的UI层的自动化测试有selenium、robotFramwork等,
我现在正在学习的是Selenium和Appnium这两个工具的使用。
思考:1.现在的互联网项目还适合这个金字塔模型么?
2.如果适合那么投入的比率又是多少?
网友评论