软件开发的性能测试与研究论文

2024-09-05

软件开发的性能测试与研究论文(精选11篇)

软件开发的性能测试与研究论文 篇1

随着现代社会信息技术的发展,网络技术已普遍融合到更多领域。软件开发作为带动信息技术发展的主要动力备受人们关注。随之在开发过程中由于应用系统存在一定的复杂性,在软件开发系统性能的正常运用也有一定难度。本文结合web软件,结合性能测试,对软件开发的性能进行了测试和相对研究,以便在今后各领域中提高系统测试效率。

随着计算机网络技术的普遍化,软件性能的重要性也越来越明显,软件性能掌控着硬件配置的提升和改变。系统结构由网络、数据库和服务器等多部分组成的,整个系统中的每个成员都有着不可替代的作用,其中任何一个环节出现问题都影响着整个系统的正常操作。因此,软件开发的性能测试被列为重要问题。软件性能的理论认识

软件性能指的是软件系统或部分应用是否达到一定的要求,在实现的过程中是否具有良好的及时性。软件的性能不仅包括系统的响应时间还包括一些内部因素和外部因素,内部因素有软件架构、代码、数据库结构等,而外部条件则包括用户或其他一些工作人员操作内容等。目前为止软件性能是否达标主要表现在操作的响应时间,如果用户通过按钮发出相对应的程序指令,从开始的按钮操作到最后反应出相对结果,中间反应的过程就是用户对软件性能是否得到肯定的直观现象。当然软件性能的体现还通过对CPU和内存的利用率、数据的状况、系统的可扩展性等,有了这些对软件性能的认识,我们就能更好的提高系统性能。软件性能测试方法

在软件性能测试过程中,如果掌握的方法不恰当就会变成很随意的测试行为,没有实际的作用,更达不到预期想要的效果,因此在测试过程中必须注意一定的方式方法。测试过程主要包括洞悉测试目的、确定性能指标,规划测试策略等环节,测试的充分准备和结果的有效性直接影响着性能测试需求分析的好坏。因此软件性能测试目的主要验证软件性能在软件开发合同、预定的设计目标、用户现在或未来的应用需求等方面是否达到明确性的指标;在无明确性能标准的情况下,通过对软件支持的最大用户数量,各种差异环境下的变化和最低正常运行需要的支持情况,最佳条件下能做到的用户最大数据量等,也可以说是是否符合软件性能的验证。这种方法主要就是在性能测试中通过分析性能缺陷问题找出软件性能缺陷的原因,方便工作人员能提高软件的性能优化,这将使得测试工作的步伐更迈出了一大步。

2.1 检查式测试与度量式测试的不同及对比

目前条件下,固定的软件项目本身具有不同的系统特征和特性,测试人员为顾及多方位的考虑,选择测试方法也多种多样,例如:黑白盒测试、单元测试、功能测试、压力、安全及兼容性等方面的测试。在逼真、独立、无毒软件、硬件和网络环境下,所使用的最常见的测试方法是检查式测试与度量式测试。检查式测试一般包括跟踪客户需求、了解测试人员的测试目的、测试前的准备工作和测试过程中所用到的数据等,测试用例的最终目的就是验证软件系统的某一项功能是否顺利实现和实施。这种测试用例无法预知最终结果,也无法确定能否顺利实施下去,直接由最终的测试结果来发言,通过或者淘汰。这种先检验性的测试统称为检查式测验,概括的范围也较广,如单元测试和功能测试都包括在检查式测验中。度量式测验与检查式测验不同,是通过针对软件的一项特定功能基于周边多项指标数据量化而产生,在系统测试和使用阶段的数据参考,度量式测试需要在原有数据参考的情况下结合实际情况进行下一步的分析和决策,而不是检测式的那种Yes OR No的情况,这种集相关数据的方式比检查式测试更具有稳定性,对最后得出结论的总体质量和细节有更高的研究价值,这种度量式测试多发生在功能测试和兼容性测试中。

平常的测试活动中,检查式测试的优点是:通过测试得到相应结果显而易见,相对其它测试方法而言,测试效果更加可靠、高效,而且简单方便易于管理;其缺点是随机性较强,测试比较单薄,也有陷入惯性思维的可能性。度量式测试以固定的参考数据为根据,接触观点较多,善于灵活变通,在相对基础上也比较稳定、可靠,缺点是需要将多种参考数据的观点都考虑进去,从多方位思考问题,需要的资源较多,测试过程肯定会比较复杂化,在对软件质量提高过程中并不是直接关系。

2.2 软件开发性能测试的重要性

很多软件性能测试中用检查式的测试方式虽然有部分阶段相对稳定,但也有大部分的缺陷问题存在,因此根据度量式测试方法的稳定、可靠、丰富灵活的特点,需要在度量式测试上加大力度,人们往往一直追寻用多种方法尝试,但其中所投入的人力、物力、精力也有一定的压迫感,虽然检查式测试具有直接、高效的优点,而且也受到一部分专业人士的青睐,占用一定的主体地位,但是度量式测试也只是在后期运用了几次。从目前的现状来看,确实检查式测试比度量式测试突出重要功能。但从长远过程来看就会出现很多问题,遇到紧急重大任务时,我们首先用的解决方案应该首选度量式测试,所以重新正视度量式的重要性很有必要。

2.3 确定测试的战略性措施

了解测试目的和性能指标后,应对相应用户的需求给于相对应的解决对策,也就是用什么样的方式方法帮助用户实现最终测试目的。相对软件系统而言,当测试要素中出现变化,其本身性能也会随之发生改变,根据测试要素的变化进行结合,可以实现不同的测试目标,通过在一种条件变化,其余不变的情况下来验证所能支持用户性能的最大数量。负载测试、压力测试和疲劳强度测试等证明确定测试措施,需要先确定测试要素。测试需求与测试要素也紧密相关,有些测试需求中有确切的测试要素,有些则没有,需要通过相关情况调查来获取测试要素。其中包括:并发用户数、数据量、用户分布与被测功能。在没确定测试要素的情况下,通过分析软件特点来找出答案。软件开发性能的测试研究

软件性能是一种指标,是指软件系统对于及时性合理要求的符合程度。是由响应时间和吞吐量来衡量的,响应时间是指用户提出部分请求而系统给出响应需要的时间,对于软件系统而言,不同的用户对同一层面的关注也有较大差别,软件用户受关注的是回应效率,即响应速度。简单而言就是用户点击其中一个按钮或发送软件相关请求指令时等待回复响应结果的等待时间。软件性能如果从管理员的角度来看,在包括响应时间的同时还有系统动态信息,如:内存大小的可利用率、数据库的状况以及CPU的利用率、系统扩展性的范围、支持用户的最大数量,业务处理的最大量等等这些问题,最终直接关系到提高系统性能的问题上。从软件开发的方位看软件性能,包括用户、系统管理员关注的相关内容,也包括数据库结构、软件架构、代码等对软件性能所产生的影响问题,通过这些因素改善软件性能。不同层面的用户对软件性能测试也有不同层面的理解。用户层面、系统仔理层面,还有开发人员角度等方面都会有不同的见解,因此还需进一步分析引起软件开发性能问题的根源,从而实现软件性能开发的迅速提高。

