性能测试需求调研分析方法

一、测试背景和目的

    在需求调研开始,测试人员需要明确的测试目的,那么首先得清楚项目本身情况,针对不同的项目情况也会有不同的目的,根据项目情况一般可以分为以下六种情况:

1、完全新建系统

     完全新建系统意味着被测试系统没有业务数据作为参考,也没有业务人员能进行有效的进行预估业务量,就不能转换出业务指标值(TPS/QPS),那么我们通常的测试目的如下:

  1. 测试应用系统最佳处理能力和极限处理能力,供需求方和开发进行评估。
  2. 测试应用系统是否稳定
  3. 测试应用系统是否可靠
  4. 测试应用系统瓶颈,并提供扩容意见等

 2、改造新系统

  改造新系统一般可以通过老系统业务量进行分析,再结合业务人员根据业务发展情况进行评估。通常的测试目的如下:

  1. 测试应用系统是否满足当前业务量需求。
  2. 测试应用系统是否满足N年后业务量需求
  3. 测试应用系统是否稳定
  4. 测试应用系统是否可靠
  5. 测试应用系统瓶颈,并提供扩容意见等

3、版本升级系统

   版本升级系统有可能是针对缺陷修复升级,也有可能是针对业务需求变更升级。如之前未做过性能测试,按照改造新系统方式目的设置。如已做过性能测试通常测试目的如下:

  1. 测试应用系统最佳或极限处理能力与之前测试结果对比分析。
  2. 测试应用系统是否稳定

4、线上运行系统

     线上运行系统要求进行非功能测试,一般是线上遇到非功能测试缺陷,很难复现。通常测试目的如下:

  1. 模拟生产环境运行情况,找出非功能测试缺陷配合开发进行优化复测。

5、采购型系统

     采购型系统要求进行非功能测试,一般是对多家厂商的产品进行测试,给出对比测试结果,通常测试目的如下:

     获取固定并发用户数下,各厂商的指标对比情况(TPS,响应时间,CPU使用率,错误率等)

6、软硬件选取

     软硬件选取进行非功能测试,主要式在保持其他情况一致的情况下,性能情况对比。

     获取在不同软硬件处理能力,根据业务情况,选择性价比最高的软硬件。

 

二、测试范围的确认

  测试范围主要是在调研过程中,确认被测系统与周边系统关系以图形的方式展现,并以明显的标记标注被测系统和文字的方式说明被测交易具体与哪些系统进行交互。

 

三、被测系统架构分析

       架构分析的目的主要是需要确认被测试系统使用的开发语言/开发框架、通信机制/协议、中间件、数据库、是否采用应用集群、是否采用数据库集群、是否存在备份机制(热备/冷备)、负载均衡机制等。为后续设置具体的测试策略,环境部署,监控手段做铺垫。

 

四、业务模型分析

       业务模型分析主要是为了得到更加真实模拟线上运行场景,保证测试的覆盖率。通过根据系统情况分为有业务数据参考(生产运行日志)和无业务数据参考两种情况

 

 五、有业务数据参考

        有业务数据参考系统可按照如下方式进行分析提取业务模型:

 

实例

案例编号

接口名称

交易占比

1

create_instant_trade(即时到账)

6%

2

create_ensure_trade(担保交易)

5%

3

create_split_trade(分账)

3%

4

create_settle(结算)

5%

5

create_refund(退款)

0.5%

6query_trade(交易查询)80.5%

 

六、无业务数据

       通过与业务人员或者开发人员沟通,引导业务人员根据业务使用情况,进行业务模型的大概预估。具体方法如下

  • 确认被测业务交易,业务交易选取规则如下:
  1. 使用比较频繁的交易(业务人员根据使用情况提供)
  2. 使用不是特别频繁但是交易涉及数据量比较大的交易(业务人员根据使用情况配合开发人员提供)
  3. 交易逻辑复杂比较高的交易(开发人员根据代码逻辑提供)
  •  确认各业务交易占比:
  1. 业务人员根据使用情况进行各选取交易比例预估
  2. 如果没有业务使用的话,可以参考同行(非功能测试人员根据相关进行建议并让业务确认)

 

七、用户分析

需求类别需求要点性能需求描述规范说明

 

用户分析

用户数量需求

 

本系统各类别用户的数量分析

用户类别需求
系统支持并发操作最大用户数量并发用户数指在同一时刻内,登录系统并进行业务操作的用户数量。
系统支持的最大用户连接数量系统能够同时接入(或登录)的最大连接用户数。
一般而言,并不是所有接入(或登录)的真实用户都在实时进行操作,部分用户接入(或登录)系统后,暂时不做业务操作,这样的用户操作习惯要求被测系统提供额外的系统并发接入能力。

 

八、 测试指标

        性能测试常用指标确认如下:

大类

指标项

指标量值

备注

业务类

系统处理能力(TPS)

二八法则

高峰期TPS

一般交易响应时间

<3秒

端到端的响应时间

复杂交易响应时间

<5秒

针对大表查询交易

交易成功率

>=99.9%

 

系统资源

CPU使用率

<=80%

 

内存使用率

 

无明显上升趋势。

