设为首页 收藏本站
查看: 1154|回复: 0

[经验分享] 性能测试知多少---性能测试流程

[复制链接]

尚未签到

发表于 2017-2-19 09:19:56 | 显示全部楼层 |阅读模式
  看到好多新手,在性能需求模糊的情况下,随便找一个性能测试工具,然后就开始进行性能测试了,在这种情况下得到的性能测试结果很难体现系统真实的能力,或者可能与系统真实的性能相距甚远。
  与功能测试相比,性能测试在技术层面具有更大的复杂性。在以往的测试流程中,性能测试只是测试流程的一部分,是系统或验收测试的一个可选项。但随着测试技术的发展。许多公司也单独把性能测试独立出来,建立专门的性能测试小组或团队。那么性能测试在实施的过程中也需要建立独立的流程与规范。
  虫师提出了自己性能测试流程,与其它书本提出的流程在些小不同。流程的实施没有绝对的对错,适合自身的流程就是正确。

下面看我所提到的流程
DSC0000.gif


性能需求分析

  性能需求分析是整个性能测试工作开展的基础,如果你连性能的需求都没弄清楚,后面的性能测试工具就无从谈起了。
  在这一阶段,性能测试人员需要与需求人员(客户)、领导及项目相关的人员进行沟通,同时收集各种项目资料,对系统进行分析,确认测试的意图。当然,还需要客户对性能的态度。
  测试需求分析阶段的主要任务是确定测试策略和测试范围。策略主要根据软件类型以及用户对系统的性能的需求来定,测试范围则主要分析系统的功能模块进行调研与分析。最终确认明确的需求。

性能测试计划

   确定明确的需求之后,我们要做的工作就是制定性能测试计划。对性能测试过程中所有需要工作制定与规划。
测试计划的大体内容:
  项目的简单背景描述,本次性能测试的需求与目的,性能需求分析的结果是什么。测试环境的准备,需要什么样的软硬件配置,网络状况登录。测试数据的准备,对于某些性能测试是需要事先准备测试数据的。
  测试的策略,前面进行需求分析的目的是制定测试策略,也就是设计符合需求的测试场景,需要对系统的哪些业务模块进行测试,如何进行?需要设计哪些场景以及设计这些场景的目的。
最后会明确一下人员配备,比如需要开发、DBA、运维都人员的参与协助,性能测试的时间安排。

测试环境搭建

测试环境搭建,分硬件环境与软件环境,硬件环境主要是向上级审批硬件配备,在某些大型性能测试,可能需要公司购置或租用硬件设备来进行。或者是将来原有设置进行调配与重组,这个时候就需要网络工程师的参与或协助。
软件环境的搭建对于开发人员来说应该毫无压力,比如常见的三大环境,微软的windows + IIS+SQL server 2005+.NET平台、windows/linux+tomcat/weblogic+mysql+java 、linux+ apache+mysql+PHP 等环境。当然身为性能测试人员,不仅也需要会搭建软件平台,更需要对每个平台中的部分有比较深入的了解。因为性能测试的分析并不是死盯着系统应用那一层。中间件、数据库、系统、硬件都有可能成为系统的瓶颈。


性能工具的引入

其实走到这一步进才需要引入性能测试工具,我们在日常的工作中往往是先选定好测试工具然后再分析需求,制定计划进行测试。这样我们在做性能需求分析的时候往往会往往会考虑所选的工具是否能实现,无法实现可能就放弃这个需求或改变这个需求。这样以某一工具为基础点做出的性能测试结果可能是不准确的。
工具的引入分为自行开发与引入市面上的现有工具。市面上的现有工具又分为收费与开源免费,各有各的优缺点。我们要做的是对需求进行分析,从成本,购买成本,开发成本,现有开源工具的二次开发成本,人员学习使用成本以及时间成本等。
在这里再强调一点,不是只有压力测试工具属于性能工具,在性能测试过程中所用到的工具都属于性能工具,如测试数据生成工具,性能监控工具等。

测试的执行

  测试的执行应该是很大范围的一块内容。也就是我在上一节中性能测试架构所提到的内容。用户行为生成-->压力产生器-->用户代理-->测试调度-->系统监控等。
  我们所选择的工具如何来实现我们的需求,这个性能测试工程师对引入的有足够的了解。对协议的了解,可能需要编程的能力等。其实好多新手对性能的学习也是从某一工具的使用开始的。

测试结果的分析

  这里再重复一次,测试工具只是提供多种不同的数据揭示和呈现方法而已。工具本身并不能帮我们进行性能结果的分析。
  对于性能测试结果的分析,这个需要性能测试工程师对整个被测环境的各种软硬件都要有深入的了解。当然,在这个过程中我们往往需要各个岗位人员的协助,开发人员、DBA、运维等。致力成为一位资深的性能测试工程师要走路还很长。

软件硬件配置调整与优化

  说的简单点这个环节属于系统调优阶段。这一项不是一个必须的环节。这个要看你本次性能测试的需求与目的。如果只是为了验证系统的能力的话。在分析完测试结果后就可以出性能测试报告了。
  对于我们测试人员来说,我们对一个系统进行功能测试的目的是验证系统功能是否是符合需求并可用的,但发现了缺陷之后是需要对缺陷进行跟踪和修复的,并不是把发现的缺陷写在报告里就完事的。当然,功能缺陷与性能缺陷存在着本质的缺陷。如果在性能测试过程中发现不满足需求的缺陷,进行调优是一个不可缺少的过程。
  如果要对系统进行调优的话,测试执行、结果分析、系统调优将会形成一个循环持续的过程。直到满足客户的需求为止。
-----------------------------------------------
对于上面测试流程中所列出的部分,我在后续的博文中会细讲,当然,你也可以对我提出的这个流程进行交流,欢迎留言拍砖,欢迎加性能测试群。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-344082-1-1.html 上篇帖子: java项目路径 文件路径 相对路径 整理 下篇帖子: 选择WEB开发语言的重与轻
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表