美文网首页
8大质量属性之性能因子测试法(最坏情况下的性能)

8大质量属性之性能因子测试法(最坏情况下的性能)

作者: robot_test_boy | 来源:发表于2022-12-10 08:21 被阅读0次

    基线性能测试法,最优情况下的性能,无法评估系统在用户真实环境下的使用性能。性能因子测试法,在最坏的条件下,系统的表现如何,以求充分暴露系统的性能瓶颈

    不要乐观地认为最坏的情况只是特例,很多时候,对系统造成严重/致命影响,导致用户无法正常使用的,恰恰就是最坏的情况被触发了。所以测试者必须测试最坏情况下的产品性能,评估造成的影响是否可以接受。如果不能接受,是否有解决或者规避的方法。如果没有,则建议与这个影响因子(某个组件或者功能)相关的设计、技术选型等重新进行。因为这类最坏情况一旦在用户使用中被触发了,是无法修复的,风险非常大,轻则影响交付,重则影响产品成功。这也是这类测试的意义所在。

    1.单功能因子影响下的性能

    以某开源高速生成树算法进行性能测试为例,策略功能是一个影响性能的因子,了解到策略的数量、策略的复杂度(对应算法中的离散规则)是其中重要的性能影响点,基于此可以构造测试条件和数据,测试最坏的情况了,然后看看测试结果中性能下降程度是否可以接受。

    由于实际工作中最坏的测试条件或者测试数据往往并不明确,更常见的方式是测试不同的配置或者负载对性能的影响,得到这个因子对性能影响的趋势图。

    但在实际执行的时候会有个困难,就是影响因子数是一个范围(例如系统允许输入的最大因子数为1000条),我们不可能遍历每一个值来测试性能,如何取值是难点。功能测试时,我们可以用等价类和边界值来确定取值,但这样的取值策略对性能测试并不适用。介绍一个适合性能测试的取值方法——二分五点取值法

    还是以影响因子数量为例,假设系统允许输入的最大因子数为1000,先测试最小值1下的性能,再测试最大值1000下的性能,接着测试中间值500下的性能值,然后继续在1~500和500~1000的二分位取点,分别测试250和750下的性能,一般来说,通过这样5个点就可以较为准确地得到这个因子对性能的影响趋势了

    还可以通过数学拟合得到趋势曲线,借助excel自带曲线趋势功能生成的3阶多项式拟合曲线,可以得到任何取值的性能值。

    2.多功能因子影响下的性能

    对一个复杂系统来说,影响性能的因子可能非常多,要对所有的性能因子组合进行测试是不可能的。实际工作中,使用性能因子组合的选择原则进行性能因子组合的选择。

    性能因子组合的选择原则:从用户使用角度(一个“运行”路径),整体考虑会涉及的性能因子,将这些性能因子进行组合,测试多因子叠加下最坏的测试性能值

    以策略功能(高速策略生成树算法)为例,看看如何使用上述原则来进行多因子选择。假设系统中,功能1、功能2、策略功能均为性能影响因子,用户有两种可能的运行路径,运行路径1受到功能2中因子2的影响,运行路径2受到因子1、因子3和高速生成树算法这个因子的影响。考虑多因子对性能影响时,我们可以设置测试条件和测试数据,使其可以覆盖运行路径2,以测试3个因子叠加的情况下,性能的最坏值。


    摘取自刘琛梅老师的《测试架构师修炼之道:从测试工程师到测试架构师 第2版》

    相关文章

      网友评论

          本文标题:8大质量属性之性能因子测试法(最坏情况下的性能)

          本文链接:https://www.haomeiwen.com/subject/ccvbfdtx.html