稳定性

运行时间

24小时

CPU使用率、内存使用率、磁盘繁忙率等比较平稳,无明显波动。

 

  • 系统处理能力(TPS分析)分析方法:

沟通并估算出高峰日交易量为S1(单位:笔),获取到高峰时间段S2(单位:小时),如果需要满足N年后业务处理能力,需要给出业务递增百分百S3。

满足当前时间业务处理能力T1(单位:笔/秒)=(S1*0.8)/(S2*0.2*36000);

满足N年后业务处理能力T2(单位:笔/秒)=T1*(1+S3)^N;

  • 响应时间获取:

响应时间指标通常根据系统方式分为接口类、客户端访问类,具体时间指标客户端访问类和是由业务人员根据业务情况,指定响应时间,

通常标准为:1-3秒可以通过;3-5秒谨慎通过;5秒以上不能通过。接口类响应时间通常标准为:记账类:200毫秒  单笔查询:500毫秒 

 

 九、预埋数据量分析

  预埋数据量的目的是根据生产业务量情况和数据库表数据存储方式进行预埋数据,验证在一定数据量情况下,数据库性能对本身业务交易性能的影响。一般分为从生产导入数据和自己构造数据。

  生产导数主要是把生产数据脱敏导入测试库中,这样的数据更加真实。

  自己构造数主要是根据每天交易量乘以该表存储的时间或者统计线上数据量的方式(需要了解该交易涉及表数据存储),  基础数据构造,应满足数据类型以及量级的要求,避免数据热点

query_balance

服务数据库数据表操作线上数据量当前测试环境

 

 

下单

mag     
ma-webmember库

m_member_identity 会员查询

member_account 会员账户信息表

query5320w3053w
dpmdpm库

dpm_outer_account 外部户

 

query10450w5735w
vouchvouch库trade_vouch 交易凭证insert11559w2722w
tsstss库

trade_order 交易订单

acq_trade_order_ext 收单交易扩展

split_party分账信息表

insert

9152w

10670w

3181w

 

2491W

3200W

3260w

 

转载于:https://www.cnblogs.com/unknows/p/10954757.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483282.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构——线性表的C语言实现

文章目录1.什么是线性表&#xff1f;2.线性表的抽象数据类型3.线性表之顺序表的C语言实现4.线性表之链式表的C语言实现1.什么是线性表&#xff1f; 2.线性表的抽象数据类型 3.线性表之顺序表的C语言实现 #include<stdio.h> #include<stdlib.h>#define ElementType…

美国大学智库发布全球机器人专利态势报告

来源&#xff1a;https://cset.georgetown.edu/publication/trends-in-robotics-patents/?utm_sourceCenterforSecurityandEmergingTechnology&utm_campaigna76a55404a-TrendsinRoboticsPatents&utm_mediumemail&utm_term0_fcbacf8c3e-a76a55404a-438303754原文标…

困扰热力学的三个妖精

来源&#xff1a; 集智俱乐部作者&#xff1a;Katie Robertson译者&#xff1a;潘佳栋 审校&#xff1a;张澳、梁金 编辑&#xff1a;邓一雪 热力学是一个奇怪的理论。它虽然是我们理解世界的基础&#xff0c;但与其他物理理论有很大的不同。出于这个原因&#xff0c;它被称为物…

数据结构——堆栈的C语言实现

1.什么叫堆栈&#xff1f; 2.堆栈的数据类型描述 3.堆栈顺序存储的C语言实现 #include<stdio.h> #include<stdlib.h>#define MaxSize 10 #define ERROR -1 #define ElementType int typedef struct SNode *Stack; struct SNode{ElementType Data[MaxSize];int Top…

引用数据类型(类)

提到引用数据类型&#xff08;类&#xff09;&#xff0c;其实我们对它并不陌生&#xff0c;如使用过的Scanner类、Random类。 我们可以把类的类型为两种&#xff1a; l 第一种&#xff0c;Java为我们提供好的类&#xff0c;如Scanner类&#xff0c;Random类等&#xff0c;这些…

11位院士专家建言基础研究

来源&#xff1a; 中国科学报作者&#xff1a; 陈欢欢 胡珉琦 ■本报记者 陈欢欢 胡珉琦基础研究是否完全是自由探索&#xff1f;如何加强新时代的基础研究&#xff1f;如何打造一支潜心基础研究的科研队伍&#xff1f;11月15日&#xff0c;在中国科学院加强基础研究座谈会上&a…

数据结构——队列的C语言实现

1.什么是队列&#xff1f; 2.队列的抽象数据类型描述 3.队列之顺序表的C语言实现 #include<stdio.h> #include<stdlib.h>#define MaxSize 5 #define ElementType int #define ERROR -1typedef struct QNode *Queue; struct QNode{ElementType Data[MaxSize];int r…

java连接sqlserver报错

使用Java进行项目开发&#xff0c;一般是使用MySQL数据库&#xff0c;由于项目需要本次换成了SQLServer数据库&#xff0c;在eclipse中进行连接测试时驱动类、URL地址、用户名和密码都正确&#xff0c;但是会抛出以下异常&#xff0c;无法正确连接到SQLServer数据库 com.micros…

