您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 性能测试 > 正文

干货|性能测试模型初探及应用方法分析

发表于:2018-07-22 作者:郭艳 来源:中兴开发者社区

作者简介
作者郭艳是无线院测试工程师,对测试设计和性能测试均有较深入研究和应用经验,今天她为我们带来性能测试模型和应用方法,文中通过性能测试模型分析测试场景和测试用例,是一种实用的性能测试设计方法,相信大家都能从中受到启发~

一、知其然不知其所以然
在现在的性能测试中,性能测试需要测试各种指标,同时需要基础数据,各种压力,配置数据负载等,在一些场景下还需要处理一些并发测试等。然而,这些测试对被测系统的影响是什么?为什么要做这些测试呢?大多都知其然不知其所以然,本文将初步探索性能测试模型和性能测试分类的影响。

二、性能测试模型
首先,性能是最受关注也是最为复杂的软件六大质量特性之一。如何才能让软件系统的性能测试有效,充分预测系统正式运行时性能情况,保证系统平稳运行呢?
重新了解性能测试的概念:
通过自动化的测试工具或者手动模拟多种正常、峰值以及异常负载条件来对系统的各种性能指标进行测试。
性能测试的目的,是评估系统的能力、识别体系中的弱点并进行系统调优。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

 
抽象提取性能测试模型:
对被测系统从输入、输出、干扰因素、配置资源来抽象,在过程中观察响应时间、资源、性能结果分析。

640?wx_fmt=png


三、从性能测试模型分析测试类型
从模型中可以看出,任何一种输入/干扰因素/配置资源因素的变化,都对应一种测试类型。
(1)基线/指标测试
模型影响:在输入/干扰因素/配置因素均没有的时候,就是基线/指标测试;
测试类型的概念与目的:通过测试建立一个已知的性能水平基线,当场景或者环境发生变化时,用这时候的测试结果来和基线进行对比,确定变化因素对系统的影响程度。
(2)负载测试
模型影响:干扰因素
测试类型的概念与目的:通过测试系统在资源超负荷情况下的表现,以发现设计上的错误或验证系统的负载能力。
(3)压力测试
模型影响:配置资源
测试类型的概念与目的:是对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
(4)容量测试
模型影响:输入-测试数据
测试类型的概念与目的:确定系统满足指标的前提下,可以容忍的数据量。
(5)浸泡测试/稳定性测试/拷机测试
模型影响:输入测试数据以及被测系统循环
测试类型的概念与目的:在常规压力的情况下,长时间运行系统,查看是否会出错。
(6)场景测试
模型影响:在输入/干扰因素/配置因素的组合
测试类型的概念与目的:以真实的业务为依据,选择有代表性的、关键的业务操作设计测试案例,以评价系统的当前性能。

640?wx_fmt=png


四、性能测试的关注点解析
在进行性能测试过程中,通过性能测试模型可以看出,性能测试关注以下三个维度的信息,分别是资源、响应时间以及输出。在这三个维度,分别再关注如下信息。实际使用过程中,不限于此,和具体性能测试任务相关。

640?wx_fmt=png


五、测试类型与应用场景分析
    针对各个测试类型,在不同的应用场景下逐步分析了各种测试类型的应用场景。以容量测试为例,在性能指标确定的情况下,不断地增加测试数据,确定测试数据的容量。这种使用场景常用于关注大容量的边界值,而不是实际数据和指标。

640?wx_fmt=png


六、如何应用测试模型进行案例分析
Step1:在进行案例分析时,可以复用MFQ测试设计中的KYM的八大维度进行梳理任务有关信息,目的就是多方位、多维度理解业务,收集信息,完成对测试任务有关的信息梳理。具体8大维度在此文不复述。
Step2:依照性能测试设计模型,分析案例中的影响因子,从而梳理测试场景;
Step3:使用边界值、等价类等基本测试方法填充测试数据,从而完善测试用例;
在网管项目的北向配置一个需求案例中,使用了上述方法进行性能测试设计,用例新增16条,并补漏了一些重要的性能测试场景。

七、小结
本文对被测系统抽象出性能测试模型,并根据性能测试模型分析具体的测试关注点、测试分类、测试影响因子、测试场景,并对实际案例中如何应用模型分析测试用例,梳理其分析步骤,在实际案例的性能测试过程中,从模型出发,有章可循,对场景和用例分析有很大帮助。