Outsystem BDD integration & Unit testing
  • 25 Sep 2023
  • 1 Minute to read
  • Dark
    Light

Outsystem BDD integration & Unit testing

  • Dark
    Light

Article Summary

OutSystems provides two different types of Testing frameworks which are mandatorily integrated with the Agile.Now Factory application.

  1. Integration and unit tests for the server side:  These tests are created using the OutSystems BDD testing framework (ver 1.4.0). You can download the software from OutSystems Forge from here for use. 
  2. Integration and unit tests for client side: These tests are created using OutSystems BDD Framework for Client Side (Reactive and Mobile applications) and more information about this could be found here

Integration and unit testing ensures the quality of the code developed through OutSystems. One of the advantages of Agile.Now Factory testing integration is the intelligent synchronization of BDD tests from one environment to another. The BDD tests are also synced for those issues that has been completed and deployed from one environment (for eg: Development) to another (for eg: Testing). 

This happens if the "Deploy testing module" functionality is enabled within Settings>Environment>Environment Behaviors 

The functionality is better explained with the help of the following scenario:

  • Project Name: SuperHero
  • Applications: Superhero-Mobile and Superhero-Backend
    • Superhero-Mobile- Status (In Progress)
      • There are 5 new unit tests (Sync automatically skips pages named; InternalError, Login, InvalidPermissions, NoPermission, MyInfo, NoTest%)
      • There is one Feature which the developers are working on -  Authentication Page - Status (In Progress)
    • Superhero-Backend- Status (Done)
      • There are 1 new unit test
      • Feature: Reports transition - Status (Done)
      • Feature: Add a new page - Status (Done)
  • When we run Agile.Now Factory, it would deploy Superhero-Backend app from dev to testingand the following things are envisaged to happen:
    • Superhero-Mobile test - the old version remains unchanged. (New unit tests are not integrated in testing environment)
    • Superhero-Backend test - environment is updated with the latest changes from the dev environment.

This process is automated and no manual intervention is required to move the unit tests from one environment to another. The unit tests of the remaining issues are not synchronized unless the status of the issues are set as "Done". Naturally, only those tests are performed in the target environment that exist. This prevents unnecessary test cases from being presented.

Setting up BDD Framework Software

Create new application with tests using BDD Framework.

  • Create the teams in the Lifetime User Management and add the application with BDD tests which has been created in the previous step.
  • Synchronize the environment (Projects → Sync environment). After this step the corresponding records in the database should be created/updated in Agile.Now Factory.

Agile.Now Factory use external application such as the Ghost Inspector or Tosca to do end to end testing and UI testing.


Was this article helpful?