一种Web应用程序压力测试的方法

文档序号:6634455阅读:215来源:国知局
一种Web应用程序压力测试的方法
【专利摘要】本发明涉及Web系统性能测试【技术领域】,特别涉及一种Web应用程序压力测试的方法。本发明的方法具体包含以下几个步骤:步骤1:需求分析;步骤2:确定测试目标;步骤3:制定压力测试计划;步骤4:分析系统;步骤5:编写测试案例;步骤6:设置测试数据;步骤7:进行压力测试;步骤8:分析结果;步骤9:优化调整设置;步骤10:提交测试报告。本发明通过上述步骤Web应用程序压力测试的方法,提高了Web应用程序的性能和稳定性,可以用于Web应用程序的压力测试。
【专利说明】—种VI6匕应用程序压力测试的方法

【技术领域】
[0001]本发明涉及系统性能测试【技术领域】,特别涉及应用程序压力测试的方法。

【背景技术】
[0002]应用程序是决定网站性能的关键,对其进行测试是网站测试的核心。压力测试的目的是测试系统在各种负荷(由并发用户所产生的综合处理量)下的性能和稳定性。
[0003]为了保证应用程序的压力测试能取得理想的测试效果,压力测试也应该遵循软件工程中软件测试的一般要求。压力测试应得到相应的重视。


【发明内容】

[0004]本发明解决的技术问题在于提供一种应用程序压力测试的方法;解决应用程序的性能和稳定性的问题。
[0005]本发明解决上述技术问题的技术方案是:
[0006]包含以下几个步骤:
[0007]步骤1:需求分析;
[0008]步骤2:确定测试目标;
[0009]步骤3:制定压力测试计划;
[0010]步骤4:分析系统;
[0011]步骤5:编写测试案例;
[0012]步骤6:设置测试数据;
[0013]步骤7:进行压力测试;
[0014]步骤8:分析结果;
[0015]步骤9:优化调整设置;
[0016]步骤10:提交测试报告。
[0017]所述的步骤2中,定义测试的对象,并对每一个测试对象给出清晰说明,并定义测试结束的目标;定义准则和策略,以判断何时结束测试阶段。
[0018]所述的步骤3中,测试计划的内容主要包括:定义测试资源、制定测试进度表、选择测试工具等。
[0019]所述的步骤4中,分析系统包括:第一,确定系统对各个资源的分布与使用情况,它将帮我们确定可能系统性能的瓶颈;第二,确定用户事务的分布,确定压力测试的针对点。
[0020]所述的步骤5中,测试案例应该尽可能模拟真实的负荷,不遗漏重要的测试路径;在测试案例中,应注明测试场景、测试项目、测试时要求记录的性能指标等;所述性能指标主要分成客户端性能指标和服务器端性能指标两大类。
[0021]所述的步骤8中,分析对象有:(1)测试使用的时间和被测事务的响应时间(有多少个用户同时运行):(2)压力测试参与的进程个数,成功个数,失败个数;(3)压力测试参与进程失败的原因;(4)事务的响应时间随用户增加的变化图;(5)资源限制。
[0022]本发明的有益效果:本发明提供的应用程序压力测试的方法;有效解决了胃必应用程序的性能和稳定性的问题。

【专利附图】

【附图说明】
[0023]下面结合附图对本发明进一步说明:
[0024]图1为本发明的方法流程图。

