Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

During the development process, 4 2 type of tests are executed.

  1. Unit testsĀ 

  2. End-to-end testsĀ 

  3. Smoke tests

  4. Physical tests

Unit tests

Before any feature or bug fix is merged with the upcoming deployment branch, automated unit tests are executed. These test validate the workings of the feature, and compatibility with all network server components it interacts with.

End-to-end tests

In addition to Unit tests, Before any feature or bug fix is merged with the upcoming deployment branch, automated end-to-end tests are executed to mimic user behaviortest compatibility and regression. End-to-end tests are designed to run through specific user scenarios the feature has been designed for. Tools are used to automate various interactions (e.g. clicking buttons, typing in forms, navigating via links, etc). After every change to The Things Stack, tests are run to validate the successful execution of the new feature or bug fix.

Smoke tests

The Things Industries distinguishes regular end-to-end tests from smoke tests. While regular end-to-end tests are scoped to a specific view or component and tests those in depth, smoke tests are testing mimic user behavior and to simulate different LoRaWAN scenarios. User behavior scenarios contain complete user stories that are critical to the overall integrity of the application and usually comprise multiple components and views (e.g. login flow, user registration or creation of applications). More information on the test processcreating applications, registering gateways, changing device settings etc. The LoRaWAN end-to-end test validate compatibility and test regressions by simulating scenarios such as sending uplinks and downlinks and process join requests.

Physical tests

When the previous end-to-end tests are completed, the new feature can be merged to the upcoming deployment branch. The release cycle starts with deploying The Things Stack, including its newly merged features to the staging environment. Only when staging environment passes all physical tests, a release is planned for the production environment.

...