Description
As a software defined storage vendor, we put a lot of effort into automated testing for our ActiveScale product. Over the years many tests have been added to our test suites causing longer turn-around times for verifying changes to the code base. Some building blocks for writing tests also haven’t evolved sufficiently, sometimes making tests more verbose than they should be. Finally, resilience tests are typically harder to cover in regular testing and as such our testsuites in this area can be improved.
In this internship you would work to improve test performance, build improved tools for writing new tests and look into frameworks for resilience testing. Your main tasks will be to:
• Evaluate the test currently used framework and compare against others.
• Migrate to a new framework or modify the current one to add parallelism and provide better test turn-around time with an eye towards minimizing the changes needed to the current tests.
• Investigate available tools for resilience testing (e.g. Gremlin, Chaos Monkey, …) and build a proof of concept.
• Improve how we bring up the component under test, in the meantime offering a more modular and intuitive API for interacting with the component under test during and after setup.
• Make it easier to investigate failures by improving the quality of test artifacts/logs through automatic code annotations and by allowing more fine-grained structuring of tests.
Technology
• Python
• Nose
• Jenkins
• Docker
• gitlab
• Linux
• Resilience Testing Tools (Gremlin, Chaos Monkey, …)