度量式测试可以发现隐患问题,而检查式测试却只能找到表面问题。检查式测试本身标准明确,正确或错误明确标识,显而易见,且一般一个功能只检测一次。度量式测试客观的记录软件状况,比如:软件“死机”是个必然存在的情况,大多数情况下都会有所影响,且有一定后续不良反应。有种数据就是针对死机问题专门收集的各种类似情况,其中包括软件外部偏离受损、非自愿操作、死锁、功能受损的显现,根据死机原因提供相应参考资料,找出死机问题的原因,制定对应的解决方案,这类的可靠性运用在软件中较少,但是在其他工业运用中比较常见。另外一种度量式测试专门解决非一般性的问题,多出现在 测试阶段,找出问题的同时针对软件本身重新调整开发设计。互联网的一些软件操作习惯和方式多数都是互动操作,对之前的设计加以改进,并研究出新的软件开发性能需求。度量式测试的前期需要的数据不用太灵活的判断分析,可调整相关资源,使之得到最大化的利用,所以合适的度量式测试会使软件项目的测试效果更高、更好,使软件开发的性能能上升到一个新的高度。结语

总体来讲,检查式和度量式具有本身的优点,同时也存在缺点。项目中不同的测试需求、不同的资源开发和不同的测试人员都可以选择相应的测试方法进行测试,善于合理运用检查式测试和度量式测试这两种方法,利益结合,避免隐患缺陷,将迅速提高软件测试的高效率。正确利用软件性能测试,必须知道性能测试的内涵,站在不同的角度方位去想问题,了解社会发展趋势,熟悉目前流行的软件性能测试方法,合理掌握过程,注意将检查式测量和度量式测量结合运用,收集相关数据种类和方式,以提高软件的性能测试效率成为未来研究的重点思路。

作者简介

许国梁(1980-)男,贵州省贵阳市人。现为贵州交通职业技术学院讲师。研究方向为软件设计、软件开发。

软件开发的性能测试与研究论文 篇2

关键词:软件性能,性能测试,性能优化,计算机软件

一、软件性能测试的目的分析

性能测试的直接目的是发现软件问题, 避免可以调整的软件缺陷问题。除此之外, 还具有其他重要的目的。首先, 软件性能测试可以验证软件的实际运行能力, 即与目标系统的兼容性, 以及软件在运用中是否达到软件设计的要求。其次, 也能够对评估计算机系统的性能, 软件功能的实现离不开系统的性能。在软件测试过程中, 可以评估系统的性能情况, 并且根据系统性能来改变软件对系统的基本运行需求。然后, 软件性能测试还能进一步调整软件性能, 除发现明显的软件设计缺陷以外, 还包括提高软件的可优化空间、修复软件漏洞等等。总而言之, 软件性能测试对于提高软件性能有着重要作用, 也是软件运用于系统前的必要环节[1]。

二、软件性能测试过程

软件性能测试包括以下几个基本过程, 主要有需求阶段、设计阶段、集成测试阶段、系统测试阶段、性能测试阶段、提交文档及总结阶段。首先需要分析软件用户的需求, 从需求目的出发, 进行软件的设计, 包括确定软件测试的目的以及相关指标。其次, 在集成测试阶段, 确定软件的虚拟用户脚本, 并保证其可在控制面板环境下进行自动化测试。然后, 在反复测试的过程中, 不断调整软件的性能, 使得软件能够更加适应系统以及设计需求。最后, 提交文档, 完成软件的设计, 并进行项目的总结分析[2]。由此可见, 软件性能测试具有较为完整的项目化过程, 因此要提高测试效率和质量, 就需要做到各环节的细节优化, 才能够实现软件测试的优化。

三、软件性能测试优化探究

3.1优化软件性能测试的设计。在软件性能测试项目的前期, 需要做好必要的设计, 以确定软件测试的目的以及合理的测试策略。软件测试设计优化的实现, 首先需要根据测试目的来确定测试的主要内容。如为测量系统的容量, 则应该在测试中利用软件体现出系统的负载量;而为了实现软件的升级, 则应该测试升级后的软件性能和运行稳定性, 并做好相关的优化。此外, 根据有关的文档说明, 如系统介绍和规格参数、系统配置等等, 来进一步确定软件测试的设计需求[3]。

3.2优化测试环境。软件测试的环境也能实现优化, 测试环境包括系统环境以及软件数据环境等方面。其中较为关键的是系统环境, 体现在硬件的性能以及系统的配置上。往往在软件测试中, 需要评估系统的性能状况, 再结合软件设计的需求来确定测试的主要过程。而较为科学的测试方案, 则为设置多种不同的测试环境, 以满足在不同环境下的软件测试需求。但由于建设费用较高, 往往难以实现。而除系统环境以外, 还包括其他的环境因素, 如代码的优化程度、网段上传下载速度以及数据库容量等等, 都需要纳入优化的范畴当中[4]。

3.3优化测试数据及监测指标。在软件性能测试中, 需要设计好相关的监测指标, 以直接观察软件测试的结果。软件测试需要以大量数据为基础, 因此需要准备足量的基础数据, 包括不同文件格式的数据并保证数据格式的可转化性。在软件测试的数据准备中, 可能会出现数据剩余以及更新后的数据残余等, 因此还需要考虑数据冗余问题, 以提升测试的速度和效率。在软件测试过程中, 需要选择合适的监测指标。在后期软件性能测试阶段中, 合理的监测指标往往能够更加直接地体现软件的反应性。并且需要在多次的数据更新和备份中, 监测指标需要有相应的动态变化而不丢失。因此, 在软件测试过程中, 注重好细节上的优化问题, 往往能够有效提高测试的效率和质量。

结束语

总而言之, 在软件性能测试的优化中, 需要注重于测试环节中的细节优化。根据不同的软件设计需求, 以及软件本身设计的难易度来决定软件测试的方式。在实际的软件测试工作中, 还需要考虑软件与系统之间的兼容性, 除不断优化软件性能以外, 往往要根据系统性能来设计合适的软件。只要在软件测试中注重总结和创新, 就能够实现软件测试和软件性能的不断优化。

参考文献

[1]宋辉.一种轻量级软件性能测试工具的设计与实现[J].西安邮电学院学报, 2009 (03) .

[2]朱怡雯, 钱超, 林勇.软件性能测试工具综述[J].中国金融电脑, 2009 (07) .

[3]冯艳红, 于红, 孙庚, 杨晋辉, 赵树平.软件性能测试实施过程研究[J].软件导刊, 2011 (02) .

软件开发的性能测试与研究论文 篇3

关键词:性能测试;软件企业;应用

中图分类号:TP311 文献标识码:A 文章编号:1674-7712 (2012) 18-0035-01

一、引言

通常来说,B/S和C/S这两种结构是绝大多数现代企业所使用的应用型软件,特别在逐渐增多的客户数量和公司用户的趋势下,应用软件则有着更高的要求在系统并发用户数上,与此同时,在注册时间要求上,在线的系统用户绝大多数有着比较高的响应时间要求,所以说,大多数的都有着直接性的用户需求在软件企业对软件项目最大压力和负载需求的设计当中,而对于软件项目所做的项目设计和需求分析的过程当中,软件企业要做到对后期维护软件项目过程当中维护费用以及需求变化当中所出现的公司利润做到充分的考虑,这使得绝大多数的软件企业将项目的性能测试工作放在发布之前进行,而所做出的性能测试这是在软件企业和其他的项目开发者通过对专门性的软件测试工具和脚本描述测试对象与相关的性能指标的特征并且评价软件性能的过程。有的公司在进行系统的性能测试当中所使用的是开源工具,还有的公司所使用的是商业性质的测试工具,还有部分企业则在进行操作评价当中使用自己开发出来的测试工具,通过与开发人员所做出的有效沟通,综合评价软件项目的质量。

二、软件项目性能测试工具分析

对软件项目所进行的性能测试当中,所必须的要求是软件企业客观评价软件项目必须借助于模拟用户真实的环境和场景当中进行,软件企业要想做到对模拟并发用户达到的过程当中仅仅凭借固定的硬件设备显得远远不够,必须做到多个负载场景进行模拟,所以有着极其重要的作用来进行性能测试。从目前软件企业所使用的性能测试工具来看,主要可以区分为以下三种:

