Software Testing Assumptions