Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Why your team needs to embrace shift left testing right now

There is an endless debate about when and how to test software. Shift left testing is the latest theory, and it brings developers in to the process. Jennifer Lent unpacks it for us.

I love the term shift left testing. The idea of moving to the left, when the more obvious path lies to the right, appeals to me because I'm naturally curious about how people organize work. We move back before we can move forward, and that's often how progress happens.

Most noteworthy about this apparently new term shift left testing is that it sums up an old idea test experts have talked about for a long time: Testers need to get involved early and often in the development process. "Shift left" has been the mantra of software testers everywhere for as long as I've been telling their stories -- even though I haven't heard a single software tester utter that phrase.

Shift left testing -- among other things -- is about getting testers involved at the outset of the software project. Isn't that exactly what we were saying when we crashed the requirements meeting we weren't invited to? Shift left testing also characterizes our efforts to convince business colleagues that software testing entails much more than fixing bugs. For a long time, we've been making the case that testing is not an afterthought. It's a mindset that asks big questions throughout the development process about how target users will interact with the software we're building. The shift left testing movement, if there is such a thing, could help spread that message.

In this column, I explore what shift left testing means and why it matters -- even though it's not really a new idea.

Shift left: Devs as testers

If the idea takes hold, shift left testing will get developers to take on additional testing tasks. Many already do unit testing, making sure small increments of code work even as they write them. This Agile practice is important because it incorporates testing early in the development cycle. It also emphasizes that testing is an integral part of software development and everyone is responsible for quality and success. This Agile concept is articulated best by expert Lisa Crispin in her article about the whole team approach.

Getting developers to write test scripts strikes me as a novel approach -- a potentially positive outcome of the shift left movement.

Test expert Joe Colantonio, host of the Test Talks podcast, takes this a step further. He has said that ownership of test automation should belong to developers, at least somewhat. His reasoning? It will make the process go faster. Writing scripts for automation is traditionally seen as a tester's job -- even though too many testers lack coding skills. Getting developers to write test scripts strikes me as a novel approach -- a potentially positive outcome of the shift left movement.

Shift left: Get the message out

While the shift left testing movement emphasizes the importance of testing earlier in the development cycle, that's only one aspect of it. A post published by software testing tool maker SmartBear, "What The Shift Left in Testing Means," put it like this: "Suggesting that testing shouldn't be held until the last few days before a release is the easiest way of explaining the ideas in the phrase 'shift left.'" But that lens is too narrow, the post suggests. "Shift left doesn't exactly move testing closer to the beginning of a release cycle. It sprinkles it over each step and each iteration."

The SmartBear post notes that testing will likely still happen at the end of the development cycle. "But it will be smaller and faster because of the problems you are able to find earlier on." And that, of course, is the whole point. It's what software testers have been saying all along. Shift left testing matters -- not because it's new, but because it will help get that message out.

Is your organization shifting left? Let me know!

Next Steps

Worried about your tester job security?

Why testers need to get comfortable with data science

Why you need this (unexpected) testing skill

Dig Deeper on Software testing tools and techniques

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

How would shift left testing improve software development in your organization?
"Shift left" is definitely an interesting mantra for the testing community.

For testing professionals to get ahead of the game I would strongly recommend reading Martin Fowler's piece on "Self-Testing Code": https://martinfowler.com/bliki/SelfTestingCode.html

The new mantra might be: "Be The Code"
As you say, many (not just in the testing community) have been advocating an earlier start to (thorough) testing. With a previous employer, although there was limited testing done by both the dev and the BA in the dev stage, too many bugs were slipping through to QA resulting in multiple cycles dev>QA>dev etc. Then, when a couple of projects came along with impossible deadlines, they decided to involve QA testers at the dev stage to try and save time. It wasn't flawless, but this strategy enabled them to shorten the time in QA. Unfortunately, this did not immediately change the default mindset, so many other projects continued to follow the old pattern. Part of the problem (I think) was the perception that it was more costly to involve QA so early, (and probably had other impacts in terms of planning, resources, etc.), as it is difficult to prove/track how much time (and cost) was actually saved by involving QA early.