追求代码质量 - 用JUnitPerf进行性能测试 - 编程入门网
追求代码质量 - 用JUnitPerf进行性能测试时间:2010-12-10 IBM Andrew Glover在应用程序的开发中,验证应用程序的性能几乎总处于次要的地位。请注意 ,我强调的是验证 应用程序的性能。应用程序的性能总是 首要考虑的因素,但 开发周期中却很少包含对性能的验证。 由于种种原因,性能测试常被延迟到开发周期的后期。以我的经验,企业之 所以在开发过程中不包含性能测试是因为,他们不知道对于正在进行开发的应用 程序要期待什么。提出了一些(性能)指数,但这些指数是基于预期负载提出的 。 发生下列两种情况之一时,性能测试就成为头等大事: 生产中出现显而易见的性能问题。 在同意付费之前 ,客户或潜在客户询问有关性能指数的问题。 本月,我将介绍两种简单的性能测试技术,在上述两种情况中的任何一种发 生前进行测试。 用 JUnitPerf 进行测试 在软件开发的早期阶段,使用 JUnit 很容易确定基本的低端性能指数。JUnitPerf 框架能够将测试快速地转化为简单的负载测试,甚至压力测试。 可使用 JUnitPerf 创建两种测试类型:TimedTest 和 LoadTest。这两种类 型都基于 Decorator 设计模式并利用 JUnit 的 suite 机制。TimedTest 为测 试样例创建一个(时间)上限 —— 如果超过这个时间,那么测试失败。 LoadTest 和计时器一起运行,它通过运行所需的次数(时间间隔由配置的计时 器控制),在一个特定的测试用例上创建一个人工负载。 恰当的时限测试 JUnitPerf TimedTest 让您可以编写有相关时间限制的测试 —— 如果超过 了该限度,就认为测试是失败的(即便测试逻辑本身实际上是成功的)。在测试 对于业务致关重要的方法时,时限测试相比其他测试来说,在确定和监控性能指 数方面很有帮助。甚至可以测试得更加细致一些,可以测试一系列方法来确保它 们满足特定的时间限制。 例如,假设存在一个 Widget 应用程序,其中,特定的对于业务致关重要的 方法(如 createWidget())是严格的性能限制的测试目标。假设需要对执行该 create() 方法的功能方面进行性能测试。这通常会由不同的团队使用不同的工 具在开发周期的后期加以确定,这通常不能指出精确的方法。但假设决定选择早 期经常测试 方法取而代之。 创建 TimedTest 首先要创建一个标准的 JUnit 测试。换言之,将对 TestCase 或其派生类进行扩展,并编写一个以 test 开头的方法,如清单 1 所 示: 清单 1. 简单的 widget 测试
追求代码质量 - 用JUnitPerf进行性能测试(2)时间:2010-12-10 IBM Andrew Glover由于 JUnitPerf 是一个基于装饰器的框架,为了真正地驾驭它,必须提供一 个 suite() 方法并将现有的测试装饰以 TimedTest。TimedTest 以 Test 和执 行该测试的最大时间量作为参数。 也可以选择传入一个 boolean 标志作为第三个参数(false),这将导致测 试快速失败 —— 意味着如果超过最大时间,JUnitPerf 将立 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |