Quality control

Automated Testing

The following types of tests are currently running:

  • Device Source Builds - GreenSense device code is automatically built/compiled by Travis CI when the git repository changes. This ensures the code at least has no compile-time errors, but it doesn't conduct any tests because there is no hardware attached.
  • Device Hardware Tests - GreenSense device code is automatically uploaded to test device hardware by Jenkins when the git repository changes, then simulated real world tests are automatically conducted. If these tests pass in the dev branch then the code is automatically graduated (merged into) to the master branch.
  • Index Tests - The GreenSense index and included scripts are automatically tested by Travis CI when the git repository changes. If these tests pass then the code is automatically graduated (merged into) the master branch.
  • Sanity Tests - A Monitor and Irrigator device (running full time as live test systems) are being automatically tested every few minutes to ensure that they are both live and running the latest code from the master branch. These tests also ensure that the automatic updater and mqtt bridge are working.
  • Utility Tests - Utilities such as the automatic updater and MQTT bridge are automatically built by Travis CI when the git repository changes. If successful they're graduated to the master branch and also packaged and pushed as nuget packages. More testing could be added but the sanity tests currently check that these utilities are working.

Automated Test Results

The simplest way to see results of automated testing is to view the GreenSense Index readme file:

Click the test result badge in the readme to view more information and test logs.