Skip to content
On this page

Best Practices for Writing Effective Test Scenarios

This section covers the best practices on how to use BVT. Especially, the guidelines on how to best create test scenarios that BVT can process easily and accurately.


  1. Create clear feature files: The AI engine is not familiar with your application. Think of it as a fresh recruit. Ensure that your steps are clear enough that if handed to a new employee, they could carry them out without any confusion.
  2. Enahnce accessibility of the website/application under test: Enhancing accessibility of your website/application under test will optimize the engine's performance.
  3. UX matters: It might seem apparent, but the AI engine will perform optimally on well-designed apps with a good user experience.
  4. Consistency is Key: When providing instructions, maintain consistency with the terminology of your application. For instance, if an entity in your app is labeled "users", avoid referencing them as "customers" or "subscribers".


The cucumber tests managed by our AI agent come with specific constraints:

* For Given/When commands, actions such as click/fill are permissible.
* For Then commands, only verification commands should be used.

Enhance the Engine's Understanding: Two Additional Techniques

Utilize Comments

You can place comments above the scenario step or at the beginning of the scenario itself.

In the example below we are guiding the AI engine to create a private repository.


A comment placed above the scenario applies to all subsequent steps.

Feature: Github

    Scenario Outline: Create a new repository
        # Ensure the repository is private
        Given I create a new repository named "<repo>" with description "<description>" and a README file
            | repo                 | description       |
            | {{string.alpha(10)}} | Sample description|

Leverage Memory

As you utilize the engine, it generates a .memory.json file in your project's root directory. This file provides insights about the application under test and can boost the engine's performance over time by providing context across different application pages.

Consider enhancing the .memory.json by adding an overview attribute to convey general information about your entire application.