李德毅院士:新一代人工智能十问

来源&#xff1a;智能系统学报编辑&#xff1a;王娜 审核&#xff1a;李雪莲--- 基本共识 ---智能是学习的能力&#xff0c;以及解释、解决问题的能力&#xff1b;人工智能是脱离生命体的智能&#xff0c;是人类智能的体外延伸&#xff1b;通用人工智能面向不同的情境&a…

数据结构——树的C语言实现

文章目录1.什么是树&#xff1f;2.如何判断是否是树&#xff1f;3.树的基本术语4.树的表示方法5.二叉树的定义6.特殊二叉树7.二叉树的性质8.二叉树的抽象数据类型定义9.二叉树的存储结构9.1顺序存储9.2 链表存储10.二叉树的遍历10.1 二叉树的遍历方法1.递归遍历2.层序遍历10.2 …

Gartner:为什么元宇宙商业离我们还很遥远?

来源&#xff1a;云技术(文&#xff1a;Gartner杰出研究副总裁Mark Raskino&#xff09;我记得第二人生&#xff08;Second Life&#xff09;的创始人Philip Rosedale说过&#xff1a;“请打开您的防火墙&#xff0c;进入到我们的世界中&#xff01;”他曾在台上接受过我的同事…

数据结构——二叉搜索树的C语言实现

1.什么是二叉搜索树&#xff1f; 2.二叉搜索树的操作 3.二叉搜索树的C语言实现 #include<stdio.h> #include<stdlib.h>#define ElementType int typedef struct TreeNode *BinTree; typedef BinTree Position; struct TreeNode{ElementType Data;BinTree Left;Bin…

模拟整个地球:英伟达Earth-2超级计算机即将上线

来源&#xff1a;机器之心未来几十年的世界将会发生什么变化&#xff0c;英伟达决定制造一台超级计算机来模拟整个地球。「如何让我们的未来在今天就变成现实呢&#xff1f;答案就是模拟&#xff0c;」英伟达创始人、CEO黄仁勋说道。上周二的GTC大会上&#xff0c;英伟达提出了…

数据结构——堆的C语言实现

1.什么是堆&#xff1f; 2.堆的抽象数据类型描述 3.堆的C语言实现 #include<stdio.h> #include<stdlib.h>#define ElementType int #define MaxData 100 typedef struct HeapStruct *MaxHeap; struct HeapStruct{ElementType *Elements;int Size;int Capacity; };…

洛谷P1067 多项式输出

.. 题目描述 一元nn次多项式可用如下的表达式表示&#xff1a; f(x)a_nx^na_{n-1}x^{n-1}\cdots a_1xa_0,a_n\ne 0f(x)an​xnan−1​xn−1⋯a1​xa0​,an​≠0 其中&#xff0c;a_ix^iai​xi称为ii次项&#xff0c;a_iai​ 称为ii次项的系数。给出一个一元多项式各项的次数和系…

李飞飞团队:如何制造更聪明的人工智能?让人工生命在复杂环境中进化

来源&#xff1a;集智俱乐部作者&#xff1a;郭瑞东 审校&#xff1a;张澳 编辑&#xff1a;邓一雪 论文题目&#xff1a;Embodied intelligence via learning and evolution论文链接&#xff1a;https://www.nature.com/articles/s41467-021-25874-z1. 智能和身体形态有关动物…

数据结构——图的C语言实现

文章目录1.什么是图&#xff1f;2.图的抽象数据结构3.如何在程序中表示一个图&#xff1f;3.1 邻接矩阵3.2 邻接表4.图的遍历4.1 深度优先搜索4.2 广度优先搜索5.图的C语言实现1.什么是图&#xff1f; 2.图的抽象数据结构 3.如何在程序中表示一个图&#xff1f; 3.1 邻接矩阵 …

张亚勤院士谈“智能计算新趋势”

来源&#xff1a;人工智能计算大会作为第四次工业革命的核心&#xff0c;人工智能已经成为全球新一轮科技革命和产业变革的核心驱动力。在2021人工智能计算大会&#xff08;AICC 2021&#xff09;上&#xff0c;清华大学智能科学讲席教授、美国艺术与科学院院士张亚勤带来了《智…

神经网络支持大脑是「预测机器」,预测是节能的

来源&#xff1a;ScienceAI编译&#xff1a;绿萝我们的大脑&#xff0c;一个包裹在骨性头骨内的三磅重的组织&#xff0c;如何从感觉中产生知觉是一个长期存在的谜。大量证据和数十年的持续研究表明&#xff0c;大脑不能像拼拼图一样&#xff0c;简单地组合感官信息来感知周围环…

元宇宙不是下一代互联网,而是人类群体思维空间或梦境世界的具现

前言&#xff1a;本文是根据6G俱乐部举办的6G与元宇宙研讨会上的发言整理形成作者&#xff1a;刘锋目前&#xff0c;业内有一种声音提出元宇宙是下一代互联网&#xff0c;之前WEB2.0、物联网、移动互联网和区块链爆发的时候也曾经这样表达过&#xff0c;如果从互联网的发展历史…