A featured contribution from Leadership Perspectives: a curated forum reserved for leaders nominated by our subscribers and vetted by the CIOReview Advisory Board.

Worldline

The Future Is Automated

When many people think about testing software they probably picture a team of testers sitting at a screen working through the features of a product, breaking things and raising bugs as they go. What people may not imagine is a team of engineers sitting together writing code to automate software testing across a product and ensure a new release literally cannot go out the door without passing a stringent set of business and performance criteria.

The traditional approach to software testing is in a state of change. Over the last 5 years, across many different businesses and industries, many teams of manual testers have been rapidly upskilling and becoming what could be more accurately described as Quality Assurance Engineering teams. What is the difference between a traditional test team and a team of QA engineers? Well, QA engineers are all about automation, they write code, they understand software, they work with software developers on features and they are more focussed on ensuring quality and streamlined release processes than the traditional processes of manual testing and bug hunting.

"As a business looking to shift to automation, one approach that has been found to work well is through paired programming/ development"

As a modern business, the ability to rapidly release features and product enhancements to market is often critical to survival. The old ways of waterfall releases with long drawn out testing cycles are painful and outdated. With many businesses shifting to agile ways of working and continuous delivery models, the QA function is becoming a crucial piece of engineering in the delivery chain. The ability to streamline software development and facilitate continuous delivery through effective Development and QA automation will be an increasingly important piece of any digital business moving into the future.

While the new world of software testing is heavy on automation, it also requires the traditional skillsets required for good test planning and solid feature understanding. The modern day QA engineer is expected to understand product requirements, design a testing strategy, define test cases and acceptance criteria and then develop code in any number of new frameworks to automate their cases. The more technical skillsets are often outside of the comfort zone for existing QA teams, however as more and more businesses start to adopt this approach to testing the traditional tester will need to adapt to stay relevant.

As a business looking to shift to this model of software testing and automation, one approach that has been found to work well is through paired programming / development. QA and Software Engineers working closely together on features to cover off the feature development, test cases and test automation in parallel helps to expand QA skillsets over time with the added support of an experienced software engineer who can provide guidance and support on the more technical aspects of automation. Paired programming also gives software engineers the opportunity to better understand software testing and test cases.

Taking everything in to account the role of QA in a business is expanding to a large extent. While different businesses will look to focus the QA function in different areas and in differing capacities, I believe most digital businesses are somewhere along the process already of implementing this type of approach to quality assurance in software and it’s a trend which will continue to evolve.

The articles from these contributors are based on their personal expertise and viewpoints, and do not necessarily reflect the opinions of their employers or affiliated organizations.
Top