В этом посте я расскажу о процессе разработки программного обеспечения TDD или Test-Driven Development, который используется для повышения производительности при разработке программного обеспечения. Этот процесс состоит из 3 этапов, первый — сбой теста, на котором мы создаем модульный тест для тестового примера, и этот модульный тест должен завершиться неудачно. Второй — тестовые проходы, в которых должен пройти предыдущий модульный тест, мы исправляем проблему, которая не позволяет нам пройти модульный тест. Последним является рефакторинг, в котором мы очищаем наш код, используя передовые методы, например, сокращая методы длиной не более 10 строк, используя правильные шаблоны проектирования для решения проблемы, используя хорошие имена для методов. , переменные, классы и т.д.

Я покажу вам 3 правила или закона, которые дядя Боб использует для описания TDD:

1- Вам не разрешено писать какой-либо производственный код, кроме как для того, чтобы сделать неудачный модульный тест.
2- Вам больше не разрешено писать модульного теста, чем достаточно для отказа; а сбои компиляции — это сбои.
3- Вам не разрешается писать производственный код больше, чем достаточно для прохождения одного ошибочного модульного теста.

Эти правила относятся к тому, что я пытался объяснить ранее об этапах TDD. Использование этого процесса зависит от программиста, хотят ли они использовать передовой опыт или нет. Использование хороших практик похоже на чистку зубов, потому что это всегда нужно делать, но это зависит от человека, который это делает.

Я покажу вам некоторые преимущества использования TDD:

1-Придать системе гибкость, поскольку она позволяет нам что-то модифицировать, не опасаясь повреждения.

2- Меньше времени в отладчике, потому что мы предвидели некоторые ошибки, которые могут произойти.

3- Быстрое выявление ошибок и проблем.

4- Улучшить качество проекта.

Заключение

С моей точки зрения, я думаю, что применять TDD всегда следует, потому что это то, что разделяет профессионала и непрофессионала программиста. А также мы должны иметь возможность использовать инструменты, которые помогают нам улучшить качество программного обеспечения.