摘要:性能测试需求的质量直接影响性能测试的效果,在分析web应用系统性能测试目的的基础上,提出性能测试需求描述要达到准确、一致和特定的要求,进一步明确性能测试需求必须要确定4w1h,即性能测试的需求必须包含where,what,when,who和how,并综述了几种有效的获取性能测试需求的方法。
关键词:性能测试;测试需求;需求获取
1 引言
基于web服务器的应用系统由于提供浏览器界面而无须安装,大大降低了系统部署和升级成本而得以普遍应用。目前,很多企业的核心业务系统均是web应用,但当web应用的数据量和访问用户量日益增加,系统不得不面临性能和可靠性方面的挑战。因此,无论是web应用系统的开发商或最终用户,都要求在上线前对系统进行性能,论坛一小时最多能发1000新帖;****博客平均每天新增800篇,以这些数据为确认新项目测试需求的基础。
(3)业界公认标准。如响应时间,根据服务器的不同和项目的具体情况可能有两类标准:
a类标准——
4秒以内,用户可以接受
4-9秒,30%用户离开
8-10秒,60%用户离开
超过10秒,90%用户离开
b类标准——
8秒,用户可接受
16秒,50%用户离开
32秒,90%用户离开
(4)用户使用模型。性能测试要通过一系列场景的执行来完成,分析用户的使用模型是获取性能测试需求的有效手段,即定义系统的典型使用方式,考虑哪些用户使用系统的哪些典型业务,在什么时间段和用户数量的估计值,因此需要和最终的用户有很好的沟通,最好能够实地考察用户的应用情况。LOcAlhosT如某oa系统的每天早上8:00会有200个用户在10分钟内登录系统;每天查询交易的高峰是在9:00-11:00和下午的14:00-16:00等。
4.2 80~20原则估算测试强度(how)
80~20原理:每个工作日中80%的业务在20%的时间内完成。
举例:
每年业务量集中在8个月,每个月20个工作日,每个工作日8小时即每天80%的业务在1.6小时完成。去年全年处理业务约100万笔,其中15%的业务处理中每笔业务需对应用服务器提交7次请求;其中70%的业务处理中每笔业务需对应用服务器提交5次请求;其余15%的业务处理中每笔业务需对应用服务器提交3次请求。根据以往统计结果,每年的业务增量为15%,考虑到今后3年业务
-->
其中 directory是产生的目录 tomcat安装${catalina}作为当前目录;pattern表示日志生产的格式,common是tomcat提供的一个标准设置格式。其具体的表达式为 %h %l %u %t "%r" %s %b。通过这个配置能得到的数据有:
%h 访问的用户ip地址
%l 访问逻辑用户名,通常返回'-'
%u 访问验证用户名,通常返回'-'
%t 访问日时
%r 访问的方式(post或者是get),访问的资源和使用的http协议版本
%s 访问返回的http状态
%b 访问资源返回的流量
%t 访问所使用的时间
有了这些数据,可以根据时间段做以下的分析处理:
(1)独立ip数统计
(2)访问请求数统计
(3)访问资料文件数统计
(4)访问流量统计
(5)访问处理响应时间统计
(6)统计所有404错误页面
(7)统计所有500错误的页面
(8)统计访问最频繁页面
(9)统计访问处理时间最久页面
(10)统计并发访问频率最高的页面
如图1所示,将系统运行一段时间后获取的数据分析汇总后形成的图示,为性能测试工程师提供了非常有价值的数据,从图中可见,并发用户数在7:00-11:00之间明显增大,平均值在40左右。
4.5 ucmltm
ucmltm(user community modeling language)是一个符号集合,这些符号可以创建虚拟系统用法模型,以及描述相关参数。当把它应用到负载压力性能测试时,这些符号可用于表示工作量分配、操作流程、重点工作表、矩阵和马尔可夫链等。负载压力性能测试工程师在决定测试中用到什么活动,以及它们发生的频率时,经常用到这些参量。
通常应用smartdraw 或者 microsoft visio 绘制ucml,进行负载压力测试需求分析。ucml的数据来源有两种方式:一是通过与最终用户的沟通,详细询问应用情景,根据一定的常识推理得到;二是通过分析已有的数据,如数据库的日志,web server的访问日志等获得。ucml的好处在于提供了一种易于理解、便于沟通的表现形式,尤其在应用自动化性能测试工具时,方便性能测试计划、分析、设计和实施人员的沟通。图2是一个在线书店的 ucmltm 图表,为负载压力测试提供了需求。
5 总结
web应用项目的性能测试成功的关键不在于性能测试工具,而在于有效的性能测试分析方法和实践。只有切实掌握性能测试需求分析方法,性能测试实践经验,才能保证一个web应用性能测试的成功。基于4w1h的性能测试需求描述标准能够为获取有效的性能测试需求提供一个依据,结合性能测试目的而选取适用的性能测试需求获取方法才是有效的。
参考文献
[1]柳纯录,黄子河,陈渌萍.软件评测师教程[m].北京:清华大学出版社,2005.
[2]赵艳玲.软件开发中的需求获取[j].现代电子技术,200
[1] [2] 下一页