来自 : Performance Driven Development 作者 : Juno.Yoon
使用nGrinder实现性能测试驱动开发
在许多项目中,开发者们通常不会在项目中期就考虑到各种非功能性要点。他们经常只是专注于功能需求而忽略了非功能需求,直到项目进入到QA阶段。我曾经见到过,许多在压力负载较大情况下发生的问题在开发的最后阶段才被发现,导致开发工作陷入一片混乱。我想类似问题发生的一个重要的原因,是没有容易的方法在项目中期确认非功能需求(特别是性能需求)。
nGrinder是为了达到性能测试“0”成本的目标而创造出来的。我观察到许多开发者在他们自己的PC上安装并使用nGrinder。在这个事例中,很难说性能测试的成本是“0”,因为因为他们必须提供足够的PC机器作为Agent并且预置环境,比如Java。但是如果在一个组织中有人已经安装了nGrinder并且与整个团队分享,将大大降低性能测试的困难程度。在这样的情况下,其他使用者所需要做的只是多启动一个浏览器而已。我可以说性能测试的成本实际上几乎是“0”。
NHN正是这样运营nGrinder的。所有NHN的开发者都能够通过浏览器访问http://ngrinder.nhncorp.com,并以SSO方式自动登陆nGrinder实例。然后只需要在首页输入目标URL,从而启动一个性能测试。
用nGrinder能够发现的问题,而用其他方法可能就没那么容易。通常这些问题只有当用户流量如洪水般涌入产品服务器时才被发现。然而,通过nGrinder发现这些问题是非常简单的。下面是我们从本公司-NHN-内部的nGrinder用户处搜集回来的反馈。当我们使用Performance Center的时候,,由于包括注册步骤在内复杂的过程,我们需要花不少时间来搜集返回的结果。但是,使用nGrinder,我们可以很快获得反馈结果。这对提升开发速度非常地有帮助。
这是否跟你曾经在哪里见过的一样?TDD(Test Driven Development)?如果我们用test替换Performance Center,用功能替换性能,再用JUnit替换nGrinder,你会发现这与TDD是完全一样的。这就像是通过步进式的开发来发现更好的解决方案。我更倾向于称之为"性能驱动开发"。
如果你已经是nGrinder用户了,请让他人使用你已经安装好的nGrinder实例。这会显著减少性能测试的消耗,而且你会感受到跟我一样的快乐--使用nGrinder实现最为便捷与有效的性能测试。
来源:oschina
链接:https://my.oschina.net/u/945225/blog/112106