среда, 19 февраля 2014 г.

Маленькая ремарка о "тестах" и "ошибках"

По мотивам - http://programmingmindstream.blogspot.ru/2014/02/blog-post_15.html

Почему я пишу вот это:

"Далее ПРОЩЕ ВСЕГО "оттолкнуться" от какой-нибудь ОШИБКИ, которую вы СЕЙЧАС СОБРАЛИСЬ править.

Желательно НЕ ОЧЕНЬ СЛОЖНОЙ.

Повторю! ПРОЩЕ ВСЕГО "оттолкнуться" от какой-нибудь ОШИБКИ, которую вы СЕЙЧАС СОБРАЛИСЬ править.

Можно писать тесты и по ТЗ и по НОВОЙ функциональности, но ОТТАЛКИВАТЬСЯ от УЖЕ найденных ошибок - ПРОЩЕ ВСЕГО."

Действительно ПОЧЕМУ?

Дело в регрессионном тестировании (http://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)?

СОВСЕМ НЕТ!

Дело не в этом.

Дело в ТОМ, что ТЗ зачастую НЕПОЛНО (иногда его ПРОСТО НЕТ) и не содержит ВСЕ необходимые ДЕТАЛИ.

Что тестировать? Как тестировать? Что правильно? Что неправильно?

В ТЗ (ЗАЧАСТУЮ) это НЕ УКАЗАНО.

Если у вас ДРУГАЯ СИТУАЦИЯ - вам повезло :-) но я лично в жизни "другой ситуации" - не видел.

С той или иной степенью допуска.

Всё потому, что ТЗ пишут люди "которым и ТАК ВСЁ понятно" (тут перекликается с - http://programmingmindstream.blogspot.ru/2014/01/blog-post_9265.html).

Это не их ВИНА, это их БЕДА! Я САМ - ТОЧНО такой же.

Мне самому - "всё понятно". Пока не начинаешь пытаться ДОНЕСТИ свои мысли до других.

Итак!

ТЗ АПРИОРИ (по моему опыту) - НЕ ПОЛНО.

И дело не в ПИСАТЕЛЯХ ТЗ, дело в КОММУНИКАЦИЯХ (тут можно вспомнить вот что - http://programmingmindstream.blogspot.ru/2014/01/blog-post_9265.html).

Никто не САБОТИРУЕТ написание ТЗ. Просто ВСЕ ЛЮДИ РАЗНЫЕ и все ПО-РАЗНОМУ понимают "один и тот же текст".

ОСОБЕННО - "писатель текста" и "читатель текста".

Да! "Со временем" всё шлифуется и налаживается.

Но! Почему ошибки?

ОШИБКИ - это СОВСЕМ ДРУГОЕ дело.

В ошибках ОБЫЧНО ЧЁТКО написано:

1. Что делали.
2. Что ожидали получить.
3. Что получили на самом деле.

Поэтому ОШИБКИ это источник ХОРОШИХ тестов.

В ошибках (ОБЫЧНО) всё предельно понятно.

Повторю:
1. Что делали.
2. Что ожидали получить.
3. Что получили на самом деле.

Посему - ДЛЯ НАПИСАНИЯ ТЕСТОВ - проще всего ОТТАЛКИВАТЬСЯ от УЖЕ НАЙДЕННЫХ ОШИБОК.

Мысль понятна?

2 комментария:

  1. Именно так. Исправляешь ошибку - сделай для нее тест. Не нужно сразу замахиваться на что-то глобальное. Пришел сегодня на работу - сделай хотя бы один какой-нибудь тест. Один тест лучше, чем ни одного. Завтра еще один. Два - лучше, чем один. Через какое-то время обнаружишь, что не такое уж и плохое получается тестовое покрытие.

    ОтветитьУдалить