首页 > 其他分享 >接口测试用例设计

接口测试用例设计

时间:2023-05-30 12:11:48浏览次数:35  
标签:场景 请求 Redis 校验 接口 测试用例 测试 设计

接口测试流程

需求分析 -> 测试设计 -> 测试用例评审 -> 测试执行 -> 验收 -> 预发布 -> 上线

接口测试用例设计思路

梳理业务流程图,根据流程图中的分支分别考虑不同场景(包括接口超时,接口异常,接口请求成功,接口请求失败)

基本功能流程测试

  • 冒烟测试
    验证主业务的正向流程测试
  • 正向流程测试
    根据画出来的流程图覆盖流程图中的不同场景,分支覆盖,路径覆盖,场景覆盖。覆盖测试时需要结合实际的业务场景,去除根本不会发生的场景

基于输入域的测试

针对接口的入参设计

  • 边界值测试
    边界点和外点,使用边界值和等价类划分
  • 特殊字符校验
    如果入参对特殊字符有要求
  • 参数类型校验
    如果对入参的数值类型有要求的话需要校验,用等价类划分
  • 必选参数校验
    入参如果有必选参数的话,都要设计一条不传参数的用例
  • 组合参数校验
    不同参数的不同组合场景
  • 有效性校验
    如身份证的校验,手机号校验
  • 默认值校验
  • 排重逻辑

接口幂等性

  • 重复提交
    对于涉及到资金的系统,接口幂等性尤其重要
    接口幂等性改造:可以在接口中增加一个唯一性参数,同一个参数值的接口请求只处理一次

故障注入

  • Redis 故障降级测试
    • 例: token 存在Redis中,第一次从数据库取,回写入Redis,第二次直接从Redis取
    • 可以让开发配合Redis故障注入:
      1. 清空Redis数据,发出请求看能否从数据库读数据并回写入Redis
        2.启动Redis恢复数据,看能否从Redis中取出正确的数据
        3.Redis崩溃,数据能否降级到数据库中读取数据
  • 服务故障转移
    1. 数据库故障
    2. 数据库崩溃场景
    3. 接口转移测试 - 接口服务重启, 集群崩溃场景

线程安全测试

  • 并发测试
    并发相同参数的请求是否只有一条请求成功?
  • 分布式测试
    从物理资源的角度
    • 水平扩展
    • 垂直拆分 —— a 只查询一种请求,b 查询另一种请求
  • 数据库读写安全测试
    数据库锁-多个用户对同一个数据操作时对数据加锁
    同时并发的进行更新和插入,删除和插入操作看是否能正常进行相互不影响

接口测试用例要素

  • 用例名称 - 必填
  • 接口地址 - 必填
  • 请求方式 - 必填
  • 前置条件
  • 请求头部
  • 请求参数 - 必填
  • 响应状态码
  • 预期响应结果 - 必填

标签:场景,请求,Redis,校验,接口,测试用例,测试,设计
From: https://www.cnblogs.com/julia888/p/17442892.html

相关文章

  • 模板模式:一种体现多态的设计模式
    0x01:模板模式模板模式(Template),又叫模板方法模式(TemplateMethod),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需重写方法实现,但调用将以抽象类中定义的方式进行。模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,......
  • 【掌握接口开发技巧 打造可靠的API接口】按关键字搜索商品
    作为一名程序员,在开发过程中经常需要开发API接口来实现数据的传输和交互等功能。本文将介绍程序员如何开发API接口,并提供一些实用的技巧。第一步:设计接口文档在开发API之前,我们需要先设计接口文档。接口文档包括接口名称,参数名称和类型,返回值格式等信息。接口文档可以帮助我们更好......
  • 【经验分享】射频电路板设计的几个要点
    射频(RF)电路板设计虽然在理论上还有很多不确定性,但RF电路板设计还是有许多可以遵循的法则。不过,在实际设计时,真正实用的技巧是当这些法则因各种限制而无法实施时,如何对它们进行折衷处理,本文将集中探讨与RF电路板分区设计有关的各种问题。1、微过孔的种类电路板上不同性质的电路必......
  • 面相对象设计模式目录
    写了个具体模式代码实现示例(c#):https://gitee.com/idasheng/DesignPattenDemo更新于:2023.5.30......
  • 网页设计简历表代码
    以下是一个简单的网页设计简历表的HTML和CSS代码示例,可以作为参考:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>WebDesignerResume</title><style>body{font-fa......
  • 2023河南省ICPC大学生程序设计竞赛-wh
    第一次出去比赛,首先感谢程老师选择我们新生更多的比赛机会,感谢!在周六我们一起做了高铁出发取洛阳参加icpc河南省赛,不得不说洛阳师范学院确实环境很好看。。在热身赛时,已经被泼了冷水,这C也太难了,瞬间感觉明天正式赛会很难。第二天,正式赛开始。我们还是跟榜单做题。第一个签到题很......
  • 2.3. 接口与抽象类
    接口和抽象类是Java中两种实现抽象和多态的方法。它们之间有一些区别,但也有一些相似之处。这一节我们将通过详细的例子来更深入地了解接口和抽象类。2.3.1.接口接口可以定义一组方法签名,但不能包含方法的实现。一个类可以实现多个接口,实现接口的类必须实现接口中定义的所有方......
  • 2023ccpc大学生程序设计竞赛-wh
    对于大一的我,只听说线下大型比赛,而第一次参加也必然心情激动,生为大一,由于没有参赛经历,所有不知道参赛技巧,所以三个人像个无头苍蝇一样,跟着榜单做,我作为写码的,其他两名队友负责思路和想法,第一道签到题很水,开局几十分钟做了出来,后一题罚时一次a了,而第三道罚时了3次,导致并不想在做下......
  • 程序与设计
    2-27在命令行窗口中启动的Python解释器中实现在Python自带的IDLE中实现print("Helloworld")编码规范每个import语句只导入一个模块,尽量避免一次导入多个模块不要在行尾添加分号“:”,也不要用分号将两条命令放在同一行建议每行不超过80个字符使用必要的空行可以增加代码的可读性运......
  • 接口、定时、异步
    1远程接口1.1URL与HttpUrlConnection//接口路径Stringpath="";//创建URLURLurl=newURL(path);//连接HttpURLConnectionurlConnection=(HttpURLConnection)url.openConnection();//开始连接urlConnection.connect();//获取字节流......