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 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 EdgeX and open a PRPRs, 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, Service use.
The service will build images on dockerhub and snap to nexus3.edgexfoundry.org to validate its usage.
- Go modules(Github)
- Unit test
- Service(Github????)
- Unit test
- Image build validation: snap image/ docker image
- edgex-compose(move to smoke-test section ????)
- smoke test by TAF
Functional-test
- Purpose: Test each feature of Edgex EdgeX by providing the appropriate input and validating the output against the requirements.
- Frequency: Daily scheduled run on edgex-taf-pipeline
Info | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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 EdgexEdgeX
- Frequency: Weekly scheduled run on edgex-taf-pipelines
- Note: When a new version of Edgex EdgeX is released, we will run performance - tests manually on real hardware and x86_64 and arm64 machine to update the reports for each release in in here.
Info | ||
---|---|---|
| ||
Smoke-test
Purpose: Smoke tests are tests selected by developers. They will select the tests that validate the most important features of EdgeX and run the smoke tests to check if it's good to go.
Frequency: Only when edgex-compose PR is opened will smoke-test start running.
Info | ||
---|---|---|
| ||
First, where is smoke-test? In this example, only does ProfileGET001 - Query all device profiles have SmokeTest tag so smoke-test will run on this testcase only. |
...