从性能测试员到性能工程师

摘要

许多性能测试人员认为,经过几年的经验,他们会自动成为性能工程师。 但是,这并不是那么简单。 成为性能工程师的道路是漫长而持续的旅程。 本文详细介绍了性能工程师在性能测试之外还需要做的许多事情,并概述了提高职业生涯所需采取的步骤。

内容

自2006年以来,我一直担任性能测试员,并且像许多性能测试员一样,我曾经认为经过几年的经验,我会成为一名性能工程师。 但是,我认为我们需要了解这并不是那么简单。 相反,成为性能工程师的道路是漫长而持续的旅程。

性能测试人员不仅需要具有强大的性能测试知识和性能环境设置功能,还需要对不同类型的应用程序的性能分析和性能监视概念有足够的了解。 性能测试人员应共享性能测试结果和有关测试执行的主要发现,并确定潜在的性能问题,并在可能的情况下提供一些性能改进建议。

另一方面,性能工程师确定性能问题的根本原因,找到可能的问题解决方案,并进行调整或优化活动以解决这些问题或确保满足性能参数或期望。

性能工程是端到端的活动,而性能测试是该活动的子集。 拥有十到十五年的性能测试经验之后,我们将自动过渡为性能工程师,这并不是说,诚实地说,这是对性能测试的充分尊重。

以我的经验,性能测试人员通常会在软件开发生命周期(SDLC)的最后阶段介入。 但是,现在正在发生左移,越来越多的组织参与到敏捷和DevOps方法论中,在SDLC的早期阶段就进行了性能测试。 这是一个积极的信号,实际上将有助于加速性能测试人员成为性能工程师的过程。 如何做性能工程是整个SDLC阶段的一项持续活动。 它旨在通过牢记性能指标来设计应用程序,并在开发周期中尽早发现潜在问题。 我们将继续进行性能工程活动,直到应用程序发布并符合总体性能服务水平协议(SLA)参数为止。 如果不满足这些参数,那么我们将在软件,操作系统,硬件和网络等所有级别进行性能优化,直到最终用户满意为止。 性能工程师需要可视化应用程序的理想性能,以便应用程序团队成员可以设置正确的目标,并将其设定为可衡量的特定性能指标。

我们必须理解,性能工程不仅是性能调优和优化,就像不仅是性能测试一样。 这些都是性能工程的活动。

尽管如此,要成为一名性能工程师,这是长期而持续的旅程的第一步,那就是学习性能测试基础知识。 我主要通过互联网和组织内部的在线学习设施学习了基础知识。 在参与实际项目时,我开始学习自动化性能测试工具。 所有这些工具的基本概念都相同,但是工具文档对于了解它们的不同之处非常有帮助。

然后,我开始学习有关性能测试执行,结果分析以及关键发现报告的知识。 我认为了解客户端统计信息(例如响应时间,每秒点击数,吞吐量,错误,虚拟用户图和网页组件分解图)非常重要。 我还学会了使用不同的性能计数器来查找服务器端统计信息,例如连接到基于Windows的应用程序的系统框,使用基于Unix的应用程序的系统命令或针对特定于应用程序的情况(例如SAP)使用事务代码。 基于应用程序。

然后,我开始学习设置性能环境,例如控制器,负载生成器和数据处理器。 接下来,我开始收集有关各种监视工具的知识,从传统工具到应用程序性能监视工具再到数字体验监视,这些监视工具既适用于实际用户,也适用于综合监视。

另一方面,在分析应用程序和服务器参数,客户端和服务器配置,测试执行详细信息,性能测试环境详细信息,测试环境配置,性能测试数据详细信息和讨论之后,我仍在使用自己的思维过程来分析性能测试结果。 与利益相关者和其他团队合作,以提高整体绩效并建立基准,以备将来参考。 根据不同类型的应用程序,其基础的通信体系结构和业务域,这里有很多事情要学习。

然后是性能优化和调整阶段。 我将主题分类为三个部分:服务器级别(Web,应用程序和数据库),操作系统级别以及设备和网络组件级别。 作为一名性能测试员,我们有很多机会针对整体性能改进提出不同的建议(包括关键发现),因为我们已经在这些领域拥有多年的知识。 通过这样做,我们可以建立信心,并开始真正地寻找机会担任绩效工程师。

这就是为什么我认为这是将自己从性能测试人员转变为性能工程师的漫长而持续的旅程。 我发现通过遵循逐步的活动(例如首先成为专家性能测试人员,然后添加性能环境设置功能,最后成为具有良好总体性能监控概念的性能分析专家),可以轻松地走上一条道路。 这些是我们仅需建立的性能测试的基础。

为此,我们必须获得有关性能分析或诊断工具的动手经验,花时间学习并寻找可能的机会。 这是我们都应该集中精力开发的性能测试概念的列表:

性能需求收集
SLA最终确定
为关键业务场景准备事务遍历文档
编写详细的性能测试策略
设计概念证明
工作量建模
为多个用户和多次迭代自动创建性能脚本
用于处理多个用户的性能数据准备的不同方法
性能测试执行的类型,以满足真实的用户模拟
性能测试报告(初步和执行),包括结果分析
使用客户端和服务器端统计信息进行性能监视
绩效改善建议
基于可用资源,工具和底层通信机制的性能环境设置

性能工程是端到端的工作。 总体目标是主动确保任何产品都满足性能要求,并在实际用户面对性能问题之前识别并解决性能问题。 从性能测试人员过渡到性能工程师是一个漫长而连续的过程,但是通过将其分解为具有明确学习目标的分步活动,您可以制定职业发展计划。

原地址

https://www.stickyminds.com/article/performance-tester-performance-engineer

发布了397 篇原创文章 · 获赞 445 · 访问量 82万+

猜你喜欢

转载自blog.csdn.net/wodeyijia911/article/details/102888774
今日推荐