3 min read

Testers with AI-powered tools will replace those who do not use them

Software Testing Manager in EPAM, Nataliya Bogushevskaya, talks about how AI can make things easier for testers and recommends a list of resources to help you learn about it.

— It is no secret that Artificial Intelligence (AI) has rapidly emerged as a key player in the world of information technology. Over 100 tools already exist, using various Language Model (Large Language Model — LLM) algorithms, enticing users and potential users with promises to simplify routine tasks.

Everyone is curious: what specific tasks can AI perform? How will it impact the speed and quality of software development? Concerns have also arisen, however, that: AI will replace testers, developers will be able to conduct testing themselves, and so on.

Based on my own experience, I can confirm that testers with AI-powered tools will replace testers who do not use AI. This statement holds true for both manual testers and automation testers.

ChatGPT will not replace a human: an expert opinion on IT hype

ChatGPT

— For a manual tester, ChatGPT can assist with the following:

  1. Requirements Analysis: ChatGPT can help analyze requirements and generate checklists for possible checks.
  2. Test Case Writing: ChatGPT can assist with writing test cases in a specific format, whether it's a textual format or Gherkin. Additionally, it can help create test cases in formats like JSON/XML that can be directly uploaded into a test management system.
  3. Test Data Generation: ChatGPT can generate test data in various formats, such as tabular data, SQL queries, JSON/XML structures, etc.
  4. Test Documentation Creation: ChatGPT can help create test documentation, including test plans, test strategies, and test reports.
  5. Diagram Creation: ChatGPT can assist in creating diagrams like mind maps, state transition diagrams, sequence diagrams, and other visual representations.

At the same time, the culture of Prompts is becoming very important. For an AI tool to generate a useful response, you need to correctly ask it by:

  • specifying keywords; and
  • providing sufficient but not excessive context because AI sometimes likes to hallucinate (generate false information).

A brief example will demonstrate the importance of effective prompts. If you ask ChatGPT to prepare a Page Object for a page https://en.wikipedia.org/wiki/Main_Page (no clarification), in response you will receive the following text: «As an AI language model, I aim to provide helpful and accurate information to the best of my abilities based on the training data I have received». If you compose the prompt correctly, however, you will immediately receive the following result:

Prompt: Create a Page Object in Java for https://en.wikipedia.org/wiki/Main_Page

Answer: Sure!

Create a Page Object in Java

Just a little clarification to add "in Java " completely changed the ChatGPT answer.

Here are some more examples of good prompts:

  • Use tabular form with the columns #. Checklist Item, Pass/Fail.
  • Use positive (negative) testing.
  • Include localization (i18n, performance, accessibility...) testing types.
  • I want you to act as a Software Testing Engineer.

    GitHub Copilot

    — For an automation engineer, it is more productive to utilize both of the following tools simultaneously:

    1. ChatGPT: For generating ideas, code snippets, and locators.
    2. GitHub Copilot: As a "coding assistant."

    What is Copilot?

    • GitHub Copilot is an artificial intelligence-based tool that generates real-time code suggestions.
    • GitHub Copilot is built on OpenAI's Codex, a modified production version of GPT-3.
    • Copilot OpenAI Codex has been trained on billions of lines of code from publicly available GitHub repositories and other public sources.
    • GitHub Copilot is available as an extension for Visual Studio Code, JetBrains, and other IDEs.

    Here are some interesting statistics on the use of GitHub Copilot.

    Recently, my colleagues and I conducted an experiment to test whether using AI could accelerate the learning time for automation engineers when adopting a new technology stack. There are standard programs for such switchovers (e.g., from Java to .NET) that typically take 4-6 months. With the help of AI, we achieved the best result in just 2 weeks. The individual successfully passed an internal interview with four team leads and a client interview.

    AI tools are reshaping the requirements for testers. Tasks that used to take several days can now be accomplished in a few hours thanks to various AI-powered tools. Writing automation scripts in Gherkin notation, analyzing code compliance (including white-box testing), and conducting thorough requirements analysis have become standard expectations for functional testers. If you are proficient in different AI tools, you will undoubtedly find assistants for these tasks.

    Sources of information

    You can learn more about what artificial intelligence is and how to apply it in testing from the following materials:

    1. Articles in English:

    1. Large Language Models Use Cases and Applications
    2. The Ultimate 100 AI Tools
    3. Top Large Language Models
    Discover your English level

    2. LinkedIn Learning courses:

    1. Introducing AI to Your Organization
    2. How to Research and Write Using Generative AI Tools
    Get a LinkedIn Learning license in 4 steps

    3. Video reviews of AI tools:

    1. Top 10 AI Tools Like ChatGPT You Must Try in 2023
    2. Top 5 AI Tools That Are Better Than ChatGPT, But Nobody is Using Them | Coding & Productivity Tools
    3. Workshop: ChatGPT in Testing
    4. AI in Testing

    Curious about what else is useful for AI? Find out in the "AI" section of our Blog.