快速了解AngusTester测试类型定义

AngusTester 测试以业务为中心,可以让研发团队轻松高效地开展测试活动,确保交付一个可靠和满足性能要求的系统。

定义

为了验证软件系统的质量和功能是否符合预期,以及评估指标能否达到业务要求,AngusTester 针对不同的测试目标提供了4种对应测试类型:

  • 功能测试:用于验证您的脚本和软件功能是否有效,以及系统在最小负载下是否能够运行,如:冒烟测试。
  • 性能测试:评估软件系统在特定环境不同并发用户条件下的性能和响应速度表现,帮助开发人员做性能优化,支持运维人员准确扩容决策。
  • 稳定性测试:评估软件系统在长时间运行和负载条件下的稳定性和可靠性,以确定系统在真实生产环境中的稳定性水平。
  • 自定义测试:其他应用场景或临时验证性测试,用户通过自定义脚本和执行配置方式发起的测试。

业务模型

测试类型(type) 并发数(threads) 测试时长(duration) 适用场景
功能测试 1个并发 几秒钟,具体取决迭代消耗时间 验证脚本有效性;验证软件功能有效性(通过用例);验证运行环境是否有效;当代码、脚本或环境改变时进行复检。
性能测试 默认最大5000个并发,从100开始,每隔1分钟增加100个并发 5-120分钟,默认50分钟 报告不同压力下性能表现;帮助开发人员做性能优化;支持运维人员准确扩容决策。
稳定性测试 默认200个并发,具体数量取决于业务指标设置,默认 5-120分钟,默认30分钟 验证长时间负载条件下运行是否稳定;是否出现非预期错误;错误率是否在业务接受范围内。
自定义测试 用户自定义,通过执行配置中线程来设置 用户自定义,通过脚本场景设计和执行配置定义 用户自定义场景。

指标

业务测试指标构成

  • 并发数(threads):是指在同一时间内同时执行用户请求或任务的线程数,通过并发数模拟出实际生产环境中的高负载,以观测测试系统的性能和稳定性。
  • 迭代次数(iterations):用于描述对用户请求、测试用例或任务进行多次重复执行的次数。如:对于测试用例,每一次执行测试用例的过程被称为一次迭代。
  • 测试时长(duration):是指执行测试总的持续时间,时间单位可以是秒、分钟、小时,最大时长限制1天。观测系统稳定性需要确保较长时间运行。
  • 增压并发数(rampUpThreads):用于在测试过程中增加并发数以增加系统压力,通过逐渐加压方式可以观测系统在不同压力下性能和稳定性表现。
  • 增压测试时长(rampUpInterval):增压后测试持续时长,时间单位可以是秒、分钟、小时,值大小不能超过测试时长,默认1分钟。
  • 每秒事务数(tps):每秒事务数是指系统在每秒钟内能够处理的完整用户请求或任务数量。它是衡量系统性能和吞吐量的指标,较高的每秒事务数表示系统能够处理更多的请求或任务,具有更好的性能。
  • 百分位(percentile):用于统计一组采样值延迟时间的分布,支持分布范围:P50、P75、P90、P95、P99、P999(99.9%)。例如,百分位P95表示将一组采样从小到大排列,其中第95%个采样的延迟时间值,也就是95%的采样值小于或等于该值。
  • 平均响应时间(art):平均响应时间延指从开始发送请求到接收到响应之间的时间间隔。较低的延迟表示系统响应更快,具有更好的性能,系统使用用户有更好体验。
  • 错误率(errorRate):错误率是指在测试期间出现错误的比例,较低的错误率表示系统的稳定性和可靠性较高。
  • 资源使用率(usage):是指被测试应用系统在执行压测期间所使用的平均资源量,可以评估系统在不同负载下的资源消耗情况和效率,以及判断使用率较高时资源是否是性能瓶颈。注意:需要为应用节点安装Angus代理
    • CPU使用率(cpu):表示系统CPU资源的利用程度,较高的CPU使用率表示系统负载较高,可能会影响性能。
    • 内存使用率(memory):表示系统内存资源的利用程度,较高的内存使用率可能导致系统内存不足,影响系统性能和稳定性。
    • 磁盘使用率(disk):表示系统磁盘资源的利用程度,较高的磁盘使用率可能导致磁盘空间不足,影响系统的正常运行。
    • 网络使用率(net):表示系统网络资源的利用程度,较高的网络使用率可能导致网络拥塞或延迟,影响系统的通信和性能。

