美文网首页
性能测试流程与调优

性能测试流程与调优

作者: star_he | 来源:发表于2017-02-12 15:01 被阅读0次

    性能测试流程与调优

     

    概述

    分析性能需求

    制定性能测试计划

    设计场景

    编写脚本和程序初始化配置

    执行性能测试

    分析结果

    性能调优

    回归测试

    测试报告

     

    1.概述:

  1. 性能测试:测试软件在系统中的运行性能,评估是否能满足需求

  2. 性能分析:对性能测试数据进行分析,定位性能的瓶颈问题

  3. 性能调优:对性能问题进行调优

  4.  

    2.分析性能需求:

  5. 了解系统性能需求,把所有的需求点列出来,整理成一个文档输出

  6. 数据建模,根据分析出来的性能需求,确定具体的业务流的并发量等

  7. 确定合理的性能目标,预期性能的目标可以根据类似系统的日志分析,或者参考以往数据记录

  8.  

    3.指定性能测试计划:

  9. 测试环境

  10. 测试软件

  11. 测试人员

  12. 测试目标

  13. 测试日程

  14. 测试风险分析

  15.  

    4.设计场景:

  16. 在线用户数

  17. 并发请求

  18. 峰值响应

  19. 持续压力

  20. 空载测试、基准测试(一个用户使用系统的各项指标)、最大测试、并发测试、混合测试(各个场景、测试方法混合起来)、疲劳测试等

  21.  

    5.编写脚本和程序初始化配置

  22. 脚本

  23. 例如loadrunner环境参数的设置等,以文档形式记录,供报告使用或以后参照。

  24.  

    6.执行性能测试:

    保持环境的一致性,即测试系统的环境和正式系统的环境一直,以免测试结果在正式环境中不起作用

     

    7.分析结果:

    性能问题分析的基本原则

  25. 把事实与推测分开,总是用实际的证据来证明你的推测

  26. 在没有足够证据之前,不对程序进行优化

  27. 优先验证简单的假设

  28. 日志文件中没有错误不代表真的没有错误

  29. 从系统到应用、从外到内进行层层剥离,缩小范围

    确认是系统级问题还是应用级的问题

    确认是否外部系统问题(如密码鉴权问题,EJB问题等)

    确认是应用程序问题还是数据库问题

  30. 范围缩小后,再分割成多个小单元,对每个小单元进行轮番压力测试,来证明或者否定是哪个单元引起性能问题

  31. 8.性能调优:

  32. 在应用系统的设计、开发过程中,应始终把性能放在考虑的范围内(任何时刻都要记住性能测试)

  33. 确定清晰明确的性能目标是关键

  34. 必须保证调优后的程序运行正确

  35. 性能更大程度是取决于良好的设计,调优技巧只是一个辅助手段

  36. 调优过程是迭代渐进的过程,每次调优的结果要反馈到后续的代码开发中去

  37. 性能调优不能以牺牲代码的可读性和维护性为代价

  38.  

     

    调优步骤:

  39. 确定清晰的性能目标,并按优先级排列

  40. 利用科学的测试工具对应用程序进行测试,并记录测试结果

  41. 把分布式系统拆分成组价:web层、业务层、集成层、以及网络传输时间,分别进行调优

  42. 有系统的科学调优

  43. 遵循一定的程序:测试性能à找出瓶颈à假设造成瓶颈的因素à测试假设是否成立à修改应用à再次测试性能

    确定影响性能的因素:CPU、Memory还是IO

    找出主要的瓶颈,首先解决最容易的,再重复测试

    一次修改一个瓶颈,不要对不需要的地方进行调优

    提高CPU性能:更快的代码、SQL,更好的算法,减少短期生存的对象

    提高内存性能:减少或减小长期生存的对象

    提高IO性能:重新设计应用,减少IO的交互

  44. 优化完成之后,进行测试

    在代码中记录优化的地方,并对旧代码进行注释

    9.回归测试:

    功能的回归和性能的回归

     

    10.测试报告:

    相关文章

      网友评论

          本文标题:性能测试流程与调优

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