On every new project there are tools and libraries that we select for the testing of our application. For people from a non-Haskell background there can be a tendency to choose a main-stream example-based testing approach such as xUnit-kind-of tools offer. In this talk I will cover a different choice that my team made when we ended up with a Scala based project that resulted in a property-based testing and ScalaCheck, which was inspired by QuickCheck from Haskell. We quickly discovered some obvious benefits of using these tests: advantages included the ease of identifying all the edge cases, writing less test-code and enhancing what we cover with it. At the same time we faced several issues during the adoption phase. It was quite challenging to start thinking in terms of properties and determine the right scenarios. Every new test was a demanding which required a large amount of effort to achieve the required outcomes.
This talk is for you if you are unfamiliar with the concept of property-based tests; if you are planning to adopt this practice in the future; or just struggling in becoming efficient with it. It will be about some of the simple ways and techniques that we learned to write these tests so we can start benefiting from having them, and some of the sacrifices we made to make it work in the context of our project and our team.
Talk objectives:
Target audience:
Svetlana has been working in IT industry since 2007 as a software developer. She had a chance to work in multiple industries including Telecommunications, Finance, Retail.
Svetlana loves to code, she has been doing it in a variety of tech stacks including JVM with Java and Scala, Haskell, iOS, Ruby, JavaScript. Couple of years ago she started to pick up some functional programming concepts and she now is constantly looking for ways to do it functional way in any language she sticks with.
Github: svetixbot
Twitter: @svetixbot