Within IT and software development, there are no shortages of the “next great” technologies and methodologies that will “revolutionize” how software can be built. These focus on speed and quality as the expected outcomes. From the recent rise in AI as an enabler in software development to discussions of AI as the replacement for software developers, l have resurrected the conversation on the role that the QA practitioner plays in an AI world.
As a company dedicated to the craft of quality for over 30 years, QA Consultants has witnessed the evolution of software development methodologies and technologies that have often raised concerns about the role of quality assurance (QA) owners and their human roles in the software lifecycle. However, history shows that rather than eliminating QA roles, these advancements have transformed them.
Over the past 20 years, QA Consultants has seen a number of innovations and changes to software development approaches. In particular, there are three approaches that hold an unwritten (and sometimes very outspoken) ‘benefit’ for the reduction in QA efforts. QA Consultants focuses on pragmatic approaches to quality, which often translates to reducing the number of testers needed on a project, while simultaneously increasing quality. While there is a well known balance of quality, cost, and time, this does not mean that QA Consultants only advocates for ‘more testers’ or ‘more testing.’ Quality is improved when that responsibility is held by all; Quality is a team sport.
When QA Consultants hears that the next big idea will eliminate ‘testing’ or ‘testers,’ the focus remains on how to reduce spend on quality by improving the delivery of high-quality software. No ideas have been more vocal on the ability to reduce testing than concepts of Agile, DevOps, and AI. Highlighted below are a number of these concepts and how they have enhanced the need for a focus on quality and the role of the QA professional, bolstering more career opportunities in the process.
Agile and its ability to “eliminate testing”
Assumptions
- Agile and its collaborative model will eliminate QA roles
- Agile teams will all work together to build and test software
Actual Results
- Collaboration and Integration: Agile methodologies emphasize cross-functional teams and continuous collaboration between developers, testers, and other stakeholders.This has integrated QA more deeply into the development process. Beyond unit testing, it remained clear that while QA is always willing to jump in and help with development and configuration, developers want to stay focused on code velocity.
- Shift-Left Testing: Agile promotes testing early and often, meaning QA professionals are involved from the beginning of the development cycle. This approach, known as shift-left testing, ensures quality is built into the product from the start. However, there has been a continued focus on metrics for development velocity, not code-complete velocity and ready for deployment. Producing code in two weeks that requires six weeks to test does not meet velocity objectives.
- Expanded Skill Set: Agile required QA professionals to have a broader skill set, including automation, scripting, and understanding of development practices. This has led to an increased demand for versatile QA engineers who can adapt to various tasks.
Key Outcomes
- QA professionals in Agile environments often need to be proficient in software development, and this has led to the rise of the Software Development Engineer in Test (SDET) for those developers who choose a career in quality and the ability to design, build, and execute code in the pursuit of quality.
- Agile did not eliminate QA roles but transformed them into more collaborative, technical and integrated positions.
- QA roles have expanded to be the gatekeepers and auditors of quality throughout the SDLC and especially for early influences of quality such as story construction, sprint planning, and adherence to ceremonies.
Impact of DevOps
Assumptions
- DevOps will eliminate the need for testing or testers
- DevOps will improve quality through a continuous deployment model
Actual Results
- Continuous Testing: DevOps (and later, DevSecOps) emphasizes continuous integration and delivery (CI/CD), which requires continuous testing throughout the development process and allowsr development teams to handle quality activities. However, this has increased the demand for automated testing and QA engineers who can build and maintain automated test suites, integrate into pipelines, and manage build quality.
- Collaboration and Communication: Like Agile, DevOps encourages a culture of collaboration between development, operations, and QA teams. QA professionals play a crucial role in ensuring that software is delivered quickly and with high quality.
- Infrastructure as Code (IaC): DevOps practices, such as Infrastructure as Code, require QA professionals to understand and test infrastructure configurations and deployments, expanding their role beyond traditional software testing.
Key Outcomes:
- DevOps expanded the scope of QA to include infrastructure and operational aspects
- Quality engineers increased their skills to include DevOps,release management, pipeline configuration, and scripting for infrastructure
- The dependency on test automation increased, requiring automation to be fully integrated into build pipelines, eliminating the reliance on human execution of automated tests
Impact of AI
Assumptions
- AI will eliminate the need for developers and QA professionals
- AI will drive an increase in software creation with higher quality
Actual Results
- “Testing” and “Comparing” AI-based systems: For companies considering the use of an AI, Generative AI, or similar technology, there are many competing platforms. Not all are fit for purpose. QA now plays a crucial role in helping an organization determine which AI is better for a given business purpose. Further, once an AI is selected and its training and integration commenced, ongoing QA is needed to validate that the AI is acting as intended.
- Enhanced Testing Capabilities: AI and machine learning can enhance QA by automating repetitive tasks, improving test coverage, and generating test data for testing of large complex systems. Tools powered by AI can analyze vast amounts of data, compare those outcomes to real time data streams, and make recommendations on areas of risk.
- Focus on Higher-order Tasks: AI solutions have the power to help QA practitioners evaluate the impact of large amounts of data, edge cases, and hypothetical solutions that may not have been possible through traditional automation and QA practices.
- New Tools and Techniques: Many companies are coming to market with “AI-based” tools for QA that may misdirect that value or focus on testing more, not smarter. These are early days of the evolution of AI technologies infused in software quality tools, and there are many options in the future.
Key Outcomes:
- AI will augment rather than replace QA roles by increasing the amount of coverage QA practices can support
- The rise of AI in QA requires professionals to acquire new skills in AI concepts and techniques in order to evaluate AI solutions or validate any one solution in particular
- Testing of non-deterministic systems will require additional skills in QA practitioners to build solutions to validate systems without expected results but still determine validity and value
Conclusion and QA Consultants Integration
Agile, DevOps, and AI have not ended QA careers. Instead, they transformed and elevated the role of QA professionals. These methodologies and technologies expanded the scope of QA, increased the demand for versatile and skilled QA engineers, and emphasized the importance of continuous and comprehensive testing. QA professionals who adapt to these changes and continuously update their skills will remain vital to the software development lifecycle.
QA Consultants has and will continue to integrate cutting-edge technologies like DevOps, Agile, and AI into the company’s services, significantly enhancing operational efficiency and service quality. By leveraging DevOps, QA Consultants streamlines and automates software development and testing processes, ensuring faster and more reliable delivery. Agile methodologies enable QA Consultants to be more flexible and responsive to client needs, fostering a collaborative and adaptive project management approach. Additionally, the incorporation of AI allows for advanced data analysis, predictive insights, and an increase in combinatorial analysis against hypothetical outcomes and coverage of applications under test. This commitment to staying current with technological advancements ensures QA Consultants remains at the forefront of the industry, consistently providing innovative and high-quality solutions to clients.
For more in-depth information, refer to the following sources:
- Atlassian’s Guide on Agile Testing
- DevOps.com’s Insights on DevOps and QA
- TechBeacon’s Coverage on AI in QA