Testing server code can be daunting. In the worse-case you either end up with too little test coverage (and every second change will result in an outage) or you have over-engineered your tests and your testing (and every one-hour change requires you to spend another ten hours fixing broken tests). This training aims to provide you with an overview of different testing approaches, frameworks and tools. And also a lot of guidance on what to use when and where and how to get it right. The training will be delivered in four lectures/modules. Every module will have 30-45 mins of slides followed by 45-60 mins of practical exercises. There will also be guided discussions to use/share the experience of the people in the room. The training is based on the book Testing Elixir by Jeffrey Matthias and Andrea Leopardi.
The 4 sections will be:
- Unit-testing - The base line
- Integration-testing - Make systems work
- Ecto and Phoenix - The two pillars
- Property-based testing - The life safer
Training objectives:
The attendees will walk away from this training with a clear understand what testing options/approaches are available to them and which one to pick/use in a given situation. The attendees will have also learned valuable lessons-learned from the instructors experience when/while testing a large-scale SaaS platform (at Community.com). Furthermore the attendees will walk away from the training with a lot of working blue-print code that shows how to use the frameworks and tools.
Training prerequisites:
The training will be hands-on. You need to be a seasoned elixir engineer (at least 1 year of experience) and already some familiarity with the basics of ExUnit. You need to bring your own laptop (details on what needs to be installed will be provided). Reading the book before the training will help, but is not a requirement.