Navya Manoj, Product Marketing Manager at LambdaTest, joined hands with Siddharth Kaushal to discuss the idea of shift left testing.
This was the agenda of the session:
What is shift-left testing?
Why do we need shift-left testing?
How can shift-left testing be applied?
The idea of complete shift-left testing
Q&A
Here is the video link:
He started with the definition of Shift left testing and its benefits.
He then started speaking about the need for shift left testing based on his real-time experience. He talked about how he joined a high-visibility product team with 100+ defects in the open state. The team had pushed the production deployment date at least thrice. While the development team was busily closing the defects, the QA team opened more defects to maintain the open defects number at 100+ per day. It was a team of 10+ developers, 5+ QAs, a project manager, and a development manager. When he delved deeper into the problem statement, he realized:
There was no reduction in the number of open defects.
The team was losing its confidence and started picking the blame game.
Management lost its confidence due to the loss of business opportunity
Automation has become a huge overhead at this stage.
Hard to commit to a particular release date.
Prioritizing the defects was becoming repetitive and cumbersome.
He soon realized that these are the actual problems faced by the team:
Lack of early testing process in the testing life cycle.
Lack of QA involvement in earlier stages.
No quality-oriented development approach.
No automation.
Changes in requirement due to delivery delay.
This is how he solved the problems:
Triaging every bug.
Holding off to new requirements.
Automating core features.
Leveraging unit and buddy testing during the development phase.
Taking team responsibility.
-
Celebration of small victories.
“It starts at a very basic level. First of all, you have to understand the problem of the team. You have to sit together. You have to understand the milestones and how to reach them together. Try to have the mindset of moving forward. Try to break the monotony of finding issues every day and repeating the cycle.” he says.
He also spoke about how they sat in a cafeteria instead of a conference room to enable free-mind thinking.
While talking about the need for shift left testing, he quotes the principle behind it as “Test early, Test often” at different stages.
Then he explained the process behind applying shift-left testing. He reminded us that traditional shift-left testing involves V-model, unit testing, and API testing.
He spoke on how incremental shift-left testing involves V-model with smaller increments and is suitable for large and complex software systems where SRE or DevOps come into the picture.
The next approach he spoke about is Agile and DevOps strategy in shift-left testing, which is currently the most popular one. It’s pretty restricted to development testing, but that’s advantageous since it encourages you to stay bug-free when you reach that stage. According to him, it’s popular since it suggests a team of engineers good at different tasks.
Then he explained model-based shift-left testing. It starts quite a while before the development testing starts.
Moving forward, he explained when is the right time to choose shift-left testing:
Understanding that you need shift-left testing.
Metric or measurement of failure or success.
Gap identification.
Short-term and long-term goal identification.
Right framework and tools identification.
Once you have understood and identified all these factors, you need to start taking smaller steps toward the right implementation.
Speaking about what a shift-left test can contain, he gave the following info:
Unit testing
Integration testing
API testing
Memory leaks
Security testing
He spoke on how this idea can vary between different professionals. He recommended everyone to start using it and said that you would find it interesting as you start using it. He said you could build an automation framework using a simple language such as Python. You can also use the GoLang-based automation tool to manage unit and functional test cases. Using Karate, you can manage your functional test cases very early. You can use those same scripts to perform different tests.
For implementing the idea of shift-left testing, he suggests these possible ways:
Identify the current project state and its maturity for measuring the success.
Get on with traditional shift-left. Let it mature before you measure its impact.
Choose the right automation framework to bring everyone onboard.
Start with periodic check-ins and documentation.
Look for ways to improve.
Then he spoke about which tools to use to supplement the implementation.
Then he provided the needed resources to learn about shift-left testing.
Q&A Session
Our host, Navya, picked a few questions from the audience and presented them to him. He answered them with joy.
What major challenge have you faced while implementing shift left testing?
Siddharth: Mindset is the biggest problem. Unless you have that approach to moving forward and thinking with an open mind about a new idea, it’s really difficult.
There are various approaches to Shift-left testing. What’s your opinion on the ideal one?
Siddharth: It depends on the current state of the project.
There has been a lot of talk about shift-left, shift-right, and more. Can embedded hardware (and software) companies benefit from shift-test and continuous testing from such kinds of projects?
Siddharth: In my opinion, yes. Testing applies to software. Shift-left is just a concept. It would be your best judgment to determine how to benefit from it. Many times, we don’t understand the current system, the problems around it, and those our customers face. Let’s work towards understanding them.
What would you recommend to companies that want to benefit from shift-left for legacy projects?
Siddharth: You have to handle them differently depending upon factors like if they are active or in KTLO mode. You have to sit with the team to determine your automation strategy if it’s active.
How long do you think it takes for teams to shift left truly?
Siddharth: It can take a lot of time. Even if you want to move towards the traditional shift-left, you must identify the tool and other stuff.
Can you share some places where the shift left doesn’t work?
Siddharth: There could be multiple places where it might not work. One example is organizations trying to deliver faster, come to the market first, and look into the user’s response. Hence people depending on shift-right might not benefit from shift-left in that case. It all depends on the mindset and pressure.
It was indeed an eye-opening session on shift-left testing by Siddharth. Hope you resonate with the same thought!
Happy testing!