Testing business logic quickly becomes tricky, as applications grow and scale. Example based unit and integration tests, and exploratory tests become poor choices to check and verify a large state space. Also such methods are not well-suited to clearly describe the state space / transitions we want to test.
Since we use Clojure to write test suites and tools at Helpshift, we tried experimenting with DSLs to express some of our testing problems. We’ve found that mini DSLs can indeed become useful to describe and test fairly complicated business logic.
In this talk I will cover some of the mini-DSL approaches we’ve tried, demonstrate one of them by example, and discuss the benefits and drawbacks based on current experience.
Mayank Jain is a Dev/QA Engineer at Helpshift. He enjoys controlling difficult testing problems with the power of Clojure.
When not writing tests, DSLs, or state machines at work, he likes exploring functional programming. Currently fascinated by APL and Factor.
Also, Maynk is a huge comics fan and lifelong Calvin and Hobbes devotee.