Thank you. Let me try repeating your advice in my own words:
* Collect all assumptions (regarding data and actions).
* Attack each assumption by throwing known/common/trivial edge cases at it.
* Explore each assumption's necessary conditions: what they are ; how they could possibly be false/broken/absent.