The role of QA in today’s software development has evolved over time with the trends in the industry. Technology is changing at a pace that is hard to keep up with. There’s IoT, cloud, mobile, AI, blockchain, and more with something new always coming into the fold.
Until more recently, the role of QA was often considered as one that planned and performed manual tests based on documentation and requirements, which only happened in the testing phase.
As the role has evolved, QA now releases products every week or two, and in some cases, every two hours as part of a continuous delivery process.
The evolution within the role of QA has become much more strategic within the team and is close to business and product issues, while still running the tests. Programming skills for creating automated tests and shift-left testing approaches have also entered into the role, which means that quality expectations are increasing day by day.
What triggered this evolution?
As with any role, there’s a natural evolution that occurs, but for QA specifically there’s more hard-hitting evidence to its’ evolution:
- Manual tests focusing on validating requirements, finding bugs and ensuring that nothing has been broken became expensive. Regression tests are worth mentioning here, which need to be performed repeatedly, for each delivery, ensuring that nothing breaks the existing system. This test is usually the one that takes the longest time to run and easily translates to time is money.
- The repeated execution of the same tests, always in the same way, always in the same phase, generates a certain discomfort, which comes to cause demotivation. It’s hard to get excited about the same thing over and over.
- What does every business need? Innovation and more experimentation. Without those two, you can expect to see lower ROI and profitability. By adopting new tools and testing platforms/methodologies, QA is able to evolve and keep reinventing its strategy. This brings much more inclusiveness and responsiveness in its outlook to accommodate change and new ideas. QA must also bring scalability to its process to test differently and bring sustainability that is powered by innovation.
How do we adapt?
Apart from the technical knowledge, soft skills also play an important role in paving a way to a successful QA career and adaptability is front and center.
There is no definite way in which QA teams can ensure success. Only with constant growth and evolution of processes, can QA steadily bring conviction in its approach, extending the same for businesses as they serve their end users.
QA must be a mindset. It’s key to digital transformation, and a culture that not only your team, must be involved in, but your entire company.
Being involved in the early stages of development or design of a product is essential for QA – varying from involvement in estimates, technical discussions, requirement review’s and advocating for quality. QA definitely plays a strategic role, as it is a connection point between development and operations. DevOps can speed up development, but what can you expect without a robust QA strategy? Continuous development and continuous delivery is impossible without a comprehensive QA strategy.
This brings a new flavor to DevOps known as QAOps framework.
QAOps refers to maintaining software quality by approaching it with a DevOps mindset. In simple terms, QAOps aims at improving the software delivery process, making it faster and stable without compromising on the quality of your product. QAOps framework integrates the QA processes, automation and QA Reporting with the Software Development Lifecycle (SDLC) process. To put it simply, QAOps takes the core ideas from continuous testing in DevOps, such as CI/CD and brings teams together to work on the pipeline.
I stress the importance of stating that the main focus of QA nowadays is not in finding bugs, but rather in preventing bugs from happening, and if they still do happen, that they do in a controlled time and environment, before it causes negative impacts.
“Discovering the unexpected is more important than confirming the known.“ – George E. P. Box
How can we implement QAOPS?
There are four main ways to approach the implementation of QAOps:
- Automation. Add automated testing in between continuous integration and continuous delivery.
- Parallel testing. Test multiple parts or components of the application at the same time.
- Scalability testing. Scale the product – including adding more features and making the existing features better.
- Integration with DEV, Ops and QA. Strong collaboration of teams that work together to achieve success in a project.
QAOps is especially useful when specific types of testing are needed. For localization, QAOps is almost non-negotiable, but QAOps can also be extremely useful in regression testing. QAOps can scale up or down to fit any business size.
The QAOps framework is a process that the QA team should be practicing on a daily basis. Of course not every QA team can do QAOps, but we try to train our QA to achieve this. As per this, the implementation of the QAOps framework is defined as an infinite process of learning and putting in use the best QA practices throughout the following phases: plan, test development, automation, trigger, execute, release and report.
Why does it matter?
- Faster Software Development Cycle
- Keeps the QA team continuously engaged
- Higher level of Quality and Reliability
The main purpose of DevOps is to ensure the software is deployable at any point in time with new features in place and the collaboration is mainly between the development and operations. In QAOps, the main purpose is to ensure the quality of the application in terms of its performance, scalability, functionality, security, and usability, among others. In QAOps, the operations team mainly communicates and collaborates with the QA team to ensure the continuous delivery of products.
Despite the many challenges that QAOps faces, this approach offers an encouraging next progression in Software Development, one that offers speed without sacrificing quality delivered.
2021 promises to be a dynamic year, so we’re expecting some fascinating testing trends and strategies come to life. Don’t get left behind – it’s essential to embrace the new wave of trends and approaches.
What are your predictions for 2021 in terms of Software Development?