Improve your tests with Makina | Luis Eduardo Bueso De Barrio | Code BEAM Europe 2022
This video was recorded at Code BEAM Europe 2022 - https://codesync.global/conferences/code-beam-sto-2022/ Improve your tests with Makina | Luis Eduardo Bueso De Barrio - PhD candidate at Universidad Politécnica de Madrid ABSTRACT Writing good tests for complex software can be quite difficult. In the BEAM ecosystem, tools like QuickCheck and PropEr have demonstrated that Property-Based Testing (PBT) is an effective technique to find bugs in complex software. Such testing normally involves checking that the tested system performs as predicted by a state machine programmed in a QuickCheck domain-specific language (DSL). In spite of their proven effectiveness, the adoption of PBT state-machine models is frustratingly slow. Why? Writing state-machine models of complex systems can be a time consuming and error-prone activity, which requires substantial training. Moreover, maintaining such state-machine models is hard, even for PBT experts. To address such issues many projects attempt to automate testing. We, instead, aim to empower the test programmer by providing a more productive tool for writing test models: Makina. Makina is a new test library for Elixir, compatible with PropEr and QuickCheck state-machine models. This library provides a DSL that aims to improve early error detection in test models providing static and dynamic type checking. It also facilitates test model development encouraging code reuse with built-in composition mechanisms and automatic model documentation. OBJECTIVES In this talk, we will discuss the design of Makina, and illustrate how the library enables us to efficiently test smart contracts running on the Ethereum blockchain. AUDIENCE Elixir and Erlang developers interested in testing in general and PBT in particular. • Timecodes 00:00 - 02:49 - Problems with PBT Models 02:50 - 04:49 - Makina: The Language 04:50 - 05:31 - Ethereum Blockchain 05:32 - 17:10 - Mining Blocks 17:11 - 20:42 - Fixing the Models 20:43 - 22:25 - Running the Test • Follow us on social: Twitter: https://twitter.com/CodeBEAMio LinkedIn: https://www.linkedin.com/company/27159258 • Looking for a unique learning experience? Attend the next Code Sync conference near you! See what's coming up at: https://codesync.global • SUBSCRIBE TO OUR CHANNEL https://www.youtube.com/channel/UC47eUBNO8KBH_V8AfowOWOw See what's coming up at: https://codesync.global