An Introduction to Mock Object Testing