{{indexmenu_n>45}} ==== Главная идея ==== Все функциональные тесты создаются в виде DirAAP.\\ Распространяются и обновляются, как git или как app соответствующей платформы.\\ Тесты ставятся рядом с рабочим продуктом.\\ Желательно, ставиться и обновляться той же схемой, что и основной продукт.\\ Колво объектов в тестовой БД должно быть в 10 раз больше от реальных условий.\\ Обязательно проводим тесты ускоренного или сдвигаемого времени, для отлова ошибок перехода через 00 часов или 1 число месяца или 1 ое число года.\\ Тестовые виртуалки есть у каждого разработчика.\\ Есть тестовая вирталка для тестировании ветки testing где есть все коммиты всех разработчиков.\\ ==== TODO причесать. ==== - тесты делятся на группы тестов (test_se_auto, test_api, test_cabinet и прочие)\\ - тесты деляется на быстрые (fast) и медленные (slow); рекомендуется соответствующие тесты располагать в подкаталогах <группа_тестов>/fast/ и <группа_тестов>/slow/\\ - придерживаемся directory as service, максимально все, необходимое для работы теста, должно располагаться внутри каталога с группой тестов; ислючения: устанавливаемые приложения (jenkins, firefox, selenium) - ставятся прямо в систему и конфигурируются скриптами, возможно использование общих библиотек для разных групп тестов\\ - в каждоый группе тестов в корне должно быть 2 файла: slow_test.sh и fast_test.sh, которыми запускается группа тестов; должны быть bash-скриптами, по-умолчанию содержат 1 строку с запуском внутреннего фреймворка/обходчика тестов данной группы тестов Правила тестов:\\ - если тесту нужно запустить скрипт изнутри чрута (например, asr_billing), то он копирует нужный скрипт внутрь перед запуском и запускает\\ - для быстрых тестов действует ограничение: максимум 1 минута на выполнение для одной группы тестов; чтобы 1 прогон занимал минут 5-10, а разработчик попил чай/проверил почту, но сильно не отвлекся Апп:\\ - тесты поставляются в аппе /app/tests_$PROFILE\\ - собирается и ставится с makedistro и или updater\\ - является directory-app и одновременно чрутом(для селениум файрфокс и тп)\\ - конфигурируются в /app/test_CRB-Billing/cfg/config\\ - запускаются /app/test_CRB-Billing/service fast_test и /app/test/service slow_test\\ - в аппе содержатся тесты для всех продуктов, располагаются:\\ /app/test_CRB-Billing/test_group1/fast/\\ /app/test_CRB-Billing/test_group2/fast/\\ /app/test_CRB-Reductor/test_group1/fast/\\ /app/test_CRB-Reductor/test_group1/slow/\\ /app/test_CRB-Reductor/test_group2/fast/\\ - если для аппа нужно будет устанавливать приложения (jenkins, selenium), скрипт запуска тестов должен будет это делать сам, makedistro в апп приложения не устанавливает, в аппе только скрипты запуска тестов и сами тесты - весь енвайромент должен поставляться в чруте в готовом виде, на хост ничего не ставим Главный обходчик:\\ - запускается из крона и или руками\\ - конфигурируется через config\\ - для запуска тестовых групп использует jenkins (как сделано в makedistro)\\ - несет ответственность за блокировку/разблокирочку обновления Тестовая сборка, бранч test:\\ - в него мержатся все бранчи разработчиков\\ - на него настроена виртуалка с тестированием /app/tests_CRB-Reductor/service /app/tests_CRB-Reductor/src.list /app/tests_CRB-Reductor/tests_reductor/.git /app/tests_CRB-Reductor/tests_reductor/fast_test /app/tests_CRB-Reductor/tests_reductor/fast/ /app/tests_CRB-Reductor/tests_reductor/slow_test /app/tests_CRB-Reductor/tests_reductor/slow/ /app/tests_CRB-Reductor/tests_reductor_satellite/.git /app/tests_CRB-Reductor/tests_reductor_satellite/slow_test /app/tests_CRB-Reductor/tests_reductor_satellite/slow/ /app/tests_CRB-Reductor/tests_bgp_blackhole/.git /app/tests_CRB-Reductor/tests_bgp_blackhole/fast/ /app/tests_CRB-Reductor/tests_bgp_blackhole/fast_test /app/tests_CRB-Reductor/tests_bgp_blackhole/slow/ /app/tests_CRB-Reductor/tests_bgp_blackhole/slow_test ==== Дополнение1 ==== /app/tests_crb-billing5 тоесть имя профиля /app/tests_$PROFILE\\ внутри есть полный енвайромент-чрут для запуска firefox selenium и тд\\ тесты в виде каталогов с .git подкаталогом чтоб можно было сразу разрабатывать и править\\ /app/tests_crb-billing5 является и чрутом и не чрутом, чтоб можно было от корня запускать\\ Отдельный профайл tests_crb-billing5, в идеале он имеет туже версию что и продукт, и лежит в апдейтерАХ на мейкдитрах(в будущем на update5) как продукт, и ставится с апдейтера тулзой можно в стиле rsync.\\ ==== TODO обновить эту статью по данным совещания ==== [[http://wika.carbonsoft.ru/проект_reductor:тестирование:инструкции:autotests-and-ci|]] ~~DISCUSSION~~ ~~OWNERAPPROVE~~