软件需求对于软件研发和测试工作来说极端重要。美国Standish Group公司的报告显示,失败及延期项目中,超过60%是由需求相关的问题所导致,这里的需求包含了多方面,其中“性能需求”不容忽视。性能测试需求的质量直接影响着性能测试的效果。对性能需求分析不够准确将导致即便后续各项工作进展顺利,也很难达到用户对性能的期望结果。
性能需求如此重要,如何获取性能需求则显得尤为关键。接下去,将向读者介绍什么是性能需求及其获取的各种方法,尤其是将对“通过服务器日志获取需求方法”进行重点讲解。旨在让读者能了解性能需求及来源,掌握通过服务器日志方式获取需求的方法,掌握WebLog Expert工具的使用及结果分析方法。
什么是性能需求
性能需求可以划分为隐性性能需求和显性性能需求。隐性性能需求通常由普通型客户提出,这类客户往往不了解性能指标,不能明确提出具体的性能需求,因此这类需求需要需求人员采用合理的方式去协助客户明确需求指标,甚至需要开发方来提供需求指标,然后再由客户进行确认。因此,隐性性能需求需要读者结合实际情况仔细分析,最终得出显性性能需求。显性性能需求一般由专业型客户提出,这类客户往往具备自己的开发部门和测试团队,他们非常清楚系统处理业务量的分布,能够明确指出系统应该达到的目标,显然这类需求更加明确。值得一提的是,客观来讲,我们遇到的大多客户为普通型客户。
下面结合实例讲解,让大家更加清楚这两类性能需求。
1)隐性需求举例:“某礼堂的出入口楼梯宽度应该适宜,避免发生拥挤”这一需求看似是对功能的限制,实质上对于性能方面也有制约。具体而言,若出入口楼梯修建过窄,可能会导致入场或离场的人群发生拥挤甚至引发事故,而修建过宽又势必会造成资源浪费。用户所要求的“适宜的疏散流通能力”实质就是性能测试中衡量处理能力的吞吐量指标,即上述需求中存在着“吞吐量”这一隐性性能需求。
再举一个例子,用户提出“Discuz论坛处理发帖速度将与xxx论坛一样快,能够让大量用户同时发帖不出现故障”,也属于隐性性能需求。
2)显性需求举例:以下仍借助Discuz论坛来展示显性性能需求。
-
-
-
Discuz论坛处理发帖速度比前一版本提高10%;
-
Discuz能处理10000个发帖事务/天;
-
Discuz登录操作响应时间<3秒;
-
Discuz论坛可容纳100000个用户帐号;
-
Discuz论坛可支持1000个用户同时在线操作;
-
Discuz论坛在晚上8:00-11:00之间,至少可支持10000个用户同时发帖;
-
Discuz论坛处理速度每秒5000笔,峰值处理能力达到每秒10000笔;
-
服务器CPU使用率不能超过70%;
-
服务器磁盘队列长度不能超过2。
-
-
以上实例均存在很明确的指标或数字,可参照这些指标直接开展相应测试,故上述需求为显性性能需求。
原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/192816.html