I was once asked, “Why do you want to shift left Testing?”. Back then, “Shift-Left” wasn’t common term or practice as it is today. He was not looking for a detailed technical explanation, but instead a quick elevator pitch on why we should do it. The ask was simple, explain to him in under two minutes. I quickly realized the only way I could do it effectively is by using an analogy that he understands. So, here is how I did it.
I started off with a simple question.
Do you love cars?
When he enthusiastically responded,
Oh, yes!
I shot a series of questions at him.
What if I told you the car that you just bought was only tested by someone taking a test drive before it was delivered to you?
How confident do you feel about your car?
Do you think all the issues in your car have been found, and they had enough time to fix it?
If you consider the car as your application, testing the individual parts would be the unit testing, assembling the parts and testing the systems as a whole would be the integration tests. Any defects that you find at these stages are so much easier and cost-efficient to fix than the ones found in the test drive. That’s Shift Left, moving part of the testing from the front-end GUI layer to further left in the development life cycle, i.e. more of unit, component and integration testing. He got his answer in two minutes, win-win for both of us!
What do you think? What would be your explanation if you get the same question? I would love to hear them. You can leave your comments here or on Twitter @testingchief.
Read more about other software testing blogs here.