Достаточно долгое время нам пришлось жить с постоянно падающими по разным причинам Unit и Integration тестами. Радости это, конечно, никому не добавляло. Учитывая динамику проекта и его сложность, долго не удавалось исправить ситуацию.

В бой вызвалась группа добровольцев - Антон Шамшев, Женя Молодцов и Лёня Соболь. Под руководством Антона и при постоянной помощи всей команды ACE, группа добилась впечатляющего результата – все тесты проходят успешно!

Команде "ACE Test Management team" и всем бойцам проекта ACE посвящается.

Тропы в Production ещё не протоптаны, Но за процессы держись ты! Крепко обложен весь код Unit Testами, Справились с ним программисты! Нам строки непокрытые покрыть пора И хорошо процентов бы на триста! Писать без тестов код - примета школяра, Покроют его матом очень быстро. Плотно напичкан весь BASE артефактами, Ну-ка попробуй, зафиксь ты! Живо, в отладчик, в погоню за фактами, Ну а потом - за hotfix'ом! Нам баги незакрытые закрыть пора, Причём Production завтра - надо быстро! Мы баги эти с корнем вырвем из билда И всем докажем, что мы - программисты! Положим, поймаешь девелопмент за руку, И даже посадишь зафиксить, Но где это сказано, что будет обязано Всё это со спекой сходиться? Нам уровень покрытия поднимать пора Раздавим баги словно в молотилке! Ведь баги в переводе это просто мошкара - Сидеть без дела тестерам в курилках! Молодо - зелено! Баги - в историю! Отчётам - в архивах пылиться! Даёшь эту новую методологию Итеративных багфиксов! Тест-кейсы нам знакомые прогнать пора Войдут в regression тесты как в копилку Мы в тесты впишем гордо наши имена И откупорим в этот день бутылку!
DT, 4 июня 2012

Unit test - модульные тесты, которые программисты пишут, чтобы проверить, что разработанный участок кода (чаще всего функция или метод) работают правильно.

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

Production - производство, реальная работа системы у заказчика. Выйти в production - означает "сдать программную систему заказчику".

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

Покрытие Unit Test'ов - метрика, используемая для измерения качества тестирования программной системы. В идеале весь код должен быть покрыт тестами, тогда его покрытие - 100%. В реальности эта величина, обычно, меньше.

Base - базовая система, которую мы приспосабливали для нужд конкретного заказчика.

Зафиксить - исправить.

Отладчик - средство диагностики программ.

Hotfix - исправление для программы, которое обычно пославляется в виде временной заплатки, используемой до выхода новой версии.

Билд (build) - собранная программная система.

Девелопмент (development) - в данном случае "разработчики" или программисты.

Спека - спецификация; документ, описывающий, как должна работать программная система.

Тестер - в данном случае "тестировщик".

Багфикс (bugfix)- исправление ошибки.

Тест-кейс (test case) - единичный тест, выполняемый тестировщиком.

Regression (regression testing) - повторное тестирование программной системы после внесения изменений или исправлений.