CN113360418B - 一种系统测试方法以及装置 - Google Patents
一种系统测试方法以及装置 Download PDFInfo
- Publication number
- CN113360418B CN113360418B CN202110915298.9A CN202110915298A CN113360418B CN 113360418 B CN113360418 B CN 113360418B CN 202110915298 A CN202110915298 A CN 202110915298A CN 113360418 B CN113360418 B CN 113360418B
- Authority
- CN
- China
- Prior art keywords
- tpc
- test
- transaction
- simulation
- target system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种系统测试方法以及装置,用于将TPC‑W测试任务拆分成两个阶段,由初步的第一阶段筛选出不满足TPC‑W测试基准的待测系统,进而可在一定程度上提高TPC‑W测试效率。
Description
技术领域
本申请涉及测试领域,具体涉及一种系统测试方法以及装置。
背景技术
TPC-W测试基准,可以理解为针对如网上书店这类电子商务环境的数据库测试,或者,也可以称为针对web服务系统的系统测试,其规范了涉及的电子商务网络事务交易的类型以及性能指标。
可以理解,TPC-W测试基准是从理论层面上对测试进行规范的,而实际操作中,需要在其规范范围内做出相应的测试工具,符合其测试要求即可,因此,在测试工具的研发工作中,还可能碰到TPC-W测试基准在理论层面上未考虑到的实际问题。
而在现有的相关技术的研究过程中,发明人发现,现有的TPC-W测试工具,其在部分测试场景中存在测试效率较差的问题。
发明内容
本申请提供了一种系统测试方法以及装置,用于将TPC-W测试任务拆分成两个阶段,由初步的第一阶段筛选出不满足TPC-W测试基准的待测系统,进而可在一定程度上提高TPC-W测试效率。
第一方面,本申请提供了一种系统测试方法,方法包括:
测试设备在触发对目标系统的TPC-W测试任务后,配置TPC-W测试任务对应的用户模拟程序以及TPC-W模拟事务,TPC-W测试任务为在TPC-W测试基准下进行的系统测试任务,TPC-W测试任务包括第一阶段以及第二阶段,TPC-W模拟事务包括第一阶段对应的第一TPC-W模拟事务以及第二阶段对应的第二TPC-W模拟事务;
测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第一TPC-W模拟事务;
测试设备采集目标系统对于第一TPC-W模拟事务的响应结果;
当第一TPC-W模拟事务的响应结果中的页面响应时长小于TPC-W测试基准中的时长限制时,测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第二TPC-W模拟事务;
测试设备采集目标系统对于第二TPC-W模拟事务的响应结果,并在预设的测试需求下根据第二TPC-W模拟事务的响应结果分析得到目标系统的TPC-W测试结果,TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
结合本申请第一方面,在本申请第一方面第一种可能的实现方式中,原子性测试结果的ACID测试处理包括:
执行Trade-Order事务,并将输入参数roll_it_back标志设置为0;
验证是否已在TRADE以及TRADE_HISTORY表中插入了相应的行,若是则确定Trade-Order事务的语句已被执行,符合原子性特性;
以及,
执行Trade-Order事务,并将输入参数roll_it_back标志设置为1;
验证与Trade-Order事务相应的行是否没有分别插入到TRADE表以及TRADE_HISTORY表,若是则确定Trade-Order事务的语句已被执行,符合原子性特性。
结合本申请第一方面,在本申请第一方面第二种可能的实现方式中,一致性测试结果的ACID测试处理包括:
BROKER表以及TRADE表中的条目满足以下关系:
B_NUM_TRADES = count(*);
统计条件(B_ID = CA_B_ID)and(CA_ID = T_CA_ID)and(T_ST_ID =“CMPT”);
以及,
BROKER表以及TRADE表中的条目满足以下关系:
B_COMM_TOTAL =sum(T_COMM);
统计条件(B_ID = CA_B_ID)and(CA_ID = T_CA_ID)and(T_ST_ID =“CMPT”);
以及,
HOLDING_SUMMARY表以及HOLDING表中的条目满足以下关系:
HS_QTY = sum(H_QTY);
统计条件(HS_CA_ID = H_CA_ID)and(HS_S_SYMB = H_S_SYMB)。
结合本申请第一方面,在本申请第一方面第三种可能的实现方式中,隔离性测试结果的ACID测试处理包括:
选取部分的模拟事务,并构造不同的并发事务冲突事件,并发事务冲突事件的冲突类型包括脏写、脏读、不可重复读以及幻读;
在并发事务冲突事件的事件处理结果的基础上,根据预设表中的隔离级别以及允许发生的读写冲突现象,确定目标系统的隔离级别,作为隔离性测试结果。
结合本申请第一方面,在本申请第一方面第四种可能的实现方式中,耐久性测试结果的ACID测试处理包括:
触发正在运行的目标系统产生断电故障事件,待目标系统重启恢复运行后查看已完成的事务数据是否已持久化保存,若是则符合耐久性特性。
第二方面,本申请提供了一种系统测试装置,装置包括:
配置单元,用于在触发对目标系统的TPC-W测试任务后,配置TPC-W测试任务对应的用户模拟程序以及TPC-W模拟事务,TPC-W测试任务为在TPC-W测试基准下进行的系统测试任务,TPC-W测试任务包括第一阶段以及第二阶段,TPC-W模拟事务包括第一阶段对应的第一TPC-W模拟事务以及第二阶段对应的第二TPC-W模拟事务;
发起单元,用于通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第一TPC-W模拟事务;
采集单元,用于采集目标系统对于第一TPC-W模拟事务的响应结果;
发起单元,还用于当第一TPC-W模拟事务的响应结果中的页面响应时长小于TPC-W测试基准中的时长限制时,测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第二TPC-W模拟事务;
采集单元,还用于采集目标系统对于第二TPC-W模拟事务的响应结果;
分析单元,用于在预设的测试需求下根据第二TPC-W模拟事务的响应结果,分析得到目标系统的TPC-W测试结果,TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
结合本申请第二方面,在本申请第二方面第一种可能的实现方式中,原子性测试结果的ACID测试处理包括:
执行Trade-Order事务,并将输入参数roll_it_back标志设置为0;
验证是否已在TRADE以及TRADE_HISTORY表中插入了相应的行,若是则确定Trade-Order事务的语句已被执行,符合原子性特性;
以及,
执行Trade-Order事务,并将输入参数roll_it_back标志设置为1;
验证与Trade-Order事务相应的行是否没有分别插入到TRADE表以及TRADE_HISTORY表,若是则确定Trade-Order事务的语句已被执行,符合原子性特性。
结合本申请第二方面,在本申请第二方面第二种可能的实现方式中,一致性测试结果的ACID测试处理包括:
BROKER表以及TRADE表中的条目满足以下关系:
B_NUM_TRADES = count(*);
统计条件(B_ID = CA_B_ID)and(CA_ID = T_CA_ID)and(T_ST_ID =“CMPT”);
以及,
BROKER表以及TRADE表中的条目满足以下关系:
B_COMM_TOTAL =sum(T_COMM);
统计条件(B_ID = CA_B_ID)and(CA_ID = T_CA_ID)and(T_ST_ID =“CMPT”);
以及,
HOLDING_SUMMARY表以及HOLDING表中的条目满足以下关系:
HS_QTY = sum(H_QTY);
统计条件(HS_CA_ID = H_CA_ID)and(HS_S_SYMB = H_S_SYMB)。
结合本申请第二方面,在本申请第二方面第三种可能的实现方式中,隔离性测试结果的ACID测试处理包括:
选取部分的模拟事务,并构造不同的并发事务冲突事件,并发事务冲突事件的冲突类型包括脏写、脏读、不可重复读以及幻读;
在并发事务冲突事件的事件处理结果的基础上,根据预设表中的隔离级别以及允许发生的读写冲突现象,确定目标系统的隔离级别,作为隔离性测试结果。
结合本申请第二方面,在本申请第二方面第四种可能的实现方式中,耐久性测试结果的ACID测试处理包括:
触发正在运行的目标系统产生断电故障事件,待目标系统重启恢复运行后查看已完成的事务数据是否已持久化保存,若是则符合耐久性特性。
第三方面,本申请提供了一种系统测试设备,包括处理器和存储器,存储器中存储有计算机程序,处理器调用存储器中的计算机程序时执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质存储有多条指令,指令适于处理器进行加载,以执行本申请第一方面或者本申请第一方面任一种可能的实现方式提供的方法。
从以上内容可得出,本申请具有以下的有益效果:
针对于待测系统的TPC-W测试,本申请测试设备在触发对目标系统的TPC-W测试任务后,配置TPC-W测试任务对应的用户模拟程序以及TPC-W模拟事务,该TPC-W测试任务包括第一阶段以及第二阶段,TPC-W模拟事务包括第一阶段对应的第一TPC-W模拟事务以及第二阶段对应的第二TPC-W模拟事务,接着,测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第一TPC-W模拟事务,并采集目标系统对于第一TPC-W模拟事务的响应结果,此时当第一TPC-W模拟事务的响应结果中的页面响应时长小于TPC-W测试基准中的时长限制时,则通过第一阶段,进入第二阶段,继续通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第二TPC-W模拟事务,测试设备采集目标系统对于第二TPC-W模拟事务的响应结果,并在预设的测试需求下根据第二TPC-W模拟事务的响应结果分析得到目标系统的TPC-W测试结果,在这测试机制下,由于本申请将TPC-W测试任务拆分成两个阶段,由初步的第一阶段筛选出不满足TPC-W测试基准的待测系统,进而可在一定程度上提高TPC-W测试效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请系统测试方法的一种流程示意图;
图2为本申请TPC-W模拟事务的一种场景示意图;
图3为本申请目标系统中不同数据表之间的一种关系示意图;
图4为本申请TPC-W测试的一种场景示意图;
图5为本申请TPC-W测试的又一种场景示意图;
图6为本申请TPC-W测试的又一种场景示意图;
图7为本申请ACID特性测试的一种场景示意图;
图8为本申请系统测试装置的一种结构示意图;
图9为本申请系统测试设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
本申请中所出现的模块的划分,是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
在介绍本申请提供的系统测试方法之前,首先介绍本申请所涉及的背景内容。
本申请提供的系统测试方法、装置以及计算机可读存储介质,可应用于系统测试设备上,用于将TPC-W测试任务拆分成两个阶段,由初步的第一阶段筛选出不满足TPC-W测试基准的待测系统,进而可在一定程度上提高TPC-W测试效率。
本申请提及的系统测试方法,其执行主体可以为系统测试装置,或者集成了该系统测试装置的服务器、物理主机或者用户设备(User Equipment,UE)等类型的系统测试设备。其中,系统测试装置可以采用硬件或者软件的方式实现,UE具体可以为智能手机、平板电脑、笔记本电脑、台式电脑或者个人数字助理(Personal Digital Assistant,PDA)等终端设备,系统测试设备可以通过设备集群的方式设置。
示例性的,在实际应用场景中,系统测试设备一般为开发TPC-W测试测试工具的公司的设备,也可以为服务器用户自身的设备,在调试、购买或者使用系统时,可根据系统的TPC-W测试需求,执行本申请提供的系统测试方法,便捷地进行TPC-W测试。
系统测试设备除了可以为本地设备,其设备形式还可能是本地设备部分以及云端服务器部分的结合,如此可通过远端服务器部分远程对本地设备部分分发TPC-W测试任务,触发本地设备部分执行TPC-W测试任务,
参阅图1,图1示出了本申请系统测试方法的一种流程示意图,本申请提供的系统测试方法,具体可包括如下步骤S101至步骤S105:
步骤S101,测试设备在触发对目标系统的TPC-W测试任务后,配置TPC-W测试任务对应的用户模拟程序以及TPC-W模拟事务,TPC-W测试任务为在TPC-W测试基准下进行的系统测试任务,TPC-W测试任务包括第一阶段以及第二阶段,TPC-W模拟事务包括第一阶段对应的第一TPC-W模拟事务以及第二阶段对应的第二TPC-W模拟事务;
可以理解,在对待测系统,即目标系统具有TPC-W测试需求时,可触发测试设备对其执行TPC-W测试基准下的TPC-W测试。
此时,可配置测试所需的用户模拟程序以及TPC-W模拟事务,对于TPC-W测试,可以理解为还原目标系统的实际应用场景,来测试目标系统的性能。具体的,可通过用户模拟程序模拟目标系统的用户,并高并发模式向目标系统发起TPC-W模拟事务。
对于用户模拟程序以及TPC-W模拟事务的配置处理,在实际应用中,既可以理解为从其他设备处或者本地的存储空间调取TPC-W测试所需的测试数据,并从该测试数据中提取所需的数据,运行用户模拟程序,抓取或者生成TPC-W模拟事务;也可以理解为继续运行原本运行的用户模拟程序,抓取或者生成TPC-W模拟事务。
也就是说,用户模拟程序以及TPC-W模拟事务,其两者的配置处理,可以是预先完成的,若当前触发了新的TPC-W测试,继续运行用户模拟程序或者抓取TPC-W模拟事务即可,或者也可以是实时完成的,若当前触发了新的TPC-W测试,可启动用户模拟程序或者生成TPC-W模拟事务。
其中,对于TPC-W模拟事务,其还原的是TPC-W测试基准下规范的电子商务环境中可涉及到的处理事务。
TPC-W测试基准规范了14种典型的电子商务网络事务交易,其中分为浏览和订单两大类,分别代表查询事务和数据更新事务。
浏览事务包括站点主页访问、新书介绍、畅销书浏览等类型的事务;
订单事务包括客户注册、购买申请、购买确认等类型的事务。
这些不同类型的事务,可结合图2示出的本申请TPC-W模拟事务的一种场景示意图进行理解。
图2所示场景,描述了TPC-W测试基准中所规定的14种事务之间的相互关联情况,以及通过何种方式在各个页面之间跳转。
例如,有些页面之间是通过点击页面上的按钮来实现跳转功能,有些页面是通过超链接来完成跳转功能,由此来模拟真实的网络书店等电子商务环境的工作流程。
另一方面,对于待测系统,即目标系统,其在TPC-W测试基准中,以网络书店为例,其定义为一个采用三层架构的电子书店的参数包含14个页面和8张数据表,这8 张表分别为CUSTOMER、COUNTRY、ADDRESS、ORDERS、ORDER_LINE、AUTHOR、CC_XACTS、ITEM,大小可以变,其具体描述可参考下表1:
表1- TPC-W数据库表
表名 | 描述 |
CUSTOMER | 客户信息表 |
ORDER | 订货信息表 |
ORDER_LINE | 定单表 |
ITEM | 货物信息表 |
ADDRESS | 客户地址信息表 |
COUNTRY | 客户国籍信息表 |
CC_XACTS | 信用卡事务信息表 |
AUTHOR | 作者信息表 |
除了 COUNTRY的 行 数 固 定 的 92 行 外,其 它 表 的 行 数 分 别 是:
CUSTOMER=2880 * (EB数量);
ADDRESS=2 * CUSTOMER;
ORDERS=0.9 *CUSTOMER;
ORDER_LINE=3 * ORDERS;
AUTHOR=0.25 * ITEM;
CC_XACTS=1 * ORDERS;
另外,ITEM的行数在 1k、10k、100k、1M、10M 中选择。
各表之间的关系可参考图3示出的本申请目标系统中不同数据表之间的一种关系示意图。
对于图3,存在以下定义:
1.虚线部分表示非键值属性通过使用商业规则进行关联的一对一关系。
2.箭头表示各个表中一对多关系的对应方向。
3.粗体表示主键和外键。
这8张数据表的表名及其长度定义如下表2:
表2-表名及其长度限制
回到测试设备侧,即本地侧,可以理解,TPC-W模拟事务的事务内容与上述目标系统中的数据表的表内容相对应的。
此外,TPC-W测试基准规范的14种事务比例分布表如下表3:
表3-TPC-W事务比例分布表
对于目标系统的架构,在TPC-W测试基准中,也对其进行了规范。
结合图4示出的本申请TPC-W测试的一种场景示意图,目标系统(SUT)由Web服务器、交换机和数据库服务器组成;
其中,Web服务器是远程浏览器模拟器和待测系统的连接点,本地的每个远程浏览器所发出的http请求都会发送到Web服务器上,由Web服务器对http请求进行排队处理,并以先进先出(First Input First Output,FIFO)的原则对http请求进行事务处理,并将结果返回到各个远程浏览器上。
Web服务器提供两种服务,一种是图像存储服务,一种是事务处理服务。
1.其中图像存储服务主要是按照特定的目录结构将各个事务处理页面所需的图像文件进行存储,并根据远程浏览器所发出的请求将对应的图像文件发送到远程浏览器上。
2.事务处理服务是根据远程浏览器所发送过来的http请求中的事务类型以及事务运行所需的初始数据通过与数据库服务器进行交互操作来完成事务处理,并将处理结果数据动态生成HTML页面返回给远程浏览器。
远程浏览器模拟器(Remote Browser Emulator,RBE)的功能是生产数据的产生和统计结果的收集。通过一系列的随机函数,产生用户名、货物号等数据,并在发送URL时和接收到最后一个字节的数据时采集时间点,从而计算出每个页面处理所需的时间。
此外,测试设备本地的TPC-W测试程序,除了包括远程浏览器模拟器(可以理解为上述提及的用户模拟程序),还包括一个数据上载模块,该模块主要功能是根据测试标准的要求,创建数据库表,并对数据表进行数据加载。在数据加载完毕后,需要对数据库进行一致性检查,以保证数据上载的完整性。
继续的,还可参考图5示出的本申请TPC-W测试的又一种场景示意图,对于TPC-W测试基准,其并未强制要求特定的网络拓扑或服务器配置规范,如图5所示TPC-W测试场景中的配置环境:
RBE与支付网关仿真器(Payment Gateway Emulator,PGE)一起位于左侧,PGE模拟购买确认web交互的信用卡授权。SUT本身在右侧描述,包括几个执行不同的功能,Web服务器是RBE的联系点,所有web交互从对Web服务器的请求开始,它是向数据库服务器发送请求的Web服务器和PGE,并指示RBE从Web缓存和图像中获取html帧和图像服务器。
数据库服务器响应来自Web的请求服务器,数据库包含客户信息和订单信息,SUT必须还包括一些类型的负载平衡软件或硬件,以负载平衡RBE连接到各种服务器。这可以是一个独立的服务器,运行在其中一个Web缓存或映像上服务器或交换机本身。
上述介绍了TPC-W测试场景的大概环境内容,回到本申请,在配置TPC-W模拟事务时,相较于现有技术,本申请特别配置了对应两个TPC-W测试阶段的事务,具体的,即,本申请将TPC-W测试任务配置为第一阶段以及第二阶段,而TPC-W模拟事务具体可包括第一阶段对应的第一TPC-W模拟事务以及第二阶段对应的第二TPC-W模拟事务。
可以理解,该两阶段及其TPC-W模拟事务的划分,可以是在确定了本次的TPC-W测试任务时划分的,其划分规则可直接配置在任务数据中,也可以是在确定了本次的TPC-W测试任务后划分的,具体可随实际情况而定,在此不做限定。
配置用户模拟程序以及TPC-W模拟事务的过程,可以理解为处于TPC-W测试的准备阶段中,在准备阶段中,还可包括目标系统的基础参数统计以及为准备TPC-W测试所执行的相关的优化配置,例如参数优化、系统重启等,准备阶段完成后,则可开始发起TPC-W模拟事务,进入TPC-W测试的动态测试阶段。
步骤S102,测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第一TPC-W模拟事务;
在TPC-W测试的第一阶段中,测试设备先以并发模式,向目标系统发起在先配置的第一TPC-W模式事务中的大量事务,还原实际应用中涉及到大量用户的高并发场景。
步骤S103,测试设备采集目标系统对于第一TPC-W模拟事务的响应结果;
当目标系统接收到的TPC-W模拟事务后,可以产生相应的状态变化或者相应的数据,此时,测试设备可通过与目标系统之间的数据交互,接收目标系统反馈的对于TPC-W模拟事务的响应结果,或者,还可直接通过配置在目标系统的监控程序,监控目标系统对于TPC-W模拟事务的响应结果。
步骤S104,当第一TPC-W模拟事务的响应结果中的页面响应时长小于TPC-W测试基准中的时长限制时,测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第二TPC-W模拟事务;
参阅图6示出的本申请TPC-W测试的又一种场景示意图,在本申请中,对于TPC-W的第一阶段,其可以理解一种筛选机制,用于在测试前期直接筛选出不符合TPC-W测试基准要求的系统。
可以理解,在该第一阶段中,执行的第一TPC-W模拟事务,可以为正常TPC-W测试中涉及的TPC-W模拟事务,例如现有技术中在TPC-W测试中涉及的TPC-W模拟事务,也可以与后续的第二TPC-W模拟事务相同,也可以与后续的第二TPC-W模拟事务相同事务范围的TPC-W模拟事务等。
或者,还可以配置为凸显或者专门测出第一阶段的筛选机制中筛选元素的TPC-W模拟事务。
该第一阶段的筛选机制中筛选元素,可以理解为某种通过TPC-W测试基准的测试的必要系统性能指标,若能通过TPC-W测试基准的测试,则必然可通过该筛选元素的筛选处理,反之则意味着必然未能通过TPC-W测试基准的测试,无需进行更为繁杂的TPC-W测试。
在本申请中,第一阶段的筛选机制中的筛选元素,具体配置为页面响应时长元素。
如此,通过第一阶段的筛选,可第一时间内便捷地筛选出未能通过TPC-W测试基准的测试的系统,当未通过时,还可第一时间进行回滚操作、提醒用户、或者等待系统更新、重新发起新一轮的TPC-W测试任务,从整体上也可提高测试效率。
步骤S105,测试设备采集目标系统对于第二TPC-W模拟事务的响应结果,并在预设的测试需求下根据第二TPC-W模拟事务的响应结果分析得到目标系统的TPC-W测试结果,TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
在具体的性能分析处理中,是根据预设的性能指标进行的。
TPC-W测试基准,其性能测试技术指标,主要包括交易吞吐率、思考时长、响应时长、其他性能衡量指标(CPU使用率、内存使用率、系统I/0活动、web 服务器统计等)。
1.交易吞吐率
WIPS@SF:选定测试的比例因子下每秒的web交互次数。在WIPS@SF中,比例因子是数据库基本中的书籍详细信息表(ITEM表)中条目数。
WIPS@SF简称为WIPS。(以下的WIPSb、WIPSo一样省略@SF。)
$/WIPS@SF:正常商务模式下每个web交互的代价。
WIPSb:浏览模式下每秒的web交互次数(顾客较少购买而且大多数只需要浏览的网页)。在这其中,95%的访问是网页浏览(主页、新产品、最佳销售、产品细目和查询),而仅5%的是订购网页访问。
前端web服务器、图像服务器和web缓冲对该衡量指标影响较大。
WIPSo:订购模式下每秒的web交互次数(访问该主页的顾客侧重于购买)。在这其中,约50%的是订购网页访问。
该衡量指标侧重于反映数据库服务器性能。
在上面四个指标中,前两个可以认为是主要的,后两个可以认为是次要的。
2.思考时长
思考时长(Think Time,TT)的定义,可如下列公式所示:
TT=T2-T1;
其中,时间戳必须至少精确到0.1秒;T1和T2在模拟浏览器端测得。
T1=在上一个页交互的最后一个字节被来目标系统的模拟浏览器收到后所测量出的时刻;
T2=在下一个web交互的第一个HTTP请求的第一个字节被模拟浏览器送到目标系统之前所测量的时刻。
每个思考时长必须单独地从一个指数分布的相反数中获得,思考时长T必须从以下公式中计算。
T=-ln(r)*μ;
其中,1n是以e为底的自然对数;r=随机数字,至少有31位精度,并且来自于平均分布中,(0<r≤1);μ在7到8秒之间,μ的同一个值必须在所有web交互中使用,且在度量期间μ的值不能改变。
在每个度量期间的思考时长的平均持续时长(在整个web交互中合计)不小于7秒而不大于8秒。
3.响应时长
响应时长,即web交互响应时间(Web Interaction Response Time,WIRT),可通过下列公式计算。
WIRT=T2-T1;
其中,T1和T2在模拟浏览器端测得;T1=在页交互的第一个HTTP请求的第一个字节被模拟浏览器送到目标系统的所测量出的时刻;且T2=在最后一个HTTP响应完成页交互的最后一个来自SUT的字节被模拟浏览器收到所测量的时刻。
WIRT的测试要求如下:
1)时间戳必须至少精确到0.1秒;
2)尽管基准的目的是作为一个实际用户的经验测试响应时间,浏览器所需要的显示web页和对象的时间不包括在WIRT中;
3)为计算WIRT期间,只有成功的web交互包含在里面;
4)如果web交互请求建立一个到web服务器的链接(如首次主页交互或首次安全web交互),T1必须在连接请求前获得。
在每个度量间隔,至少每种类型的90%页交互必须小于下面表4的页交互所规定的对应的WIRT限制。例如,所有90%主页交互的WIRT必须小于3秒。
表4-90%网络交易响应时间限制表
网络交易事务 | 90%网络交易响应时间上限(秒) |
主站点访问(Home) | 3 |
新产品(New Product) | 5 |
畅销品(Best Seller) | 5 |
产品细目(Product Detail) | 3 |
查询请求(Search Request) | 3 |
查询结果(Search Result) | 10 |
购物车(Shopping Cart) | 3 |
顾客注册(Customer Registration) | 3 |
购买请求(Buy Request) | 3 |
购买确认(Buy Confirm) | 5 |
订单查询(Order Inquiry) | 3 |
订单显示(Order Display) | 3 |
管理请求(Admin Request) | 3 |
管理确认(Admin Confirm) | 20 |
4.其他性能指标
1)CPU使用率
CPU忙的时间占系统运行总时间的比例,该项性能指标体现了web服务器和数据库服务器在运算处理能力方面的潜力。
2)内存使用率
由主操作系统分配和控制内存的方式,表明操作系统和/或数据库管理系统(Database Management System,DBMS)怎样有效的支持TPC-W的基准要求,并且满足下面三个方面:
①必须报告每个测试间隔对SUT可用的物理内存总量。
②必须报告数据库共享池的总量。
③报告操作系统页大小。
3)系统I/0活动
要求报告在每个测试期间的整个系统的I/0比率(包括网络I/0)和磁盘I/0,系统中的每个磁盘设备的平均I/0 比率,数据传输大小和读取时间,映射到磁盘设备的逻辑结构。总的I/0 比率不能通过单个I/0比率来计算,必须通过I/0总数除以测试间隔来计算。
4)web服务器统计
网络服务器统计(其中一些在web服务器访问日志)中要求报告以下指标。
①每秒连接数:由远程模拟竞争者请求和由SUT接收的连接数。目的是仅计算在产生基准负载时RBE的新的成功连接数。
②每秒HTTP请求数:每秒内收到的HTTP请求数。计算在产生基准负载时由远程浏览器竞争者(Remote Browser Emulator,RBE)产生的请求数。
③每秒HTTP错误数:每秒内导致错误的RBE请求数。
对于ACID特性测试,其具体包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及耐久性(Durability)四项测试,
举例而言,对于目标系统涉及的数据库系统,一个事务是指由一系列数据库操作组成的一个完整的逻辑过程,例如银行转账,包括从原账户扣除金额以及向目标账户添加金额,这两个数据库操作的总和构成一个完整的逻辑过程,不可拆分,这个过程被称为一个事务,具有ACID特性。
对于ACID特性,其包括:
1)原子性
数据库的事务处理组件必须以要么全有,要么全无的方式执行。
例如,如果一个数据库的事务处理包括删除4个对象,虽然它们各自是独立的对象但也要一起被删除,三个被删除了,但是最后一个有些原因没有被删除是不允许的。
2)一致性
数据库上的操作从一个定义好的状态到下一个状态,中间状态是不可见的。
例如,如果用户向数据库里添加一个对象A,然后对用户来说好像没有办法得到一个部分的对象A,数据库不应该出现一种操作半完成的状态。
3)独立性
数据库的多事务处理彼此间是无法察觉的。所以如果两个用户想同时修改同一个对象,数据库必须有一种机制使他们可以顺序访问这个对象,以便于既妨碍不到用户工作,也让其他用户看不到对方。
4)耐久性
一旦一个事务处理应用到数据库,所做的工作便不会丢失,即使遇到硬件或者软件错误。所以在数据库上执行一个删除3个对象的操作,在执行到删除第二个对象的时候系统崩溃了,当系统重启后,数据库不仅可以自我恢复,连未完成的事务,也将得到恢复。
其中,本申请认为,ACID特性测试需要在TPC-W测试前与测试后各运行一遍,以保证数据库系统在经过复杂的并发事务操作后仍然满足ACID各项特性的要求。
可以看出,上述ACID特性的四项性能指标,其在TPC-W测试基准中是从大体的层面提出要求的,而对于实际应用中,则还需提出进一步的、更为实际的处理策略,以衡量、反应出原子性、一致性、隔离性以及耐久性这四项特性。
参阅图7示出的本申请ACID特性测试的一种场景示意图,在本申请的实际应用中,还根据ACID的测试需求,设计了适于实用的不同测试用例,从而构造不同的场景进行更为精确的ACID测试。
1.对于原子性特性测试,其对应的ACID测试处理,主要检测事务中的所有语句是否全部执行,具体可以为:
执行Trade-Order事务,并将输入参数roll_it_back标志设置为0;
验证是否已在TRADE以及TRADE_HISTORY表中插入了相应的行,若是则确定所述Trade-Order事务的语句已被执行,符合原子性特性;
以及,
执行所述Trade-Order事务,并将输入参数roll_it_back标志设置为1;
验证与所述Trade-Order事务相应的行是否没有分别插入到TRADE表以及TRADE_HISTORY表,若是则确定所述Trade-Order事务的语句已被执行,符合原子性特性。
2.对于一致性特性测试,其对应的ACID测试处理,主要检测数据库是否正确处理事务中的逻辑语句、数据库是否处于正确状态,具体可以为:
BROKER表以及TRADE表中的条目满足以下关系:
B_NUM_TRADES = count(*);
统计条件(B_ID = CA_B_ID)and(CA_ID = T_CA_ID)and(T_ST_ID =“CMPT”);
以及,
所述BROKER表以及所述TRADE表中的条目满足以下关系:
B_COMM_TOTAL =sum(T_COMM);
统计条件(B_ID = CA_B_ID)and(CA_ID = T_CA_ID)and(T_ST_ID =“CMPT”);
以及,
HOLDING_SUMMARY表以及HOLDING表中的条目满足以下关系:
HS_QTY = sum(H_QTY)
统计条件(HS_CA_ID = H_CA_ID)and(HS_S_SYMB = H_S_SYMB)。
3.对于隔离性特性测试,其对应的ACID测试处理,主要检测多个事务并发时每个事务不受其他事务影响的隔离能力,具体可以为:
选取部分的模拟事务,并构造不同的并发事务冲突事件,所述并发事务冲突事件的冲突类型包括脏写、脏读、不可重复读以及幻读;
在所述并发事务冲突事件的事件处理结果的基础上,根据预设表中的隔离级别以及允许发生的读写冲突现象,确定所述目标系统的隔离级别,作为隔离性测试结果。
此处提及的脏写、脏读、不可重复读以及幻读四种冲突类型,以及预设表的内容具体可详见下面内容。
对于两个事务T1与T2,并发时可能出现以下四种冲突现象:
1)P0(脏写):T2开始并修改或者插入数据R,T1开始并修改或删除数据R,T1提交,T2可能执行基于数据R的其他操作,T2提交。(一个事务的更新覆盖了另一个事务的更新。)
2)P1(脏读):T2开始并修改或插入数据R,T1开始并读取更改后的数据R,T1可能执行基于数据R的其他操作,T1提交,T2回滚。(一个事务读取了另一个事务未提交的数据。)
3)P2(不可重复读):T1开始并读取R元素,T1可能执行基于数据R的其他操作,T2开始并修改或删除数据R,T2提交,T1再次读取数据R(数据R已被修改,与第一次读取值不一样),T1提交。(一个事务两次读取同一个数据,两次读取的数据不一致。)
4)P3(幻读):T1开始并读取满足<搜索条件>的数据,T1可能执行基于满足<搜索条件>数据的其他操作,T2开始并插入或删除满足<搜索条件>的数据,T2提交,T1再次读取满足<搜索条件>的数据(与第一次读取的结果条数不一样了),T1提交。(一个事务两次读取一个范围的记录,两次读取的记录数不一致。)
注意P2与P3的区别为:P2重在对同一条数据的修改,P3重在结果集条数的变化。P0、P1、P2、P3都会损害数据的一致性,使数据库处于不正确的状态。
事务的隔离性可分为四个级别,每个级别与冲突现象对应关系如下表5所示。
表5-隔离级别与现象
从表5中看出,系统的隔离级别/现象越高,其隔离性特性越佳。
4.对于耐久性特性测试,其对应的ACID测试处理,主要检测遇到系统崩溃时的数据恢复能力,具体可以为:
触发正在运行的所述目标系统产生断电故障事件,待所述目标系统重启恢复运行后查看已完成的事务数据是否已持久化保存,若是则符合耐久性特性。
从以上内容可看出,从整体层面上,由于本申请将TPC-W测试任务拆分成两个阶段,由初步的第一阶段筛选出不满足TPC-W测试基准的待测系统,进而可在一定程度上提高TPC-W测试效率。
而在细节上,本申请还为ACID特性测试涉及的四项测试,分别提出了适于实用的测试方法,从而,为TPC-W测试中涉及的ACID特性测试,提供更为实际、精确的数据支持。
以上是本申请提供系统测试方法的介绍,为便于更好的实施本申请提供的系统测试方法,本申请还从功能模块角度提供了系统测试装置。
参阅图8,图8为本申请系统测试装置的一种结构示意图,在本申请中,系统测试装置800具体可包括如下结构:
配置单元801,用于在触发对目标系统的TPC-W测试任务后,配置TPC-W测试任务对应的用户模拟程序以及TPC-W模拟事务,TPC-W测试任务为在TPC-W测试基准下进行的系统测试任务,TPC-W测试任务包括第一阶段以及第二阶段,TPC-W模拟事务包括第一阶段对应的第一TPC-W模拟事务以及第二阶段对应的第二TPC-W模拟事务;
发起单元802,用于通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第一TPC-W模拟事务;
采集单元803,用于采集目标系统对于第一TPC-W模拟事务的响应结果;
发起单元802,还用于当第一TPC-W模拟事务的响应结果中的页面响应时长小于TPC-W测试基准中的时长限制时,测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第二TPC-W模拟事务;
采集单元803,还用于采集目标系统对于第二TPC-W模拟事务的响应结果;
分析单元804,用于在预设的测试需求下根据第二TPC-W模拟事务的响应结果,分析得到目标系统的TPC-W测试结果,TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
在一种示例性的实现方式中,原子性测试结果的ACID测试处理包括:
执行Trade-Order事务,并将输入参数roll_it_back标志设置为0;
验证是否已在TRADE以及TRADE_HISTORY表中插入了相应的行,若是则确定Trade-Order事务的语句已被执行,符合原子性特性;
以及,
执行Trade-Order事务,并将输入参数roll_it_back标志设置为1;
验证与Trade-Order事务相应的行是否没有分别插入到TRADE表以及TRADE_HISTORY表,若是则确定Trade-Order事务的语句已被执行,符合原子性特性。
在又一种示例性的实现方式中,一致性测试结果的ACID测试处理包括:
BROKER表以及TRADE表中的条目满足以下关系:
B_NUM_TRADES = count(*);
统计条件(B_ID = CA_B_ID)and(CA_ID = T_CA_ID)and(T_ST_ID =“CMPT”);
以及,
BROKER表以及TRADE表中的条目满足以下关系:
B_COMM_TOTAL =sum(T_COMM);
统计条件(B_ID = CA_B_ID)and(CA_ID = T_CA_ID)and(T_ST_ID =“CMPT”);
以及,
HOLDING_SUMMARY表以及HOLDING表中的条目满足以下关系:
HS_QTY = sum(H_QTY);
统计条件(HS_CA_ID = H_CA_ID)and(HS_S_SYMB = H_S_SYMB)。
在又一种示例性的实现方式中,隔离性测试结果的ACID测试处理包括:
选取部分的模拟事务,并构造不同的并发事务冲突事件,并发事务冲突事件的冲突类型包括脏写、脏读、不可重复读以及幻读;
在并发事务冲突事件的事件处理结果的基础上,根据预设表中的隔离级别以及允许发生的读写冲突现象,确定目标系统的隔离级别,作为隔离性测试结果。
在又一种示例性的实现方式中,耐久性测试结果的ACID测试处理包括:
触发正在运行的目标系统产生断电故障事件,待目标系统重启恢复运行后查看已完成的事务数据是否已持久化保存,若是则符合耐久性特性。
本申请还从硬件结构角度提供了一种系统测试设备,参阅图9,图9示出了本申请系统测试设备的一种结构示意图,具体的,本申请系统测试设备可包括处理器901、存储器902以及输入输出设备903,处理器901用于执行存储器902中存储的计算机程序时实现如图1对应实施例中系统测试方法的各步骤;或者,处理器901用于执行存储器902中存储的计算机程序时实现如图8对应实施例中各单元的功能,存储器902用于存储处理器901执行上述图1对应实施例中系统测试方法所需的计算机程序。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器902中,并由处理器901执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
系统测试设备可包括,但不仅限于处理器901、存储器902、输入输出设备903。本领域技术人员可以理解,示意仅仅是系统测试设备的示例,并不构成对系统测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如系统测试设备还可以包括网络接入设备、总线等,处理器901、存储器902、输入输出设备903等通过总线相连。
处理器901可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是系统测试设备的控制中心,利用各种接口和线路连接整个设备的各个部分。
存储器902可用于存储计算机程序和/或模块,处理器901通过运行或执行存储在存储器902内的计算机程序和/或模块,以及调用存储在存储器902内的数据,实现计算机装置的各种功能。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据系统测试设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器901用于执行存储器902中存储的计算机程序时,具体可实现以下功能:
测试设备在触发对目标系统的TPC-W测试任务后,配置TPC-W测试任务对应的用户模拟程序以及TPC-W模拟事务,TPC-W测试任务为在TPC-W测试基准下进行的系统测试任务,TPC-W测试任务包括第一阶段以及第二阶段,TPC-W模拟事务包括第一阶段对应的第一TPC-W模拟事务以及第二阶段对应的第二TPC-W模拟事务;
测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第一TPC-W模拟事务;
测试设备采集目标系统对于第一TPC-W模拟事务的响应结果;
当第一TPC-W模拟事务的响应结果中的页面响应时长小于TPC-W测试基准中的时长限制时,测试设备通过用户模拟程序模拟目标系统的用户,并以并发模式向目标系统发起第二TPC-W模拟事务;
测试设备采集目标系统对于第二TPC-W模拟事务的响应结果,并在预设的测试需求下根据第二TPC-W模拟事务的响应结果分析得到目标系统的TPC-W测试结果,TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统测试装置、设备及其相应单元的具体工作过程,可以参考如图1对应实施例中系统测试方法的说明,具体在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请如图1对应实施例中系统测试方法中的步骤,具体操作可参考如图1对应实施例中系统测试方法的说明,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(Read Only Memory,ROM)、随机存取记忆体(Random Access Memory,RAM)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请如图1对应实施例系统测试方法中的步骤,因此,可以实现本申请如图1对应实施例中系统测试方法所能实现的有益效果,详见前面的说明,在此不再赘述。
以上对本申请提供的系统测试方法、装置、设备以及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (8)
1.一种系统测试方法,其特征在于,所述方法包括:
测试设备在触发对目标系统的TPC-W测试任务后,配置所述TPC-W测试任务对应的用户模拟程序以及TPC-W模拟事务,所述TPC-W测试任务为在TPC-W测试基准下进行的系统测试任务,所述TPC-W测试任务包括第一阶段以及第二阶段,所述TPC-W模拟事务包括所述第一阶段对应的第一TPC-W模拟事务以及所述第二阶段对应的第二TPC-W模拟事务,所述第一TPC-W模拟事务具体用于测试页面响应时长;
所述测试设备通过所述用户模拟程序模拟所述目标系统的用户,并以并发模式向所述目标系统发起所述第一TPC-W模拟事务;
所述测试设备采集所述目标系统对于所述第一TPC-W模拟事务的响应结果;
当所述第一TPC-W模拟事务的响应结果中的页面响应时长小于TPC-W测试基准中的时长限制时,所述测试设备通过所述用户模拟程序模拟所述目标系统的用户,并以并发模式向所述目标系统发起所述第二TPC-W模拟事务;
所述测试设备采集所述目标系统对于所述第二TPC-W模拟事务的响应结果,并在预设的测试需求下根据所述第二TPC-W模拟事务的响应结果分析得到所述目标系统的TPC-W测试结果,所述TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,所述交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,所述ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
2.根据权利要求1所述的方法,其特征在于,所述原子性测试结果的ACID测试处理包括:
执行Trade-Order事务,并将输入参数roll_it_back标志设置为0;
验证是否已在TRADE以及TRADE_HISTORY表中插入了相应的行,若是则确定所述Trade-Order事务的语句已被执行,符合原子性特性;
以及,
执行所述Trade-Order事务,并将输入参数roll_it_back标志设置为1;
验证与所述Trade-Order事务相应的行是否没有分别插入到TRADE表以及TRADE_HISTORY表,若是则确定所述Trade-Order事务的语句已被执行,符合原子性特性。
3.根据权利要求1所述的方法,其特征在于,所述隔离性测试结果的ACID测试处理包括:
选取部分的模拟事务,并构造不同的并发事务冲突事件,所述并发事务冲突事件的冲突类型包括脏写、脏读、不可重复读以及幻读;
在所述并发事务冲突事件的事件处理结果的基础上,根据预设表中的隔离级别以及允许发生的读写冲突现象,确定所述目标系统的隔离级别,作为隔离性测试结果。
4.根据权利要求1所述的方法,其特征在于,所述耐久性测试结果的ACID测试处理包括:
触发正在运行的所述目标系统产生断电故障事件,待所述目标系统重启恢复运行后查看已完成的事务数据是否已持久化保存,若是则符合耐久性特性。
5.一种系统测试装置,其特征在于,所述装置包括:
配置单元,用于在触发对目标系统的TPC-W测试任务后,配置所述TPC-W测试任务对应的用户模拟程序以及TPC-W模拟事务,所述TPC-W测试任务为在TPC-W测试基准下进行的系统测试任务,所述TPC-W测试任务包括第一阶段以及第二阶段,所述TPC-W模拟事务包括所述第一阶段对应的第一TPC-W模拟事务以及所述第二阶段对应的第二TPC-W模拟事务;
发起单元,用于通过所述用户模拟程序模拟所述目标系统的用户,并以并发模式向所述目标系统发起所述第一TPC-W模拟事务;
采集单元,用于采集所述目标系统对于所述第一TPC-W模拟事务的响应结果;
所述发起单元,还用于当所述第一TPC-W模拟事务的响应结果中的页面响应时长小于TPC-W测试基准中的时长限制时,通过所述用户模拟程序模拟所述目标系统的用户,并以并发模式向所述目标系统发起所述第二TPC-W模拟事务;
所述采集单元,还用于采集所述目标系统对于所述第二TPC-W模拟事务的响应结果;
分析单元,用于在预设的测试需求下根据所述第二TPC-W模拟事务的响应结果,分析得到所述目标系统的TPC-W测试结果,所述TPC-W测试结果包括交易吞吐率测试结果以及ACID特性测试结果,所述交易吞吐率测试结果包括选定测试的比例因子下每秒的web交互次数WIPS@SF、正常商务模式下每个web交互的代价$/WIPS@SF、浏览模式下每秒的web交互次数WIPSb、订购模式下每秒的web交互次数WIPSo,所述ACID特性测试结果包括原子性测试结果、一致性测试结果、隔离性测试结果以及耐久性测试结果。
6.根据权利要求5所述的装置,其特征在于,所述原子性测试结果的ACID测试处理包括:
执行Trade-Order事务,并将输入参数roll_it_back标志设置为0;
验证是否已在TRADE以及TRADE_HISTORY表中插入了相应的行,若是则确定所述Trade-Order事务的语句已被执行,符合原子性特性;
以及,
执行所述Trade-Order事务,并将输入参数roll_it_back标志设置为1;
验证与所述Trade-Order事务相应的行是否没有分别插入到TRADE表以及TRADE_HISTORY表,若是则确定所述Trade-Order事务的语句已被执行,符合原子性特性。
7.根据权利要求5所述的装置,其特征在于,所述隔离性测试结果的ACID测试处理包括:
选取部分的模拟事务,并构造不同的并发事务冲突事件,所述并发事务冲突事件的冲突类型包括脏写、脏读、不可重复读以及幻读;
在所述并发事务冲突事件的事件处理结果的基础上,根据预设表中的隔离级别以及允许发生的读写冲突现象,确定所述目标系统的隔离级别,作为隔离性测试结果。
8.根据权利要求5所述的装置,其特征在于,所述耐久性测试结果的ACID测试处理包括:
触发正在运行的所述目标系统产生断电故障事件,待所述目标系统重启恢复运行后查看已完成的事务数据是否已持久化保存,若是则符合耐久性特性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110915298.9A CN113360418B (zh) | 2021-08-10 | 2021-08-10 | 一种系统测试方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110915298.9A CN113360418B (zh) | 2021-08-10 | 2021-08-10 | 一种系统测试方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113360418A CN113360418A (zh) | 2021-09-07 |
CN113360418B true CN113360418B (zh) | 2021-11-05 |
Family
ID=77540883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110915298.9A Active CN113360418B (zh) | 2021-08-10 | 2021-08-10 | 一种系统测试方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360418B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561036A (zh) * | 2004-02-24 | 2005-01-05 | 华中科技大学 | 基于tpc-w基准的网站服务器性能测试系统 |
CN101179360A (zh) * | 2006-06-22 | 2008-05-14 | 国际商业机器公司 | 用于管理感觉的响应时间的方法和系统 |
CN101334742A (zh) * | 2008-08-05 | 2008-12-31 | 中国科学院软件研究所 | 一种Java EE应用服务器并发处理方法 |
CN103034525A (zh) * | 2012-12-07 | 2013-04-10 | 湖南工程学院 | 云计算环境中一种基于性能计数器的虚拟机功耗测量方法 |
CN103295992A (zh) * | 2008-10-10 | 2013-09-11 | 住友电木株式会社 | 半导体装置 |
CN103955423A (zh) * | 2013-12-25 | 2014-07-30 | 中软信息系统工程有限公司 | 一种国产jvm的测试评估方法 |
CN104142874A (zh) * | 2013-12-25 | 2014-11-12 | 中软信息系统工程有限公司 | 一种测试评估国产cpu事务处理能力的方法 |
CN106502907A (zh) * | 2016-10-28 | 2017-03-15 | 中国科学院软件研究所 | 一种基于执行轨迹追踪的分布式软件异常诊断方法 |
CN110069406A (zh) * | 2019-03-29 | 2019-07-30 | 梁俊杰 | 自动触发的tpc-ds测试方法以及系统 |
CN110740079A (zh) * | 2019-10-16 | 2020-01-31 | 北京航空航天大学 | 一种面向分布式调度系统的全链路基准测试系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7409676B2 (en) * | 2003-10-20 | 2008-08-05 | International Business Machines Corporation | Systems, methods and computer programs for determining dependencies between logical components in a data processing system or network |
JP4208079B2 (ja) * | 2004-05-14 | 2009-01-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースサーバ、プログラム、記録媒体、及び制御方法 |
CN109726014B (zh) * | 2018-12-29 | 2023-07-11 | 深圳市力豪信息技术服务有限公司 | 基于Netty的Rpc客户端在性能测试平台中的实现方法、系统、服务器及存储介质 |
-
2021
- 2021-08-10 CN CN202110915298.9A patent/CN113360418B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1561036A (zh) * | 2004-02-24 | 2005-01-05 | 华中科技大学 | 基于tpc-w基准的网站服务器性能测试系统 |
CN101179360A (zh) * | 2006-06-22 | 2008-05-14 | 国际商业机器公司 | 用于管理感觉的响应时间的方法和系统 |
CN101334742A (zh) * | 2008-08-05 | 2008-12-31 | 中国科学院软件研究所 | 一种Java EE应用服务器并发处理方法 |
CN103295992A (zh) * | 2008-10-10 | 2013-09-11 | 住友电木株式会社 | 半导体装置 |
CN103034525A (zh) * | 2012-12-07 | 2013-04-10 | 湖南工程学院 | 云计算环境中一种基于性能计数器的虚拟机功耗测量方法 |
CN103955423A (zh) * | 2013-12-25 | 2014-07-30 | 中软信息系统工程有限公司 | 一种国产jvm的测试评估方法 |
CN104142874A (zh) * | 2013-12-25 | 2014-11-12 | 中软信息系统工程有限公司 | 一种测试评估国产cpu事务处理能力的方法 |
CN106502907A (zh) * | 2016-10-28 | 2017-03-15 | 中国科学院软件研究所 | 一种基于执行轨迹追踪的分布式软件异常诊断方法 |
CN110069406A (zh) * | 2019-03-29 | 2019-07-30 | 梁俊杰 | 自动触发的tpc-ds测试方法以及系统 |
CN110740079A (zh) * | 2019-10-16 | 2020-01-31 | 北京航空航天大学 | 一种面向分布式调度系统的全链路基准测试系统 |
Non-Patent Citations (2)
Title |
---|
TPC-W: A Benchmark for E-commerce;Daniel A. Menascé;《IEEE》;20020630;全文 * |
TPC-W总结;pty_2007;《https://blog.csdn.net/hzh2007/article/details/8501055》;20130114;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113360418A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106021079B (zh) | 一种基于用户频繁访问序列模型的Web应用性能测试方法 | |
CN106021045B (zh) | 一种linux系统下服务器硬盘IO性能的测试方法 | |
CN108446210A (zh) | 系统性能的度量方法、存储介质和服务器 | |
CN109471795A (zh) | 分组测试方法、装置、计算机设备及存储介质 | |
CN106503912A (zh) | 一种数据服务系统 | |
US9235607B1 (en) | Specifying a predetermined degree of inconsistency for test data | |
CN111367989B (zh) | 一种实时数据指标计算系统和方法 | |
CN111753016A (zh) | 数据处理方法、装置、系统及计算机可读存储介质 | |
Liu | Research of performance test technology for big data applications | |
CN110196680A (zh) | 数据处理方法、装置及存储介质 | |
Huang et al. | Data consistency properties of document store as a service (DSaaS): Using MongoDB Atlas as an example | |
CN113360418B (zh) | 一种系统测试方法以及装置 | |
CN116974874A (zh) | 数据库的测试方法、装置、电子设备及可读存储介质 | |
CN104281584A (zh) | Xml数据库性能测试系统及方法 | |
KR20180122111A (ko) | 공연 및 행사기획 대행 온오프라인 서비스 제공방법 | |
CN113656297A (zh) | 一种tpc-w测试方法、装置以及系统 | |
Holt | Scaling CouchDB: replication, clustering, and administration | |
Alhazmi | Computer aided disaster recovery planning tools (CADRP) | |
Xia et al. | Revisiting updating schemes for erasure-coded in-memory stores | |
CN111625458A (zh) | 业务系统测试方法、装置及设备 | |
CN117667750B (zh) | 测试用例生成、测试方法、装置、计算机设备及存储介质 | |
CN113742226B (zh) | 一种软件性能测试方法、装置、介质及电子设备 | |
Pinno et al. | Decreasing the management burden in multi-tier systems through partial correlation-based monitoring | |
Li et al. | Performance modeling and benchmarking of bank intermediary business on high-performance fault-tolerant computers | |
CN113778866A (zh) | 银行业务系统的测试方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |