摘要:本文从实际应用出发,提出一种轻量级.NET应用程序性能测试框架设计方案。该方案是对已有结果的进一步扩充,具有更强的实用性和扩展性。
1 引言
文[1]提出一种.NET应用程序“性能测试框架”,其基本思路是通过多个线程执行通过委托传递过来的待测试的程序块,各线程所运行的程序块的主逻辑是相同的,不同的是执行条件(如初始参数、执行次数等)。这样就可以得到不同“环境”下算法的执行时间,进而得到整体的时间消耗分布情况。应该说,这种方法的思路是很清晰的,使用也很方便。文[1]还比较详细地分析了为何采用委托而放弃“反射”、“接口”等手段,主要是为了获取更为准确的测试结果。
但从实际应用来看这种测试还是显得不够全面,它只是通过编写类似测试脚本的测试程序来对某段核心程序或算法进行测试。如果一个应用程序的核心算法很复杂,中间步骤也很复杂,则相应的测试程序编写就变得比较烦琐。比如B/S程序就存在大量的交互过程,这时如果想获取一个重要业务操作的执行时间,上述测试框架实现起来就比较麻烦,甚至有些就不能实现。另外,在表述上我们认为文[1]所提性能测试方法应当称为轻量级性能测试,因为真正的性能测试包括的参考指标是很多的,不仅仅是执行时间。
针对这些问题,本文对文[1]进行了扩展,给出一种更为合理的轻量级.NET应用程序性能测试框架(Light-weight Performance Testing Framework of .NET application,简称LPTF)设计方法。
2 概念与结构设计
首先,我们引入“正向测试”和“反向测试”两个概念。
所谓正向测试是指顺序运行应用程序或功能模块,通过嵌入测试点,最终得到各个阶段的运行时间、CPU利用率、内存使用等性能指标的结果。反向测试则是通过编写测试程序对某个功能点或某段应用逻辑进行深度测试,进而得出一组性能指标得测试结果。这里的深度测试是指给定不同的测试条件,如执行次数、初始参数等。
不难看出,正向测试和反向测试是相互补充的,文[1]中的测试框架即是我们这里所说的反向测试。
一种改进的轻量级.NET应用程序性能测试框架
时间: 2024-09-27 15:11:58
一种改进的轻量级.NET应用程序性能测试框架的相关文章
一种轻量级、可重用、可扩展的OSGi应用程序测试框架
引言 OSGi 是一个基于 Java 的,提供动态模块加载和管理的运行时框架,在业界已经得到广泛应用.OSGi 框架使用 Bundle 把复杂的应用程序模块化.在 OSGi 的框架中,Bundle 的生命周期由 OSGi 运行环境进行管理:Bundle 之间以松耦合的形式相互依赖:Bundle 有严格的访问安全限制.但也正是由于以上这些特点,给测试这些 Bundle 带来了很大的困难.许多测试用例要求被测 Bundle 及其依赖的 Bundle 同时运行于 OSGi 环境中:同时若需将测试代码和
用C#开发程序应用框架
简介: 框架是一种定制的通用的应用程序开发基础软件,在其基础上可以开发完整的关且功能完善的软件.在最近几年里,已经成功实现了某些应用领域的开发框架,比如说用户介面开发及数据访问开发等.如果能成功的开发出一个框架,这将是一个突破,因为这意味着开发将不再从头开始实现某个功能:比如一个框架如果可以成功的生成一个用户介面,哪么它也能生成做任意的用户介面.例如,假如我们使用java Applets 和servlets,我们仅仅需要重写某些方法,就可以实现我们自己的代码.这其中java Applets和se
《应用程序性能测试的艺术(第2版)》目录—导读
作者简介应用程序性能测试的艺术(第2版)Ian Molyneaux,EMEA地区的性能领域专家,是Intechnica公司总裁.Intechnica公司是一家总部位于英国曼切斯特的软件咨询公司.他精通企业级应用性能保证,在管理,流程和工具方面都颇有建树.本书特色本书作者具有15年的性能测试经验.本书详尽阐述了不完善的性能测试策略会带来哪些问题.本书也提供了一种健壮的,结构化的方法用以保证你的应用能够性能表现优异,特别是在需求增长的时候也能够做到可扩展. 图书评论应用程序性能测试的艺术(第2版)时
《应用程序性能测试的艺术(第2版)》—第2章 2.1节性能测试工具架构
第2章 选择合适的性能测试工具应用程序性能测试的艺术(第2版)生活中,人们只需要两种工具:让设备运转起来的WD-40(一种润滑剂)和使其停滞的冷缠胶. --G. Weilacher用于性能测试的自动化工具在过去20年的大部分时间里都以某种形式存在.在这期间,应用技术发生了巨大的改变,从胖客户端到Web架构,到如今越来越多的应用以无线的方式来提供服务.相应的,自动化工具所需提供的功能也越来越面向Web和无线开发,而不再是支持传统的二层应用架构中常用的技术.应用技术的集中化对于性能测试人员来说是一件
《应用程序性能测试的艺术(第2版)》—第1章 1.1节从终端用户角度看性能
第1章 为什么要做性能测试应用程序性能测试的艺术(第2版)快过极速子弹! --动作漫画,超人欢迎开启性能测试之旅!在开始探索性能测试的基础知识之前,我想在第1章里花点时间探讨一下什么是我们认为的好性能.什么是差性能以及为什么性能测试是整个软件生命周期(Software Development Lifecycle,SDLC)当中至关重要的一个环节.性能糟糕的应用通常无法为企业带来期望的收益.这些应用纯粹是耗费时间和资金,无法获得客户的认可,因此并不能有效转化为企业资产.如果一个应用/软件无法保证高
软件测试中Flex程序性能测试
简介:Adobe 的 Flex 已经越来越流行,但是 Flex 程序的性能测试却还没有很好的工具 .包括著名的性能测试工具 LoadRunner 都还没有对新版本 Flex 性能测试有很好的支持. 笔者在实际工作的研究中,发现了一个好的测试 Flex 程序的方式.本文重点介绍性能测试 中如何处理 Flex 的 AMF 消息. 本文采用的测试工具是 The Grinder,开发语言是 Jython 和 Java . 关键字:Flex 测试. Flex 性能测试. AMF Message 解码 1.
IOS开发:五款最好用的AngularJS程序构建框架
1. AngularUI Bootstrap 该 框架基于Bootstrap,一个前端框架的基础上.它包含了一组Bootstrap部件,如Carousel.Alert.Collapse. Rating和TimePicker.所有的组件都使用AngularJS指令和自定义HTML元素.如果你喜欢使用Bootstrap程序,那么这个框 架必将成为你的好帮手. 开发:五款最好用的AngularJS程序构建框架-"> 官方网站:http://angular-ui.github.io/boots
mdi-VC6中关于MDI程序中框架窗口重新排列的问题
问题描述 VC6中关于MDI程序中框架窗口重新排列的问题 场景如下:打开主程序一开始弹出一个HTMLView,通过这个view输入用户名和密码登录后打开其他的几个view,但是默认都是在此htmlview的后面显示的(最大化的时候),有没有办法在不关闭登录htmlview的前提下把其放到新打开view的最后显示?谢谢 解决方案 pMDIChild->SetWindowPos传SWP_NOMOVE | SWP_NOSIZE
CA收购开放源代码应用程序性能测试企业BlazeMeter
2016年9月20日--格林尼治标准时间20:49(东八区标准时间04:49) CA公司在星期二表示,该公司已经收购了BlazeMeter,这是一家专注于开放源代码应用程序性能测试的企业.这笔交易让CA能够更好地在其应用程序性能和DevOps产品组合同开放源代码的努力之间架起一道桥梁. 这笔交易将扩充CA的DevOps产品组合和应用程序交付工具.这笔交易将于今年年底完成,交易的条款未被披露. BlazeMeter的开放源代码工具将被用于更好地将CA的技术同开发人员连接在一起.BlazeMeter