性能测试,是指对系统吞吐量的压测,它可以在系统发布到生成环境前提前暴露并解决性能瓶颈,它对系统稳定性至关重要。而性能测试的压测结果是否正确,是否更为真实的反应生产环境的情况,在很大程度上取决于测试方案的设计是否合理。
本文通过一个简单的模拟抽奖项目对性能测试方案的设计进行阐述,主要涉及测试需求、测试场景和监控系统与指标三个方面。
一、测试需求的剖析
测试需求包括明确测试范围(性能点)和期望值,性能点是指测试哪些页面或者接口,期望值是由 PV与TPS 转换模型获取期望高峰 TPS值,如高峰TPS=PV*2/(8*3600),这样在测试时就有了是否通过的测试依据。
为明确测试需求,我们需要了解项目系统设计,甚至具体的业务逻辑。
……………………
对于抽奖系统来说,它还是有一定特殊性的,除了保证系统吞吐量外,还需要保证系统不存在超卖和超中现象。为更好地理解超卖和超中的概念,我们将奖项的设置者视作卖家seller,抽奖用户视作买家buyer。在抽奖活动中卖家都会对固定奖项设置"库存"数量,超卖是代表所有买家抽中或系统发出的某一奖品的数量超过了卖家设置的数量,即卖家超卖。针对一次抽奖活动中卖家一般都会定义买家对固定的奖品只能中多少次,而超中是指买家针对某一种奖项其中奖次数超过了卖家设置的限制条件,即买家超中。
通过上面的简单了解,初步评估性能测试点为:抽奖模块的吞吐量、发奖模块吞吐量、中奖概率是否生效、超中及超卖是否存在。
二、测试场景的设计
测试场景根据性能点的覆盖程度分为单场景和混合场景,根据业务逻辑设计划分是相当复杂的,例如cache是否关闭,不同请求参数覆盖的业务逻辑等需视具体项目情况而定的。
......
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。