Chris Struble – Meteorcomm LLC
Learning a new software testing technique and applying it successfully in your career can be deeply satisfying. But what if your organization is heavily invested in a different testing technique? How do you get to a state where your colleagues can adopt your technique successfully?
Many organizations use Example-based testing (EBT), where test cases are handcrafted one example at a time, then executed automatically in a repeatable way. EBT techniques such as Test-Driven Development (TDD), Behavior-Driven Development (BDD), and Acceptance Testing have been widely adopted. But EBT cannot be used to test examples that no one thought of.
In Generator-based Testing (GBT), however, software behavior is described to a tool that generates test cases in a non-deterministic way, which are then executed automatically. GBT techniques such as Model-based testing (MBT), Property-based testing (PBT), and Fuzzing, have found high profile defects that escaped EBT testing, yet adoption of such techniques remains low.
This paper will present an approach to doing GBT that makes it more accessible, and easier to progress through states of adoption. This is based on the author’s experiences with MBT over more than 20 years, including a new MBT framework he implemented in Ruby using open source tools in the past year, and released alongside EBT frameworks already in use at his workplace.