По мотивам - 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. Что получили на самом деле.
Посему - ДЛЯ НАПИСАНИЯ ТЕСТОВ - проще всего ОТТАЛКИВАТЬСЯ от УЖЕ НАЙДЕННЫХ ОШИБОК.
Мысль понятна?
Почему я пишу вот это:
"Далее ПРОЩЕ ВСЕГО "оттолкнуться" от какой-нибудь ОШИБКИ, которую вы СЕЙЧАС СОБРАЛИСЬ править.
Желательно НЕ ОЧЕНЬ СЛОЖНОЙ.
Повторю! ПРОЩЕ ВСЕГО "оттолкнуться" от какой-нибудь ОШИБКИ, которую вы СЕЙЧАС СОБРАЛИСЬ править.
Можно писать тесты и по ТЗ и по НОВОЙ функциональности, но ОТТАЛКИВАТЬСЯ от УЖЕ найденных ошибок - ПРОЩЕ ВСЕГО."
Действительно ПОЧЕМУ?
Дело в регрессионном тестировании (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. Что получили на самом деле.
Посему - ДЛЯ НАПИСАНИЯ ТЕСТОВ - проще всего ОТТАЛКИВАТЬСЯ от УЖЕ НАЙДЕННЫХ ОШИБОК.
Мысль понятна?
Именно так. Исправляешь ошибку - сделай для нее тест. Не нужно сразу замахиваться на что-то глобальное. Пришел сегодня на работу - сделай хотя бы один какой-нибудь тест. Один тест лучше, чем ни одного. Завтра еще один. Два - лучше, чем один. Через какое-то время обнаружишь, что не такое уж и плохое получается тестовое покрытие.
ОтветитьУдалитьРома! Тут на 100 % СОГЛАСЕН!
ОтветитьУдалить