【具体实施方式】
[0025]见图1所示,本发明应用程序压力测试的方法,具体包含以下几个步骤:
[0026]步骤1:先是进行需求分析;对不同的系统其压力测试的强度和侧重点也不同。一个用于中小企业内部网和一个要处理大量用户的电子商务站点的负荷量和负荷分布是明显不同的。前者的最大负荷量和负荷分布是可预期的,而且对企事业单位内部网来说,暂时关闭系统后重新起动也是可以接受的。例如一个高校的选课系统只在进行选课的几天内要求系统能承受大负荷,其它时间其负荷几乎为零;而对于后者却无法预期有多少客户会同时访问站点,对高峰负荷出现的时间也无法预知。因此在压力测试前必须进行需求分析,它是编写良好测试案例的基础。
[0027]步骤2:确定测试目标;在确定压力测试目标中,我们要定义测试的对象,并对每一个测试对象给出清晰说明,也要定义测试结束的目标。为控制测试的有效性以及完成程度,必须定义准则和策略,以判断何时结束测试阶段。准则必须是客观的,可量化的,而不能是经验或感觉。下面是一些压力测试目标:(1)测定终端用户事务的响应时间,它可能随用户的增加而增加,但要定义一个可接受时间。(2)定义主机最优配置,我们可以以最低的价格发挥最佳的性能。在压力测试目标确定过程中,要邀请用户、设计人员等对其进行评审。
[0028]步骤3:制定压力测试计划;测试计划的内容主要包括:定义测试资源、制定测试进度表、选择测试工具等。制定测试计划的主要目的是使压力测试有章可循并得到人力、物力方面的保证。需要指出的是在制定测试进度表时应和开发进度相互协调。当开发一个应用程序时,根据功能的不同将系统分成一些单独的子系统。一个较好的方法是随着子系统的完成先进行子系统的压力测试,当然,最后还必须进行整个系统的综合压力测试。
[0029]步骤4:分析系统;分析系统有两个主要任务:第一,搞清系统对各个资源的分布与使用情况,它将帮我们确定可能系统性能的瓶颈;第二,搞清用户事务的分布,确定压力测试的针对点。我们定义事务是用来表示用户要求服务器连续完成的操作任务。因为大多数系统都是网络系统,而且网络常常也是降低响应时间的主要原因,所以我们通过资源示意图来分析系统的资源。为了更详细地说明资源的性能,我们要求对资源示意图中的每个资源的属性进行列表说明。例如,对于路由器,说明它运行的系统,它的网络处理能力、响应时间等;对于通信媒介,说明它的性能、容量等;对于主机,说明它的性能、内存大小、1/0外设性能、运行的操作系统、数据库系统、应用软件系统,还有运行应用软件系统的系统配置文件等。
[0030]步骤5:编写测试案例;测试人员将根据测试案例进行实际的测试工作,测试案例的编写应做到客观全面、重点突出,也就是要求编写的测试案例应该尽可能模拟真实的负荷,不遗漏重要的测试路径。在测试案例中,应注明测试场景、测试项目、测试时要求记录的性能指标等。对166应用程序来说,这些性能指标是大同小异的,性能指标主要分成客户端性能指标和服务器端性能指标两大类。
[0031]步骤6:设置测试数据;压力测试脚本采取数据驱动方式。为了让所有的进程顺利执行,必须对测试数据进行参数化。同时运行的一组测试数据有时需要彼此是唯一的,有时需要顺序的,有时需要随机的,有时需要数据在一个区间内,有时需要从数据库的某个表提取数据。参数化后的数据与原数据类型应保持一致。设置测试数据的灵活性很大,对测试的结果影响也很大,应根据情况,具体问题具体分析。
[0032]步骤7:进行压力测试;一般不提倡在开发环境中进行压力测试,如果由于经费原因不能另外构建测试环境,则将来的运行服务器的配置应该和开发用服务器的配置相同或更好。如果要模拟成百上千的并发用户,就应该采用多台客户机同时进行测试,因为一台机器上运行的线程太多将导致性能下降,从而使客户机不能及时处理从服务器返回的响应,造成测试误差。执行压力测试时,即使是同一条浏览路径也应进行多次测试,多次测试之间的间隔时间是随机的,这样才能获得比较客观的测试结果。
[0033]步骤8:分析结果;压力测试运行结束后,把所有记录的数据汇总并记录到文件中。必须对测试的结果进行分析,才能得到结论。可以使用一些图形来比较、观察测试结果。分析对象也是测试运行时记录的内容,下面是压力测试的分析对象:(1)测试使用的时间和被测事务的响应时间(有多少个用户同时运行):(2)压力测试参与的进程个数,成功个数,失败个数;(3)压力测试参与进程失败的原因;(4)事务的响应时间随用户增加的变化图;(5)资源限制。
[0034]步骤9:优化调整设置;若测试失败,必须分析失败原因,如果是系统造成的,应返回给设计人员修改。测试结果不满足预期需求,需要对系统进行优化调整设置,然后再次运行测试、分析,直到可以满足预期需求,或调整已无法改善结果。对系统的优化调整设置应与开发和系统管理人员协作进行。性能问题往往是互相联系的,而不是互不相干的。系统性能较低,可能是由于优化与设置的问题。通过优化与设置有时可以提高系统的性能。
[0035]步骤10:提交测试报告;当压力测试结果可以满足预期需求,或优化和调整已无法改善结果。最后提交测试报告。在报告中要包括测试提要、测试环境和测试结果,提要应该简单说明测试方法、策略、范围、内容;测试环境应包括资源开销、环境配置等;结果测试必须包括测试是否通过或拒绝,对测试的结论进行说明,对系统的性能做出评价。测试结果要包括结果数据。
【权利要求】
1.一种应用程序压力测试的方法,其特征在于: 包含以下几个步骤: 步骤1:需求分析; 步骤2:确定测试目标; 步骤3:制定压力测试计划; 步骤4:分析系统; 步骤5:编写测试案例; 步骤6:设置测试数据; 步骤7:进行压力测试; 步骤8:分析结果; 步骤9:优化调整设置; 步骤10:提交测试报告。
2.根据权利要求1所述的应用程序压力测试的方法,其特征在于:所述的步骤2中,定义测试的对象,并对每一个测试对象给出清晰说明,并定义测试结束的目标;定义准则和策略,以判断何时结束测试阶段。
3.根据权利要求1所述的应用程序压力测试的方法,其特征在于:所述的步骤3中,测试计划的内容主要包括:定义测试资源、制定测试进度表、选择测试工具等。
4.根据权利要求2所述的应用程序压力测试的方法,其特征在于:所述的步骤3中,测试计划的内容主要包括:定义测试资源、制定测试进度表、选择测试工具等。
5.根据权利要求1至4任一项所述的应用程序压力测试的方法,其特征在于:所述的步骤4中,分析系统包括:第一,确定系统对各个资源的分布与使用情况,它将帮我们确定可能系统性能的瓶颈;第二,确定用户事务的分布,确定压力测试的针对点。
6.根据权利要求1至4任一项所述的应用程序压力测试的方法,其特征在于:所述的步骤5中,测试案例应该尽可能模拟真实的负荷,不遗漏重要的测试路径;在测试案例中,应注明测试场景、测试项目、测试时要求记录的性能指标等;所述性能指标主要分成客户端性能指标和服务器端性能指标两大类。
7.根据权利要求5所述的应用程序压力测试的方法,其特征在于:所述的步骤5中,测试案例应该尽可能模拟真实的负荷,不遗漏重要的测试路径;在测试案例中,应注明测试场景、测试项目、测试时要求记录的性能指标等;所述性能指标主要分成客户端性能指标和服务器端性能指标两大类。
8.根据权利要求1至4任一项所述的应用程序压力测试的方法,其特征在于:所述的步骤8中,分析对象有:(1)测试使用的时间和被测事务的响应时间(有多少个用户同时运行):(2)压力测试参与的进程个数,成功个数,失败个数;(3)压力测试参与进程失败的原因;(4)事务的响应时间随用户增加的变化图;(5)资源限制。
9.根据权利要求5所述的应用程序压力测试的方法,其特征在于:所述的步骤8中,分析对象有:(1)测试使用的时间和被测事务的响应时间(有多少个用户同时运行);(2)压力测试参与的进程个数,成功个数,失败个数;(3)压力测试参与进程失败的原因;(4)事务的响应时间随用户增加的变化图;(5)资源限制。
10.根据权利要求6所述的应用程序压力测试的方法,其特征在于:所述的步骤8中,分析对象有:(1)测试使用的时间和被测事务的响应时间(有多少个用户同时运行);(2)压力测试参与的进程个数,成功个数,失败个数;(3)压力测试参与进程失败的原因;(4)事务的响应时间随用户增加的变化图;(5)资源限制。
【文档编号】G06F11/36GK104391789SQ201410652606
【公开日】2015年3月4日 申请日期:2014年11月17日 优先权日:2014年11月17日
【发明者】何龙泉, 徐震宇, 孙傲冰, 季统凯 申请人:国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1