Hello @pei.cei and sorry for my late reply.
In Mender we have a great deal of test infrastructure to assure high quality in our product. As we use a micro-service architecture, the details on how to do the tests are a bit complex.
To quickly point on your questions:
- Unit tests. These are on each of the components repository. For instance for the Mender client unit tests you can just clone
mender repo and run
go test. Similarly to every other backend component or tool
- Stress tests. These are tests to study the performance of your server infrastructure. You only need to build
mender-stress-test-client (you can natively do it with
go build or inside a Docker image with
docker build -t tester .) and then just run as many clients as you want pointing to your server. Use
mender-stress-client -h to learn about required and additional options.
And as others have pointed out, apart from these you can also look into
integration repository, which contains all automated tests that we run in our pipelines to validate PRs, and
mender-qa repository, which contains the scripts we use to trigger such pipelines.
I hope this is useful.