Greetings, dear readers! This exploration focuses on how the integration of AI language models like ChatGPT into Quality Assurance (QA) operations can serve as a transformational tool.
It is important to bear in mind that while ChatGPT is an emerging tool offering numerous benefits, it should primarily be viewed as a supportive resource and not a complete solution for anything. Given the inherent complexities and intricate nuances that make up QA tasks, human expertise and judgment are indispensable. ChatGPT can indeed expedite processes and save you time by automating some tasks, but it cannot completely supersede your role in QA.
No matter where you’re looking, just about everything can be divided into three main stages: preparation, execution, and results analysis. Applying those stages to QA, let’s undertake an in-depth exploration of each and see how ChatGPT can provide assistance and enhancement your QA workflow.
At the beginning of every project cycle is preparation. This stage often starts with familiarizing yourself with the project, understanding its core concepts, objectives, and the specific functionalities to be developed–usually encapsulated as user stories.
For the purposes of this discussion, let’s envisage a scenario where we’re operating within a Scrum framework, in which testing is an ongoing process throughout the sprint. Consequently, by the sprint’s end, the functionality developed has been thoroughly vetted and is ready for deployment to production.
ChatGPT can be an important asset during this initial stage. By posing specific domain questions to the AI model, you can significantly deepen your understanding of the business domain and the underlying ethos of the project. Below are a few examples.
At the outset of the planning stage, the team’s objectives are usually well-defined. QA activities are aligned with the overarching team plan, and this typically involves testing all the stories incorporated in the sprint. ChatGPT can be a valuable asset during this phase, helping to strategize the testing approach. You can feed the AI with summaries of user stories, and ask it to generate a prioritized testing roadmap for you.
The underlying principle that that ‘context is key’ is integral to the testing process (and arguably, life itself). Given the broad spectrum of possible projects, each with its unique team dynamics and setups, specifics need to be custom-tailored for each project. During this requirement analysis stage, ChatGPT’s capabilities can be harnessed by providing it with user story descriptions and asking it to pinpoint any logical discrepancies or overlooked aspects in those descriptions.
When certain elements appear ambiguous or are susceptible to multiple interpretations, it becomes essential to formulate clear, precise questions and propose potential solutions. Utilizing ChatGPT, you can draft preliminary queries and tentative solutions, and then ask the AI to expand upon them. The resulting comprehensive questions and proposed solutions can then be logged into Jira, serving as comments for the Product Owner (PO) or Project Manager (PM) to review and take appropriate action.
This phase involves formulating tests, which are subsequently cataloged into the test management system.
At this juncture, ChatGPT can assist in generating basic tests. However, bear in mind that the AI model typically constructs tests based on the described functionality, not the edge cases. Consequently, human intuition and experience are instrumental in creating complex and comprehensive tests.
If you’re using an automation tool like Postman or a similar framework to generate tests, but lack extensive experience with it, ChatGPT can provide crucial assistance. You can supply it with JSONs, XMLs, or even errors encountered during the test creation process. The AI model can then guide you through debugging and help rectify issues, facilitating the completion of the test creation.
Despite the capabilities of ChatGPT, manual tests must still be executed by human QA professionals, as this is currently outside the AI’s purview. For this reason, large language models aren’t currently as helpful during this stage of testing.
Upon the completion of the execution phase, it’s crucial to engage in a comprehensive retrospective analysis. Reviewing the completed processes allows for the identification of what worked well and what areas need improvement for future iterations. ChatGPT might be able to help with this process in several ways. Below are a few ideas:
While documenting the results and issues you’ve found, you can use ChatGPT to help articulate the problem clearly, ensuring that the information is well-documented for future reference.
Communication with Team
ChatGPT can help you craft clear and concise explanations of the issues you’ve found. This can be particularly useful when communicating with developers, managers, or other team members who might need to understand the results.
If you’re unsure about the next steps to take based on the results, you can discuss your options with ChatGPT. It might help you weigh pros and cons and make informed decisions.
While we expect AI and machine learning to play an increasingly significant role in QA, a human’s intuition, professional experience, and decision-making abilities will continue to be vital in maintaining high QA standards. We are on a journey towards a future where technology and human expertise work in a harmonious symbiosis, creating a future where AI assists us in achieving our goals rather than replacing us.
One Important Caveat
One important caveat that needs to be considered is related to non-disclosure agreements (NDA) and data privacy. Before you send any data from user stories to ChatGPT, ensure that you have the necessary permissions from your project stakeholders. It is essential to protect confidential information and ensure that you adhere to the terms of your project’s NDA.
As QA professionals, while we should embrace and harness the capabilities of technologies like ChatGPT, we should also remember to apply our unique human skills and expertise to the process. By doing so, we can create a harmonious balance between technology and human expertise, ensuring we deliver the highest possible quality in all our projects.