一是开源工具。和IBM公司进行开发和投资的eclipse和部分Linux操作系统内核同样的道理,其具备全面性的功能和灵活的使用的特点,绝大多数的软件公司首要的手段就是使用免费的开源工具。Tmeter这属于当前主要的对性能进行测试的开源工具,在做性能测试的使用范围界定为FTP服务项目和JavaWeb程序项目开发,借助于对多个具备并发性的虚拟用户的模拟作用,在使用事务点和集合点来做好压力测试和负载测试,综合分析软件项目项目性能则是使用图形化的显示界面的提供,其中的压力测试Sqlsever数据库则是使用DbMonster,其中的项目主要是测试internet网络的响应时间和连接速度。

二是商业工具。在现实当中有着专门性的公司来进行开发商业工具,由于这些公司有着足够的资金和人力投入对工具开发的支撑,这样所开发出来的软件所具备的特点为更多的支持插件、超强的功能、方便的操作系统以及更为美观的操作界面等。与此同时,商业软件所具备的独特特点,这还具备的优势为后期的用户操作培训服务和升级服务等。这使得在各个大型企业当中进行广泛的应用。Mercury后继续提供的LoadRunner,这个被HP公司收购的商业工具,由于具备更多的支持协议和负载,并且能够做到对性能指标做到实时的跟踪的优势,成为目前最主要的商业工具,而适用团队开发的咋属于IBM公司所进行开发的Rational系列PerformanceTester,通过创建到结果分析的自动化过程做到性能分析软件项目。

三是免费工具。在免费工具当中由于其有着超强的针对性、方便的操作方式以及使用免费等特点得到诸多中小型软件企业的亲赖,并且其中有着很多的公司在立足于免费工具的背景下,通过对免费工具的持续性改进从而做到所开发出来的性能测试工具更加针对本公司产品的特点,这样就会有着更高的效率和更低的成本。从目前所使用的情况来看,性能测试免费工具主要是针对于web程序的StressTool和针对于windows应用程序的`CenterTest。

三、軟件企业应用当中性能测试分析

一是大型软件企业的应用策略分析。大型企业的软件系统往往并发用户数较多,用户功能复杂,用户对响应时间要求高,企业对软件系统的安全性、稳定性要求高。同时,大型企业往往也存在资金雄厚、设备先进,更新速度快,开发人员技术实力雄厚,对系统升级带来的适应性更强,对于这样的企业,为了保证公司业务流程的广泛开展,对于软件项目可以采取构建自己的专业团队进行性能测试或将性能测试外包给有实力的软件测试公司来完成。软件项目的测试从国外的经验看,测试工作可能由除开发方和使用方外的第三方公司进行开展,这样不仅可以脱离本身开发或使用角度的片面性导致测试用例设计不全面,考虑不周全带来的BUG影响,同时可以使得开发团队与测试团队互相协作,提高软件开发的质量。

二是中、小型软件企业的应用策略分析。中小型企业业务流程相对简单,用户有并发需求,对响应时间也有具体的容忍度,但软件项目功能相对简单,负载及压力性能指标要求也相对较低,同时大多数企业对成本的要求期望也较高,投资相对较小。当然,只要是软件产品,都必尽量在克服资金限制的情况下使软件项目发挥最大功能,满足用户需求。对于中小型企业的性能测试特点,可以通过组建临时性能测试团队、自行编制脚本程序或能过专门的测试机构进行性能测试,在公司技术实力相对较强的情况下,可以通过组织10至30人的测试团队进行性能测试,在进行性能测试时可以借助免费工具或开源工具进行工作开展,如果公司技术相对较弱,时间紧,则可借助专门的测试机构进行性能测试工作。

参考文献:

[1]冯艳红,于红,孙庚.软件性能测试实施过程研究[J].软件导刊,2011(02).

[2]贾文芳,徐可.论Web应用软件性能测试及测试工具的选择[J].电脑知识与技术,2011(20).

[3]佟雪松,王喜伟,于春玲.软件性能测试方法研究[J].电力信息化,2010(01).

[作者简介]李萍华(1980.3-),女,毕业于昆明理工学院,计算机科学与技术专业。

软件开发的性能测试与研究论文 篇4

关键词:虚拟仪器 电动机测试 PID TCP/IP

随着计算机技术的飞速发展,计算机辅助测试(CAT)系统在电机行业得到了普及[1]。现代虚拟仪器技术引入电动机测试领域后,通过虚拟仪器应用软件将计算机与标准化虚拟仪器硬件结合起来,实现了传统仪器功能的软件化与模块化,从而达到了自动测试与分析的目的[2],大大缩短了系统开发周期,降低了系统开发成本。

本文设计的电动机性能虚拟仪器测试系统采用Na―tional Instruments公司的LabVIEW和LabVIEW RT虚拟仪器软件平台以及与其配套的PCI、SCXI和compactFieldPoint(cFP)虚拟仪器硬件来完成。该系统实现了多路电动工具性能的并行测试;可自动完成电动工具负载控制以及对扭矩、转速、功率及机体温度的实时监控;并且通过TCP/IP协议实现了测试数据的远程共享和用户对测试系统的远程操控。

1 系统组成及工作原理

1.1 系统组成

电动机性能虚拟仪器测试系统主要由主控机、实时监控模块、测功机以及待测电机四部分组成,如图1所示。

主控机为一台工作站,用于提供图形化用户界面,完成对系统软硬件的配置和设置,并实时更新各指标参量对时间的波形显示和经曲线拟合后的电动机特性曲线,最后完成测试数据的记录工作。与此同时,主控机还通过嵌入式PCI数据采集卡完成对非控制参量(如输入电压和工作电流)的测量工作。

(本网网收集整理)

实时监控模块由两套cFP分布式I/O系统组成,通过TCP/IP协议与主控机通信,从主控机获得控制命令控制测功机,并将从测功机采集来的数据交由主控机处理。其中,模块A用于完成实时自动加载和控制指标参量的测量,并提供过载保护、紧急停车以及非法停机后的系统重建等应急措施;模块B用于对待测电机体表温度进行实时监测。

测功机有磁滞和磁粉两类,用于为待测电机提供负载,并由其内部的传感设备将待测电机在该负载下的扭矩、转速以及输出功率等待测指标参量转换为cFP实时监控模块A可以接收的电压信号。

1.2 工作原理

电动机性能虚拟仪器测试系统可在两种工作模式下运行:自动工作模式和手动工作模式。主要测试项目有:输入电压、输入电流、输入功率、扭矩、转速、输出功率、机体表面温度、机体内部温度等。

自动工作模式下,主控机首先等待用户完成软硬件的设置和配置,然后提请用户选择负载测试或定参数测试。负载测试下,用户需要设置负载曲线、负载时间、循环时间以及测试时间等测试参数;定参数测试下,用户可以选择指定扭矩、转速或者功率,并设置相应的定标参数、控制参数以及测试时间。完成以上步骤以后,就可以启动测试程序,测试系统即按照用户制定的负载自动加载,同时完成对待测电机的性能测试;或者通过一定的控制算法保持定标参数的稳定,并对该状态下的待测电机进行自动测试。系统运行的同时,用户可以在实时监测图表中观察各指标参量对时间的波形显示和经过曲线拟合后得到的电动机特性曲线,并可将感兴趣的图表导出存盘。当测试时间到时,系统自动终止测试。

手动工作模式下,系统工作原理与自动工作模式基本类似,只是系统不进行循环测试,而是提供一种交互式的测试环境;完成指定的测试项目后,等待用户的进一步操作。

软件测试工程化研究实践的论文 篇5

【摘要】随着高新技术产业的发展,信息技术在国民经济中的地位日益增加,软件工程作为信息技术产业的重要组成部分,在信息技术领域中发挥着十分重要的作用。随着因特网技术的发展,软件产品也逐渐兴起开来,但是,市场经济体制下的软件产品的质量良莠不齐,严重制约了软件行业的进一步发展,因此,这就需要我们对软件产品进行有效的监督和管理,提高软件测试的效率,使用工程化方式管理软件测试,有效保证软件产品的实用性。

【关键词】软件测试;工程化;研究和实践

前言

软件测试是对保障软件产品质量的有效方法之一,不仅能够保证软件的有效性,而且能够促进软件产品的更新换代。软件测试能够很好的避免软件运行错误对实际生产生活的影响,使得软件产品能够充分发挥其应有的作用。就目前情况分析来看,很多大型优秀的软件公司已经形成了对软件产品系统的测试方法和测试模式,实现了软件工程的规范化管理,在进行生产开发的过程中相对于其他中小型企业来说具有明显的优势。本文根据软件测试过程中主要出现的问题和特点,提出了软件测试的工程化解决方案,希望能够促进软件产业的健康稳定发展。

1.软件测试模式

当前来说,世界各大公司的主要软件测试模型包括X模型、H模型以及V模型这三种软件测试模型,V模型是目前来说最为广泛采用的软件测试模型。V模型的理念在于提高了软件工程测试工作的独立性,认为软件的测试工作的重要性与软件的开发过程等同。相关测试人员的工作需要在软件项目各个阶段同时进行,在软件开发与应用的过程中要充分了解其作用和功能,并根据项目的性能特点和功能要求进行科学合理的软件测试。及时监控并发现软件运行中出现的问题并反馈给相关技术人员,以提高软件的安全性和稳定性。[1]

2.软件测试的人员要求

软件产业相对来说是一个劳动密集型产业,对于工作人员的技术素质要求也比较高。软件测试人员需要有充足的工作经验,并有较高的专业素养,才能胜任软件测试的工作。测试人员首先在测试开始之前需要对软件进行充分的了解,包括软件的运行模式、功能功效、甚至针对的用户群体等。其次测试人员要能够根据软件的实际情况设计合理的测试计划和方案。对于很多大型软件来说,往往需要多人组成的测试组来进行测试工作,这就需要测试组的各个人员之间能够进行有效的分工合作,共同设计、组织和实施软件的测试工作,保证软件测试工作的效率性和准确性。[2]

3.软件测试的生命周期

在计算机领域软件测试具有一定的生命周期是众所周知的事情,一般来说对软件的测试包括单元测试、集成测试、系统测试及验收测试,这些测试都具有相应的生命周期。软件测试人员在测试计划阶段时要充分掌握组织测试计划有关的内容,并分部分进行软件的测试,在测试之前制定软件测试计划;对于测试设计和定制个性方案的过程中,相关技术人员要充分了解该款软件的用户信息和要求,制定《测试设计方案》,确定测试的过程和方式。在测试的执行阶段测试人员可以根据《测试计划》和《测试设计方案》进行具体的测试工作,之后在测试的评估阶段根据测试过程中所发现的问题编写《测试总结分析报告》。规范测试文档是软件测试生命周期管理的另一项有效工具,在实际操作中我们需要根据测试文档产生的时间、格式以及内容等要求进行规范。比如对于单元测试来说,《测试计划》、《测试设计方案》、《测试问题报告》以及《测试总结分析报告》是必不可少的。IEEEStandardforSoftwareTestDocumentation定义了测试软件的内容和文档的类型,不同的软件企业在规范的基础上,根据自身企业的特点和软件的实际情况,可以对文档进行适当的裁剪及修改,制定出符合企业自身的软件测试文档规范。[3]

4.软件BUG的综合管理

在软件测试过程中,往往会显露出软件运行过程中的各种问题,对软件的问题进行有效的管理是进行软件测试工程量化管理的重要保证。一般来说,软件问题包含优先级、运行环境、严重级、问题来源、问题种类、负责人、状态、问题关联、附件、缺陷细节以及附图等内容。这些软件问题记录对于软件产品的测试工作和改进工作提供了科学的参考,因此,对软件问题进行综合的`管理是当前我们所要关注的首要问题,目前来说主要的两种软件问题管理方式分别是手工或半自动化软件问题管理和软件问题自动化管理这两种管理模式。

