Подписывайся на Telegram-канал

Зачем нужно тестирование?

Зачем нужно тестирование?

https://t.me/it_programmist

Без тестирования современную серьёзную разработку представить сложно. И на серьёзную работу(не junior ) без умений писать тесты устроиться тяжело.

В первой части я писал о видах тестирования https://mynrg.ru/testirovanie-vidy.

В этой статье поговорим о том, зачем это надо.

Когда мы пишем функцию или класс, мы предполагаем какой должен быть результат. Мы проверяем, если результат не тот, то мы переделываем пока результат нас не устроит.

Можно объяснить ещё проще.

Мы пишем функцию умножения:

function multiplication($a, $b){
/*....*/
return $result;
}

Вызываем

multiplication(2,2)

а оно возвращает 5. Мы исправляем, пока не будет 4.

Это, по сути, ручное тестирование. Но в процессе такого тестирования, мы рискуем недотестировать.

Например, вызываем мы

multiplication(3, 2)

А оно возвращает 7. Исправляем, проверяем, всё хорошо, ответ 6. Мы довольные пошли отмечать это событие, а в другом месте программы

multiplication(2,2)

стало возвращать 5.

Поэтому куда эффективнее использовать автоматическое тестирование.

Алгоритм тестирования

Как правило, поток разработки таков:

  1. Пишется спецификация теста, которая описывает самый базовый функционал.
  2. Делается начальная реализация функции.
  3. Для проверки соответствия спецификации мы задействуем фреймворк. Фреймворк запускает все тесты и выводит ошибки, если они возникнут. При ошибках вносятся исправления.
  4. Спецификация расширяется, в неё добавляются возможности, которые пока, возможно, не поддерживаются реализацией.
  5. Идём на пункт 2, делаем реализацию. И так «до победного конца».

Разработка ведётся итеративно: один проход за другим, пока спецификация и реализация не будут завершены.

Используй фреймворк.

Будет большой соблазн написать свой велосипед, но за тебя уже всё написали - бери и пользуйся.

-------------

В следующий раз, будем рассматривать тесты на примере.

Ещё