Тестирование

Различия

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

Ссылка на это сравнение

foxdev_7:тестирование [15.01.2018 15:39]
admin
foxdev_7:тестирование [20.05.2019 15:18]
Строка 1: Строка 1:
-{{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/​\\ 
--<​del>​ если для аппа нужно будет устанавливать приложения (jenkins, selenium), скрипт запуска тестов должен будет это делать сам, makedistro в апп приложения не устанавливает,​ в аппе только скрипты запуска тестов и сами тесты</​del>​ 
-- весь енвайромент должен поставляться в чруте в готовом виде, на хост ничего не ставим 
- 
-Главный обходчик:​\\ 
-- запускается из крона и или руками\\ 
-- конфигурируется через config\\ 
-- для запуска тестовых групп использует jenkins (как сделано в makedistro)\\ 
-- несет ответственность за блокировку/​разблокирочку обновления 
- 
-Тестовая сборка,​ бранч test:\\ 
-- в него мержатся все бранчи разработчиков\\ 
-- на него настроена виртуалка с тестированием 
- 
-<code bash> 
-/​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 
-</​code>​ 
- 
- 
-==== Дополнение1 ==== 
-/​app/​tests_crb-billing5 тоесть имя профиля /​app/​tests_$PROFILE\\ 
-внутри есть полный енвайромент-чрут для запуска firefox selenium и тд\\ 
-тесты в виде каталогов с .git подкаталогом чтоб можно было сразу разрабатывать и править\\ 
-/​app/​tests_crb-billing5 является и чрутом и не чрутом,​ чтоб можно было от корня запускать\\ 
-Отдельный профайл tests_crb-billing5,​ в идеале он имеет туже версию что и продукт,​ и лежит в апдейтерАХ на мейкдитрах(в будущем на update5) как продукт,​ и ставится с апдейтера тулзой можно в стиле rsync.\\ 
- 
-==== Туду обновить эту статью по данным совещания ==== 
-http://​wika.carbonsoft.ru/​проект_reductor:​тестирование:​инструкции:​autotests-and-ci