接口测试怎么做,能不能举个实际案例

2020-08-27 19:33发布

4条回答
霸气的名字 - 喜欢晴天
2楼 · 2020-08-27 20:13

1)根据参数的要求,进行判断是否满足要求,参数要符合他的要求,比方假如让输入一个数字,那么就判断输入数字----整数、小数、负数、复数等数字进行正常测试,或者超大数值和超小数值,异常测试就是判断当不输入数字,保持为空,或者输入的为字符串,不为数字时,反应是否正常。

2)参数是否为必填项,如果为必填项,将所有的必填项都填写,进行接口测试当必填项未填写时,进行接口测试,查看是否报错。

3)如果参数为选填项,则进行测试,如果有多个选填项,一个个进行测试,填入所有必填项,和要求的一个选填项,接口返回是否正确,再测试,当选填项保持为空时,是否能够正常返回,当多个选填项时,是否返回正常。

4)如果参数名称填写错误是否报错,如果存在不合法的参数,是否报错等等。

5)对每个接口进行逻辑的测试,就是比方为新增一个数据,查对应的url,就得显示新增的数据,也就是所描述的每次新增,删除或者改动后都要进行检查查询。

6)接口中还得考虑一些异常情况,比方权限问题,a方建立了多个内容,b方采用接口是否可以删掉。

7)接口测试还得考虑各种逻辑和现实问题,这个就需要就是根据项目本身的可用性,可以完全想象成功能测试进行测试。

8)还要考虑反复提交接口,是否报错。

9)异常情景,如请求超时,快速连续点击、请求失败等情况。

10)安全性问题,比方登录的密码是否需要加密。


  1. 了解需求,review定义好的接口需求,了解新接口的应用场景,以及尽可能多的细节。

  2. 制定测试方案,除了功能以外,还可能需要考虑性能和安全性要求。

  3. 测试方案和测试用例review,一般发给相关方:开发,开发组长,运维,运维组长,测试,测试组长,不断根据大家的意见改进,直到大家都同意通过。

  4. 在测试方案review的过程中开始准备测试数据,测试工具,或者自动化测试用例。

  5. 执行接口测试,提交bug

  6. 验证修复的bug

  7. 发送测试报告,确定是否可以上线

  8. 归档所有测试产出物

  9. 如果有自动化测试用例,加入持续集成系统。

  10. 如果接口有变更,相应地变更用例。

  11. 如果持续集成系统的接口自动化测试发现代码变更的问题,提交bug。

爱梦 - 拿来吧你
4楼 · 2021-10-22 09:21

A.需求

首先要了解这个接口提供的服务的需求定义,那么我们就知道大概测试的结果是啥。同时理论上要先提供接口规范,方便后续测试,以及给调用者联调的一个文档约定。

B.测试用例设计

根据测试的接口规范,基于业务进行场景设计,再结合边界值设计方法、等价类划分等常用设计方法进行用例设计。

1.设计的方向是常规的测试用例设计:协议规范测试、接口入参、接口出参。

协议规范测试:比如HTTP协议:URL地址、Header测试。不过一般情况下,默认调用者按照接口规范正常调用。这个不用过于详细测试。

2.接口入参:参数个数测试(注意是否必传字段),参数值测试(为空、正常值、非法值等,以及首尾有空格是否过滤)。

3.接口出参:至少涵盖一条成功的响应和一条失败的响应,当然我们测试出更多错误码,我们的覆盖率也就更全面。

4.业务场景用例:这个需要你对于这个接口的业务的了解程度,而且这是最重要的部分。

比如中间使用了缓存服务(第一次缓存没有,是不是直接读数据源,并存入缓存;第二次直接读取缓存是否正确);

比如需要考虑请求外部的接口获取相应的信息的时间损耗(连接不上外部接口,外部接口下线了,外部接口响应太慢);

C.测试用例执行

1.需要你对接口协议有一定的了解,选择适当的开源工具(如postman)或者自己编写脚本进行模拟请求。

2.需要熟悉接口所使用的中间件等知识(比如redis、kafka、mysql数据库)。

3.需要模拟外部接口返回给你现在正在验证的程序的接口。(比如扣费业务,你不可能每测一个业务,就去调真实扣费)。


慢半拍
5楼 · 2021-10-25 11:48

接口测试验证,我们分为两种,一种是接口的功能性验证,另一种是非功能性验证,我们先来看一下功能性验证的测试点,如下:


通过性验证:所谓通过性验证就是验证,这个接口是满足需求的,正常的传入参数,可以返回正确的结果,也就是我们所说的正向验证,接口测试的时候,应该首先对通过性进行验证。


参数必填性校验:即参数是否必填,必填的参数,如果不填会这么样,是否有正常的返回报错,填了返回结果是否与预期一致。非必填的参数,不填功能是否正常,填了返回结果是否与预期一致。


参数的边界值验证:有很多的接口,传入的参数都会限定在一个范围,如券商的基金定投接口中定投的金额的限制范围,此时就需要对边界值做相关的验证,举个例子:假设定投的接口定投金额限制在闭区间[1,10000],那我们至少要验证如下几个值:1、10000、中间值、小于0的一个值、大于10000的一个值。


参数非法性校验:即参数我如果传入一个非法的值,接口是否正常,会不会返回异常,能否正常的返回报错信息,参数的非法性校验主要验证如下几种:


