接口测试步骤和场景分析,其实很简单~~

Posted 爱吃 香菜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试步骤和场景分析,其实很简单~~相关的知识,希望对你有一定的参考价值。

接口测试原理

我们所说的接⼝测试就是开发⼈员把这个接⼝实现了,他需要去验证这个接⼝的实现是否正确。

但是这是⼀个后台的功能,这个开发也是⼀个后台开发,他去验证接⼝的时候,他不会想让前端⼈员介⼊,因为让前台⼈员介⼊的话会⽐较⿇烦。

那么他就需要⼀个⼯具来模拟前端界⾯。(前端其实就是提供⼀个窗⼝,既能让⽤户输⼊数据,并且还可以查看结果。)

接口测试实现

实际上我们做接⼝测试,还是“输⼊—处理—输出”这样的模式。

⽤户输⼊⼀串数据,然后让这个接⼝或者让这个后台功能来处理,然后检查输出结果跟期望是否⼀致。

这个其实也就是我们所说的⿊盒测试。也是我们做测试的⼀个常规的思路。

⽤户输⼊⼀串数据,然后让系统去处理,然后我们再去检查结果 跟期望是否⼀致。

功能测试是这么做的,接⼝测试实际上还是这么做。

但是相对功能测试⽽⾔,接⼝测试有⼀个⽐较明显的区别,就是输⼊不再是界⾯的,⽽是⼀个基于HTTP的请求;输出也不再是界⾯,⽽是 基于HTTP的响应。所以需要通过请求和响应分别来输⼊我们的数据以及检查我们的结果。

接口测试用例

其实接⼝测试和的功能测试是⾮常相似的,功能测试怎么做,接⼝测试还是怎么做。

功能测试⽤例,最核⼼的三个部分就是:输⼊、操作步骤和预期结果。

接⼝测试⽤例,其实主要的也就是这么三个部分。平时所说的测试⽤例设计⽅法,也就是对输⼊项进⾏各种不同的取值,然后再做组合。

拿登录来说,登录功能有⽤户名和密码,那⽤户名, 有正确的⽤户名和错误的⽤户名两种情况,密码有正确的密码和错误的密码两种情况。⽤户名和密码在⼀起就会产⽣⼀些组合:

1)⽤户名正确,密码正确;

2)⽤户名正确,密码错误;

3)⽤户名错误,密码的正确;

4)⽤户名错误;密码错误;

输⼊时,选择不同的数据组合会产⽣不同的测试场景,每⼀个场景都需要执⾏⼀遍。

功能测试是这么去做的,但是接⼝测试没有界⾯,也就没有办法输⼊,怎么办?

接⼝测试⾥有个东西叫参数,这个参数就对应了功能测试⾥的输⼊项。

所以,接⼝测试⽤例其实也就是对输⼊参数,做⼀个划分然后再做组合,形成接⼝测试⽤例。每⼀组测试⽤例执⾏后,肯定会得到不同的结果。

⽐如正确的⽤户名和正确的密码,结果是登录成功;错误的⽤户名或错误的密码,结果是 登录失败。那么只要思考,如何将参数取值和测试结果应⽤在⼯具中,这个问题就解决了。

接口测试工具

接⼝测试⼯具有很多,⽐如soapUI,postman,jmeter等。⼯具其实只是⼯具⽽已。

做接⼝测试⼀定要明⽩接口测试流程。

接口测试流程

1)设计操作步骤

请求,有⼀些请求是是单独的,有些请求是多个请求前后有联系的,这种情况就需要创建关联,那么我们需要了解请求的格式,规范以及如何做关联。soapUI,postman,jmeter⾥,都有关联。

2)设计数据⽤例

将数据⽤例写到Excel⽂档⾥,然后让⼯具读取Excel。Excel⾥有⼏组数据⽤例,就执⾏⼏次。循环执⾏(⾃动化),就可以让每⼀个⽤例被执⾏⼀次,那么每⼀个测试场景也就被运⾏到。

3)断⾔

也就是提前将预期结果写⼊到⼯具中,让⼯具⾃动化判断结果是否正确。不同的⼯具叫法不同,soapUI和Jmeter中叫做断⾔,postman中叫做tests。

4)执⾏并检查测试结果

执⾏很简单,对测试结果进⾏分析的话就需要了解协议。知道发出去了什么,返回了什么,才能够知道,到底哪个环节出了问题。

5) HTTP协议

HTTP协议⾮常重要。清楚了HTTP协议,再去使⽤⼯具其实就很容易,按照上⾯四个步骤就⾏。为什么是HTTP协议⽽不是其他协议?因为90%的系统都是HTTP协议的。

HTTP协议包含请求和响应,请求就是⽤户的输⼊,响应就是结果。我们通过请求去找参数,然后输⼊不同的参数值,然后组合成请求,只要这个请求是合法的,那么就 可以发出去,并且能够被服务器接收。

所以,⾸先要能够判断出来什么叫做合法请求。那么就需要去了解HTTP协议的请求的组成,请求的规范,知道哪些请求项是我们所关⼼的,哪些请求项是我们⼀定要遵循的,哪些项是我 们可以删除的。

