So ChatGPT beats out human test writers at least on speed. (Its responses aren’t instant but I couldn’t even type that fast, let alone think and type.)
There are many different techniques and approaches that can be used to generate test cases. Some common techniques include:
-
Boundary value analysis: This involves testing the input values that are at the minimum or maximum limits of the input domain.
-
Equivalence partitioning: This involves dividing the input domain into “equivalence classes,” and testing a representative sample from each class.
-
Decision table testing: This involves testing combinations of input values and the corresponding actions or outputs.
-
State transition testing: This involves testing transitions between different states in a system.
-
Exploratory testing: This involves manually testing the system in an unscripted manner, with the goal of finding defects and gaining a better understanding of the system.
In general, the goal of test case design is to maximize the likelihood of finding defects, while minimizing the effort required to do so. This often involves a combination of different techniques, depending on the specific characteristics of the system being tested.
This wasn’t exactly the question I asked (has it been trained to answer the question it wants to answer instead?) but it certainly was a good answer about test case authoring techniques.
For many years I’ve been teaching ICAgile-certified testing and test automation courses. Each of these courses has a number of learning objectives and acceptance criteria for those objectives. Some of these can be thought of as questions that a student should be able to answer at the end of the course. So i figured I’d see how ChatGPT answered one of the objectives. After all if it was capable of passing a bar exam, a software testing certification couldn’t be that hard, could it?
Yes, that is correct. Many of the principles and techniques of agile testing were developed and practiced long before the Agile Manifesto was created.
Agile testing is an approach to testing that is aligned with the values and principles of the Agile Manifesto, which was published in 2001. However, many of the techniques and practices that are associated with agile testing, such as test-driven development (TDD) and behavior-driven development (BDD), have a longer history.
The Agile Manifesto emphasizes the importance of collaboration, continuous delivery, and the ability to respond to change. Agile testing is an approach to testing that supports these values by promoting close collaboration between testers and developers, and by focusing on continuous testing and delivery throughout the development process.
Overall, agile testing is an approach to testing that is well-suited to the fast-paced and iterative nature of agile software development. It emphasizes the importance of testing early and often, and of using a variety of testing techniques to ensure the quality and functionality of the software being developed.
Decent answer but I want more. So if this is “chat” then I should be able to carry on a conversation.
Agile testing is an approach to testing that is based on the values and principles of the Agile Manifesto, which was published in 2001. However, many of the techniques and practices that are associated with agile testing have a longer history and can be traced back to earlier work in the field of software development.
One example of this is test-driven development (TDD), which is a technique that is often used in agile testing. TDD involves writing tests for a piece of code before the code is actually developed. This helps ensure that the code meets the requirements and works as intended when it is completed. TDD was first proposed by Kent Beck in the late 1990s, and has since become a popular technique in agile testing.
Another example is behavior-driven development (BDD), which is an approach to software development that focuses on defining the behavior of a system from the perspective of the end user. BDD was first introduced by Dan North in the mid-2000s, and has since become an important part of many agile testing processes.
Overall, agile testing builds on the work of earlier testing approaches and techniques, and combines them with the values and principles of the Agile Manifesto to create an approach to testing that is well-suited to the fast-paced and iterative nature of agile software development.
Good answers or need more detail? As they say I’ll leave that as “an exercise to the reader.”

Leave a Reply
You must be logged in to post a comment.