• 0
  • 0
分享

  接口测试一般需要关注以下几点:

  1.输入

  2.输出

  3.逻辑处理

  4.数据库

  5.安全性

  6.性能

  7.接口超时

  8.兼容性

  9.接口设计(较少关注)

  以下为各部分介绍。

  1.输入

  输入,接口的入参,一般使用等价类和边界值设计用例。需要考虑输入的正常与异常情况,其中异常包括有参数异常以及数据异常。

  A.正常的入参

  根据接口设计文档的入参标准,输入正常的参数,接口按接口设计文档的描述,得到正常的响应返回。

  B.参数异常

  参数异常包括:

  1)参数为空

  2)多参

  3)少参

  4)错误的参数

  C.数据异常

  数据异常包括:

  1)数据类型错误

  2)长度不符合设计

  3)非空参数为空

  4)特殊字符或敏感字符

  5)不在字典(接口设计)范围内的数据

  6)非法参数(非常规参数的处理,如号码、邮箱的判断机制)

  7)存在关联关系的参数数据异常

  2.输出

  在考虑接口异常时,不一定能覆盖所有错误码,可以通过接口定义返回的错误码补充异常情况的用例。

  如:

  A.网络异常

  B.无效的规则

  C.无效的参数

  D.无效的业务ID

  E.无效的任务

  F.服务器异常

  利用errorcode补充用例,可以发现前后端输出是否正常,敏感信息处理机制,及提示信息是否符合规范等。

  3.逻辑处理

  接口测试一般会提供接口设计文档,另外还应获取或整理业务流程图,针对业务流程中的处理逻辑,结合接口的输入限制、业务状态等进行测试点的考虑。

  A.限制条件

  1)数值限制:字典,等级,行业相关限制,金额限制,分数限制等

  2)状态限制:在线或离线,是否开通服务等

  3)关系限制:如账号与个人信息的绑定

  4)权限限制:三权分立(管理员,操作员,监控员等),用户之间的信息隔离等

  B.对象分析

  操作的对象是否合法,如对问题账号的转账,冻结用户的登录等。

  C.状态转换的分析

  在金融行业中状态转换的分析及处理较为重要,如商城购物,退款、付款中取消了订单、继续进行订单付款、是否可多次支付、业务流程跳转的状态处理等。

  D.时序分析

  时序分析多为针对业务流的处理分析。对于一些复杂活动,如办理业务需要进行的流程顺序,其业务流的处理。如资料的填写、上传是否只能按顺序进行?是否可返回上一步?流程步骤之间的跳转如何处理?资料填写到一半,去办理其他事务或切换窗口会导致什么情况?

  4.数据库

  接口在进行数据传输交互时,都需要对数据库进行操作,因此亦需要关注数据库的以下内容:

  A.数据读写是否正常

  B.数据存储是否正常(乱码、重复数据等情况)

  C.对资源的使用情况(CPU、内存等)

  D.对线程的占用、释放情况(读写线程的处理机制等)

  E.对数据的处理是否正常(增、删等操作)

  5.安全性

  对于接口的安全性测试,一般包含以下内容:

  A.信息的加密(包括但不限于 登录口令、用户身份信息等)

  B.传输方式(http/https)

  C.接口的鉴权方式

  D.sql注入防范

  E.越权访问

  后续如有安全测试,可能还包括非正常接口的访问、DDoS防护等。

  6.性能

  接口的性能不佳,会影响用户使用,甚者还会影响业务的正常进行。在金融行业中更是最为注重的测试点。

  接口的性能主要关注以下几点:

  A.最大并发

  B.响应时间

  a)平均响应时间

  b)最大响应时间

  c)最小响应时间

  C.吞吐量

  D.资源使用情况

  E.错误率

  7.接口超时

  接口测试的非正常情况处理包括接口超时,在金融行业中亦是较为注重的测试点,超时处理不当,可能会引起进程阻塞、逻辑混乱等情况。如提交订单后限制多长时间内完成付款,超时则订单无效。网络问题导致的长时间未成功付款等。

  8.与历史版本的兼容性分析

  如软件系统为迭代发布,则需要考虑对旧版本的接口兼容或接口废弃处理。需要考虑以下几点:

  A.废弃的协议或接口是否已注释,是否已不可使用

  B.新、旧接口之间是否兼容

  C.旧接口是否会影响新接口的使用

  D.接口的更新是否影响其他接口或外部系统的调用

  9.接口设计合理

  对于接口的设计应遵循以下几点:

  A.只提供必要的接口字段

  B.只返回必要的期望信息

  C.方便调用

  D.可拓展

  同时亦可关注以下内容:

  a.接口定义是否满足所有调用者的需求

  b.接口参数使用是否方便

  c.接口的业务规则是否正确

  d.接口对服务使用的影响

  以手机银行基金买卖提交接口为例,进行简单的接口用例分析:

  测试对象:手机银行基金买卖提交接口:


1.png



作者:小笔   

来源:http://www.51testing.com/html/50/n-4479050.html


2021 问卷礼物图.png

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 新浪科技讯北京时间10月24日早间消息,据报道,美国苹果旗舰店已经开始销售能用Apple Watch或iPhone解锁的外门锁。这款售价329美元的Level Lock+门锁是苹果旗舰店销售的首款支持Home Key的门锁。Level Lock+由Level Home公司出品。在大门上安装这款产品后,用户只需使用苹果Home Key功能轻触便可打开或关闭门锁。Home Key是一款使用NFC和苹果软件中的安全令牌实现开锁和解锁的功能。用户可以通过短信把钥匙发送给朋友,也可以直接通过苹果设备自动开门。对苹果来说,这是2021年宣布的一项备受期待的功能取得的重要进展。Home Key表明苹果仍在推...
            0 0 884
            分享
          •   什么是自动化测试?  概念:让程序代替人为去验证程序功能的过程  为什么要进行自动化测试?  1. 解决-回归测试  2. 解决-压力测试  3. 解决-兼容性测试  4. 提高测试效率,保证产品质量  回归测试:项目在发新版本之后对项目之前的功能进行验证;  压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力  兼容性测试:不同浏览器(IE、Firefox、Chrome)等等  自动化测试相关知识  ·自动化测试在什么阶段开始?  功能测试完毕(手工测试)  手工测试:就是由人去一个一个输入用例,然后观察结果;  ·自动化测试所属分类  1. 黑盒测试(...
            7 6 3063
            分享
          •   什么是 A/B 测试?  A/B 测试,也称为拆分测试,是一种营销实验,可以在其中拆分受众以测试广告系列的多个变体并确定哪个效果更好。换句话说,可以向一半观众展示内容/功能/行为的版本 A,而向另一半观众展示版本 B。  为什么不使用第三方服务?  确实将第 3 方 X 用于 A/B。  对于 X,观察到以下问题:  · 由于服务器端标记的高延迟  · 特征复杂度  · 分割部分的跟踪和影响测量。  · 成本高  它提供什么?  该服务(作为微服务实现)将使客户能够进行 A/B 测试。可以对多个特征(返回值)进行任意数量的实验。  设计时要牢记可扩展...
            0 0 200
            分享
          •   一、稳定性测试的要点  1、长时间的以正常的业务负载进行运行(最低为用户实际使用时的负载量,如果用户实际负载量低于最优负载量,也可以使用最优负载量)。  2、稳定性的测试数据(用户实际使用负载量)来源于运营数据。  3、稳定性测试时,需要针对不同的业务操作,并且模拟不通的用户,进行长时间的稳定性测试(并行执行所有脚本,因为要模拟实际用户使用场景,不同的用户在线所做的动作肯定不一致)。  二、性能测试的监控的关键指标  1、系统指标:与用户场景和需求相关的指标  用户并发数:某一物理时刻同时向系统提交请求的用户数。  平均响应时间:系统处理事务的响应时间的平均值,一般在3s左右。  吞吐量:...
            0 0 544
            分享
          • 在《基于Django的电子商务网站设计》这本书中,我不仅介绍了如何利用Django框架搭建电子商务网站,也论述了如何利用python的requests类对所创建的电子商务产品进行接口测试。在书写极乐口测试代码过程中,我遇到的最大的困难就是如何通过测试程序绕过Django的防止CSRF攻击的插件,通过近一个多月的努力我终于解决了这个问题,但是同时也揭露了Django框架的防止CSRF攻击的插件的漏洞。首先我们来看一下什么是CSRF攻击。1、什么是CSRF攻击?我们假设一个网站http://www.a.com/login.html的HTML代码如下:<html> <head>...
            0 0 1097
            分享
      • 51testing软件测试圈微信