1、软件性能测试需求的获取方法综述的论文软件性能测试需求的获取方法综述的论文摘要:性能测试需求的质量直接影响性能测试的效果,在分析eb 应用系统性能测试目的的基础上,提出性能测试需求描述要达到准确、一致和特定的要求,进一步明确性能测试需求必须要确定 41h,即性能测试的需求必须包含 here,hat,hen,ho 和 ho,并综述了几种有效的获取性能测试需求的方法。 关键词:性能测试;测试需求;需求获取 1 引言 基于 eb 服务器的应用系统由于提供浏览器界面而无须安装,大大降低了系统部署和升级成本而得以普遍应用。目前,很多企业的核心业务系统均是 eb 应用,但当 eb 应用的数据量和访问用户量日
2、益增加,系统不得不面临性能和可靠性方面的挑战。因此,无论是 eb 应用系统的开发商或最终用户,都要求在上线前对系统进行性能,科学评价系统的性能,从而降低系统上线后的性能风险。 在很多性能测试项目中,由于不能合理定义系统的性能测试需求,不能建立和真实环境相符的负载模型,不能科学分析性能测试结果,导致性能测试项目持续时间很长或不能真正评价系统性能并提出性能改进措施。因此,性能测试需求分析的正确性是整个性能测试工作的最基本前提。若不能保证性能测试需求分析的正确性,即使性能测试工具使用的再正确,性能测试执行的再顺利,也无法保证性能测试达到预期的效果,即可能无法发现性能瓶颈、或者发现不了实际情况中应该出
3、现的瓶颈。 本文从分析性能测试的目的出发,提出性能测试需求描述的三个要求,综述性能测试需求的获取常用方法。WWW.11665.cOm 2 性能测试的目的 性能测试的目的不仅是发现软件缺陷,还可能包括以下几个方面: 8020 原理:每个工作日中 80%的业务在 20%的时间内完成。 举例: 每年业务量集中在 8个月,每个月 20 个工作日,每个工作日 8 小时即每天 80%的业务在1.6 小时完成。去年全年处理业务约 100 万笔,其中 15%的业务处理中每笔业务需对应用服务器提交 7 次请求;其中 70%的业务处理中每笔业务需对应用服务器提交 5 次请求;其余 15%的业务处理中每笔业务需对应
4、用服务器提交 3 次请求。根据以往统计结果,每年的业务增量为 15%,考虑到今后 3 年业务发展的需要,测试需按现有业务量的两倍进行。 每年总的请求数为: 任务分布图是以一种直观的方式展示性能测试需求,描述一些交易任务在 24 小时内的交易情况,重点关注并发用户的数量以及典型的业务操作。如表 1 是某网上书店的任务分布图,从中可见:12:0016:00 的交易混合程度较高,“预定图书”任务的并发用户在 14:00 达到最大。 如果需要进一步了解典型任务的平均值、峰值以及对 eb 服务器、数据库服务器的压力等信息,可以建立交易混合表。 4.4 eb 服务器访问日志 一般的eb server 有两
5、部分日志:一是运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息;二是访问日志信息,它记录访问的时间、ip、访问的资料等相关信息。为了获取系统性能测试的需求,可以分析 eb server 的访问日志以了解系统更多真实负载和主要的业务场景。下面介绍一下利用 tomcat 产生的访问日志数据所做的有效分析。 首先是配置 tomcat 访问日志数据,默认情况下访问日志没有打开,配置的方式如下: 编辑 $catalina/conf/server.xml 文件: 把以下的注释去掉即可。 其中 directory 是产生的目录 tomcat 安装$catalina作为当前目录;patter
6、n 表示日志生产的格式,mon 是 tomcat 提供的一个标准设置格式。其具体的表达式为 %h %l %u %t “%r“ %s %b。通过这个配置能得到的数据有: %h 访问的用户 ip 地址 %l 访问逻辑用户名,通常返回- %u 访问验证用户名,通常返回- %t 访问日时 %r 访问的方式,访问的资源和使用的 http 协议版本 %s 访问返回的http 状态 %b 访问资源返回的流量 %t 访问所使用的时间 有了这些数据,可以根据时间段做以下的分析处理: 独立 ip 数统计 访问请求数统计 访问资料文件数统计 访问流量统计 访问处理响应时间统计 统计所有 404 错误页面 统计所有
7、500 错误的页面 统计访问最频繁页面 统计访问处理时间最久页面 统计并发访问频率最高的页面 如图 1 所示,将系统运行一段时间后获取的数据分析汇总后形成的图示,为性能测试工程师提供了非常有价值的数据,从图中可见,并发用户数在 7:00-11:00 之间明显增大,平均值在 40左右。 4.5 ucmltm ucmltm 是一个符号集合,这些符号可以创建虚拟系统用法模型,以及描述相关参数。当把它应用到负载压力性能测试时,这些符号可用于表示工作量分配、操作流程、重点工作表、矩阵和马尔可夫链等。负载压力性能测试工程师在决定测试中用到什么活动,以及它们发生的频率时,经常用到这些参量。 通常应用smar
8、tdra 或者 microsoft visio 绘制 ucml,进行负载压力测试需求分析。ucml 的数据来源有两种方式:一是通过与最终用户的沟通,详细询问应用情景,根据一定的常识推理得到;二是通过分析已有的数据,如数据库的日志,eb server 的访问日志等获得。ucml 的好处在于提供了一种易于理解、便于沟通的表现形式,尤其在应用自动化性能测试工具时,方便性能测试计划、分析、设计和实施人员的沟通。图 2 是一个在线书店的 ucmltm 图表,为负载压力测试提供了需求。 5 总结 eb 应用项目的性能测试成功的关键不在于性能测试工具,而在于有效的性能测试分析方法和实践。只有切实掌握性能测试
9、需求分析方法,性能测试实践经验,才能保证一个 eb 应用性能测试的成功。基于 41h 的性能测试需求描述标准能够为获取有效的性能测试需求提供一个依据,结合性能测试目的而选取适用的性能测试需求获取方法才是有效的。 参考文献 柳纯录,黄子河,陈渌萍.软件评测师教程.北京:清华大学出版社,2005. 赵艳玲.软件开发中的需求获取.现代电子技术,2016:580-581. 冯铮.基于 eb 的软件测试规范与质量标准体系的研究.计算机与数字工程,2016:71-74. 谈姝辰,尹军.基于负载的 eb 性能测试研究与应用.现代电子技术,2016:139-142. 常广炎.基于 eb 系统的性能测试.办公自动化,2016:25-27.