基于软件接口的非嵌入式系统性能测试方案与应用
齐小燕
摘 要:针对具有复杂软件接口的非嵌入式系统的性能测试进行了研究,提出了适合的性能测试方案。该方案不仅针对被测系统本身存在的问题,还能发现各关联系统间存在的协同问题,能有效地提高系统的性能。该测试方案可以直接应用到其他具有类似接口的软件项目中。
关键词:非嵌入式系统;性能测试;性能测试应用
0 引言
目前企业的各类应用设计环境通常采用不同供应商提供的软件产品构建的综合设计平台,往往集流程、数据、工具管理和信息展示等功能为一体,具有功能广、软件外部接口多、应用范围广等特点。这类平台系统间的接口关系非常复杂,有难以预知的用户负载和复杂的环境带来系统响应速度过慢、系统崩溃等隐患。为保证软件系统的可靠性和稳定性,需开展软件性能测试工作,对系统进行性能评估,同时发现系统性能瓶颈和修复性能。下面通过综合设计平台案例对复杂软件接口的非嵌入式系统的性能测试进行阐述。
1 性能测试方案
软件性能测试的目的是通过模拟用户操作形成负载对系统进行性能测试,通过系统瓶颈定位和调优进一步加强健壮性[1]。为了达到此目的,必须针对系统的特点制定合理的测试方案,选取适宜的测试方法、测试工具和测试环境。
(1)测试方法分析
该综合设计平台给出了响应时间、最大在线用户数和最大并发用户数的性能指标,根据以往的性能测试经验,性能测试方法选择负载测试和并发测试来满足测试需求。
(2)测试工具分析
该综合设计平台(图1)是基于B/S结构的设计信息共享及管理平台,开发语言为Java,数据库为Oracle,测试工具选择LoadRunner9.5。对于B/S架构的软件录制协议选择http协议。
(3)测试环境分析
性能测试需要独立的网络和硬件环境,来保证被测软件是独立可控的[2]。与综合设计平台接口的PDM系统的协议类型为http协议,其数据库连接池数为150。
2 性能测试应用
(1)预测性能瓶颈集中点
考虑到与综合设计平台接口的PDM系统重要级别很高,通过提前考虑相互关联性及影响程度,预测性能瓶颈集中点并据此设计测试用例;同时在正式开展性能测试前进行多次预测试,发现负载生成的结果以及负载生成是否存在瓶颈,并依据预测试结果确定虚拟用户数量。
(2)创建真实的负载
通过设置集合点模拟多个用户并发访问同一个应用、存储过程;通过对登录名参数化模拟不同用户登录系统;通过ip虚拟模拟不同地址发起请求;通过在脚本中加入think time;执行方案既有单一业务场景,也有组合业务场景,使性能测试工作开展真实有效。
(3)测试执行充分
确定测试项后,录制用户行为,创建真实的负载,共录制脚本8个。通过设定负载方案、业务流程组合和虚拟用户数量,共执行测试场景20余次,组合业务场景执行超过12个小时,测试执行充分、严格。
(4)实施效果
方案实施中发现事务响应时间不达标和最大并发用户数不达标等问题,其中协同性能问题2个,充分证明了该方案性能测试方法的有效性及性能瓶颈预测的准确性。
3 结论
本文针对具有复杂软件接口的非嵌入式系统的性能测试进行了研究,提出了适合的性能测试方案。该方案不仅针对被测系统本身存在的问题,还能发现各关联系统间存在的协同问题,能有效地提高系统的性能。
参考文献:
[1]性能测试进阶指南:LoadRunner9.1[J].51Testing软件测试网组编,2009(12).
[2]陈绍英.LoadRunner性能测试实战[J].2007(9).