代码改变世界

24. 接口测试的意义

2019-06-12 16:47  软件测试汪  阅读(1143)  评论(0编辑  收藏  举报

在笔者看来接口自动化测试有以下四点优势:
1.提高版本发布质量;
2.缩短项目周期;
3.发现更多手工测试难以暴露的问题;
4.提高测试效率;

我们先说第一点:提高版本发布质量

我们知道,绝大多数问题都会暴露在功能测试阶段,如果能在功能测试之前减少Bug数量,那么一定会减少测试版本的发布。那么怎样减少功能测试时发现的Bug数量呢?就是在做功能测试之前先做一轮接口测试。我们假设有这样一个场景,业务新增一个需求,需要增加5个接口,以及十几张设计图,开发人员开发接口需要1天时间,但是设计人员设计UI需要3天时间,那么也就是说手工测试人员只能等3天后才能进行测试。如果这个时候加入接口测试,那么开发同学可以在设计稿之前完成所有接口调试,这样的话,在功能测试阶段一定会减少BUG数量,从而提高版本发布质量。

我们再说第二点:缩短项目周期

其实当实现第一点的时候,就已经实现了缩短项目周期,因为我们已经提前介入测试,而提前介入测试的目的是为了发现接口BUG,而解决接口BUG是为了提高版本质量,版本质量提高了,不出意外,测试周期也就缩短了。

我们再说第三点:发现更多手工测试难以暴露的问题

这点就比较深刻了,我们公司之前的项目没有采取接口加密技术,什么意思呢?就是我通过抓包数据,可以抓到所有向服务器发送的请求以及服务器返回的内容。我们可以想象一下,如果有用户通过抓包抓到的数据对服务器进行压力测试,大概率会造成服务器异常,当然还有其他情况,发送非法数据等等,而这些都要我们在做功能测试时无法发现的。

我们最后再来说说第四点:提高测试效率

假设A公司提了一个需求,增加一个接口,客户端不变。按理说来,我们只要验证新功能是否存在问题就可以,没有必要进行系统测试。但实际上,我们测试人员心里都会发慌,开发同学说没有动其它部分代码,但是我还是不放心呀,我还是要再做一次系统测试。只有做完系统测试后,才能肯定开发同学没有动其它部分代码,想想看,如果是手工测试,那么时间成本得多高。但是如果加入接口测试呢?你说你没有动其它部分代码,那么我只要对你新发的版本做一次接口测试就行了,如果接口测试用例(旧功能测试用例)通过,那么可以说之前功能确实都是正常的,前提是你的接口测试用例写的非常到位。想想看,我们通过接口测试只要几分钟就可以知道新功能的加入是否会对旧功能产生影响,而手工测试则需要半天甚至一天时间。