Blog

How Important is it for Performance Engineers to Understand the System Architecture?

photo with car hood

Good performance engineers need to know what’s “under the hood”

Recently, I was involved in a debate about whether it’s necessary for performance testers to understand the architecture of the system in order to become a specialist in performance/ performance testing/ performance engineering. At Abstracta, this is something we strongly believe in and stand for because the steps involved in performance testing require an in-depth knowledge of the system.

Here is a brief summary of the three main steps of performance testing:

  1. Test Definition
  2. Automation
  3. Execution and Monitoring

In defining the test, the main knowledge required of performance testers pertains to the business and knowing what the user behavior will be and expectations, among other things.

For the automation, the knowledge required is about the use of automation tools and communication protocols (HTTP, SIP, SOAP, ISO8583, etc.)

For executing and monitoring, performance testers must have an understanding of the fine details of the system’s components. The term “components” implies both internal components and the base software used: web server, database server, JVM, .NetFramework, etc. In order to add value at this stage, we must be quite experienced in testing and willing to understand how things work “at the low level”.

This variety of skills required is what makes this role an exciting challenge because there are always new technologies and solutions that are ever more complex.

At Abstracta, we often say that, testers, like doctors, diagnose exactly what is going on with the system and suggest remedies.

In short, we think that in order to be good performance testers, IT IS INDEED necessary and important to be knowledgeable about the architecture of systems and the details of their components. We believe its imperative for performance testers to understand the architecture of a system so it is our mission to help them with this understanding. Isn’t that what makes a good doctor?

Need a quick diagnosis? Contact us and let’s get started.


Recommended for You

[Infographic] Why Should I Become a Performance Tester?
Performance Testing in Production

6 / 463

6 Comments

  1. April 7, 2018 at 7:13 am

    I agree 101% for thoughts presented. At the end performance engineer is the soul owner of the of an application performance.

  2. January 22, 2018 at 8:13 am

    I would argue that the measure of how performance work adds value is how it increases understanding. Testing, in of itself, doesn’t add business value. Today, the state of the practice in performance testing is pretty dismal. A lot of performance testing produces results that are meaningless or misleading. It’s so, so easy to do a performance test that doesn’t measure anything of value. Without an understanding of the architecture of a system there is no guarantee that the performance test is measuring something real.

    1. Federico Toledo
      January 22, 2018 at 1:00 pm

      Very nice contribution! Also, I think that by increasing understanding, at the end, helps to increase the value 🙂

  3. June 27, 2017 at 1:48 pm

    Hi,
    I want to know that ,why a performance tester need to know about the architecture ?

    1. Federico Toledo
      January 22, 2018 at 12:59 pm

      Hello! I have an example from a project last week. We were testing a system and we couldn’t find out why we were observing bad response times in the JMeter report, while the logs in the Tomcat seem to be very small. The thing was that the customer forgot to tell us that there was another component in the middle (an Apache), so, as we didn’t have enough information about the architecture, it was very hard to analyze results and find an optimization.

  4. July 15, 2016 at 7:37 pm

    […] Is the System Actually Running Slow? How important is it for performance testers to understand the architecture of systems and the detail… […]

Leave a Reply

Required fields are marked