As part of our series looking at how organisations can get ready for AI, we hosted a meet-up to demo the role of chatbots and ChatGPT in the testing area. Bhavani Prasad Bandla, Quality Assurance Engineering Lead in our DevOps and QA team, shares some insights following the event.
Organisations are under pressure to test at pace against a backdrop of complex applications and the need for faster release cycles. This is where AI can be a game-changer, offering a transformative solution to enhance testing efficiency, accuracy, and agility. With its ability to emulate human-like intelligence and learn from vast amounts of data, AI is reshaping the landscape of software testing, empowering testing teams to streamline processes, uncover hidden defects and improve overall software quality.
The integration of AI in testing is revolutionising the way organisations approach software quality assurance. By embracing the power of AI, testing teams can overcome challenges, achieve faster time-to-market, and deliver exceptional user experiences.
Here are some of the ways AI can be deployed in a testing environment:
Test Automation: machine learning and natural language processing can automate various testing tasks, for example by analysing requirements, generating and executing test cases, detecting anomalies and defects. This significantly reduces manual effort and accelerates the testing process.
Test Optimisation: this can include leveraging data analysis, intelligent prioritisation and resource allocation to improve efficiency, effectiveness and coverage.
Test Data Management: through automating test data generation, anonymising sensitive information, selecting relevant subsets, augmenting existing data, validating data quality, and facilitating data-driven testing you can improve the efficiency, effectiveness and reliability of testing processes while ensuring the privacy and security of sensitive data.
Test Coverage Analysis: AI-driven approaches in this area assist in achieving comprehensive coverage, identifying untested code paths and optimising testing efforts to uncover potential defects more effectively.
Predictive Analysis: it empowers organisations to make data-driven decisions, anticipate future trends, optimise processes and mitigate risks by analysing data, recognising patterns, building models and forecasting future events or behaviours.
ChatGPT and chatbots
AI and machine learning have been a part of our journey at Transform for quite some time and because we’re curious about the impact of new technologies we’re taking the time to better understand the role ChatGPT and chatbots could play in our operations.
It’s early days and we’re really only in proof-of-concept stage but here are some of the areas we’ve looked at to date:
Test execution in lower environments (Test/SIT - regression and smoke tests) – The first thing we trialled.
Test results – Using chatbots to see/view the latest regression or smoke test results and then can configuring them to send test results through an email.
Data generation – If there’s any dependency for test data in two scrum teams we can move from sequential to consecutive test runs. By using a chatbot, Team B can create test data for their own test runs instead of waiting for Team A to create it by running some data generation tests.
Build deployments in lower environments – (Development, Test and SIT) – Using chatbots to pull requests or code changes.
Knowledge Base – Like induction and training documents.
Intranet applications/URLs to access – Such as HR portals, timesheet application, Jira/Azure DevOps, Confluence, Jira/Azure DevOps Metrics, Release calendar, Team Holidays calendar etc.
IT support ticket - To create IT support tickets without logging into the IT support portal manually.
Generate manual test cases - Including actual and expected results for various happy paths, negative and edge scenarios etc for web and API applications.
Create automated tests for different user scenarios for the web and API applications - Asking ChatGPT to write sample automated tests for a specific web application using a pre-determined username and password.
Using Chat GPT to generate test data to cover various manual testing techniques for differing user scenarios in an application.
Detect potential areas for identification of bugs in web applications - ChatGPT highlights various functional areas of the application to allow testers to focus or spend more time on those areas to test thoroughly.
Analyse test results and suggest improvements – Reviewing test results and providing insights into the quality of the software being tested. ChatGPT can identify patterns and trends in the data, help prioritise issues and suggest improvements to the testing process.
Alongside all of these areas we’ve also started integrating OpenAI API to see how we can automate the generation of Cypress tests by proving different scenarios.
If you’d like to know more about the foundations needed to adopt AI more broadly across your organisation, we’re hosting a leadership breakfast in London on July 5th. You can read more about it here.