4.1手工或半自动化软件问题管理

在手工或者半自动化软件问题管理中,要把握住管理的核心即“问题报告单”。问题报告单能够直观准确的反映出软件的问题,是有软件问题的基本信息构成的,一般来说一个软件问题会产生一个问题报告单,问题报告单可以是Word版本或者Excel版本。在问题管理的过程中我们需要保证的是问题信息的完整性,在实际操作中需要按照问题类型制定统一的报告单模板。

4.2软件问题的自动化管理

在软件问题的综合管理模式中,软件问题的自动化管理方式目前来说得到了软件行业的广泛重视,其管理模式相对于手工或半自动化软件问题管理模式来说管理更加先进,而且管理过程中自动化程度很高解放了人力,且更加高效。我们使用HP公司的测试管理工具QualityCenter管理软件问题的生命周期,通过该测试管理工具得到软件的问题状况,利用QualityCenter跟踪软件问题的特点使得相关工作人员能够及时的掌握软件的运行情况,从而及时对软件问题进行修复,提高软件的质量。软件问题的自动化管理技术使得软件运行过程中的问题能够及时有效的反馈到技术人员手中,弥补了手工或半自动化软件问题管理的缺陷,有效提高了软件测试工作效率,从而促进软件产业的发展。

4.3QualityCenter的具体应用

我公司都使用QualityCenter管理测试出的软件问题,一般软件问题的处理流程为:测试人员将测试出的软件问题记录到QualityCenter中,由项目主管判断软件问题是否存在,如果存在则分配给相关的开发人员进行修改处理,处理后再由测试人员验证该软件问题是否正确解决,如果正确解决则关闭该软件问题,否则还需开发人员再次修改。QualityCenter可以在整个流程中管理软件问题的各个状态,并记录重要的信息。

5.软件测试的辅助工具

测试实施的辅助工具主要分为白盒测试工具和黑盒测试工具。其中白盒测试工具主要测试的内容是软件的代码问题,从而问题信息的指向是软件代码,对问题的定位十分准确。黑盒测试工具主要包括两方面的内容,一方面是功能测试工具,另一方面是性能测试工具。黑盒测试工具利用的是脚本的录制和回放功能,从而进行用户操作的模拟,将测试工具中的输出记录下来与标准的结果做出对比,发现软件测试中的问题。

6.结束语

随着我国IT行业的飞速发展,软件测试技术也随之兴起。将软件测试行业更加的规范化和工程化可以有效提高软件的检测效率,而且能够对整个测试过程进行控制,及时发现软件中出现的问题并有效处理。对于不同的软件而言,我们需要根据软件的具体情况进行合理的测试方式选择,从而提高软件测试的合理性和准确性,促进对于软件检测的整体管理。目前已经有很多高效的检测软件用于软件测试,也有很多软件问题管理系统用于管理软件问题,这些都提高了我国的软件行业整体质量,使得软件行业能够更高效更安全的发展。

参考文献

[1]张光泽,于鑫.“软件测试”工程化教学模式初探[J].大学教育,2015,(3).

[2]李亚.“软件测试”教学探索与实践[J].计算机教育,2016,(6):31-32.

软件测试技术与管理方法探讨论文 篇6

2下面简介软件测试的过程

2.1模块测试

模块测试主要针对软件设计中的程序模块,通过测试技术测试程序块是否正确,模块测试的主要目的是测试程序内部的错误,根据程序设计的结构检查代码和程序是否合理,是否符合设计思路和理念,是否能够正常运行。

2.2组装测试

