Skip to main content

Exploring ChatGPT with Software Testing

Today, I'm exploring how ChatGPT can be utilized in software testing.

What is ChatGPT? ChatGPT is an app built by OpenAI. You can ask questions, ask them to provide you documentation, or hold a conversation. It's been talked about how AI will soon replace the manual work that we can do and take over our jobs. Do I believe that's possible? Probably, but that will probably take several years.

I explored a bit how ChatGPT can be used for software testing and if it can really replace the majority of the manual tasks such as creating test plans and test cases. I think it did fairly well. I'm not sure yet if it can be trained when you provide it some detailed requirements so that it can provide you custom test cases based on your needs, but I don't recommend this since this means you'll feed confidential information about your company's products.

You can check below how I used ChatGPT. It was fun to see the answers it gave me. We had a bit of back and forth at the end when discussed a specific test case's attribute. Let me know what you think about how it does!

Create a test plan and strategy document



If you're a new tester or it will be your first time to create this and there's no existing template in your team, this is a good starting point. ChatGPT gave me the list of topics and what kind of information I should provide on each of them. You can combine this + other knowledge sources you find to create the document.


Create login test cases for https://twitter.com/


It covers positive and negative cases and even web responsiveness. I think this is a good basic coverage of a Login test. It's still the human tester's responsibility to review this and check what else is missing or if there's anything that needs an update.

Format these test cases so I can upload them to Jira


I actually expected it to return it in a table format so that I can copy-paste it in an Excel sheet and then upload it to Jira. This is a fail.

Prepare the test cases in a table that I can upload to Jira


With a few tweaks to the message, it was able to provide me the test case in a table format. Yay!

Prepare the test cases in a table that I can upload in Jira and add a column to identify if they're a positive or negative test


I'm actually impressed that they're able to identify the positive and negative tests.

Prepare the test cases in a table that I can upload in Jira and add the ff. columns:

1.  Identify if they're a positive or negative test
2. Identify their test classification
3. Identify their test type
4. Identify if they're a good regression testing candidate
5. Identify if they're a good candidate for test automation


To further check its capabilities in identifying the test case attributes, I added a few more requests and frankly, I'm quite satisfied.

However, we had a few back and forths when I asked about a specific test case where I'm not quite sure how it decided that it's not suitable as a regression test. This is TC05:


Why is TC05 not a good regression candidate?


it said that it's not a good candidate for a regression test because it might not be stable to test repeatedly.

Wouldn't you consider TC05 as a critical feature?


It said that the criticality of a feature does not determine whether a test case is a good candidate for regression testing.

Then how come you considered TC05 as a good automation candidate when it's not good for regression?


Then I asked why do they recommend it for automation when it's not a good regression test? Generally, the best test cases to automate are regression test cases. And then it corrected itself by saying that it's probably correct that it shouldn't be an automation candidate as well.

My current conclusion:

ChatGPT can be used in a way where it can help you get started on what to test or what information you have to provide. It only returns you generic solutions, which are not bad because there's like a set of universal test cases anyway for a common feature like `Login`. It saves you time because instead of putting your effort into remembering and writing these universal test cases, you can focus more on custom tests that are applicable to your company. It also helps start a conversation regarding how we identify the test cases we have.

Another takeaway is that its response also depends on how well you ask the question.

I recommend using ChatGPT especially if you're still exploring software testing. In terms of real-world application, At the end of the day, the final decision still falls on you and your team.

Popular posts from this blog

Reframing how I identify bug root causes

It's been more than a year now since I've set up our bug tracking in JIRA. In there, I've set up an Issue Root Cause custom field where it had the following options: Incorrect coding Unclear / Missing / Incorrect Requirements Unclear / Missing / Incorrect Design Insufficient / Duplicated / Incorrect Testing Deployment Issue Environment Third-party issue My thoughts when I listed these as options is so that it would be easy to identify which team is responsible for the cause why we had that bug. They're pretty straightforward -  Incorrect coding  is of course when the developers didn't follow the expectations,  Unclear / Missing / Incorrect Requirements is because there's a gap in the requirement, and so on. And also, it's because that was the way it's done in my previous company so that's also my initial knowledge source. Recently, I've been reading a few articles regarding Shift Left, reducing silos, and generally how quality is a team activit...

QA Tools: Custom Test Case Generator in Google Sheet using Google App Script

When testers have to document test cases, it's usually done in the traditional format of putting all your test cases and steps in one sheet. Once it accumulates, for me it can be overwhelming to look at. It looks something like this: As a solution, I decided to make a tool that will help me focus on only drafting my test scenarios and look at my test cases one at a time. I'd like to share this here with everyone else who's like me. Hopefully, it can make your testing journey even a little better. Test Case Generator Tool This tool is for QA or non-QAs who need to write test cases. What it can do: Write your test scenarios in one tab Focus on writing steps for each test case one sheet at a time Generate an import file Generate a test execution document Sample test execution document: Scroll to the bottom to see how it works. Sheet Purpose Test Scenarios This is where you set the details for this test set/the project/story/epic where you're creating the test cases u...

A Bug's Life! Defect Management Process in Software Testing

First things first, what does a "bug" mean in the software development process? A bug is what we call a behavior that is different from what's expected based on the provided requirements. A tester's main purpose is to find and report bugs in the system as early as possible. In some companies, it's sometimes called a "defect". They actually mean slightly different if we go by the book. In this post, I'll be covering the lifecycle of a software bug which are issues that are found during the development phase. You're testing the system and you found a bug. What is the first thing you do? a) You immediately write a bug report b) You try to reproduce it c) You complain "How could this very obvious bug reach QA? Dev should've spotted this earlier ugh." The formal answer is B (I'll just let you figure out what's the informal answer), It's common for a QA to be gaslighted. "I cannot reproduce this bug.", "It doesn...