In the age of agile, quality assurance (QA), has evolved from ‘test everything’ to ‘test as fast as you can’.
As teams’ race to adopt agile and DevOps, and the need for speed overtakes quality, QA is in danger of being left behind. Traditionally, software quality assurance (SQA) is defined as a planned and systematic approach to the evaluation of the quality of and adherence to software product standards, processes, and procedures. This systematic approach is quite different in Agile and non-Agile environments.
How can traditional QA survive?
QA needs to change. It needs to know what it can test, when it can – but more importantly it needs to know what it cannot do due to the limits of time and resources. QA has to change. It has to transform from staid, steady, find-the-bugs ways of working and become fully integrated into the product lifecycle, from the start of the ideas, through to delivery of that first, viable product and beyond into ongoing support and growth.
Sogeti uses a QA Transformation process, built on years of experience, that builds an approach to measure, manage, and integrate processes to deliver financial and timely benefits on a consistent basis. It further enables various teams to build quality metrics and assessment models to measure the impact of the newly adopted technology on the overall transformation process.
QA transformation approach
- focus on increasing the level of test automation
- adopt smart solutions and build an appropriate strategy for them
- build and elevate new QA and testing skills and embed them in Agile teams
- develop a strategy for testing AI – incorporating analytics, self-learning and RPA.
Plugging the QA talent gap
Currently there is a talent shortage. The number of automator’s fluent in every tool ever created, with a background in software development, networks, marketing, finance, object and functional programming isn’t many. Especially when they need to be expert in all things from agile, DevOps, and mobile.
Smaller QA teams can’t test at the speed and scale of the software being developed. E.g. the world quality report revealed that 42% of respondents listed a lack of professional test expertise in agile teams as a challenge in applying testing to agile development.
The diversification of platforms and the speed that they can change – look how much mobile devices have changed in the last 10 years. Then there is IoT and connected devices such as Amazon’s Alexa family, or Google Home and the range of platforms needing to test stretches even the biggest teams and organisations, let alone the rest of the QA industry. These circumstances demand that dedicated teams broaden their skills – QA teams must ensure they are diversifying their intake of new members to reflect this.
Adopting RPA
Demand for RPA grows at a rate of 20 to 30 percent every quarter, and it’s no mystery as to why. It empowers modern workers to automate tedious knowledge work through a non-technical user interface — click, drag and drop. Business users can simply tell one of these trained software robots to do something, and it will do it.
RPA can enable high-quality performance from your IT systems. It reduces the amount of end-to-end testing that would be required when building out custom APIs, integrations and ETL logic to dissolve information silos.
RPA’s ability to automate the dull, reputative task is key to modern businesses. It’s ability to remove the drudge work, reduce errors, and allow staff to focus on more important and rewarding activities is key to QA’s survival.
QA teams will need to learn and adapt to testing RPA scripts and products, and in many cases writing the RPA scripts will fall to people in agile test teams – after all they are already doing this – its automation but instead of proving functionality is correct, it is taking the correct functionality and automating it. How long before UAT stops being about the users and shifts to making sure the bots can do their jobs?
Adopting automation
Automation drives the ‘test early, test often, test everywhere’ strategy in DevOps & Agile enterprises. Automation is not a replacement of internal testing, however it does augment the strategy by taking on lower-priority tests (smoke and regression testing, for example) that can be carried out without a human touch.
Automation approaches vary from team to team – e.g. smaller teams should start with an off-the-shelf enterprise solution, allowing them to get up and running straight away, and have the support to handle software bugs along the way. Transformation of SDLCs without the transformation of testing approach is just a futile attempt at optimisation.
Testing often seemed to be an afterthought, a last-minute protocol in legacy SDLCs. Agile and DevOps put testing on forefront, bringing in the ‘shift-left’ mindset. But manual testing takes away the essence of these modern methodologies, thus, making testing an inhibitor rather than a facilitator in delivering quality products at speed.
Automated testing upholds efficiency of Agile sprints and empower collaboration in DevOps teams. As enterprises are now adopting an ‘Agile+DevOps’ approach for software development, automated testing becomes the key to a successful and timely deployment.
Real-world testing
Real-world testing tests real users on personal devices within the home environments. This allows brands to uncover edge use cases and functional problems that only exist in the real world.
This method can be started quickly, and has strong scalability benefits, meaning that agile teams can add more testers on-demand to account for peak periods. Real-world testing is a valuable solution for brands looking to expand test coverage or those that don’t have the resources to replicate real-world scenarios themselves.
QA transformation requires a four-factor change including people, processes, technology and tools. By making QA omnipresent in an SDLC, enterprises can guarantee quality releases at a faster pace with significant decrease in post-production defects.
No comments:
Post a Comment