Josiah Renaudin: Welcome back to another TechWell interview. Today I’m joined by Angie Jones, an automation engineer at Twitter and a keynote speaker at Agile Testing Days in Boston. Angie, thanks so much for joining us.
First, could you tell us a bit about your experience in the industry?
Angie Jones: Sure, I’ve been in test automation for the majority of my career, with a short stint in development. I’ve worked as an automation engineer in an individual contributor capacity as well as a test automation consultant for various agile teams. I have worked on UI, web services, and embedded software projects.
Josiah Renaudin: Your keynote centers on shifting left. Before we dig much deeper, what does shifting left mean to you, and what are some of the most common benefits software teams see?
Angie Jones: Shifting left is a transformation of how we develop software. For a large portion of my career, I worked in a waterfall fashion where there were stages of software development and the next stage didn’t begin until the previous stage was completed—e.g., requirements gathering, then design, then development, then testing. With this approach, testing was usually the final stage before releasing the software. However, with more modern approaches to software development, it’s critical for testing to be done much earlier in the process, essentially shifting more towards the left of the development stages as opposed to being on the far right, one of the last stages.
In shifting left, teams see huge benefits such as finding bugs much earlier, sometimes even before code is ever written. This results in a higher quality of code and a far less expensive way in achieving such.
Josiah Renaudin: What have you learned about how testers themselves define "shift left"? How does that differ from what management thinks it is, or even your own definition?
Angie Jones: In my experience, testers aren’t the ones calling the shots on what shifting left will mean. Usually this is dictated by management. Management’s idea of shifting left is usually having developers do all the testing themselves, or possibly have testers become automation engineers instead. They don’t believe they need testers as defined in the traditional sense because what they know to do happens on the right, and we’re not doing much of that anymore. They are correct in the notion that testing is more effective when it’s shifted left, but I believe they are misguided on how to truly achieve that.
Josiah Renaudin: Why is being a programmer a current requirement for shifting left in testing, and why can that be dangerous for teams?
Angie Jones: From management’s point of view, they’d like testing done earlier, faster, and much more frequently. Their solution to this is to automate the tests. To do that, they need programmers. This much is true, however, it’s dangerous to assume that is all you need for testing. Automated scripts are checking known paths for expected results. That’s not truly testing. Testers discover the unknown, and this skill is still very much so needed, whether there’s automation or not. Without human intuitive exploration, a team may be blind to their most expensive bugs.
Josiah Renaudin: Bringing things in like shift left and agile are often decisions made by management, not those who actually test. What’s something that most teams can do now to help flip that narrative? How can testers get their management to actually listen?
Angie Jones: Testers should do what they know is right. Shifting left is a good thing, but testers know better than anyone how their skills can be useful in this paradigm. Some suggestions I have is to bring their wealth of knowledge to planning and design meetings. Don’t just attend in silence. Contribute to the conversation. Use your skills to foresee potential areas that are problematic. Don’t be afraid to bring them up. Once testers begin to contribute in this way, they become invaluable team members.
Josiah Renaudin: Do you feel like testers are getting the short of end of the stick when it comes to things like agile and other new methodologies? It seems like they’re the ones who must do the most adapting in order to stay relevant within a software team.
Angie Jones: Actually, I think everyone has their fair share of adapting to do. Developers have to partake in quality initiatives as well, sometimes even quality-driven development processes such as TDD, and this isn’t always natural for them. The business folks also have to transition from a big-picture view to actually thinking through detailed scenarios for how customers will use the features to be built. All of this is also a part of the “shift left” model. Testers aren’t the only ones impacted. However, with the whole team owning quality now, it can be harder for testers to understand what part they play in this.
Josiah Renaudin: What have you found to be the most useful and effective skills testers can pick up to remain integral pieces of the software development lifecycle?
Angie Jones: I think testers already have the skills that they need. What they need to learn is how to utilize these skills in the earlier phases of software development. It becomes tricky, because nothing has been built yet. There’s no app or feature to explore. Testers can use their vast knowledge of the application, how the features work together, how customers use and misuse the product, and help contribute to the discussion around design and implementation based on this knowledge.
Josiah Renaudin: More than anything, what central message do you want to leave with your keynote audience?
Angie Jones: My central message is that our industry is changing, and it’s important that we embrace these changes and identify ways to utilize our skills to help the team win.
Angie Jones is a Consulting Automation Engineer who advises several scrum teams on automation strategies and has developed automation frameworks for countless software products. As a Master Inventor, she is known for her innovative and out-of-the-box thinking style which has resulted in 22 patented inventions in the US and China. Angie shares her wealth of knowledge by speaking and teaching internationally at software conferences, serving as an Adjunct College Professor of Computer Programming, and teaching tech workshops to young girls through TechGirlz and Black Girls Code.
I don't agree with a lot of these ideas. The software industry (developers, managers) really hasn't changed much in terms of the understanding of testing. The idea that testers should influence the team have been around for a long time and are useful. However, thought leaders in testing should be clear about the state of the industry. Thought leadership in agile and automation have never been able to explain what is testing and have never called out the lack of understanding of testing in the development/agile community.
For the record, here is an example of testing: https://medium.com/@revelutions/how-cem-kaner-tests-software-17e3d6fc6157
Here is a post I had written about some of the memes in agile testing: https://medium.com/@revelutions/letter-to-an-agile-developer-talking-abo...