System Test awareness

在谈到怎么做性能测试之前,要先明确为什么要做性能测试。通常,性能测试的目标主要有以下几种:

1:卖点。和别的产品相比,性能指数有较大的提升。

2:和自己的老板本相比,无明显下降。

3:某些产品,性能指标是作为requirement,那么这类产品,性能测试用来确认满足用户需求。

系统的性能在低负载的情况下可能对用户没有什么影响,但是当负载提高后,性能会影响到用户的体验,甚至影响到用户的业务。所以无论以什么为目的,性能测试都是一种必须要做的系统测试类型。

 

第一讲:真实的环境

我想大家都知道测试环境要真实,越贴近用户的环境,测试结果就越可信。但是基于各种因素,通常测试环境和用户环境都会有所不同。关键是我们要认识到这些不同点,然后分析这些不同点会对我们的测试结果产生什么影响,测试环境下得到的结果是否有说服力。

 

第二点:真实的负载

即使测试的环境和用户一致,但是测试数据、测试负载和真实世界中的出入很大,那么测试结果也是没有任何意义的。简单的说,实际中,可能这个软件需要支持同时并发在线用户10000人,但实测始中使用并发用户1000人,这种负载下的系统测试是没有说服力的。

 

第三点:为测试建模

既然测试环境和测试负载对于我们的测试极为重要,那么我们如何确定我们对这些因素的考虑是正确的?通过对产品建模和评估,可以在设计的时候就有个直观的概念。同时可以在真正测试的时候根据建模的数据进行验证。结构良好的建模一方面可以为今后产品的性能做出评估,同时也可以通过分析得到可信度较高的在各种情况下的产品性能(如果什么,性能如何?如果什么什么,会如何?),避免度所有情况都去做effort很大的performance test。

 

第四点:投资工具,但不要过度

系统测试中使用工具是不可避免的。工具的种类可以分为以下三类:

1)商业工具:这类工具通常具有大而全的特点。但是费用较高,而且没有实现细节,不利于定制一些特别的需求。

2)开源:这类工具目前逐渐走向成熟,基本商业软件可以实现的功能都可以找到开源软件来替代。开源软件免费:),有源码,可以做部分的定制。

3)自主开发:不用说了,特点就是自由度最大,缺点就是effort较大,特别是工具开发初期。

不要一开始就定下来选择这种或者那种工具来进行测试。比较好的做法是:

1)Design system test:给出测试设计文档,测试策略,测试数据等。

2)了解对于测试工具的需求以及限制

3)列出候选的工具list,然后根据2)中的列表,逐一评价工具优劣

4)选择工具,并且Drill run(有可能的话)

虽然Open source 的工具没有购买费用,但是也不能滥用。主要有以下几个原因:

1)Open Source的工具种类繁多,很容易造成不同的Team是用不同的工具来实现类似的功能。一方面浪费了学习的时间,一方面增加了不同Team之间人员TOI的开销。

2)Open Souce不收费,自然也没有人来做Maintain。如果工具发生问题,只能自己解决。

3)Open Souce工具没有广告:),需要自己去寻找

 

第五点:尽早开始系统测试,并且持续Run

应该尽可能早的考虑性能、负载、可靠性等系统测试,而不是等到最后才开始。通常系统测试发现的问题对整个系统的影响比较大,修复这类问题的影响面也比较大。甚至可能是由系统架构等这类比较High Level的问题导致的,这样的话肯定会影响到项目的Release.如果早期开始系统测试,有问题及早发现,可以极大的降低在项目后期发现严重的系统问题,降低了项目整体的Risk。通常有两种方法在项目早期进行系统测试:

1)根据设计文档,为系统建模,分析可能存在的系统瓶颈

2)考虑对重要的module在模块级别进行系统测试。通过和RD合作,为关键模块开发专用的接口,实现模块级别的系统测试。


 

以上几点是系统测试中要注意的一些普遍问题,可以帮助大家少走些弯路!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值