Решил собрать воедино свой опыт по тестированию ПО, который скопился на данный момент. Это первая статья, она посвящена терминологии, понятиям и общим вопросам, касающихся того, как тестировать возвращаемое значение, изменение состояния и обращение к внешней стороне.