如何证明你的性能测试结果可信?

简介:
经常和一些同行在网上交流,了解到现在很多公司都在做 性能测试 ,甚至有的在公司都没有成熟的性能测试人员情况下,就拉个稍微了解点性能测试工具的人员,跑个脚本就做起了性能测试。这时候都不约而同的抛出了一个问题,我们的性能测试结论是可信的吗?结合自己的性能测试经验,针对性能测试结论的可信度,谈谈个人的一点看法。

   确定测试结果可信度,指的是性能测试结果是否稳定可靠。也就是说,测试得到的各种指标数据是不是反映了系统真实性能的情况。例如,如果同一套脚本在对同 一测试对象(即被测对象本身没有变化,例如同一页面)进行的数次测试中,一般情况下页面响应时间指标忽高忽低的话,则说明该测试缺乏信度则得到的响应时 间并不能反映系统在真实生产环境的响应时间。测试的信度与测试的效度有着密切的关系。一般说来,只有信度较高的测试才能有较高的效度,效度较高的性能指标 才有较高的实际性能分析价值和对改进性能方案进行决策时的参考价值。测试的信度主要涉及到测试工具自身的可靠性和测试环境稳定性以及测试方案成熟性这三个 方面。

  第一,测试工具自身的可靠性。

  测试工具的可靠性,主要是指测试工具本身是否有Bug,性能计数器是否准确等和性能测试工具针对当前性能测试项目的场景进行的设置是否合理。

  解决办法:

   针对性能测试工具本身功能方面,要对要使用的性能工具进行评估,商业工具和开源工具以及自己开发的工具,甚至是一些简单插件,一些小的 Application等。虽然他们的性能测试原理都是相同的。但是还是要根据项目情况和工具情况进行整体评估,特别是一些特别项目,并不是一定商业工具 就更稳定可靠,但是相对而言,商业工具功能较为丰富,简单易学习,稳定性也可以。结合成本和项目情况可以选择自己开发工具,也可以定制工具,也可以对一些工具进行部分改进,例如自己做个更加精确的计数器。

   针对工具设置方面,结合项目情况选择最合理的设置,也许run脚本时候的很多问题,就是由于设置产生的。这部分需要对使用的工具很熟悉,清楚一些常用属 性的设置场景。例如一些基本的设置:Agent和Controller的设置,scenario设置,counter sets,run setting。

  第二,测试环境稳定性。

  测试环境的稳定性对性能测试结果的重要性,相信已经都深有感触。每个项目做性能测试方案时候都要梳理一遍可能影响request的开关,过期时间等设置。

  解决办法:

  首先要尽可能建立一个独立的性能测试环境,即使一些大型程序,例如大型的电子商务网站,数据库过于庞大,难以建立独立的性能测试数据库环境,也要对性能测试数据进行一些标识,建立环境时候,要确保web server上的版本和windows server版本相对应,即时根据测试方案要求更新测试版本。要对一些用的cache server、Application server,搜索引擎等server集群进行合理设置。以使其符合项目性能测试的要求。

  第三,测试方案成熟性。

  测试方案是对一个性能测试从始至终的所有工作的指导。性能测试相当于做一个精密的实验,方案的精密严谨性就直接会导致得到的性能测试指标准确性,合理性。

  解决办法:

   首先要熟悉该次性能测试的目的,和测试需求。深入分析需求,提取出一些关键点,熟悉涉及到相关部分的业务,特别是涉及到request的,是Html请 求,还是Ajax请求,请求中是否包含动态数据,例如一些cookie参数等。根据以上了解,提取出性能测试场景。给出详细的测试场景执行方案,以及测试 指标名称。给出性能指标分析策略。取数据的策略(例如重测法,交替形式法,对半法等)。

  测试执行过程中要时刻保持精密的思想,确保性能测试从始至终都要有据可依,有理论可考。最终才能得出具有很高参考价值的性能指标数据,这样才能得出有效的性能测试结论。


本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
1月前
|
存储 安全 Cloud Native
安全利器!龙蜥推出机密计算远程证明服务—OAAS 诚邀广大用户测试
服务化的远程证明服务中心 OAAS具有极高的安全性和灵活性,并在内部实现了策略引擎,旨在为使用可信执行环境 (TEE) 的用户提供一个安全高效的远程证明免部署解决方案,满足在各类机密计算应用场景下的核心信任需求。
|
9天前
|
测试技术 C语言
网站压力测试工具Siege图文详解
网站压力测试工具Siege图文详解
18 0
|
1月前
|
JavaScript jenkins 测试技术
这10款性能测试工具,收藏起来,测试人的工具箱!
这10款性能测试工具,收藏起来,测试人的工具箱!
|
1月前
|
人工智能 监控 测试技术
利用AI辅助工具提升软件测试效率
【2月更文挑战第17天】 随着科技的不断发展,人工智能(AI)在各个领域的应用越来越广泛。在软件测试领域,AI技术也发挥着重要作用。本文将探讨如何利用AI辅助工具提升软件测试效率,包括自动化测试、智能缺陷识别和预测等方面。通过引入AI技术,软件测试过程将变得更加高效、准确和可靠。
155 1
|
1月前
|
Web App开发 前端开发 测试技术
探索自动化测试工具:Selenium的威力与应用
探索自动化测试工具:Selenium的威力与应用
探索自动化测试工具:Selenium的威力与应用
|
28天前
|
测试技术
现代软件测试中的自动化工具与挑战
传统软件测试面临着越来越复杂的系统架构和不断增长的测试需求,自动化测试工具应运而生。本文将探讨现代软件测试中自动化工具的应用和挑战,深入分析其优势与局限性,为软件测试领域的发展提供思路和启示。
|
24天前
|
jenkins 测试技术 持续交付
现代软件测试中的自动化工具与挑战
随着软件开发领域的不断发展,自动化测试工具在测试过程中扮演着越来越重要的角色。本文将探讨现代软件测试中自动化工具的应用及面临的挑战,旨在帮助开发人员和测试人员更好地理解和应对自动化测试中的问题。
|
9天前
|
测试技术 Linux Apache
网站压力测试工具webbench图文详解
网站压力测试工具webbench图文详解
8 0
|
17天前
|
Java 测试技术 API
软件测试中的自动化工具与策略
软件测试是确保软件质量的重要环节,而自动化测试工具和策略的应用在提高测试效率和准确性方面发挥着重要作用。本文将介绍几种常见的自动化测试工具,并探讨在软件测试中应用自动化测试的最佳实践和策略。
|
19天前
|
Web App开发 Java 测试技术
深入理解与应用软件自动化测试工具Selenium
随着软件开发的快速发展,软件测试在保证产品质量方面发挥着越来越重要的作用。其中,自动化测试以其效率高、成本低的特点受到了广大开发者的欢迎。本文主要介绍了自动化测试工具Selenium的基本概念、原理以及在实际开发中的应用,旨在帮助读者更好地理解和使用Selenium进行高效的自动化测试。
22 4