How to do that? Creating testcases with AI

Imagine following feature:

Title: Save Button Feature

Description: The Save button is a feature that allows users to save their current progress or changes made within an application or document. It is an essential functionality that ensures data integrity and user convenience by providing a simple and efficient way to preserve work.

User Story: As a user, I want to be able to save my work easily so that I don’t lose any progress or changes I’ve made.

Acceptance Criteria:

  1. Visibility and Accessibility:

    • The Save button should be clearly visible and easily accessible at all times during the application’s usage.
    • It should be located in a consistent position that is common across similar applications (e.g., top left corner of the screen or within a ‘File’ dropdown menu).

  2. Functionality:

    • Clicking the Save button should immediately save the current state of the user’s work.
    • The feature should work correctly across all supported devices and platforms.
    • The button should be disabled when there are no new changes to save.

  3. Feedback and Confirmation:

    • Upon successful saving, the user should receive a clear visual and/or textual confirmation (e.g., a brief message or icon change).
    • In case of an error during the saving process, the user should receive an error message detailing the problem and suggesting possible actions.

  4. Performance:

    • The saving process should be completed within a reasonable time frame, without causing significant delays.
    • The application should remain responsive during the saving process.

  5. Data Integrity:

    • All changes made by the user should be accurately saved without any data loss.
    • The saved state should reflect exactly what the user intended to save.

  6. Unsaved Changes Prompt:

    • If the user attempts to close the application or navigate away with unsaved changes, a prompt should appear, asking the user to save changes, discard them, or cancel the action.

As a tester, your journey with a new feature traditionally begins as soon as it’s included in your sprint or when development commences. However, imagine a scenario where crafting the foundational test cases is as straightforward as a single click. Thanks to AI advancements, this is now a tangible reality. Simply by integrating the feature details into ChatGPT, you can effortlessly generate initial test cases. It’s as easy as opening ChatGPT, pasting the feature story, and witnessing AI’s capability unfold.

Now, you might wonder if such automation endangers your role. On the contrary, this is where the real magic lies. With AI handling the groundwork of test case creation, you’re free to dedicate your expertise to areas where human insight is invaluable. This includes executing tests, exploring edge cases, enhancing accessibility, and focusing on nuanced quality assurance aspects that far exceed a computer’s scope. Embracing AI in this manner doesn’t replace your role; it elevates it, allowing you to delve deeper into the complexities and subtleties of software testing.

I use following command:

Behave as a software tester, create testcases (give only titles) based on following feature: …. (with the feature added)

When we run this you get following result:

  1. TC01: Save Button Visibility and Accessibility Test

    • Verify that the Save button is clearly visible and easily accessible during application usage.

  2. TC02: Save Button Consistent Location Test

    • Check if the Save button is located in a consistent position across different screens of the application.

  3. TC03: Save Button Functionality Test

    • Validate that clicking the Save button immediately saves the current state of the user’s work.

  4. TC04: Cross-Device Functionality Test

    • Test the Save button’s functionality across all supported devices and platforms.

  5. TC05: Save Button Disabled State Test

    • Ensure the Save button is disabled when there are no new changes to save.

  6. TC06: Successful Save Confirmation Test

    • Confirm that a clear visual and/or textual confirmation is provided upon successful saving.

  7. TC07: Save Error Message Test

    • Verify the display of an error message detailing the problem in case of a saving error.

  8. TC08: Saving Process Performance Test

    • Assess the performance and time efficiency of the saving process.

  9. TC09: Application Responsiveness During Save Test

    • Check if the application remains responsive during the saving process.

  10. TC10: Data Integrity After Save Test

  • Verify that all user changes are accurately saved without any data loss.

  1. TC11: Saved State Accuracy Test

  • Ensure that the saved state reflects exactly what the user intended to save.

  1. TC12: Unsaved Changes Prompt Test

  • Validate the prompt appearance when the user tries to close or navigate away with unsaved changes.

  1. TC13: Unsaved Changes Prompt Options Test

  • Test the functionality of the options provided in the unsaved changes prompt (Save, Discard, Cancel).

  1. TC14: Save Button Accessibility Test

  • Assess the Save button’s accessibility features for compliance with standards (e.g., keyboard navigation, screen reader compatibility).

  1. TC15: Multiple Saves and Overwrite Test

  • Check the behavior of the Save button when used multiple times and verify if it correctly overwrites the previous saves.

Getting started with AI-assisted testing is surprisingly straightforward. Of course, it’s crucial to review the generated test cases to ensure their accuracy and relevance. When you provide more detailed information, such as a basic path to the Save button, the AI can yield even more refined results, complete with test steps. The key takeaway here is that AI can significantly streamline your workflow by automating the tedious task of typing out test cases. This allows you to focus on what truly matters in software testing: uncovering and resolving bugs.

© 2023 TQuality, Duffel, Belgium