CN112286798A - 一种可模拟真实用户场景的全链路压测系统及方法 - Google Patents

一种可模拟真实用户场景的全链路压测系统及方法 Download PDF

Info

Publication number
CN112286798A
CN112286798A CN202011117834.2A CN202011117834A CN112286798A CN 112286798 A CN112286798 A CN 112286798A CN 202011117834 A CN202011117834 A CN 202011117834A CN 112286798 A CN112286798 A CN 112286798A
Authority
CN
China
Prior art keywords
pressure measurement
data
application
module
scene
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.)
Pending
Application number
CN202011117834.2A
Other languages
English (en)
Inventor
于雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changchun Chuangshi Qilin Technology Co ltd
Original Assignee
Changchun Chuangshi Qilin Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Changchun Chuangshi Qilin Technology Co ltd filed Critical Changchun Chuangshi Qilin Technology Co ltd
Priority to CN202011117834.2A priority Critical patent/CN112286798A/zh
Publication of CN112286798A publication Critical patent/CN112286798A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

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)
  • Measuring Fluid Pressure (AREA)

Abstract

本发明公开了一种可模拟真实用户场景的全链路压测系统及方法,该系统包括:数据采集模块用于采集应用系统的系统数据、性能数据、业务数据和应用状态;场景数据存储模块用于分类存储系统数据、性能测试数据、业务数据和应用状态这些场景数据;压测模型建立模块基于所述场景数据建立压测模型;压测执行模块基于所述压测模型制定压测方法,并用于与所述场景数据关联的应用系统压测;压测控制模块用于在所述应用系统压测过程中进行人工和/或自动调整;压测报告生成模块用于生成应用系统的测试报告。本发明提供一种可模拟真实用户场景的全链路压测系统及方法,测试效率高,速度快,可适用各类应用系统,有利于提高用户体验。

Description

