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 checkin
PR merge validation
- 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
How to run functional-test on local?
Integration-test
- Purpose: Check data communication among different software modules
- Frequency: Daily scheduled run on edgex-taf-pipelines
How to run integration-test on local?
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
How to run performance-test on local?
Smoke-test
- Purpose: Validate the most vital functions of EdgeX
- Frequency: Only when edgex-compose PR is opened will smoke-test start running.