|
性能测试用例主要分为预期目标用户测试,用户并发测试,疲劳强度与大数据量测试,网络性能测试,服务器
性能测试五大部分,具体编写测试用例时要根据实际情况进行裁减,在项目应用中遵守低成本,策略为中心,
裁减,完善模型,具体化等原则;
一、WEB 全面性能测试模型
Web 性能测试模型提出的主要依据是:一种类型的性能测试可以在某些条件下转化成为另外一种类型的性能
测试,这些类型的性能测试的实施是有着相似之处的;
1. 预期指标的性能测试:
系统在需求分析和设计阶段都会提出一些性能指标,完成这些指标的相关的测试是性能测试的首要工作之一,
这些指标主要诸于“系统可以支持并发用户200个;”系统响应时间不得超过20秒等,对这种预先承诺的性能要
求,需要首先进行测试验证;
2. 独立业务性能测试;
独立业务实际是指一些核心业务模块对应的业务,这些模块通常具有功能比较复杂,使用比较频繁,属于
核心业务等特点。
用户并发测试是核心业务模块的重点测试内容,并发的主要内容是指模拟一定数量的用户同时使用某一核心的
相同或者不同的功能,并且持续一段时间。对相同的功能进行并发测试分为两种类型,一类是在同一时刻进行
完全一样的操作。另外一类是在同一时刻使用完全一样的功能。
3. 组合业务性能测试;
通常不会所有的用户只使用一个或者几个核心业务模块,一个应用系统的每个功能模块都可能被使用到;所
以WEB性能测试既要模拟多用户的相同操作,又要模拟多用户的不同操作;组合业务性能测试是最接近用户
实际使用情况的测试,也是性能测试的核心内容。通常按照用户的实际使用人数比例来模拟各个模版的组合
并发情况;组合性能测试是最能反映用户使用情况的测试往往和服务器性能测试结合起来,在通过工具模拟
用户操作的同时,还通过测试工具的监控功能采集服务器的计数器信息进而全面分析系统瓶颈。
用户并发测试是组合业务性能测试的核心内容。组合并发的突出特点是根据用户使用系统的情况分成不同的
用户组进行并发,每组的用户比例要根据实际情况来匹配;
4. 疲劳强度性能测试;
疲劳强度测试是指在系统稳定运行的情况下,以一定的负载压力来长时间运行系统的测试,其主要目的是确
定系统长时间处理较大业务量时的性能,通过疲劳强度测试基本可以判定系统运行一段时间后是否稳定;
5. 大数据量性能测试;
一种是针对某些系统存储,传输,统计查询等业务进行大数据量时的性能测试,主要针对某些特殊的核心业
务或者日常比较常用的组合业务的测试;
第二种是极限状态下的数据测试,主要是指系统数据量达到一定程度时,通过性能测试来评估系统的响应情
况,测试的对象也是某些核心业务或者常用的组合业务。
第三种大数据量测试结合了前面两种的测试,两种测试同时运行产生较大数据量的系统性能测试;
大数据量测试通常在投产环境下进行,并独立出来和疲劳强度测试放在一起,在整个性能测试的后期进行;
大数据量的测试可以理解为特定条件下的核心业务或者组合业务测试;
6. 网络性能测试;
主要是为了准确展示带宽,延迟,负载和端口的变化是如何影响用户的响应时间的,在实际的软件项目中
主要是测试应用系统的用户数目与网络带宽的关系。网络测试的任务通常由系统集成人员完成;
7. 服务器(操作系统,WEB服务器,数据库服务器)性能测试;
初级服务器性能测试主要是指在业务系统工作或者进行前面其他种类性能测试的时候,监控服务器的一些计
数器信息,通过这些计数器对服务器进行综合性能分析,为调优或提高系统性能提供依据;
高级服务器性能测试一般由专门的系统管理员来进行如数据库服务器由专门的DBA来进行测试和调优;
8. 一些特殊的测试;
主要是指配置测试,内存泄露测试的一些特殊的WEB性能测试;
二、WEB 性能测试策略
性能测试策略一般从需求设计阶段开始讨论如何定制,它决定着性能测试工作要投入多少资源,什么时间开
始实施等后续工作的安排;其制定的主要依据是软件自身的特点和用户对性能的关注程度,其中软件自身的
特点起决定性的作用;
软件按照用途的不同可以分为两大类,系统类软件和应用类软件。系统类软件通常对性能要求较高,因此性
能测试应该尽早介入;应用类软件分为特殊类应用和一般类应用,特殊类应用主要有银行,电信,电力,保
险,医疗,安全等领域软件,这类软件使用频繁,用户较多,也需要较早进行性能测试;一般类主要是指一
些普通类应用如OA,MIS 等一般类软件根据实际情况制定性能测试策略,受用户因素影响较大;
1. 系统类软件;
从设计阶段就开始针对系统架构,数据库设计等方面进行讨论,从根源来提高性能,系统类软件一般从单元
测试阶段开始性能测试实施工作,主要是测试一些和性能相关的算法和模块;
2. 应用类软件;
特殊应用:从设计阶段就开始针对系统架构,数据库设计等方面进行讨论,从根源来提高性能,系统类软件一
般从单元测试阶段开始性能测试实施工作,主要是测试一些和性能相关的算法和模块;
一般应用:与使用用户的重视程度有关,用户高度重视时 ,设计阶段开始进行一些讨论工作,主要在系统测试
阶段开始进行性能测试实施;用户一般重视时,可以在系统测试阶段的功能测试结束后进行性能测试;用户不
怎么重视时,可以在软件发布前进行性能测试,提交测试报告即可;
三、WEB性能测试用例设计模型
性能测试用例设计通常不会一次设计到位,是一个不断迭代完善的过程,即使在使用过程中,也不是完全按照设
计好的测试用例来执行,需要根据需求的变化进行调整和修改; WEB性能测试用例设计模型是一个内容全面比
较容易组织和调整的模型架构。
3. 预期性能指标测试用例;
指一些十分明确的,在系统需求设计阶段预先提出的,期望系统达到的,或者向用户保证的性能指标,针对每个
指标都要编写一个或者多个测试用例来验证系统是否达到要求,预期性能指标测试用例主要参考需求和设计文档,
把里面十分明确的性能要求提取出来,指标中通常以单用户为主;
如:对于普通的客户端,系统上传5MB以内的文件,速度不低于2MB/S;
输入动作:选择1-5 MB的文件并上传,用秒表计时;
期望的性能:上传的时间小于等于2.5S
实际性能: 上传的时间2.29秒;
这类用例通常以手工的方式执行;
4. 用户并发性能测试用例;
用户并发测试主要通过逐渐增加用户数量来加重系统负担,并通过测试工具对应用系统,各种服务器资源进
监控,用户并发测试可以是正常数量用户和特殊数量用户进行并发, 用户并发测试是系统性能测试的核心部分,涉
及压力测试,负载测试,强度测试等多方面的内容.独立业务性能测试实际就是核心业务模块的某一业务的并发性
能测试,可以理解为单元性能测试;组合业务的性能测试是一个或者多个模块的多个业务同时进行并发性能测试,
可以理解为集成性能测试,单元性能测试和集成性能测试两者紧密相连合并称为用户并发性能测试;用户并发测试
要求选择有代表性的关键的业务来设计测试用例,以便更有效的评测系统性能;其测试用例设计文档的基本的编写
思想是按照系统的体系结构进行编写.
1. 独立核心模块用户并发性能的测试用例设计
完全一样功能的并发测试:主要检查系统的健壮性,从技术角度讲就是检查程序对同一时刻并发操作的处理.
完全一样操作的并发测试:基本要求是在同一时刻进行完全一样的操作,这类测试的目的是验证核心模块在
大量用户使用同一功能时是否正常工作;
相同/不同功能的子功能并发:每个不同的子功能都模拟一定的用户数量,通过工具来控制并发情况;
如发送与接收邮件模块的一个测试用例,
功能:当在线用户达到高峰时,发送和接收普通邮件正常,保证2000个以内用户可以同时访问邮件系统,能够正常发
送和接收邮件;
目的:测试系统2000个以内的用户同时在线时能否正常发送邮件;
方法:采用LOADRUNNER的录制工具录制一个邮件发送过程测试,要监视数据库服务器和WEB服务器的性能,其中
发送的邮件为普通邮件,附件大小不超过1MB.
并发用户数与事务执行情况:并发用户数,事务平均响应时间,事务最大响应时间,平均每秒处理事务数,事务成功率
,每秒点击率,平均流量;
并发用户数与数据库主机:并发用户数,CPU利用率,MEM利用率,磁盘I/O参数,DB参数;
并发用户数与应用服务器的关系表:并发用户数,CPU利用率,MEM利用率,磁盘I/O参数;
2. 组合模块用户并发性能测试的用例设计
组合模块的性能测试是最能反映用户实际使用情况的测试,它把前面系统中具有耦合关系的模块组合起来进行
测试,可以理解为集成性能测试,组合模块并发测试可以真实反映用户使用系统的情况,可以从需求,设计文
档;现场调查,系统采集数据获取用户场景;
具有耦合关系的核心模块进行组合并发测试:主要测试在多用户并发条件下,一些存在耦合关系或者数据接口
的模块是否正常运行;
|
|