What is contract testing and when is it useful? | LetsGit.IT