Stress Testing mender standalone setup

Hello,

I have set-up mender 2.0.0 on my local server. I am interested more on testing it.

I saw a couple of projects in github





Is it possible to give some information on how these have to be run?
from test environment set-up to executing them.

Thank you!
Pei

I think for the most part these are used by our test frameworks and may only be of limited utility to others. That said, the README.md file that is in each one is the place to start. I have not personally worked with them so cannot offer much; @lluiscampos may have more to offer here.

Drew

@drewmoseley Thank you for the reply.

README files do not have much information in those, may be, not added as not intended for others. I am looking at doing stress test and unit tests. I will be happy to know more information about testing procecdure.

@lluiscampos please do help me understand steps to setup the test environment and procedure to test.

Thanks in advance.
Pei.

@pei.cei, I don’t have much knowledge of the testing infrastructure I’m afraid, and Lluis is gone for a few weeks now, but I think a good place to look would be: https://github.com/mendersoftware/integration which brings it all together

You can also look at this script which is what drives our test runner.

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.

1 Like

@lluiscampos Thank you for the useful pointers, I will try to run.