State-based testing (also called state verification)
determines whether the exercised method worked correctly by examining the state of the system under test and its collaborators (dependencies) after the method is exercised.
Interaction testing
is testing how an object sends input to or receives input from other objects—how that object interacts with other objects.