Шрифт:
модификации к тест-кейсам, о которых вы договорились на совеща-
нии. Таким образом, с одной стороны, вы составите памятку для са-
мого себя, а с другой — дадите себе возможность удостовериться (пу-
тем получения ответов на е-мейл), что вы учли все предложенные вам
вещи по модификации тест-кейсов и учли эти вещи правильно. Отсут-
ствие ответа на подобный е-мейл — это знак согласия.
Во многих крупных интернет-компаниях рассмотрение тест-кей-
сов — это обязательная процедура перед переходом к стадии...
Исполнение тестирования и ремонт багов
Так как о тестировании мы будем говорить все остальные томные
вечера, то сейчас будем лаконичны, как спартанцы.
После того как проинтегрирован код, тестировщики проводят
тест приемки (smoke test, sanity test или confidence test), в процессе
которого проверяются основные функциональности.
Пример
Если мы не можем погнуться (log into) в наш эккаунт (account) на
www.main.testshop.rs, то о каком дальнейшем тестировании можно
говорить.
Если тест приемки не пройден, то программисты и релиз-инже-
неры совместно работают над поиском причины. Если проблема
была в коде, то код ремонтируется, интегрируется и над ним сно-
ва производится тест приемки. И так по кругу, пока тест приемки
не будет пройден.
Если же тест приемки пройден, то код замораживается и тести-
ровщики начинают тестирование новых компонентов (new fea-
ture testing), т.е. исполнение своих тест-кейсов, написанных по
спекам данного релиза (более подробно о значении термина fea-
ture поговорим в беседе о системе трэкинга багов).
После того как новые функциональности протестированы, насту-
пает очередь исполнения "старых" тест-кейсов. Этот процесс на-
зывается регрессивным тестированием (regression testing), ко-
Цикл разработки ПО
105
торое проводится для того, чтобы удостовериться, что компонен-
ты ПО, которые работали раньше, все еще работают.
Баги заносятся в систему трэкинга багов (Bug Tracking System,
далее — СТБ, о ней у нас будет отдельный разговор), программи-
сты их ремонтируют, и затем тестировщики проверяют, насколь-
ко качественным был ремонт.
Допустим, мы все, что хотели и как смогли, протестировали. Про-
граммисты залатали дыры в коде, что мы тоже протестировали, и
у нас есть версия нашего проекта, готовая для релиза. Эту версию
мы мурыжим еще пару деньков, проводя тест сдачи (Acceptance
or Certification Test), и включаем зеленый свет релиз-инженерам,
чтобы они передали плод наших терзаний кликам (от англ. click)
пользователей.
Релиз
Release (англ.) — "выпуск, освобождение".
Пример
Герой романа Стивена Кинга — ботаник, чудик и домосед — подверга-
ется постоянным унижениям от одноклассников, домочадцев и случай-
ных прохожих. В один день он вдруг говорит себе "Хватит" и начинает
колоть, резать и душить подлых обидчиков, а также в превентивных
целях и всех остальных. Этот выпуск пара и есть "релиз" в его обыден-
ном понимании.
До этого мы употребляли слово "релиз" в значении "основной
релиз" (так будем поступать и дальше), но у нас есть и его "род-
ственники".
Вот полная классификация "релизообразных":
1. Релиз (он же основной релиз) (major release) — стадия в