I cannot find an answer to this seemingly easy question:

Should QA start non-functional testing:

  • whenever possible to reveal potential problems early (e.g. bad design leading to bad performance would be expensive to fix if discovered late)
  • on a completed system because only then the real values can be measured (performance, robustness).
  • 1
    "The value of any practice depends on its context." Your question needs context so people can identify strategies, pros, and cons. Commented Mar 11, 2020 at 23:43

2 Answers 2


What is shift Left in DevOps?

In short, it is the idea of testing early in SDLC to prevent defects than just detecting defects. So, you test requirements, designs etc to ensure that there are no defect injections to letter stages by preventing it early in the pipeline.

Can we do left shift for non-functional testing?

Definitely, let's see few examples


Imagine developing a service that requires a high-performance database that will be accessed through an API.

If you don't design the system properly, you would take up databases that have non-adequate performance and the system will fail.

To avoid you will research on comparison and come up with a highly potential database. YOu can refer to research papers like:


Unit testing

You have a component that takes some SQL query and does something with it and then gives an output.

You can use dummy data and keep the component running for a whole day and check if there is any memory leakage.

This will prevent this component from being integrated into the system and wasting time and effort in debugging.

API Testing:

Use tools like JMeter to load test the API before testing the web UI.

Static analysis

You can also integrate white box tools like static analysis tools to find a code block that can find possible cause memory leakage. You can set up these tools to scan the code before its being pushed to git ( By setting up pre-commit and post-commit hooks to trigger tests)

Note: you can use this approach to test most non-functional testing, even security. Read more about DevSecOps


It depends on the risks, do keep in mind that premature optimization is the root of all evil.

I like to think about how can we add non-functional testing to our automated build pipeline. I would automate them sooner then later. There are some examples in this recent article:

With automated regression testing we can find bugs quickly and address them before they fester and become a bigger issue. The same is true with regression testing of non-functional requirements.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.