聊聊自己对“性能测试”的理解

发表于:2018-2-11 09:40

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:xinyang0717    来源:51Testing软件测试网采编

  对于性能测试来说,个人认为知识面要比知识深度更加重要一点,除了测试工具和轮,至少要同时要对操作系统、网络、数据库、前端、语言、通讯协议都有所了解。然而在当今这个信息高速传递的社会,特别是IT行业,先进的知识与技术是一个企业立于不败之地关键因素。因此新技术新架构新思想也是我们需要了解和熟悉的。
  作为一个合格性能测试工程师,必须要有大局观和系统化的思维,要站在整个系统测试的角度看问题。一个优秀的性能工程师必须要有相当的知识广度。否则在测试期间,你必须依赖外界援助,例如:开发、运维、DBA。不仅效率不高,更关键的是可能会被误导,漏掉很多性能BUG。我常常遇到团队童鞋们在压测时一看到TPS降了或者升不上去,就死盯着应用,就着急的去分析线程或做CPU Profiling。找不到原因后有时问到我时,我习惯的第一句总是:系统架构是怎么样的?你看过数据库码?看过压测客户端码?一定要先从全局看问题,系统(操作系统、数据库、应用程序)整体配置和常见优化是否到位,然后再隔离到是应用层面、DB层面抑或是压测客户端层面后再进一步深入定位问题。
  一名合格的性能工程师应该包含如下能力:
  1)熟悉Java(包括JVM内在机理)/c/c++。理由很简单,主站大部分的外围应用和中间件都是?? JAVA写的,底层核心系统是c/c++写的。
  2)精通linux管理和shell编程。理由更简单,shell熟练与否非常大程度决定了一个工程师的工作效率。例如可以用脚本实现linux基本配置的优化,jdk、监控自动化安装等。
  3)对数据库管理和性能优化有自己的实践和心得(数据库永远是个性能要点)
  另外,性能测试还会接触各种各样的组件,MQ、hadoop、Elasticsearch、Flume、FastFDS等等,我们很难对每个组件都进行深入研究,但是需要了解它的原理和应用场景,方便定位和问题的排除。说到底,做性能一是有相当的知识广度,二是经验积累。
  下面是我吸取前人的经验整理出来的性能测试技术体系:
  性能测试的常识你知道几个?
  性能测试环境的重要性和需要注意,你知道多少?
  下面就是性能测试专家需要考虑的内容了

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号