在模块的基础上,需要将所有模块的功能全部测试完成后组装成为系统,组装测试的目的在于,连接所有模块之后,模块之间的接口、触发器是否能正常运行,并且计算显示的数据是否正确,模块之间的功能是否互相冲突,是否达到预期的目的和结果显示,是否构成正确的、预期的数据结构。不同模块之间的误差有多少,有多少可以解决,有多少不能解决。

2.3确认测试

确认测试的目的是验证软件的功能和特性是否达到预期的愿望,是否能按照预期的组织结构、系统结构、用例分析和时序分析运作,并且进行验收测试和安装测试。

2.4系统测试

系统测试是确认软件是否与硬件互相支持,是否能满足软件使用者对软件的需求和操作简便的愿望,比如说查询模块运行完后界面中查询条件应该为查询之间输入的查询条件。系统测试保证了系统的正常运行,另外很重要的就是权限测试,系统在研发之初定义的权限信息和权限功能是否实现,是否发现软件成品与软件定义不符合或者矛盾。

3软件测试技术的地位

软件开发的性能测试与研究论文 篇7

性能:一般来说, 性能是一种指标, 表明软件系统或构件对于其及时性要求的符合程度;其次, 性能是软件产品的一种特性, 可以用时间来进行度量[1]。

性能测试:就是用来测试软件在系统中的运行性能的。性能测试可以发生在各个测试阶段中, 即使是在单元层, 一个单独模块的性能也可以使用白盒测试来进行评估, 然而, 只有当整个系统的所有成分都集成到一起之后, 才能检查一个系统的真正性能。

负载测试:在一个确定的软硬件环境下, 对所要测试的模块或系统, 加载一个确定的负载 (压力) , 对模块或系统进行测试, 探测模块或系统在这个确定环境确定负载下的性能表现。它的主要目的是验证模块或系统在给定的负载条件下的处理性能。

压力测试:不断给系统或模块增加负载 (离线增加) 下的负载测试。它的主要目的是是通过确定一个系统的瓶颈或者不能接收的性能点, 来获得系统能提供的最大服务级别的测试。

强度测试:系统资源不足 (内存不足, CPU不足, 空间不足) 下, 正常负载下运行系统或模块下的系统性能。它的主要目的是考查系统或模块稳定运行所需要的最少资源。

2 性能测试的目的

执行性能测试, 一般是基于以下4个方面的部分或全部。 (1) 是验证系统在给定的条件下处理性能是否达到设计目标与用户要求。 (2) 是探测系统在给定的条件下极限处理能力。 (3) 通过对系统各参数的调整, 测试系统的最优性能配置。 (4) 通过性能测试发现功能测试难以发现的缺陷。在我们日常的性能测试中, 第1种测试目的是最多的。第3种要求较高, 相对来说, 较少用到。

3 性能测试的主要指标与来源

软件性能测试常见的主要指标有:响应时间, 吞吐量, 并发用户数, 资源利用率。

响应时间是指对请求作出响应所需要的时间。我们常说某个软件的性能好不好, 从用户的角度来说, 主要是指响应时间是否足够快。响应时间就是软件性能测试中用户最直接感受的性能指标。一般情况下, 响应时间越短, 系统的性能越好。然而, 响应时间却没有一个标准的值来参考。

吞吐量:单位时间内系统处理的客户请求的数量。该性能指标直接体现了软件系统的性能承载能力。一般可以用请求数/秒或字节数/秒等来度量。

并发用户数:同时向系统 (服务端) 发送请求的数量。该性能指标直接体现了软件系统 (服务端) 承受最大的并发访问的能力。针对我们的oce, 则用caps来度量。实质是并发用户数请求/秒在我们通信计费领域中的对应指标。

资源利用率:主要是指系统的各种资源使用状态。这里资源主要是指系统CPU占用率, 内存占用率以及系统的I/O统计情况。通过这些资源占用率就可以评估所测系统对资源的要求以及相应可能出现的瓶颈。从而为系统调优提供方向指导。

4 性能测试一般过程

性能测试工程师从接收到一个性能测试project后, 一般要经过下面六个过程。即“性能测试需求分析→制定性能测试计划→测试设计→测试开发→测试执行→测试结果评估”这六个基本阶段。

性能测试需求分析:主要是明确我们性能测试的目的。通常情况下, 性能测试工程师会接收到类似“给o c e做一下性能测试, 测试一下免费资源赠送进程的处理能力”等测试需求不是十分明确的测试任务。面对这样的测试任务, 就需要我们对这样的测试需求进行分析, 将非常抽象的测试需求转化为相应的性能指标值。获取相应的性能指标值就是我们的测试目的。如“测试一下免费资源赠送进程的处理能力”, 根据我们免费赠送进程的设计与实现就应转化为“免费资源赠送进程每秒插入多少条赠送记录, 免费资源进程运行时资源消耗等”测试目的。

制定性能测试计划:性能测试需求分析阶段主要是明确我们测试目的, 性能测试计划阶段为实现这个目的而必须要做的规划与设计。它是整个性能测试过程的成功执行的指引、监控与保证。在性能测试计划中应包含测试目的 (测试性能指标值) , 测试策略, 测试环境的要求 (软硬件) , 测试数据准备, 测试资源需求 (人力与财力) , 测试进度, 测试风险评估, 测试需完成的相关文档等关键要素内容。其中的关键要素内容, 可查阅相关文档。

测试设计:在本文主要是指测试用例设计。性能测试用例的设计依据是业务建模。业务建模是指对系统各种关键业务场景的抽取以及它们之间比例的确定。业务模型的成功建立是成功执行性能测试的关键。业务建模的方法一般是采用两种方法。一是借鉴相同系统已有的模型。二是分析历史数据。有时候, 在这两个方法都无法展开时, 根据2~8原则进行建立。

测试开发:性能测试一般是借助于性能测试工具进行的。但工具是需要通过开发相应的脚本才能完成相应的任务。即使有的项目可以采取录制的手段获得脚本, 但在绝大多数情况下, 需要对脚本进行相应修改与调试才能满足我们性能测试目的。另外, 工具不是万能的, 有些项目不适用于已有的工具。此时需要我们进行必要的软件与脚本开发, 如开发动态库使目前的工具能支持我们的测试需求, 或者是重新开发相关的模拟器与挡板程序以及相应性能统计分析工具。

测试执行:测试执行相对来说比较简单, 在测试环境与测试数据准备妥当之后, 根据业务模型建立的业务场景直接运行相应的测试用例。测试执行过程要注意的地方有3个, 每次测试前的环境恢复, 测试过程与结果的监控, 测试后环境的清理。其中, 测试过程的监控, 主要是指系统资源使用情况的监控, 如 (cpu利用率, mem占用率, I/O频度) , 同时也包括特定要求的其它监控, 如磁盘占用率等。

测试结果评估:根据每次测试过程中监控到的系统资源使用情况, 以及借助于自动化工具给出的测试结果分析报告或采用脚本 (或分析程序) 对日志文件进行统计分析的结果分析报告, 对照测试目的, 从而得出测试的结果是否通过的结论。同时对测试分析与统计的结果要进行评估, 评估测试结果与真实理论结果之间的偏差。并写成测试报告。如果测试结果与期望值差距太大, 要在测试报告中分析原因并写出自己的改进建议供研发人员参考。

5 结语

本文主要从性能测试的基本概念、测试目的、性能测试的指标以及性能测试的一般过程进行了相应的论述。重点阐述了几个易混淆的几个基本概念与性能测试的一般过程。因篇幅关系, 性能测试的一般过程中的部分概念与内容没有进行更深入的探讨与实例说明。本文旨在明辨概念与如何进行性能测试提供一般的方法指导。与实践相结合的部分, 准备在后续的小文中单独进行总结。另外, 上述性能测试的一般过程是我在实际性能测试过程中的总结, 有些小的项目不一定完全适合这个过程。因此, 具体的性能测试项目可根据实际情况进行相应的裁剪。

