wangwt123

性能测试(六)-项目实战

项目实战

一、背景

介绍测试该产品的基于什么样的背景。以风暴平台为例:

二、性能测试过程

1、测试前期准备(前置工作)

2、测试工具引入

 

3、测试计划

3-1、背景:描述具体是干什么,干这件事的前因后果。

3-2、前置工作:干这件事需要有哪些准备工。

3-3、技术选择(工具):

其实,会发现,测试前期准备和技术选择(工具)在测试计划里已经涵盖。

3-4、测试范围:就是具体的工作内容,注意边界值的考虑。

3-5、测试风险:有什么依赖的项目,必须是客观存在的风险,不是主观臆想。

4、测试设计与开发

使用选择好的工具/代码,来设计场景/编写代码来测试设计好的性能测试用例。

4-1、JMeter工具

模拟1000个用户,Ramp-Up:10s

模拟1000个用户,Ramp-Up:20s,持续时间40s,启动延迟:2s

上传文件最大支持2G ,测试方式是?

性能测试关注指标: a、时间 b、CPU与内存的变化趋势

首先,模拟单个用户,假设上传大小为2G的文件,是否是可接受等待的时间,同时通过监测器监测后台的CPU,资源负载等情况。

其次,模拟多个用户,在同一时间段内,同时上传相同大小的文件,最快上传的时间和最慢上传的时间,是否是可接受等待的时间,同时通过监测器监测后台的CPU,资源负载等情况。

通过设置不同的区间范围,小于2G、等于2G、大于2G,找到临界值,来测试合理的上传文件大小支持。

4-2、locust工具

支持持续的发送API请求:post

import time
from locust import HttpUser,task,between

class QuickStartUser(HttpUser):
   host = 'http://47.95.142.233:8000'
   min_wait = 3000
   max_wait = 6000

   def login(self):
      r=self.client.post(
         url='/login/auth/',
         json={"username":"13484545195","password":"asd888"})
      return r.json()['token']

   @task
   def api(self):
      r=self.client.post(
         url='/interface/run/api/32',
         headers={'Authorization':'JWT {token}'.format(token=self.login())})
      assert r.status_code==200

5、测试执行与管理

a、多次测试执行,收集每次性能测试的数据(系统资源:CPU和内存、数据库资源:连接数和IOPS、JVM资源:内存资源 、响应时间:最大、最小、平均,中位数、90%、95%、99%、吞吐量)

b、数据收集后的数据可视化展示。

6、测试报告(分析)

6-1、参与人员

6-2、过程数据

6-3、错误汇总

6-4、测试风险

6-5、测试结论 :依据上述的各个结果,整体测试结论具体汇总如下:

posted on 2022-08-22 17:27  DOUBLE快乐  阅读(150)  评论(0编辑  收藏  举报

导航