测试类型与指标模型

测试类型 并发数 迭代次数 持续时长 增压并发数 增压测试时长 每秒事务数(>=) 百分位 平均响应时间(<=) 错误率 CPU 使用率(<=) 内存使用率(<=) 磁盘使用率(<=) 网络使用率(<=)
功能测试 1 1 / / / / / / / / / / /
性能测试 5000 / 50 分钟 100 1 分钟 500 P90 500 毫秒 0.01% 75% 75% 75% 75%
稳定性测试 200 / 30 分钟 / / 500 P90 500 毫秒 0.01% 75% 75% 75% 75%

以上是 AngusTester 对不同测试类型指标默认设定,您可以理解为:

  • 功能测试:1个用户迭代1次功能是否正确,最大允许迭代100次。
  • 性能测试:从100个用户开始,每隔1分钟增加100个用户,持续50分钟,观测测试过程中性能和响应表现,并验证同时存在 “每秒事务数大于等于500,90%(P90)的请求平均响应时间(延迟)小于500毫秒,错误率不超过0.01%,所有资源使用率不超过75%” 并发数或并发区间。
  • 稳定性测试:200个用户持续30分钟,每秒事务数必须大于等于500,90%(P90)的请求平均响应时间(延迟)不能大于500毫秒,错误率不超过0.01%,所有资源使用率不超过75%。

场景

通过场景,您编排更加复杂的测试计划,相比单个步骤的测试用例,场景可以包含更多步骤和流程。您可以直接以脚本方式编辑一个场景测试,也可以在 AngusTester 应用中 “创建场景” 界面编辑一个场景测试。

AngusTester 场景编排提供了5个控制器组件,负责管理和控制测试计划中的各个元素,例如:事务控制器用于将多个请求作为一个事务进行组织和测量,它允许您将多个请求分组为一个逻辑事务,并提供了对该事务的响应时间、错误率等指标的测量。具体控制器如下:

  • 开始事务(TRANS_START):用于标记一个事务开始,和结束事务必须成对出现。
  • 结束事务(TRANS_END):用于标记一个事务结束,和开始事务必须成对出现。
  • 等待时间(WAITING_TIME):用于模拟用户在两个连续请求之间的停留时间,模拟真实用户的操作间隔,使测试更接近实际情况。AngusTester 支持添加固定等待时间或随机等待时间两种方式。
  • 集合点(THROUGHPUT):用于在发送请求前同时聚集等待请求用户数,以验证同一时刻突增流量或大量用户同时请求时处理效率,如:秒杀场景。
  • 吞吐量限制器(RENDEZVOUS):用于限制每台测试节点1秒内能够同时执行的请求数量,以控制系统的负载和吞吐量。

注意:

  • 如果多个请求组织在一个逻辑事务中,如果其中一个请求失败(包括断言不通过),同一个事务中后续请求将被忽略,并且只有同一个事务中所有请求都成功时事务才算成功。
  • 在编写脚本时,开始事务和结束事务必须成对出现,开始事务名称和结束事务名称必须相同,并且不允许事务嵌套。
  • 为了防止"吞吐量限制器"中某些线程获取通行令牌等待时间太长,可以设置等待令牌超时间。

更多产品信息、专题博客、教学视频请访问:https://www.xcan.cloud/ ,您也可以扫码关注更多实时动态。
在这里插入图片描述

你可能感兴趣的:(软件测试,jmeter,网络协议,测试工具,压力测试,java)