参数的数据类型:如果一个参数的传入类型要求是数值,那么我传入字符串、特殊符号会怎么样,接口能否正常处理,传入一个类型为字符串的数值,接口是否会做强制转换。如果是一个整型数值类型的参数,那么我传入小数、负数、很大的数值,接口又会如何处理。对于一些金融相关的接口,如银行、券商相关的接口,对数值都有精度的要求,此时我们如果传入一个超精度的数值,接口又如何处理,是截断还是四舍五入,还是会返回报错信息等等。

参数的长度:一般情况下,接口的数据都会有长度的限制,数据库中的表也会对字段进行长度的限制,所以此时我们需要验证,如果数据超过了长度,接口能否正常的处理,是否有报错的返回,是否会产生异常。

组合参数校验:在接口中,我们常常遇到,参数之间会有相关的限制,举个例子:如果定投的周期为每日,那么定投的扣款日期就为当日,如果你在定投周期为每日的情况下,将扣款日期传入其他参数,就会报错,由此可见,组合传参的重要性,要尽可能覆盖各种组合场景,覆盖到代码的每个分支,对代码各个分支做到100%覆盖。

相关问题推荐

  • 回答 157

    虽然从事开发行业的女生越来越多,但女生的比例还是远比不上男生。软件测试的男女生比例则基本相当,软件测试要求细心、耐心,大部分女生也是比较适合学的。而且软件测试课程分为手工测试和自动化测试,手工测试分为功能测试、性能测试、接口测试。自动化测试...

  • 回答 121

    需要。很多人当初抱着测试不需要懂代码,才选择了这个行业,这个就要看对自己的职业定位了,是止步于月薪过万就可以了,还是往20k、30k去突破,如果这样的话,是肯定要会接口、会自动化,就必然要涉及到代码。如果真的看不懂代码,实际的测试后期的工作会出现...

  • 回答 91

    在我看来游戏开发挺难的,尤其像手游一类的还有网游,里面有很多的程序代码而且伤神又费力,不过也有女生在这方面做的很好的,如果你感兴趣,非常想学,可以试试

  • 回答 80

    软件测试专业现在很火热,很缺少人才,25岁学软件测试能学会,就业薪资也高,工作也相对轻松

  • 回答 11
    已采纳

    测试类型有:功能测试,性能测试,界面测试。功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用...

  • 回答 15
    已采纳

    这个其实和接口测试的场景密不可分的,比如说:外部接口测试:    必须先接口测试通过了,才能执行功能测试子系统或者各个模块之间的联调测试:    必须各子系统后台代码完成,并提供接口才可以完成测试,一般来说都要求各子系统功能测试通过后再进行...

  • 回答 6
    已采纳

    这个是会因为公司的架构不同而不同的,并不是固定的,但是一般是会有专门的测试部门,或者叫质量保证部,也有可能是叫别的名字。

  • 回答 43
    已采纳

    移动端测试,包括App兼容性测dao试,7*24小时稳定性测试,功耗性能测试,UI测试,交互测试等,课程主要学习的内容有:1、功能测试主要包括计算机基础、软件测试核心理论、Linux、数据库,学习目标是掌握软件测试核心理论,结合Linux、数据库等可实现移动端、w...

  • 回答 1

    标题  1. 首先要做一个标题党(此标题党非彼标题党)。标题一定要清晰简洁易理解,不应该臃长  2. 尽量前缀要规范,例如模板: [Product][Version]_[Feature]_[Title],这样描述会很清晰,也方便查找  3. 缺陷的标题一定要描述在什么情况下发生了什么问...

  • 回答 1

    1、 缺陷报告可以记录缺陷2、可以对缺陷进行跟踪管理3、可以对缺陷报告进行分类 总结 统计

  • 回答 1

    1、缺陷编号(Defect ID),提交BUG的顺序。2、缺陷标题(summary),简明扼要的说明一下这个BUG。3、缺陷的发现者(DetectedBy) ,一般是自己。4、发现缺陷的日期(Detected on date),一般是当天。5、缺陷所属的模块(subject), 在测试哪个模块的时候发现的BUG...

  • 回答 1

    缺陷标题好的缺陷标题需要让相关人员一目了然,一般建议的格式是条件+失败。缺陷类型缺陷类型也是根据具体的项目而定的。但一般情况下分为功能、界面、建议。重现步骤重现步骤的编写规则可以参考测试用例中的操作步骤 ,一定要足够详细、说明清楚问题的操作顺...

  • 回答 1

    工具:NoSQLUnitJsTestDriverQTRunnerVenusFluintBuster.JSSQLUnitECUTQTestlibUnitilsgreatestDbUnitAbbotGoogleTest框架:JUnitMoqJSCaptureMockCUnitPyUnitCppUTestCppUnitzCUTcipra

  • 回答 1

    JunitTestNGGoogleTestpytestunittestJmockitJaCoCogcov、lcov、gcovrCoverage.pyEvoSuiteDiffblue Cover

  • 回答 1

      React Hooks测试库( Testing Library)是一个简单而完整的React Hooks测试工具。  React Hooks测试库让用户可以为React钩子创建简单的测试工具,自定义钩子的输入和检索输出,以处理在功能组件体内运行的情况。  使用React Hooks,用户不必为了测试而去担...

  • 回答 1

    1、单元测试注重代码逻辑,接口测试注重业务逻辑;2、单元测试的粒度最小,是测试最小独立的单元模块(不依赖其他模块);接口测试不是,会覆盖很多;3、单元测试是白盒测试,接口测试是黑盒测试;4、单元测试关注的是代码的实现和逻辑,测试范围较小,保证实...

没有解决我的问题,去提问