Behavioral Driven Design and Development, part 2
The human brain is very good when it comes to dissecting processes step by step. We are uniquely skilled at figuring out "OK, we're here - where can we go next if this happens...and if this happens..." Digesting a problem by leveraging something we're naturally very good at doing is aligning with human nature, not fighting it. It's inherently easy for most people.
Given....When....Then....
Wait a second! That's GHERKIN! We just wrote a test case!
Yes - by creating a directed graph (aka Sequence / Flow diagram), we can auto - generate test cases. Automatable test cases.
But wait, there's more.




Write your text here...
Take a look at the modified diagram. This is a generic customer journey for when a customer wishes to purchase a product. It's even generic enough to handle both online and brick-and-mortar scenarios. What's more, this has been loaded into a tool which automatically detects the unique code paths through the diagram, ensuring that unit tests (arrow by arrow) as well as black-box testing (all paths, end to end) are specified and executed.
Tools can support best practices. Together with humans, tools can go a long way toward shipping bug-free code.
But wait, there's more.