Web全面性能测试模型-1
上一篇 / 下一篇 2011-12-20 15:26:18 / 个人分类:性能测试
性能测试、压力测试、负载测试、强度测试、稳定性测试、健壮性测试、……,这么多眼花缭乱的性能测试类型名称,估计很少有人能准确的区分并说出定义来。至于如何制定合理的性能测试策略,同时把这些性能测试组织起来,并设计对应的测试用例,就更不用说了。因此,性能测试的设计、组织、实施一直不容易开展。
为了解决这些问题,本章提出了“Web全面性能测试模型”。主要讲解在企业的实际工作中,如何比较全面的开展Web性能测试工作,使Web性能测试工作更加合理、高效率的开展。
本章重点讲解全书的理论核心“Web全面性能测试模型”,主要包含如下的内容:
l Web性能测试策略制定原则
l Web性能测试用例设计模型
l Web全面性能测试模型使用方法
注:本章的Web全面性能测试模型主要是针对系统测试阶段的性能测试而提出,单元测试阶段的性能测试一般是测试人员配合开发人员进行,可以划分到单元测试阶段,不在本书研究之列。
2.1 Web全面性能测试模型简介
通过第1章的学习可以看出,性能测试的很多内容都是关联的。这就提供了一个思路:性能测试的很多内容可以经过一定的组织统一来进行。统一开展性能测试的巨大好处是可以按照层次由浅入深对系统进行测试,进而减少不必要的工作量,以实现节约测试成本的目的。为此,本章提出了“Web全面性能测试模型”。
“Web全面性能测试模型”提出的主要依据是一种类型的性能测试可以在某些条件下转化成为另外一种类型的性能测试,而这些类型测试的实施也是很类似的。举例说明:针对一个网站进行测试,模拟10到50个用户就是在进行常规性能测试,用户增加到1000乃至上万就变成了压力/负载测试。如果同时对系统进行大量的数据查询操作,就包含了强度和大数据量测试。
在“Web全面性能测试模型”中,把Web性能测试分为八个类别,然后结合测试工具把性能测试用例分为五类。后面的2.3节将会展开讨论“Web全面性能测试模型”的测试用例设计方法。下面首先介绍八个性能测试类别的主要内容。
(1) 预期指标的性能测试:系统在需求分析和设计阶段都会提出一些性能指标,完成和这些指标相关的测试是性能测试的首要工作之一。本模型把针对预先确定的一些性能指标而进行的测试称为预期指标的性能测试。
这些指标主要指诸如“系统可以支持并发用户
(2) 独立业务性能测试:独立业务实际是指一些核心业务模块对应的业务,这些模块通常具有功能比较复杂、使用比较频繁、属于核心业务等特点。这类特殊的、功能比较独立的业务模块始终都是性能测试的重点。因此不但要测试这类模块和性能相关的一些算法,还要测试这类模块对并发用户的响应情况。
核心业务模块在需求阶段就可以确定,在系统测试阶段开始单独测试其性能。如果是系统类软件或者特殊应用领域的软件,通常从单元测试阶段就开始进行测试,并在后继的集成测试、系统测试、验收测试中进一步进行测试,以保证核心业务模块的性能稳定。何时开始测试核心模块主要由性能测试策略决定,读者可以参考2.2节“Web性能测试策略模型”部分。
用户并发测试是核心业务模块的重点测试内容。“并发”的主要内容是模拟一定数量的用户同时使用某一核心模块的“相同”或者“不同”的功能,并且持续一段时间。对“相同”的功能进行并发测试分为两种类型,一类是在同一时刻进行完全一样的操作,例如打开同一条数据记录进行查看;另外一类是在同一时刻使用完全一样的功能,例如同时提交数据进行保存。可以看出后者是包含前前者的,前者是后者的特例。后面2.3节的测试用例中会对这部分内容进行更详细的讨论。
从微观角度讲,同时使用某一核心模块“不同”的功能,也是一种组合业务性能测试,只不过这种组合的相关业务的分类是一致的。因此在
(3) 组合业务性能测试:通常不会所有的用户只使用一个或者几个核心业务模块,一个应用系统的每个功能模块都可能被使用到。所以Web性能测试既要模拟多用户的“相同”操作(这里的“相同”指很多用户使用同一功能),又要模拟多用户的“不同”操作(这里的“不同”指很多用户同时对一个或者多个模块的不同功能进行操作),对多个业务进行组合性能测试。组合业务测试是最接近用户实际使用情况的测试,也是性能测试的核心内容。通常按照用户的实际使用人数比例来模拟各个模板的组合并发情况。
由于组合业务测试是最反映用户使用情况的测试,因而组合测试往往和服务器(操作系统、Web服务器、数据库服务器)性能测试结合起来,在通过工具模拟用户操作的同时,还通过测试工具的监控功能采集服务器的计数器信息,进而全面分析系统的瓶颈,为改进系统提供有利的依据。