摘要:首先对性能测试中易混淆的且必须要掌握的概念进行了阐述, 接着论述了性能测试的目的与主要性能指标等基本概念, 然后着重讲述了软件性能测试的一般过程, 为如何进行性能测试提供了一般的方法指导。

关键词:性能,性能测试,负载测试,响应时间,吞吐量业务建模

参考文献

软件测试方案分析与研究 篇8

关键词:软件测试测试方案测试计划测试用例

0引言

目前,越来越多的软件企业涉及高质量高可靠性软件项目的开发,作为软件质量控制和保证软件工程过程质量的最有效方法,软件测试在项目开发过程中的地位与日俱增。软件测试的总目标就是:确保软件的质量。如何有序开展测试工作从而保证软件高质量高可靠性,已经成为众多企业面临的一个重要课题。本文主要讨论了测试过程的核心测试方案的相关理论和技术。

1软件测试方案概述

1.1测试方案概念测试方案属于软件工程的范畴,制定合理规范的测试方案是软件测试的核心环节。测试方案是描述所测软件的测试特性、测试方法、测试用例设计、测试代码设计、测试环境规划以及测试工具设计和选择的一种策略与方法。测试方案有助于软件项目成员理解和执行测试过程中的各项活动,同时测试方案也有助于测试活动的管理。

1.2测试方案目标测试方案描述和定义了软件系统进行测试的策略和方法。其主要目标是:在完整的软件开发周期中,有效安排和管理测试工作,建立一个全面的测试计划,定义该软件在不同阶段的测试性质和测试程度,协调测试工作使其按照进度表有序进行,并按期接收应该交付的文档和作品。

1.3测试领域发展目前,测试领域的需求和应用非常广泛,所应用的技术从软件技术到模拟数字、从电子商务到低频高频,微波、从测试到诊断、从维修到保障,方方面面都在快速发展,展现在我们面前的专业词汇,如仪器、虚拟仪器、测试、虚拟测试、虚拟试验、诊断与维修、预测与评估、BIT等日新月异,这些都是测试领域新技术发展和应用的载体。针对不同的测试对象,制定测试方案的策略和重点也不同。

2测试方案和测试计划

目前,仍然有学习者误认为测试方案就是测试计划。实际中,由于各个测试项目规模和范围的不同,一些软件企业的测试工作往往都是在制定测试计划之后直接开始测试设计以及测试执行,这就给初学者们造成一定的误解,以为测试计划就等同于测试方案,然而这种想法是错误的,测试方案不同于测试计划,它和测试计划有着明显的区别。当然也存在一定关联。

2.1定义不同测试计划是对测试过程的组织、资源、原则等进行的规定和约束。测试计划制订测试过程各个阶段的任务以及时间进度等安排,提出对各项任务的评估、风险分析和需求管理。而测试方案则是描述所测软件的测试特性、测试方法、测试用例设计、测试代码设计、测试环境规划以及测试工具设计和选择的一种策略与方法。

2.2层次不同测试计划是管理层面的,从组织管理的角度规划涮试活动.而涮试方案是枝术层面的.从技术的角度规划测试活动。

2.3进度不同测试过程分为四个阶段:单元测试、集成测试、系统测试和验收测试。而每个阶段都要按照测试计划,测试设计.测试实现,测试执行的步骤来实现。测试计划说明书是测试计划阶段的产品,而测试方案则是测试设计阶段的产品。其中每个阶段的执行必须是在上层阶段产品通过评审后才能开始。

2.4内容不同测试方案和测试计划包含内容上的区别是二者的本质区别。

2.4.1测试方案的内容:明确策略,细化测试特性(形成测试子项),测试用例的规划,测试环境的规划,自动化测试框架的设计以及测试工具的设计和选择。

2.4.2测试计划的内容:①明确测试组织的组织形式;②测试组织和其他部门关系以及责任划分;③测试组织内的机构和责任安排;④明确测试的测试对象(明确测试项,用于后面划分任务,估计工作量等):⑤完成测试的需求跟踪;⑥明确测试中需要遵守的原则;⑦明确测试工作任务分配是测试计划的核心:a进行测试任务划分b进行测试工作量估计c人员资源和硬件资源分配d明确任务的时间和进度安排e风险的估计和回避措施f明确测试结束后应交付的测试工作产品。

由上可以看出测试方案和测试计划有着明显区别,但实际上在一些规模较小的软件企业中,由于受人力资源和资金成本的限制,制定测试方案和测试计划的界限并不明显,有时会在测试计划中会包含一些测试方案的内容,即测试环境规划、测试工具选择以及测试用例设计方法等,也就是说对于小规模软件项目,其测试计划和测试方案有时会结合在一起。但这种做法是不合适的,一般对于大型软件公司,针对大规模项目,必须把测试方案和测试计划的制定分开进行,这样更加有利于整个测试项目运作和项目组之间的交流,更会起到保障软件质量的作用。

总而言之,测试方案需要在测试计划的指导下进行,测试计划提出“做什么”,而测试方案明确“怎么做”。二者既有区别又有联系,概念总归是概念,读者可以不必拘泥于此,根据软件项目规格大小以及实际应用环境,测试人员应该具体问题具体分析。

3结束语

软件开发的性能测试与研究论文 篇9

测试员是项目的前灯。测试就是要找到信息。测试的使命决定要做的一切。快速找出重要软件问题,对产品质量提出总体评估,确认产品达到某种具体标准,帮助客户改进产品质量和可测性,保证测试过程能够达到可分清责任的标准,就测试和与测试员协作方式培训客户,采用特定的方法集或遵循特定的规则集,帮助预测和控制支持成本,帮助客户改进其过程,以最小化成本,时间或尽可能减少副作用的方式,完成自己的工作,为满足特定客户要求,完成所有必要的工作。测试员为很多客户服务。项目经理----向此客户报告工作状态,迅速报告重要问题。程序员---向此客户提供好的错误报告。技术文档编写员---向此客户报告文档类型错误,技术支持员和市场开发员,项目负责人,用户。测试员发现的信息会打扰客户。测试团队需要根据客户对价值的定义,通知客户有关威胁产品价值的任何信息。迅速找出重要程序问题。首先测试经过变更的部分,后测试没有变化的部分。先核心功能,后辅助功能,先测试能力后测试可靠性,先测试常见情况,后测试少见情况。先测试常见威胁,后罕见威胁,先测试影响大的问题,后影响小的问题,先测试最需要的部分,后测试没有要求的部分。跟着程序员走。及时的向程序员报告发现的问题。让程序员成为项目的瓶颈。询问一切,但不是外漏。测试员想到的任何问题,都会有助于启发自己的思想,最终产生对问题新的认识测试员关注失效,客户才能关注成功。不能说 通过测试来确认程序正常,只能说 就我所执行的测试来说,没有发现产品不正常。测试员通过发现程序中客观存在的问题,是为了更好的能够帮助项目团队更加了解自己的技能以及产品风险。不会发现所有程序问题。知道并承认自己不能做所有的事之后,测试员必须选择如何使用自己的时间 10 当心“完备的”测试。总结自己实施的测试以及为什么值得实施这些测试,并告诉客户自己没有做的其它值得做的测试,以及为什么没有做这些测试。通过测试不能保证质量。测试员测试和错误报告提供促进项目质量保证的信息,但是这种保证要来自整个团队。永远别做看门人。要由控制项目,条件最好的人承担发布产品的责任。当心测试中的不关我事理论。应尽其所能,通知团队可能会对产品的价值产生消极影响的所有问题。14 当心成为过程改进小组。可以成为过程改进的一员,但避免成为全部。别指望任何人会理解测试,或理解测试员需要什么条件才能搞好测试。测试员可以向管理层和程序员提供帮助自己的机会

