Once perceived as the “poor relation” within development teams, the ubiquity and value of high performing digital solutions has put the role of quality assurance firmly in the spotlight. With both businesses and consumers demanding so much more from digital technology, an unreliable, un-intuitive, and clunky platform can quickly damage reputation and significantly impact sales.
A highly skilled and efficient QA team should be an integral part of any digital agency or in-house team, yet many have been slow on the uptake. Lewis Counsell, Head of QA at Access, explains why in today’s digital landscape failing to invest in QA will result in a monumental digital #fail.
One of the fundamental shifts in QA beginning to get the kudos it deserves is that the culture of throwing releases over the fence has, thankfully, now ended (in the main).
Gone are the days when QA teams work in isolation of the programming department. QA roles were often viewed as the poor cousin within the process by the programmers, with systems developed in a waterfall model and new releases passed to QA at the final stage of development – often resulting in last minute, costly, and time consuming fixes if issues did occur.
In the past 20 years things have evolved significantly. In today’s always-on world, technology permeates into all areas of our lives and is used to create solutions for every activity imaginable. As consumers we expect this digital technology to work efficiently and without glitches, every single time.
Rapid turnaround of updates to fix issues, and the design and development of competition-beating functionality, is now the norm. Clients are demanding slick and seamless online solutions which can be updated and refreshed at pace. For rapid software development people are moving away from the Waterfall model and toward the Agile Methodology which has increasingly placed the role of QA in its rightful spot at the heart of software development.
Digital businesses should be involving QA at the client briefing stage, allowing the team to gain a clear understanding of requirements from the client and stakeholders themselves, to help define acceptance criteria.
And if done correctly, this will undoubtedly add significant value to clients. The main three ways are:
Perhaps one of the crucial areas for any client/agency relationship is budget – identifying tests early and finding any issues in-house before sending projects out for customer User Acceptance Testing ensures that there is less “to-ing and fro-ing” of issues for development to revisit. This also reduces the time and involvement for the customer UAT process.
Reduced risk and regressions
An in-house QA process can also reduce risk. Some clients may not have dedicated IT staff, so having a QA team with an in-depth understanding of the software development processes and direct contact with the development team, ensures that areas of risk that might not be apparent to the external user can be identified early. Regressions – bugs that creep into previously working areas of systems because of new software developments – can also be easily managed. QA teams can build up suites of tests that can be rerun on high value areas of projects to ensure existing functionality is not compromised.
Improved brand reputation
Finally, it’s important not to forget the impact on brand reputation that can result in lasting damage if a website is glitchy and not secure. A thorough and integrated QA process means that websites are developed to the highest quality, which in turn can significantly improve brand satisfaction.
QA is also increasingly a key factor in tender pitches, and having a clear and efficient system in place can be crucial in the success or failure of this process.
An agency built on insights, innovation, and providing clients with tangible and high quality digital solutions, Access has invested heavily in QA for a number of years. The growing team is an intrinsic part of the development process, from being involved at the briefing stage agreeing meaningful and measurable acceptance criteria with key customer stakeholders, through to guiding UAT testing. This continuous quality assessment through the development lifecycle reduces the risk and impact of releasing new software.
Test automation is another area which is increasingly being developed by the agency. Underpinning the work of the wider QA team, automation provides quick, repeatable tests that reduce the time for completing test sets and ensures tests are performed in the same way every time. This improves the consistency and frequency at which tests set can be run in comparison to running the same sets manually. They can also be triggered automatically as part of the development build processes to ensure that fundamental functionality has not been compromised.
At Access we implement two levels of test automation. Developers utilise functionality of Behat testing to ensure that certain critical parts of projects are built correctly and have key functionality even before the developers perform their unit tests. The QA team also implements code (using Java and Selenium Web driver) that mimics the interaction of users with critical parts of websites to ensure that these have not been compromised with any new release.
It is clear that the role of quality assurance in digital development is only going to become more important. As we continue to rely on technology to hold our valuable information, specialist roles across security, performance, and load testing will only increase. The role of a QA tester is multifaceted – from a keen eye to detail, critical thinking, problem solving and programming skills, through to excellent communication skills and a creative mindset – this is set to be an in-demand career that will form the lynchpin of many digital agencies.