View on GitHub

wiki

Technical Excellence Wiki

Степени свободы в TDD

Отрывок из книги Agile Tech Practices Distilled

Мы заимствуем это понятие из физики, химии и механики. В механике степенями свободы называют шесть степеней свободы, которые описывают движение твёрдого тела в трёхмерном пространстве. Точнее, тело может свободно менять своё положение вперёд/назад, вверх/вниз, влево/вправо вдоль трёх взаимно перпендикулярных осей, а также изменять ориентацию за счёт вращения вокруг трёх взаимно перпендикулярных осей.

Wikipedia - Шесть степеней свободы

Six degrees of freedom image

Понятие шести степеней свободы можно использовать как метафору для поведения кода. И эта метафора может быть очень полезна при написании тестов. Идея заключается в том, чтобы оставаться в одном поведении до тех пор, пока вы не убедитесь, что оно завершено. Таким образом, развивая метафору, если вы тестируете определённую степень свободы (например, перемещение вперёд/назад), оставайтесь на ней до тех пор, пока не убедитесь, что она работает так, как ожидается, а затем переходите к следующим - движению вверх/вниз, влево/вправо, и вращениям вокруг осей. Избегайте перехода от одного поведения к другому до завершения первого. “Оставаться тестировать поведение” означает тестировать его как в “успешном”, так и в “неуспешном” сценариях, а также проверять средние и крайние значения, с которыми можно столкнуться. Особое внимание уделите тому, чтобы не начинать реализацию комбинации различных поведений, пока они не будут протестированы независимо.

Перевела: Светлана Кривенко