软件开发的性能测试与研究论文 篇10

关键词:汽车噪声;排气消声器;性能

中图分类号: U464 文献标识码: A 文章编号: 1673-1069(2016)11-191-2

0 引言

声学和流体动力学是研究汽车排气消声器性能的最主要的两门学科。研究人员运用多种运算方式和模拟仿真软件进行消声器的性能测试,对其设计提供了极大的方便。汽车排气消声器的组成是消声单元。其基本的消声单元分为扩张式、共振式和阻性消声器等。汽车排气消声器的开发设计就是基于对消声单元的研究和探索,运用科学的数值分析法研究消声单元在外界条件及不同参数结构影响下的噪声和气流波动是对汽车排气消声器性能研究的基础。本文研究将在国家规定的行业标准下进行,利用专业的排气消声器测试平台对不同的消声器进行性能的测试,分析出对汽车排气消声器性能设计有重大参考意义的噪声频谱特性。最后,运用汽车消声器的正向设计思路,以降低噪声的基本性能为主合理的选择消声单元,通过计算和结构构成的实验去验证和检测汽车消声器的设计。

1 汽车排气噪声产生原理和消声器的机理研究

发动机排气噪声的产生是由于发动机气缸内部高温废气的压力急剧变化,气压波巨大,从而导致排出过程中产生噪声,其噪声根据不同振幅、频率以及产生的结构位置不同分为:基频排气噪声、亥姆霍兹共振噪声、废气喷注噪声、排气道内壁面的紊流噪声、冲击噪声等多种噪声形式,其中基频排气噪声是最主要的噪声形式。在汽车排气消声器上,为了应对不同噪声形式,从根本上降低噪声,消声器从消声原理上分为有源消声器和无源消声器两大类,由于有源消声器在排气系统的实际应用上比较繁琐,一般多采用无源消声器。

1.1 汽车排气噪声产生原理

汽车发动机的排气口在打开的瞬间,高速高温的废气从气缸中喷出,从而产生具有低频性、周期性的噪声。这种噪声称为基频排气噪声,是发动机最主要的噪声源,它的噪声频率和排气次数相同。其基频和谐波的运算公式为:fk=

式中,k表示谐波的次数;n表示发动机转速,单位为r/min;z为发动机气缸的数量;τ表示冲程系数,其中二冲程的τ值为1,四冲程的τ值为2。

1.2 汽车排气消声器的机理研究

汽车消声器是安装在汽车空气动力设备上的气流通道上降低噪声的设备。其消声机理是利用声波在叠加中发生干涉相互抵消从而达到降低声音强度,减小噪声,实现消音的目的。

其中有源消声器是一种主动消除声音的设备,基本机理是运用电子装置主动发射出与原噪声声波振幅相等但是相位相反的声波,两种声波相互干涉抵消,降低了声音强度实现了消声的目的。但是这种有源消声器具有很大的局限性,面对声波频率广的发动机排气系统上运用就显得非常复杂,导致使用率不高。其中排气背压直接影响发动机功率,与额定转速下的功率损失比的关系如图:

其中无源消声器又分为抗性消声器、阻性消声器和阻抗复合型消声器等,抗性消声器是使声阻抗产生变化,其方式是使管道界面产生突变或者接一个共振腔使声波在声阻抗发生变化的地方产生反射和干涉,最终达到消除噪声的目的,一般多用于降低中频和低频噪声。阻性消声器是运用有很多孔洞的吸收声音的材料来实现消除噪音的,噪音进入这种多孔洞的吸收声音的材料后致使孔洞内部气体产生振动,振动的气体在材料上相互摩擦,最终让一部分的声能转化成为热能,实现降低噪声的目的。但是这种阻性消声器对频率低的噪声效果不佳,所以一般应用于中频和高频的噪声消除。阻抗复合型消声器就很好的融合了前两种消声器的特点,具有优良的消声特性,广泛适用于汽车发动机排气消声上。

2 基本消声单元的性能分析

消声单元是复杂消声器的基本组成部分,因此对基本消声单元进行科学的数据分析,研究不同结构形式对于声学性能和气体流动性能的影响对于消声器的设计开发有着重大的参考价值。本文运用模拟仿真软件对扩张式消声器进行数据运算和研究发现,扩张腔截面形状是具有局限性的,只能对中频、高频的噪声产生影响。对出入管的偏置分为一端偏置和两端同时偏置,对于一端偏置来说偏置距离越大,其高频域消声能力就越好,但是对于中低频域噪声无效。而对两端偏置来说,偏置距离越大,中频域噪声的消声性能就越好,但是对于高频域噪声效果就截然相反。

3 汽车排气消声器的开发设计

目前,对于汽车排气消声器的设计一般都是基于现有的消声器基础上,然后根据实验得出的经验或者理论进行调试,最后再用数值分析法进行检验。这种做法虽然可行,但是局限性比较强,工作量大,周期性强。然而采用正向开发方式,综合实际声场和流场的变动,贴合发动机实际设计排气消声器,相对老式的设计方式就显得更加高效。为了达到全频段的消声目的,行业标准 QC/T 631-2009《汽车排气消声器总成技术条件和试验方法》给出了在发动机额定工况下排气消声器的声学和空气动力学指标的推荐值,如右图:

在设计过程中应当充分考虑声学、流场、结构等诸多因素。设计中以声学目标为主,降低噪声为主要性能目的。其中流场目标为排气背压差应低于15kPa,结构目标应当简单且重量轻。运用科学的计算方式确定数值,合理的选择基本消声单元来实现消声器的设计,运用CFD方法分析研究汽车排气消声器的设计的流场性能,充分考虑系统的扩展性,优化设计模块。

4 结束语

由于专业技能有限及时间、设备条件等客观因素,对消声器的研究和设计上并不完美。本文的出发点为声学和流场性能,对汽车发动机排气消声器的性能进行研究与设计开发,其内容包括汽车噪声产生的原理和消声器的机理研究、基本消声单元在不同参数结构下的性能影响规律、汽车排气消声器的正向设计开发方案。对现阶段汽车排气消声器存在的问题进行研究和探索,介绍了消声器的不同类型和消声原理以及适用范围。在国家相关规定和行业标准下进行汽车排气消声器性能的模拟仿真测试,最终提出正向设计的思路对消声器具体结构进行合理的设计。

参 考 文 献

[1] 洪宗辉,潘仲麟.环境噪声控制工程[M].北京:高等教育出版社,2002.

[2] 庞剑,何华.汽车噪声与振动[M].北京:北京理工大学出版社,2006.

软件性能测试需求的获取方法综述 篇11

基于Web服务器的应用系统由于提供浏览器界面而无须安装, 大大降低了系统部署和升级成本而得以普遍应用。目前, 很多企业的核心业务系统均是Web应用, 但当Web应用的数据量和访问用户量日益增加, 系统不得不面临性能和可靠性方面的挑战。因此, 无论是Web应用系统的开发商或最终用户, 都要求在上线前对系统进行性能, 科学评价系统的性能, 从而降低系统上线后的性能风险。

在很多性能测试项目中, 由于不能合理定义系统的性能测试需求, 不能建立和真实环境相符的负载模型, 不能科学分析性能测试结果, 导致性能测试项目持续时间很长或不能真正评价系统性能并提出性能改进措施。因此, 性能测试需求分析的正确性是整个性能测试工作的最基本前提。若不能保证性能测试需求分析的正确性, 即使性能测试工具使用的再正确, 性能测试执行的再顺利, 也无法保证性能测试达到预期的效果, 即可能无法发现性能瓶颈、或者发现不了实际情况中应该出现的瓶颈。

本文从分析性能测试的目的出发, 提出性能测试需求描述的三个要求, 综述性能测试需求的获取常用方法。

