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
Design
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:
https://www.ijarcce.com/upload/2015/march-15/IJARCCE%2039.pdf
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