Unit, System and Property Based Testing Tutorial
- Target audience Elixir and Erlang developers who want to write better code
- Duration 1 day
Basic understanding of Erlang and Elixir program structures, OTP applications and releases.
Attendees should be able to write basic Erlang or Elixir programs.
This course introduces best practices around testing, looking at unit and system tests, introducing mocking frameworks and property based testing.
- Have an understanding of different testing approaches and techniques, and when to use them
- Know how to use the most commonly used frameworks and tools
- Understand the principles behind property based testing
- Introduction – An introduction to different testing techniques. Unit Testing, System Testing, Continuous Integration, Capacity Planning and other testing Techniques
- Unit Testing – Introduces Unit testing, code coverage tools, focusing on eunit.
- Mocking Frameworks – We explain why they are needed, and introduce meck.
- Property-Based Testing – Introduction to PropEr, and property-based testing in general.
- Common Test – An introduction to how the system testing and verification with Common Test works.
- Load – Looks at load testing, back pressure and load regulation. How should systems be load tested, what should you be looking out for, and what do you need to do to stop them from breaking.
Stavros AronisSoftware Developer at Erlang Solutions
Stavros' experience with Erlang started at the deep end of the pool, when he picked Dialyzer, the famously "never wrong" tool, and made it even smarter, as a master thesis project under the supervision of Kostis Sagonas. He then made Dialyzer faster and parallel, an improvement which has been included in the Erlang/OTP distribution since 2012. Later he got his PhD by re-engineering Concuerror, another tool for Erlang developers, focused on finding concurrency errors in programs and protocols.
Stavros loves testing and making tools and is now trying to bring all his favorite techniques into industry as an Erlang Solutions consultant and trainer.