2 性能测试的目的

性能测试的目的不仅是发现软件缺陷, 还可能包括以下几个方面:

(1) 验证能力。

这是性能测试中最简单也是最常用的一个应用领域, 典型的能力验证问题会采用这样的描述方式:“***系统能够在***条件下具有***能力?”。通常情况下, 企业在进行项目验收阶段要求能力验证型的性能测试或者委托第三方软件测试机构开展独立的性能验证, 其主要特点是在已确定的生产环境中实际使用被测系统, 即这套系统能不能承受大量的并发用户同时访问?常以典型场景设计测试方案和用例。

(2) 规划能力。

这与 (1) 有较大的不同, 以规划能力为目的的性能测试关注的是“应该如何才能使系统具有要求的性能能力?”或者“系统能否支持未来一段时间内的用户增长?”, 因此, 这种性能测试强调对系统当前性能的评估, 通过评估可以在应用实际部署之前, 预见系统负载压力的承受能力。

(3) 调优性能。

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

3 性能测试需求描述要求

(1) 准确。

如**系统必须在不超过10秒的响应时间内, 处理20起登录和注销系统任务。再如**搜索时间最大不超过5秒以及平均时间在1~3秒以内。

(2) 一致。

开发工程师、用户和性能测试工程师对有关术语的理解要一致, 如:并发用户数、动态用户数、静态用户数:

静态用户 (注册用户) :3500以上

动态用户 (在线用户) :1500以上

并发用户:500以上

(3) 特定。

性能测试的需求一定是有条件的, 如:

检查系统在200个用户的负载下, 所有业务动作是否可用及稳定;

检查系统在300个用户的负载下, 连续运行72小时过程中, 订单上传、转单、详情单查询、发运等业务动作是否可用及稳定;

检查系统在8.0 GB业务数据、1500个用户、500个并发用户运行的负载下, 连续运行72小时过程中, 以上业务动作是否可用及稳定。

因此, 性能测试需求必须要包含有多少用户 (who) 在什么时间 (when) 或者持续多久 (when) 进行了什么业务 (what) , 最终需要关注怎样的指标 (how) 。除此以外, 需要根据项目性质和性能测试的目标来获得性能测试需求的来源 (where) , 归纳为4W1H。下面将介绍一些常用的性能测试需求获取的方法。

4 获取性能测试需求的方法

性能测试需求是应用需求的衍生, 既需要借助于相关的理论知识, 又要依靠测试工程师在相关领域的经验积累, 根据前面4W1H的性能测试需求的要求, 即对性能测试需求进行整理, 确定恰当的并发用户数、在适当的时间进行典型的业务活动时, 关注的性能指标有怎样的结果, 笔者根据多次性能测试实践经验, 总结获取性能测试需求的方法如下。

4.1 性能需求信息来源 (where)

(1) 开发过程相关文档。

这是性能测试需求的主要来源, 项目开发计划书、需求规格说明书、设计说明书、测试计划等文档都可能涉及性能测试的要求, 通过收集这些资料, 可以找到初步的性能需求。相关的项目干系人有客户代表、项目经理、需求分析员、系统架构设计师、产品经理等。

(2) 相似项目性能需求。

公司的其他产品或项目会累积出一些数据, 如:**技术论坛一小时最多能发1000新帖;****博客平均每天新增800篇, 以这些数据为确认新项目测试需求的基础。

(3) 业界公认标准。

如响应时间, 根据服务器的不同和项目的具体情况可能有两类标准:

A类标准——

4秒以内, 用户可以接受

4-9秒, 30%用户离开

8-10秒, 60%用户离开

超过10秒, 90%用户离开

B类标准——

8秒, 用户可接受

16秒, 50%用户离开

32秒, 90%用户离开

(4) 用户使用模型。

性能测试要通过一系列场景的执行来完成, 分析用户的使用模型是获取性能测试需求的有效手段, 即定义系统的典型使用方式, 考虑哪些用户使用系统的哪些典型业务, 在什么时间段和用户数量的估计值, 因此需要和最终的用户有很好的沟通, 最好能够实地考察用户的应用情况。如某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年业务发展的需要, 测试需按现有业务量的两倍进行。

每年总的请求数为:

(100x15%x7+100x70%x5+100x15%x3) x2=1000万次/年

每天请求数为:

1000/ (20x8) =6.25万次/天

每秒请求数为:

(62500x80%) / (8x20%x3600) =8.68次/秒

即服务器处理请求的能力应达到9次/秒。

4.3 任务分布图 (what+when+who)

任务分布图是以一种直观的方式展示性能测试需求, 描述一些交易任务在24小时内的交易情况, 重点关注并发用户的数量以及典型的业务操作。如表1是某网上书店的任务分布图, 从中可见:12:00~16:00的交易混合程度较高, “预定图书”任务的并发用户在14:00达到最大。

如果需要进一步了解典型任务的平均值、峰值以及对web服务器、数据库服务器的压力等信息, 可以建立交易混合表。

4.4 web服务器访问日志

一般的web server有两部分日志:一是运行中的日志, 它主要记录运行的一些信息, 尤其是一些异常错误日志信息;二是访问日志信息, 它记录访问的时间、IP、访问的资料等相关信息。为了获取系统性能测试的需求, 可以分析web server的访问日志以了解系统更多真实负载和主要的业务场景。下面介绍一下利用tomcat产生的访问日志数据所做的有效分析。

首先是配置tomcat访问日志数据, 默认情况下访问日志没有打开, 配置的方式如下:

编辑${catalina}/conf/server.xml文件: (注:${catalina}是tomcat的安装目录)

把以下的注释 () 去掉即可。

其中d i r e c t o r y是产生的目录t o m c a t安装${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

U C M L T M (U s e r C o m m u n i t y M o d e l i n g Language) 是一个符号集合, 这些符号可以创建虚拟系统用法模型, 以及描述相关参数。当把它应用到负载压力性能测试时, 这些符号可用于表示工作量分配、操作流程、重点工作表、矩阵和马尔可夫链等。负载压力性能测试工程师在决定测试中用到什么活动, 以及它们发生的频率时, 经常用到这些参量。

通常应用Smart Draw或者Microsoft visio绘制UCML, 进行负载压力测试需求分析。UCML的数据来源有两种方式:一是通过与最终用户的沟通, 详细询问应用情景, 根据一定的常识推理得到;二是通过分析已有的数据, 如数据库的日志, web server的访问日志等获得。UCML的好处在于提供了一种易于理解、便于沟通的表现形式, 尤其在应用自动化性能测试工具时, 方便性能测试计划、分析、设计和实施人员的沟通。图2是一个在线书店的UCMLTM图表, 为负载压力测试提供了需求。

5 总结

Web应用项目的性能测试成功的关键不在于性能测试工具, 而在于有效的性能测试分析方法和实践。只有切实掌握性能测试需求分析方法, 性能测试实践经验, 才能保证一个Web应用性能测试的成功。基于4W1H的性能测试需求描述标准能够为获取有效的性能测试需求提供一个依据, 结合性能测试目的而选取适用的性能测试需求获取方法才是有效的。

参考文献

[1]柳纯录, 黄子河, 陈渌萍.软件评测师教程[M].北京:清华大学出版社, 2005.

[2]赵艳玲.软件开发中的需求获取[J].现代电子技术, 2007 (11) :580-581.

[3]冯铮.基于WEB的软件测试规范与质量标准体系的研究[J].计算机与数字工程, 2007 (12) :71-74.

[4]谈姝辰, 尹军.基于负载的WEB性能测试研究与应用[J].现代电子技术, 2007 (14) :139-142.

上一篇:九年级化学《水的组成》教学教案下一篇:有关热带鱼的说明文800字作文