接口并发基础概念

相关基础概念

进程

进程是一个具有独立功能的程序关于某个数据集合的一次运行活动。比如打开某个word软件查看文档。

线程

线程是一个执行中的程序活动(即进程)的多个执行路径,执行调度的单位。比如word软件中使用打印功能。

多线程

多线程指在一个进程下有多个线程,各个线程执行自己的任务,这些线程可以“同时进行”。比如word软件同时打印多个文档。

并行

并行指的是在同一时刻,多个处理器同时执行多个事件/线程。

image.png

并发

并发指的是在同一时间段内,一个/多个处理器执行多个事件/线程。

image.png

并发测试定义

并发测试的目的,是以并发为手段进行接口测试,来发现接口在并发场景下出现的功能问题。

  • 同时间执行多个相同事件
  • 同一时间执行多个不同的事件,同时对服务器产生压力

并发测试分类

  • 功能并发测试

先进行单业务功能场景的并发测试,再进行混合业务功能场景的并发测试。目的是验证系统功能是否满足需求预期的要求。

例如:

  • 性能并发测试

同时满足某些系统性能指标的前提下,能让被测对象承担不同的工作量,评估被测对象的最大处理能力是否存在缺陷。目的是验证系统性能指标是否符合需求预期的要求。

  • 稳定性并发测试

判断测试系统的长期稳定运行的能力。

目的是验证系统稳定性是否符合需求预期的要求。

  • 异常性并发测试

模拟系统在较差、异常资源配置下运行,评估被测对象在资源不足的情况下的工作状态。

目的是验证系统的异常响应机制是否满足需求预期的要求。

测试方案

测试对象拆分

  • 找到并发测试对象,了解需求测试功能,梳理业务功能;
  • 描述测试对象重要性,列出核心功能、高频使用功能、占用资源较多功能;
  • 测试对象拆分,功能链路根据接口拆分子功能;
  • 明确重点测试对象,准备大量数据、模拟真实环境;
  • 从历史数据的TPS、页面访问量、并发请求数等方面分析性能指标是否合理,安排优先级。

测试方案

  • 接口文档驱动测试

  • 编写接口测试代码:核对每个接口的传入参数控制,同时确认报错提示信息时候准确、到位;

  • 异常数据测试:设置属性不存在、网络断开、数据库锁表等情况检查数据是否会出现异常;

  • 逐个接口进行并发事物测试,核对数据与用例的调用结果是否一致;

  • 复合接口并发测试:将各种接口按照一定的顺序进行并发,校验数据是否与用例调用结果一致。

  • 业务场景驱动测试

  • 统一动作并发

  • 混合交易场景

  • 绕过页面操作:抓包抛送异常值进行交易。

指标分析

  • 整理并发需求(性能指标需求)

  • 提取性能指标

  • 并发数:并发数量,例并发100次,设置为10个线程,每个循环10次;

  • 成功数:获取响应值为成功的请求;

  • 成功响应时间:请求之前,获取当前时间,断言成功后,再次获取一次时间,取二者之差;

  • 成功率:成功数/并发数;

  • 成功的总响应时间:每个成功的响应时间之和,定义sum_time,初始值为0,把每次成功的响应时间加起来;

  • 成功的平均响应时间:成功总响应时间/成功数;

  • TPS:成功并发数/成功平均响应时间,(注意TPS和QPS区别。QPS:Queries Per Second,意思是每秒查询率。指一台服务器每秒能够响应的查询次数,用于衡量特定的查询服务器在规定时间内所处理流量多少,主要针对专门用于查询的服务器的性能指标)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。