Yavaren™ user guideVersion 1.0.0Printable guide · PDF

Reviews and quality

Quality Intelligence — test automation from your source code

Generate a complete, runnable test automation project from your application's repository, even with no tests today; run it against your test environment, read why tests fail, and get locator repairs as draft pull requests.

Quality Intelligence (Quality › Quality Intelligence) is switched on per organisation. It needs a project whose repository holds the application, and one of your runners (7.5 or later; one with a browser for web tests).

Before you start

The twelve steps

  1. Choose the repository. Generate test automation from my application, then the project and repository.
  2. Analyse. Read-only: nothing in your repository changes. It takes a minute or two on your runner.
  3. Review what was found. Pages, forms, API endpoints, tables and screens, each with the file and line it comes from. Found in the source is not the same as seen running: a run confirms it.
  4. Choose what to automate. Web, API, database, mobile — each layer can be left out.
  5. Review the framework. If you already have tests, Yavaren extends that framework. Otherwise it recommends one for your team's language (for example Playwright in TypeScript) and says why, what it needs and roughly what a run costs. You can choose another.
  6. Configure the environment (the Environment tab): address, whether tests may create data.
  7. Approve the strategy. Only a person can, for the analysis they reviewed. Nothing is generated before.
  8. Generate the framework. A complete project under automation/: configuration, fixtures, page objects, test data helpers, a CI job and a README.
  9. Generate the tests. In the same step: one test per designed case, each citing its evidence.
  10. Run. Yavaren installs, checks and runs the project before proposing it.
  11. Review results and coverage. A test counts only when it ran and passed.
  12. Draft pull request (or a zip to download). Review and merge it like any pull request.

Reading the tests

Every test starts with a comment: what it checks and where that comes from, for example # evidence: app/templates/login.html:10. A test never asserts something your code does not show. When Yavaren cannot tell — what a person should see after signing in, which roles may delete — the test is pending: it skips and says why, and the question is listed in the README.

When tests fail

The Runs tab says why each failed test failed, with how sure Yavaren is:

Running the generated project yourself

automation/run.sh all        # or ui | api | database | mobile

with BASE_URL (and API_BASE_URL), QA_USERNAME / QA_PASSWORD for a test account, QA_ALLOW_WRITES=1 where tests may create data, DATABASE_URL + QA_DATABASE_DISPOSABLE=1 for the database suite, QA_DEVICE=true where an emulator runs. The CI job stays off until you set the repository variable QA_AUTOMATION_ENABLED to true and QA_BASE_URL to your test environment.

What it does not do

It does not run tests against production, make real payments, send messages to real people, merge anything, change your application's code, or claim a mobile test ran without an emulator or simulator. Mobile flows are generated and checked; running them needs a runner with an emulator or simulator, which your administrator declares on that runner.