Тестирование
Различия
Здесь показаны различия между двумя версиями данной страницы.
foxdev_7:тестирование [06.11.2017 23:11] admin |
foxdev_7:тестирование [20.05.2019 15:18] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | {{indexmenu_n>45}} | ||
- | ==== Главная идея ==== | ||
- | Все функциональные тесты создаются в виде DiraaS.\\ | ||
- | Распространяются и обновляются, как git или как app соответствующей платформы.\\ | ||
- | Тесты ставятся рядом с рабочим продуктом.\\ | ||
- | Желательно, ставиться и обновляться той же схемой, что и основной продукт.\\ | ||
- | |||
- | ==== 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, а разработчик попил чай/проверил почту, но сильно не отвлекся | ||
- | |||
- | Апп:\\ | ||
- | - тесты поставляются в аппе test\\ | ||
- | - собирается и ставится с makedistro\\ | ||
- | - является directory-app, не чрутом\\ | ||
- | - конфигурируются в /app/test/cfg/config\\ | ||
- | - запускаются /app/test/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/test/service\\ | ||
- | /app/test/CRB-Billing/se_test/.git/\\ | ||
- | /app/test/CRB-Billing/se_test/fast/\\ | ||
- | /app/test/CRB-Billing/se_test/slow/\\ | ||
- | /app/test/CRB-Billing/se_test/slow_test.sh\\ | ||
- | /app/test/CRB-Billing/se_test/fast_test.sh | ||
- | |||