接口测试JMeter

其实哪个⼯具都可以,但是jmeter有两个好处:

它是中⽂版的,学习成本较低,postman和soapUI都是英⽂版的。

jmeter 既可以做接⼝测试,⼜可以做性能测试。

接口测试抓包

抓包⼯具推荐fiddler,两个优势:

1、简单好⽤

2、fiddler抓包后可以直接导出为jmeter脚本

⼀般情况下,做接⼝测试是有接⼝⽂档的 但是如果没有接⼝⽂档我们怎么做接⼝测试?这就需要抓包,请求我们是可以抓到的,响应如果抓不到,我们可以根据测试数据⾃⼰分析应该得到什么样的结果。

⼀个常见的问题,页⾯的输⼊框可能会有长度限制,⽐如限制只能输⼊⼗个字符,但是后台并没有做限制,这样很容易会导致出现⼀些数据库的异常,这样的问题可能在功能测试⾥⾯没办法发现,但是接⼝测试可以。

所以很多时候,接⼝测试,可以认为是功能测试的⼀种补充。它可以让我们的测试做得更深⼊,更全⾯。

现在我邀请你进入我们的软件测试学习交流群:746506216】,备注“入群”, 大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,还会有免费直播课,收获更多测试技巧,我们一起进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

干货| 接口测试用例和报告模板

干货| 接口测试用例和报告模板



一、接口用例模板


提到测试用例,我们知道,其中最重要的两个要素就是:

  • 测试步骤

  • 预期结果


其实对于接口测试也同样如此,接口测试的步骤中,最重要的是将实现向接口发送预设请求,结果则要关注响应信息及后续处理。


所以接口测试用例编排可以考虑下列两种形式:


干货| 接口测试用例和报告模板

干货| 接口测试用例和报告模板


要注意的是,实际工作场景中我们可能还会对接口之间的串联和混合场景进行测试。



二、测试报告模板


接口测试报告很多时候会和接口性能测试报告一起,如果要单独报告的话,可以考虑以下内容:

干货| 接口测试用例和报告模板

01  系统接口概况


简要描述与测试项目相关的一些背景资料,如被测系统简介,项目上线计划等。

对于系统接口的定义和设计做出介绍。


比如系统一共有多少个接口?采用哪种协议?都涉及到哪些发送方法?采用怎样的请求格式?使用怎样的返回标准?可用表格说明。

 

02  测试目的与范围


描述本次接口测试的目的、范围与目标,内容应与本次接口测试的《接口测试实施方案》中的对应内容保持一致。

 

干货| 接口测试用例和报告模板  测试目的


本次测试的目的在于确保系统接口功能和逻辑处理已验证,符合《接口定义说明书》的定义和要求,满足系统需要。

 

干货| 接口测试用例和报告模板   测试对象范围


说明测试的对象是哪些


  • 单场景接口功能测试

  • 混合场景接口功能测试


详见《项目接口测试用例》可考虑贴出x-mind图

 

干货| 接口测试用例和报告模板   测试指标范围


  • 被测接口接收请求和返回报文

  • 被测接口返回状态

  • 被测接口对应业务逻辑处理

  • 涉及数据沉淀的处理

  • 复杂场景下多接口串联交互


03  测试工具及资源


干货| 接口测试用例和报告模板   测试工具


说明本次测试使用到的测试工具和辅助工具


测试工具:该测试将使用Postman(例)


Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get、 post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运 行,并支持用例导出、导入。


干货| 接口测试用例和报告模板   辅助工具:略

 

干货| 接口测试用例和报告模板   测试资源

干货| 接口测试用例和报告模板


04  测试记录及结果分析


        干货| 接口测试用例和报告模板  单场景接口测试

        干货| 接口测试用例和报告模板  测试结果数据


给出本次单场景接口测试的测试结果数据


干货| 接口测试用例和报告模板


05  测试问题及结果分析


结合测试中发现的问题对于整体测试结果进行分析,做出判断。


  • 接口业务功能错误类缺陷情况

  • 接口异常处理类缺陷情况

  • 接口处理数据沉淀缺陷类情况

  • 接口安全性缺陷情况

 

干货| 接口测试用例和报告模板   混合场景接口测试


  • 测试结果数据

  • 给出本次混合场景接口测试的测试结果数据


干货| 接口测试用例和报告模板

 

干货| 接口测试用例和报告模板   测试问题及结果分析


结合测试中发现的问题对于整体测试结果进行分析,做出判断。


  • 混合接口业务功能错误类缺陷情况

  • 混合接口业务数据传递类缺陷情况

 

    测试结论


给出本次性能测试的测试总结论,一般以测试结果与测试目标的比较结果作为测试结论。



文章来源:博客园

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编,我们将立即处理。

以上是关于接口测试步骤和场景分析,其实很简单~~的主要内容,如果未能解决你的问题,请参考以下文章

干货| 接口测试用例和报告模板

专题接口测试神器—Postman从入门到上手

接口测试之用例设计思路

聊一聊Jmeter用IF控制器处理接口依赖

我是新手,刚接触性能测试,实际工作中的性能测试的流程怎样的呢?

元素分析法