Versions Compared

Key

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

EdgeX testing is focused on ensuring that the functional aspects of EdgeX work correctly. This level of testing includes a number of automated test suites for unit, integration, black-box, API testing and validation. Also, Edgex has been tested on TAF, which stands for Test Automation Framework. To monitor the stability and efficiency of Edgex, a Jenkins pipeline has been built to automatically trigger daily and weekly jobs. The testing processes are listed below. 

PR merge validation

When developers make changes to Edgex and open a PR, they have to go through unit test to check if it's fit to use before merging into main branch.

 After merging into the main branch, go modules and Service will build images on dockhub and snap. 

  • Go modules
    • Unit test
  • Service
    • Unit test 
    • Image build validation: snap image/ docker image
  • edgex-compose
    • smoke test by TAF

Functional-test

  • Purpose: Test each feature of Edgex by providing the appropriate input and validating the output against the requirements
  • Frequency: Daily scheduled run on edgex-taf-pipeline
Info
titleHow to run functional-test on local?

https://github.com/edgexfoundry/edgex-taf/blob/main/docs/run-tests-on-local.md


Integration-test

  • Purpose: Check data communication among different software modules
  • Frequency: Daily scheduled run on edgex-taf-pipelines
Info
titleHow to run integration-test on local?

https://github.com/edgexfoundry/edgex-taf/blob/main/docs/run-tests-on-local.md


Performance-test 

  • Purpose: Monitor memory usage/ startup time/ CPU usage/ response time/ event exported time of Edgex
  • Frequency: Weekly scheduled run on edgex-taf-pipelines
  • Note: When a new version of edgex is released, we will run performance tests on real hardware to test its efficiency and update the reports for each release here.
Info
titleHow to run performance-test on local?

https://github.com/edgexfoundry/edgex-taf/blob/main/docs/run-performance-metrics-collection-on-local.md


Smoke-test

  • Purpose: Validate Smoke-test is the test which picked by developers. They will choose the test which validates the most vital functions of EdgeX and run smoke-test to check if it's good to go.
  • Frequency: Only when edgex-compose PR is opened will smoke-test start running.
Info
titleWhere is somke-test?

Examplehttps://github.com/edgexfoundry/edgex-taf/blob/f7c5ac7bf88c2cca21e5cb485ee655b14a2023d7/TAF/testScenarios/functionalTest/V2-API/core-metadata/deviceprofile/GET-Positive.robot#L15