一种可模拟真实用户场景的全链路压测系统及方法
技术领域
本发明涉及全链路压测技术领域,具体涉及一种可模拟真实用户场景的全链路压测系统及方法。
背景技术
性能测试时通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。压力测试属于性能测试的一种,是通过确定一个系统的瓶颈或者不能接受的性能点来获得系统能提供的最大服务级别的测试。在真实的业务场景下,每个系统的压力都比较大,而系统之间是有相互依赖关系的,目前对于互联网应用的性能测试工作几乎都是采用线下测试,但线下测试方式不能考虑到依赖环节压力都比较大的情况,会引入很多不确定因素,导致需要反复进行测试,准确度不高而且操作繁琐。
发明内容
有鉴于此,本发明针对现有技术存在的问题,提供了一种可模拟真实用户场景的全链路压测系统及方法。本发明的技术方案为:
第一个方面,本发明提供一种可模拟真实用户场景的全链路压测系统,包括:
数据采集模块,用于采集应用系统的系统数据、性能数据、业务数据和应用状态;
场景数据存储模块,用于分类存储所述系统数据、所述性能测试数据、所述业务数据和所述应用状态这些场景数据;
压测模型建立模块,基于所述场景数据建立压测模型;
压测执行模块,基于所述压测模型制定压测方法,并用于与所述场景数据关联的应用系统压测;
压测控制模块,用于在所述应用系统压测过程中进行人工和/或自动调整;
压测报告生成模块,用于生成应用系统的测试报告。
第二个方面,本发明提供一种可模拟真实用户场景的全链路压测方法,包括以下步骤:
(1)先采集待测试应用系统的系数数据、性能数据、业务数据和应用状态,然后将这些数据放入场景数据存储模块中进行分类存储;
(2)根据数据存储模块中分类存储的应用系统的系数数据、性能数据、业务数据和应用状态,建立压测模型;
(3)根据建立的压测模型制定对该应用系统的压测方法,并用于该应用系统的线上压测;
(4)在线上压测过程中对采用的压测方法进行人工和/或自动调整以适应应用系统的真实状态;
(5)测试完毕,生成该应用系统的测试报告。
与现有技术相比,本发明可以获得包括以下技术效果:本发明提供一种可模拟真实用户场景的全链路压测系统及方法,可以针对单个任务场景或是多个任务场景进行性能测试,测试效率高,速度快,可适用各类应用系统,有利于提高用户体验。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本发明的全链路压测系统的结构示意图。
图2是本发明的Web系统压测模型的结构示意图。
图3是本发明的全链路压测方法的流程示意图。
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和具体的实施例对本发明做进一步详细说明,所述是对本发明的解释而不是限定。
参加图1为本发明提供的一种可模拟真实用户场景的全链路压测系统,包括:数据采集模块,场景数据存储模块,压测模型建立模块,压测执行模块,压测控制模块,压测报告生成模块。
其中,数据采集模块是用于采集应用系统在线上应用时的系统数据、性能数据、业务数据和应用状态;
场景数据存储模块是用于分类存储所述系统数据、所述性能测试数据、所述业务数据和所述应用状态这些场景数据;
压测模型建立模块是基于所述场景数据建立压测模型;压测模型包括业务模型和数据模型。其中业务模型是指所需进行的性能测试的各种业务场景,由待测试系统本身的架构决定,以Web系统业务模型为例,如图2所示。再就是数据模型,是指在进行性能测试时每种业务所对应的各方面的数据,包括:基础环境数据、并发量数据、业务数据量、监控的指标数据和基准指标数据等。
压测执行模块是基于所述压测模型制定压测方法,并用于与所述场景数据关联的应用系统压测。压测执行工具有ab、webbench、wrk、httpperf、mirror、tcpcopy、goReplay,根据不同的应用系统采用不同的压测工具,可以有效提高压测效率和准确率。
压测控制模块是用于在所述应用系统压测过程中进行人工和/或自动调整,目的是防止压测过程中出现某些偏差,这样采用人工或自动方式调整可以提升压测过程的准确性,特别是针对线上应用不太稳定的应用系统,进行人工或自动调整尤其必要。
压测报告生成模块是用于生成应用系统的测试报告。
实施例1
本实施例提供一种可模拟真实用户场景的全链路压测方法,针对的是WEB系统,采用上述系统,其流程框图如图3所示,包括以下步骤:
(1)先采集Web应用系统在线上试用时的系数数据、性能数据、业务数据和应用状态,在测试这些数据时,最好事先定义系统的最优配置,并且邀请用户、设计人员等对其进行评审,然后将这些数据放入场景数据存储模块中进行分类存储;
(2)根据数据存储模块中分类存储的应用系统的系数数据、性能数据、业务数据和应用状态,建立压测模型;
(3)根据建立的压测模型制定对该应用系统的压测方法,并用于该应用系统的线上压测;压力测试脚本采用数据驱动方式,那么为了保证测试过程顺利执行,必须对测试数据进行参数化。参数化后的数据与原数据类型应保持一致。设置测试数据的灵活性很大,对测试的结果影响也很大,需要根据情况具体分析。
(4)在线上压测过程中对采用的压测方法进行人工和/或自动调整以适应应用系统的真实状态;由于在压测过程中可能要模拟成百上千的并发用户,那么需要采用多台客户机同时进行测试,并且针对同一条浏览路径也应进行多次测试,测试之间的间隔时间是随机的,有时候因为测试环境的因素,有可能对运行服务器的配制进行手动调整,目的是获得比较客观的测试结果。
(5)测试完毕,生成该应用系统的测试报告,所有记录的数据汇总到测试报告中,然后进行分析,最好采用图形来比较、观察测试结果。压力测试的分析对象为以下5点:1)测试使用的时间和被测速的响应时间(有多少个用户同时运行);2)压力测试参与的进程个数,成功个数,失败个数;3)压力测试参与进程失败的原因;4)事务的响应时间随用户增加的变化图;5)资源限制。然后针对这些分析对象重新优化应用系统。
实施例2
本实施例提供一种可模拟真实用户场景的全链路压测方法,针对的是麒麟云平台,采用上述系统,压测方法同实施例1。麒麟代驾新版系统研发的最后阶段,经过了全链路压测并修改后,提高了系统的稳定性。首次上线时,成功顶住了晚间最大的流量洪峰,支撑了千万名代驾司机的同时在线,整晚总完成2亿8000万笔订单,并无一异常,此一役做出了突出的贡献。
综上,本发明提供一种可模拟真实用户场景的全链路压测系统及方法,可以针对单个任务场景或是多个任务场景进行性能测试,测试效率高,速度快,可适用各类应用系统,有利于提高用户体验。
如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
上述说明示出并描述了发明的若干优选实施例,但如前所述,应当理解发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离发明的精神和范围,则都应在发明所附权利要求的保护范围内。

Claims (2)

