• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

追求代码质量: 用 JUnitPerf 进行性能测试

发布: 2008-6-24 14:25 | 作者: 不详 | 来源: 测试时代编辑整理 | 查看: 40次 | 进入软件测试论坛讨论

领测软件测试网

在应用程序的开发中,验证应用程序的性能几乎总处于次要的地位。请注意,我强调的是验证 应用程序的性能。应用程序的性能总是 首要考虑的因素,但开发周期中却很少包含对性能的验证。

由于种种原因,性能测试常被延迟到开发周期的后期。以我的经验,企业之所以在开发过程中不包含性能测试是因为,他们不知道对于正在进行开发的应用程序要期待什么。提出了一些(性能)指数,但这些指数是基于预期负载提出的。

发生下列两种情况之一时,性能测试就成为头等大事:

生产中出现显而易见的性能问题。
在同意付费之前 ,客户或潜在客户询问有关性能指数的问题。
本月,我将介绍两种简单的性能测试技术,在上述两种情况中的任何一种发生前进行测试。

 改进代码质量

别错过 Andrew 的 讨论论坛,里面有关于代码语法、测试框架以及如何编写专注于质量的代码的帮助。
 
 
用 JUnitPerf 进行测试

在软件开发的早期阶段,使用 JUnit 很容易确定基本的低端性能指数。JUnitPerf 框架能够将测试快速地转化为简单的负载测试,甚至压力测试

可使用 JUnitPerf 创建两种测试类型:TimedTest 和 LoadTest。这两种类型都基于 Decorator 设计模式并利用 JUnit 的 suite 机制。TimedTest 为测试样例创建一个(时间)上限 —— 如果超过这个时间,那么测试失败。LoadTest 和计时器一起运行,它通过运行所需的次数(时间间隔由配置的计时器控制),在一个特定的测试用例上创建一个人工负载。

恰当的时限测试

JUnitPerf TimedTest 让您可以编写有相关时间限制的测试 —— 如果超过了该限度,就认为测试是失败的(即便测试逻辑本身实际上是成功的)。在测试对于业务致关重要的方法时,时限测试相比其他测试来说,在确定和监控性能指数方面很有帮助。甚至可以测试得更加细致一些,可以测试一系列方法来确保它们满足特定的时间限制。

例如,假设存在一个 Widget 应用程序,其中,特定的对于业务致关重要的方法(如 createWidget())是严格的性能限制的测试目标。假设需要对执行该 create() 方法的功能方面进行性能测试。这通常会由不同的团队使用不同的工具在开发周期的后期加以确定,这通常不能指出精确的方法。但假设决定选择早期经常测试 方法取而代之。

创建 TimedTest 首先要创建一个标准的 JUnit 测试。换言之,将对 TestCase 或其派生类进行扩展,并编写一个以 test 开头的方法,如清单 1 所示:


清单 1. 简单的 widget 测试

public class WidgetDAOImplTest extends TestCase { 
 private WidgetDAO dao;

 public void testCreate() throws Exception{
  IWidget wdgt = new Widget();
  wdgt.setWidgetId(1000);
  wdgt.setPartNumber("12-34-BBD"); 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: JUnitPerf 代码 性能测试 质量

51/512345>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网