如何进行高效的压力测试?
软件测试有两句通俗的话:开发是尽可能地让程序通过;而测试则是尽可能地让程序通不过。对于压力测试而言,测试效果好不好,测试计划的好坏是关键。所以,针对不同的情况,分析后有针对的进行测试,比起拿枪乱打、无的放矢显然要高效得多。
进行一次切实可行的压力测试并不像乍看之下那么简单,遇到的问题也可能非常微妙。例如,我的测试团队就经常遇到诸如“客户端每小时将要处理100个客户订单请求”等此类的需求,于是测试团队就试图把该需求转化为某种测试需求,执行这种测试需求的常见方法就是以死循环的形式对服务器进行反复请求,然后静观其效。然而,通常事情进行得并不顺利,原因在于这只是把需求表面化了,没有分析出测试需求的本质。高效的压力测试应遵循以下这几个步骤:
(1)确定测试目标
在确定压力测试目标中,我们要定义测试的对象,并对每一个测试对象给出清晰说明,也要定义测试结束的目标。为控制测试的有效性以及完成程度,必须定义准则和策略。准则必须是客观的,可量化的,而不能是经验或感觉。例如压力测试目标可能是测定终端用户处理事务的响应时间,它可能随用户的增加而增加,但要定义一个可接受时间。在确定压力测试目标过程中,最好能邀请客户、设计人员等一同对测试目标进行评审。