The gotcha with automation is that it will do exactly what you tell it to do. Developers deal with this problem often, when the applications they write don't work as intended, they work as coded. Network automation through any of the technologies floating about these days requires a thorough understanding of the possible outcomes before it's implemented.
For this purpose, lab environments become even more critical to a successful production network. And you'll need to be able to artificially create the conditions under which the OpenFlow controller would take action in order to confirm that the logic is correct. Like any new tech, you'd be negligent to implement it without putting it through its paces, and having a sound understanding of its operation.