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

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

性能测试的那些事儿

发表于:2017-01-09 作者:网络转载 来源:

  整理了一下自己以前学习性能测试时的一些小积累,以一个菜鸟的身分来聊一下性能测试的流程啊!算是做一个请教啊,有不对的地方还请多多灌水啊!
  我们先从实际出发,如果有一个项目要找你做性能测试,你要做什么工作?
  情境:客户(这里的客户只是一个代名词)要你做一个系统的并发用户数测试。这时候做为一个性能测试工程师你要做什么工作?
  借用某位同学的模型也分三个阶段:计划阶段、执行阶段、输出阶段!
  一、计划阶段
  I、明确测试需求
  客户提出来的需求可能是通俗的或者不明确的,做为一个性能测试工程师你必须用你的专业去和客户沟通,引导客户发现客户的隐性需求,并以专业术语将需求明确化。比如我们的情境,客户可能提出的只是要测系统的并发用户数,我们则必须考虑到在最大并发用户数时系统的资源利用率问题,以及最能直观反应用户的RT时间等等,并将此细化做为一个需求!
  II、确认测试对象的环境
  A、软件环境
  你必须知道被测试系统的以下信息:
  1、系统架构(B/S OR C/S架构,如果是B/S必须明确测试的对象是在线的还是不是在线的,如果是在线的你要考虑适当的加压策略,绝不能在测试过程中把系统压垮。
  2、被测系统所使用的协议、端口、操作平台、开发的语言以及代理
  3、被测试系统的服务器,包括APP服务器,WEB服务器,DB服务器!各个服务器请一定细化到版本,以模拟真实的测试环境。
  B、数据环境
  1、你要知道与系统权限相关的一些信息,比如说帐户名/密码
  2、你要明确测试过程中使用到的大数据量是由谁提供。
  3、一些特殊情况的处理!比如说如果这个系统有验证码功能,你要怎么办,是让开发给你开一个后门还是直接屏蔽掉验证码的功能或者其它的解决办法。
  C、硬件环境
  你需要了解被测系统服务器的类型及具体配置以及网络环境及负载机的情况!!
  III、熟悉业务进行场景分析
  在得到以上两方面的信息后,你还要知道被测试系统的具体业务流程,这里我们只要知道系统的常用工作流就可以了。这时候系统的日志会给我们很大的帮助,所以别忘记向客户要系统的日志文件。有了这些数据,你就可以进行场景分析了。
  IV、了解你的测试资源
  这一部分就和功能测试差不多了,包括时间的资源,人力的资源以及工具的情况
  有了上述四部分的信息你就可以准备你的性能测试计划了,与功能测试计划不同的是,在性能测试计划里面我们会把我们的性能测试用例写在计划里。
  二、执行阶段
  一般情况下性能测试的执行会分三个步骤来进行:分别是DE-BUG RUN(使用较少的Vuser数及较少的时间来执行,主要目的是验证脚本的功能的正确性) 、Capacity Testing(依据测试用例进行测试,主要目的是验证系统的性能,不通过的话则要进行性能调优) 、Stress Testing(传说中的压力测试,一般会执行较长时间24H,48H,72H不等)
  在这里要特别提一下性能调优也就是性能分析过程。性能分析绝对是性能测试的精髓。N多的性能计数器!N多的小工具!N漂亮的性能分析图!记得以前一同事说,看性能测试分析图就要看股市的K线图一样,外行看热闹,内行看门道!越看越有劲!!!可惜我是外行!!!
  三、输出阶段
  有了前面的基础你就可以对你的整个性能测试过程做一个总结了,也就是我们的性能测试报告了。