定制论文·联系客服·网站地图·收藏本页·设为首页
软件工程当前位置:中国论文库 > 计算机论文 > 软件工程> 正文

软件性能测试解析与优化

时间:2011-11-30作者:孟祥丰来源:中国论文库
字号:T|T

  摘要:软件性能测试是检测系统性能瓶颈、提升软件质量的重要手段。目前,对性能测试的研究一般都停留在某些特定的技术上,没有形成系统的测试方法论,导致大多数测试人员仅仅掌握了一些零散

  摘要:软件性能测试是检测系统性能瓶颈、提升软件质量的重要手段。目前,对性能测试的研究一般都停留在某些特定的技术上,没有形成系统的测试方法论,导致大多数测试人员仅仅掌握了一些零散的性能测试知识,缺乏测试的规范性和逻辑性,测试效果不理想。为了将缺陷和错误消灭在萌芽之中,从软件工程的角度出发,对性能测试方法论进行研究,概要指出性能测试应该是软件设计过程的一个必备环节。根据实际的性能设计经验,提出了性能设计的基本要求和主要过程。为软件测试人员提供了软件测试的过程依据,并提出了软件测试的优化方案,提高了软件测试的效率。

  关键词:计算机软件;性能设计;需求分析;测试方案;结果分析

  软件性能测试,作为软件工程的一部分,随着软件生产的产业化运作应运而生,是软件生产的一个动态监控过程,对软件开发全过程进行检测,可以随时发现问题、报告问题,并重新评估新的风险,设置新的监控基准,并持续下去。软件测试是软件质量控制的过程,是对软件系统中潜在的各种风险进行评估的活动,其目的是监测和排除缺陷,以确保软件产品在可用性、功能性、可操作性等多方面满足质量需求。目前,软件测试已经由被动的以监测和发现错误为目的发展到从软件质量控制(Software Quality Control,SQC)开始转移到软件质量保证(Software Quality Assurance,SQA),使软件测试从单纯的缺陷检测和发现覆盖到整个软件开发过程,避免了软件开发过程中由于软件需求和设计等方面的缺陷所带来的巨大风险。一个典型的软件过程可以分为测试需求分析、测试设计、测试执行、缺陷和配置管理过程等许多个不同的阶段。在软件测试技术方面已经被细化为单元测试、集成测试、系统测试、用户验收测试等不同的测试技术。而在对软件产品质量呼声日高的今天,软件性能测试技术尤为重要。

  1性能测试的目的

  性能测试的目的不仅是发现软件缺陷,还可能包括以下几个方面:1)验证能力这是性能测试中最简单也是最常用的一个应用领域,典型的能力验证问题会采用这样的描述方式:“***系统能够在***条件下具有***能力?”。通常情况下,企业在进行项目验收阶段要求能力验证型的性能测试或者委托第三方软件测试机构开展独立的性能验证,其主要特点是在已确定的生产环境中实际使用被测系统,即这套系统能不能承受大量的并发用户同时访问?2)规划能力这与1)有较大的不同,以规划能力为目的的性能测试关注的是“应该如何才能使系统具有要求的性能能力?”或者“系统能否支持未来一段时间内的用户增长?”。

  因此,这种性能测试强调对系统当前性能的评估,通过评估可以在应用实际部署之前,预见系统负载压力的承受能力。

  3)调优性能性能调优是以第一种或第二种为目的的性能测试实施后提供原始数据进而分析系统瓶颈和优化为目的,因此3)常与其他的性能测试活动交杂在一起。该类性能测试需要在确定的基准环境下,采用基准负载,关注基准性能指标后,调整系统运行环境和实现方法,执行测试,记录测试结果进行分析,再调整、执行、分析,不断往复,直到系统性能达到要求为止。比如:用户提出业务操作响应时间长,如何定位问题,调整性能?2性能测试过程现以Loadrunner为例,说明性能测试的一般步骤:1)确定用户要测试的业务。也就是通过需求分析,确定测试的目的和测试的性能指标(响应时间,并发用户数,吞吐量和资源利用率等)。

  2)通过用户对软件的操作和Vugen的录制功能记录并生成虚拟用户脚本。

  3)修改脚本,确定脚本能够回放成功。

  4)在Controller中根据需求配置测试场景。包括虚拟用户数、运行参数、用户增长方式、测试循环方式、用户退出方式和需要监视的性能指标等。

  5)执行测试场景。Controller控制Load Generator对被测系统的加压方式和行为,同时搜集被测系统各个环节的性能数据。Load Generator记录最终用户响应时间和脚本执行日志,并将数据传送到Controller中,由其进行结果的汇总。

  6)借助Analysis分析测试数据,设计调优方案。

  7)进行调优测试,重复测试过程,直至符合系统性能测试的要求。

  性能测试的一般流程如图1所示。

  3测试方案的制定和执行

  3.1测试方案设计在软件性能测试的初始阶段,首先应对业务模型和系统架构进行调研,收集测试需求,然后生成性能测试计划。业务调研和系统调研,需要性能测试团队提前了解被测试项目的业务功能和系统架构。其间,开发部门应协助提供被测系统相关的文档和说明,如系统总体介绍、系统规格书、用户使用手册、网络拓扑结构图和系统配置说明、关键服务器及应用部署与配置等文档。通过和业务部门协商明确本次测试针对哪些业务行为,制定此次测试的目标,细化测试的关注点和性能指标要求。通过以上内容制定详细的测试方案,并制定详细测试计划和各阶段目标。软件性能测试的方法可以根据测试目的的不同,选择不同的方法,具体如表1所示。转贴于中国论文库 http://www.lwkoo.com

相关阅读

推荐论文

热门

最新

推荐