1.一种可模拟真实用户场景的全链路压测系统,其特征在于,包括:
数据采集模块,用于采集应用系统的系统数据、性能数据、业务数据和应用状态;
场景数据存储模块,用于分类存储所述系统数据、所述性能测试数据、所述业务数据和所述应用状态这些场景数据;
压测模型建立模块,基于所述场景数据建立压测模型;
压测执行模块,基于所述压测模型制定压测方法,并用于与所述场景数据关联的应用系统压测;
压测控制模块,用于在所述应用系统压测过程中进行人工和/或自动调整;
压测报告生成模块,用于生成应用系统的测试报告。
2.一种可模拟真实用户场景的全链路压测方法,其特征在于,是采用权利要求1所述的系统,该方法包括以下步骤:
(1)先采集待测试应用系统的系数数据、性能数据、业务数据和应用状态,然后将这些数据放入场景数据存储模块中进行分类存储;
(2)根据数据存储模块中分类存储的应用系统的系数数据、性能数据、业务数据和应用状态,建立压测模型;
(3)根据建立的压测模型制定对该应用系统的压测方法,并用于该应用系统的线上压测;
(4)在线上压测过程中对采用的压测方法进行人工和/或自动调整以适应应用系统的真实状态;
(5)测试完毕,生成该应用系统的测试报告。
CN202011117834.2A 2020-10-19 2020-10-19 一种可模拟真实用户场景的全链路压测系统及方法 Pending CN112286798A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011117834.2A CN112286798A (zh) 2020-10-19 2020-10-19 一种可模拟真实用户场景的全链路压测系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011117834.2A CN112286798A (zh) 2020-10-19 2020-10-19 一种可模拟真实用户场景的全链路压测系统及方法

Publications (1)

Publication Number Publication Date
CN112286798A true CN112286798A (zh) 2021-01-29

Family

ID=74496441

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011117834.2A Pending CN112286798A (zh) 2020-10-19 2020-10-19 一种可模拟真实用户场景的全链路压测系统及方法

Country Status (1)

Country Link
CN (1) CN112286798A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204451A (zh) * 2021-03-22 2021-08-03 北京中交兴路信息科技有限公司 一种对Redis集群的压力测试方法、系统、存储介质及终端
CN113760755A (zh) * 2021-08-23 2021-12-07 南京柏跃软件有限公司 一种基于海量数据的新型测试方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113204451A (zh) * 2021-03-22 2021-08-03 北京中交兴路信息科技有限公司 一种对Redis集群的压力测试方法、系统、存储介质及终端
CN113760755A (zh) * 2021-08-23 2021-12-07 南京柏跃软件有限公司 一种基于海量数据的新型测试方法

Similar Documents

Publication Publication Date Title
CN112286798A (zh) 一种可模拟真实用户场景的全链路压测系统及方法
CN108920341B (zh) 一种基于蒙特卡洛仿真的小卫星及其星座可用度评估方法
CN110633905B (zh) 智能车云平台可靠性计算方法及系统
CN112052172B (zh) 第三方通道的快速测试方法、装置和电子设备
US20140250336A1 (en) Machine and Methods for Evaluating Failing Software Programs
CN113561853A (zh) 燃料电池系统在线故障诊断方法及装置
CN112115029A (zh) 性能测试方法及装置、计算机设备及计算机可读存储介质
US20050203717A1 (en) Automated testing system, method and program product using testing map
Li et al. Research on cloud performance testing model
Cartaxo et al. Automated test case selection based on a similarity function
CN115840686A (zh) 一种服务器性能测试方法、装置、电子设备以及存储介质
Yilmaz et al. Adaptive test elimination for analog/RF circuits
CN106649099A (zh) 一种dns监测服务自动化测试方法与系统
CN115686898A (zh) 多级故障模式与影响分析方法、系统
CN110398651B (zh) 一种仪器电控系统的可靠性试验方法
CN109783263B (zh) 一种服务器老化测试故障的处理方法和系统
CN112860509A (zh) 拨测告警方法及装置
CN116028883A (zh) 分析发动机测试故障的方法、分析系统及计算机存储介质
CN106855841B (zh) 一种系统内存分析方法和装置
CN116758967A (zh) 内存质量检测方法及系统
CN113434408B (zh) 一种基于测试预言的单元测试用例排序方法
US20240055304A1 (en) Method and device for optimizing an amount of testing with respect to a total test time
CN110297755B (zh) 一种软件测试方法和装置
CN115878482A (zh) 一种产品测试方法及相关装置
CN116341224A (zh) 机电混合系统实用bit设计方法、系统及可读存储介质

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