Nicole2333

导航

如何设计测试场景

分析:
        性能测试场景其实就是功能测试中的测试用例,需要对项目设计不同的测试场景来检验系统的性能。
性能场景大体分为两类

一、    通用类场景
此类场景是指不局限于某种业务或者项目,任何项目都有可能要测试的场景,主要包含以下几种
1、基准测试场景
此场景的目的是为系统建立一个性能基线,使用1个并发运行3-5分钟,记录tps和响应时间数据。
    
2、单交易/单接口测试场景
此场景单独测试每一个接口,测试出每个接口的最优tps和响应时间,判断有没有性能问题,性能是否满足需求。如果性能不好,需要优化之后再进行回归测试。

3、混合测试场景
如果需要测试系统中的多个业务/接口,那么在单交易场景结束后,按照业务比例,对多个接口同时进行压测。记录整体和各个接口的tps和响应时间,判断有没有性能问题。因为有的接口单独测试没问题,但是接口之间可能相互影响。且真实生产环境中,本身就是一种混合场景。

4、稳定性测试场景
稳定性场景主要目的为测试系统在压力下长时间运行是否能保持稳定,待前面几个场景测试结束后,选择一种比混合场景压力低一些的压力,长时间运行场景(至少8小时),检查系统在长时间运行下,是否会出现内存泄漏、tps下降、tps抖动等情况。

5、异常测试场景(非必须,根据实际情况来定)
        此场景的目的是检测在一定的压力下,当系统环境出现一些异常的时候,系统是否还能正常运行。比如说最常见的网络异常,当网络出现延迟、丢包、甚至某些组件之间断网,系统会表现出什么现象呢?会不会产生一些业务异常数据等等。

6、高可用性测试场景(非必须,根据实际情况来定)
        高可用性测试指的是在集群模式下,整个集群在一定的压力下,如果某些节点/组件宕机,那么整个集群能否继续稳定运行?宕机组件的业务和功能能否平滑过渡到集群中的其他节点?系统整体性能会不会下降?当宕机节点恢复后,是否还可以继续处理业务?等等。
这样场景下需要系统架构有高可用性的设计和相关的功能组件。

二、    业务类场景
        此类场景根据不同项目的业务,设计一些符合用户行为和业务特点的场景。
        比如现在要测试下单接口的性能,那么这个时候测试账号内的购物车中要添加多少种类商品呢?
        用户的购物车中有一种商品和10种商品下单,后台接口代码的运行效率肯定是不一样的。
        一般的购物车里都有商品种类的上限,假如说是50,那么我们根据业务可以设计3种场景
1、    购物车中只有1种商品(预期性能最好,真实情况下出现概率较高)
2、    购物车中包含10种商品(预期性能居中,真实情况下出现概率居中)
3、    购物车中包含50种商品(预期性能最差,真实情况下出现概率低)

        经过这三个场景的测试,我们就知道了这个接口性能最好和最差的数据了,以及在这种极端情况下,系统会不会出现一些性能问题。

posted on 2020-03-30 15:25  Nicole2333  阅读(298)  评论(0编辑  收藏  举报