Left-shifted testing
In the software world, “shifting left” means developers are closer to customers, and quality is emphasized, largely by turning focus from repair to prevention.

In practical terms, instead of programmers writing applications that testers then validate, the intent is that testing happens early and often. Developers continuously receive feedback on their artifacts — dashboards light up with problems after every check-in, or even after every new line is written.

If programmers are testing, does that mean testers are out of work? Far from it. The testing profession certainly adjusts as an organization shifts left, but it doesn’t vanish.

In broad terms, left-shifted testers act more strategically, attend to higher-value activities, and collaborate more deeply: The focus is on integration testing. Left-shifted testers have as much work to do as traditional testers; they just accomplish a lot more in the same amount of time, and they accomplish that work with fewer stressful “crunches” involving a bottle-necked delivery of a (nearly) working product.

These four tips can help you understand how testers are successful in a shift-left world.

1. Make Meetings More Important

Think for a moment of a traditional testing role: Programmers present what they think is a finished application, one ready for the marketplace, and then … wait on the testing crew to agree it’s good enough. This usually amounts to a series of meetings where testers are asked, “How long before you’re done?” “How quickly can you fix these problems?” “Is it supposed to do this? Is that what we want customers to see?” Front-line testers are busy in the back rooms, reverse-engineering requirements and pointing-and-clicking their way to specific outcomes.

Left-shifted testers also spend time in meetings, but at the beginning of projects. Testing professionals help define the charter of a new product by ensuring its requirements are testable. They help configure continuous integration (CI) that’s in place from the first day the source is written, and test-driven development (TDD) guidelines that ensure the application is close to passing its applicable requirements. Rather than being “monkeys” who bang at a keyboard until an error pops up, they systematically evaluate and apply tools to make tests reproducible, informative and transparent.

In a properly left-shifted team, there’s no need for extended, haphazard status meetings where lots of people tell (or cover up) what they’ve been doing. Instead, everyone can see pertinent statuses continuously, in real time. Meetings are still important; they’re just tightly focused on negotiating priorities, thinking through alternatives, and learning enough about each other’s perspectives to encourage collaboration and teamwork outside the meetings.

2. Embrace the Shift

A left shift challenges any individual tester at least a little. Such important changes always bring uncertainty and hazard.

The best way to address such negative qualities is to get ahead of them. Acquaint yourself with the whole team, insist that project plans make sense from the start, be ready to say no early when things don’t make sense, and practice new skills — scripting and XML transformation, for instance — that can keep you in command of what’s going on.

Testing becomes more strategic as it shifts left. It becomes bigger, more ambitious testing, including systematic environment or configuration testing, and even testing in production.

3. Get Help

Deeper collaboration is crucial for shifting left. To ask for help effectively is a fundamental team skill.

Your work as a traditional tester might have emphasized “staying in your lane” by following a recipe for tester activity. The shift left leaves that behind: Now you need to speak up when you run into problems, and to make the most of the abilities of the team as a whole.

A shift left is a particularly good time to work closely with documentation specialists. Like you, they’ll experience the novelty of being strategically involved early in a project. Insist on making the most of what they produce right away: Their documentation and your testing should complement each other from the beginning. When that’s not the case — a little clumsiness is inevitable in your new shifted-left territory — you’ll have the opportunity to find out early and correct any misalignment.

Your left-shifted work puts tooling in the spotlight. The shift also moves your time away from tedious, rote work and in the direction of learning and applying an expanding tool chest. Learn from others about how to make the best use of those tools.

4. Look for What Can Go Wrong

A crucial faculty you bring to the team is your ability to see what can go wrong. Many developers are conditioned to think about the “happy paths” of ideal operation. Your background is closer to the messy world of what end users actually do with applications, and how those applications run in true-life, not-always-ideal data centers.

Don’t assume the whole team sees what is obvious to you. Speak up. You’re an advocate for end users’ satisfaction and the quality of the application, and the team needs to hear your voice.

This Is an Opportunity for Improvement

Left-shifted testing certainly is a change. It deserves to be a good change. The correct attitude helps ensure the shift to the left improves not only the software and its business outcomes, but also your leadership and satisfaction as a tester.

To explore the features of Ranorex Studio risk-free download a free 30-day trial today, no credit card required.

About the Author

Cameron Laird is an award-winning software developer and author. Cameron participates in several industry support and standards organizations, including voting membership in the Python Software Foundation. A long-time resident of the Texas Gulf Coast, Cameron's favorite applications are for farm automation.

You might also like these articles