net性能测试框架

net性能测试框架

ID:28644606

大小:693.00 KB

页数:20页

时间:2018-12-12

net性能测试框架_第1页
net性能测试框架_第2页
net性能测试框架_第3页
net性能测试框架_第4页
net性能测试框架_第5页
资源描述:

《net性能测试框架》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案·一种改进的轻量级.NET应用程序性能测试框架一种改进的轻量级.NET应用程序性能测试框架减小字体增大字体作者:本站  来源:华彩软件站  发布时间:2010-08-0400:14:56分享到:QQ空间新浪微博腾讯微博人人网百度搜藏QQ收藏百度贴吧百度空间0-- 摘要:本文从实际应用出发,提出一种轻量级.NET应用程序性能测试框架设计方案。该方案是对已有结果的进一步扩充,具有更强的实用性和扩展性。1引言文[1]提出一种.NET应用程序“性能测试框架”,其基本思路是通过多个线程执行通过委托传递过来的待测试的程序块,各线程所运行的程序块的主逻辑是相同的,不

2、同的是执行条件(如初始参数、执行次数等)。这样就可以得到不同“环境”下算法的执行时间,进而得到整体的时间消耗分布情况。应该说,这种方法的思路是很清晰的,使用也很方便。文[1]还比较详细地分析了为何采用委托而放弃“反射”、“接口”等手段,主要是为了获取更为准确的测试结果。但从实际应用来看这种测试还是显得不够全面,它只是通过编写类似测试脚本的测试程序来对某段核心程序或算法进行测试。如果一个应用程序的核心算法很复杂,中间步骤也很复杂,则相应的测试程序编写就变得比较烦琐。比如B/S程序就存在大量的交互过程,这时如果想获取一个重要业务操作的执行时间,上述测试框架实现起来就比

3、较麻烦,甚至有些就不能实现。另外,在表述上我们认为文[1]所提性能测试方法应当称为轻量级性能测试,因为真正的性能测试包括的参考指标是很多的,不仅仅是执行时间。针对这些问题,本文对文[1]进行了扩展,给出一种更为合理的轻量级.NET应用程序性能测试框架(Light-weightPerformanceTestingFrameworkof.NETapplication,简称LPTF)设计方法。2概念与结构设计首先,我们引入“正向测试”和“反向测试”两个概念。所谓正向测试是指顺序运行应用程序或功能模块,通过嵌入测试点,最终得到各个阶段的运行时间、CPU利用率、内存使用等性

4、能指标的结果。反向测试则是通过编写测试程序对某个功能点或某段应用逻辑进行深度测试,进而得出一组性能指标得测试结果。这里的深度测试是指给定不同的测试条件,如执行次数、初始参数等。不难看出,正向测试和反向测试是相互补充的,文[1]中的测试框架即是我们这里所说的反向测试。下面来看一下结构设计:精彩文档实用标准文案图2-1整体结构图解释:LPTF整体上包括测试逻辑、结果输出两部分。测试逻辑由正向测试(StraightTest)和反向测试(ReverseTest)组成。在StraightTest中我们看到有一个叫作GlobalStraightTest的类,这是因为B/S程序

5、在进行StraightTest时可能会有多个页面间跳转的情况,这时如果我们要做全局的正向测试就要保存一个StraightTest的执行器(TestRunner)的状态。测试结果输出模块(ResultOutput)会根据传递过来的测试结果和指定的输出模式进行结果输出,它和测试逻辑是相对独立的。输出模式有两种DisplayOption、WebDisplayOption,前者适用于C/S程序,后者适用于B/S程序。精彩文档实用标准文案图2-2正向测试结构图解释:正向测试的实现并不复杂,在对B/S程序进行全局测试时要传入一个System.Web.UI.Page对象(一般是

6、当前页),用来保存TestRunner到session。如果需要显示测试进度还要传入一个用于反馈进度的URL地址,简单说就是LPTF会提供一个aspx文件,实际使用时可以将其放到当前项目中编译,在运行时把这个文件对应的URL作为TestRunner的构造参数即可。StraightTest的具体执行顺序大致是“生成TestRunner对象→调用TestRunner的RunTests方法启动测试→调用TestRunner的PhaseEnd方法结束一个阶段的测试→…→调用TestRunner的End方法结束测试”。每一次PhaseEnd和最后的End方法都会记录当前的测

7、试结果,测试结束后可调用GetTestResult方法获取全部测试结果。测试结果记录每个阶段的名称和相应的执行时间。精彩文档实用标准文案图2-3反向测试结构图解释:反向测试比正向测试要复杂一些,主要是针对同一段程序要准备不同的执行程序(这里称之为测试用例TestCase,一般分“长时间-Max”、“中等时间-Median”、“短时间-Min”三个测试环境)。如果每个测试用例要进行一些初始、扫尾和验证动作,则还要把相应的方法委托给PreTestCleanup、精彩文档实用标准文案PostTestCleanup和TestValidityCheck。测试执行器会根据整体

8、测试情况计

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。