Objects and actions

Sometimes when I'm trying to think of a new test condition, I stand back and think of the functionality in terms of objects and actions.  What is this object I'm testing?  And then what are all the actions I can do with this object? Sometimes if its applicable I then continue thinking in abstract terms and think about what other objects I'm working with that behave the same way - or should behave the same way or have the same actions available.  By stepping back in thinking in more generic terms, I can sometimes collect different test ideas.