У вас прям один из самых надежных сетапов для тестирования. Интересно, как записаны сами тесты. Например, если вдруг кардинально меняется работа одного поля, скорее всего будет скорректирован POM, а все тесты подстроятся под новую модель или их придется еще редактировать?
Но так не получится кастомизировать уведомления под нужды, которые описаны в статье. Нужны уведомления от Telegram бота только тогда, когда ветку feature вливают в develop.
В документации Gitlab описаны все вариации, когда будут приходить уведомления, если сделать так как предлагаете Вы: "The available values for object_attributes.action in the payload are: open close reopen update approved unapproved approval unapproval merge". И в этом случае даже не будет понятно, какое именно действие только что произошло с мердж реквестом.
Yandex Cloud используется в качестве инфраструктуры, которая связывает между собой Gitlab и Telegram бота.
При мердж реквесте Gitlab отправляет чётко определённый запрос, который нельзя кастомизировать, а у Telegram бота есть определённый API, который нужно вызвать и который тоже не кастомизируется.
Не получится реализовать процесс так, чтобы Gitlab отправил нужный запрос сразу Telegram боту. Для этого и нужно связующее звено, иначе не будет работать.
Есть альтернативные варианты, которые позволяют не использовать Yandex Cloud, в данной статье описана лишь одна из множества реализаций.
Очень крутая библиотека, влюблены в нее, но она увы про другое и конкретно нам не подходит, так как используем свой фреймворк для запуска тестов. Стратегии генерируют не просто данные, а удобную композицию для тестовой функции, которую можно прогнать через PyTest. Можно конечно использовать стратегию как генератор, но это будет дольше и усложнит код.
RegExr очень прост для описания того, что должно быть в строке и очень удобен для кода. Разработчик и тестировщик получают техническую документацию на функционал, где дано не регулярное выражение, а описание требования к полю. После этого разработчик описывает эти требования регуляркой, а тестировщик описывает возможные кейсы своими RegExr. Реальный пример: Требования к одному из полей — Только русские буквы и любое число в конце
Разработчик повесил на поле паттерн ^[А-Яа-яёЁ]+\d$
Тестировщик описал положительный кейс: ^[А-Яа-яёЁ]+([1-9]\d*|0)$ (Так как там должно быть именно число в конце. Числа не начинаются с 0, кроме 0)
и отрицательные кейсы:
^[^А-Яа-яёЁ][1-9]\d*$ (проверит можно ли ввести что-то кроме русских букв)
^[А-Яа-яёЁ]+0[1-9]+$ (проверит пропустит ли набор цифр)
^[А-Яа-яёЁ]+[^0-9]$ (проверит можно ли что-то передать кроме числа)
В итоге после тестирования стало понятно, что задача будет отправлена на доработку.
Мы как-то оставили разработчику пространство для маневра, а он вместо реляционной базы добавил в проект MongoDB. Архитектурная схема должна быть более чем конкретная.
не приходилось использовать, но у партнеров в документации встречали. Если базу данных проектировать на IDEF, то и остальные схемы лучше делать по методологии IDEF
на крупных проектах, к сожалению, не удается обойтись 7 элементами. На данный момент работаем на проекте из 20 подсистем в ЦОД, 15 внешних систем, еще и пользовательских устройств 8 видов (с оборудованием). Приходится увеличивать когнитивную нагрузку. Как вы правильно заметили, на Архитектурной схеме разные слои, это и есть особенности Archimate, которые очень помогают в описании проекта.
Добрый день. Это описка, спасибо за замечание, исправили!
Добрый день. Это описка, спасибо за замечание, исправили!
Спасибо за ваше замечание! Двойная конкатенация строк делает код менее читабельным, согласны
рады быть полезными)
Благодарим за ваш комментарий, это довольно обширная тема, возможно, в будущем подробно рассмотрим данный вопрос в отдельной статье.
У вас прям один из самых надежных сетапов для тестирования. Интересно, как записаны сами тесты. Например, если вдруг кардинально меняется работа одного поля, скорее всего будет скорректирован POM, а все тесты подстроятся под новую модель или их придется еще редактировать?
Но так не получится кастомизировать уведомления под нужды, которые описаны в статье. Нужны уведомления от Telegram бота только тогда, когда ветку feature вливают в develop.
В документации Gitlab описаны все вариации, когда будут приходить уведомления, если сделать так как предлагаете Вы: "The available values for object_attributes.action in the payload are: open close reopen update approved unapproved approval unapproval merge". И в этом случае даже не будет понятно, какое именно действие только что произошло с мердж реквестом.
Yandex Cloud используется в качестве инфраструктуры, которая связывает между собой Gitlab и Telegram бота.
При мердж реквесте Gitlab отправляет чётко определённый запрос, который нельзя кастомизировать, а у Telegram бота есть определённый API, который нужно вызвать и который тоже не кастомизируется.
Не получится реализовать процесс так, чтобы Gitlab отправил нужный запрос сразу Telegram боту. Для этого и нужно связующее звено, иначе не будет работать.
Есть альтернативные варианты, которые позволяют не использовать Yandex Cloud, в данной статье описана лишь одна из множества реализаций.
Движок RegExp мы не тестируем, тестируем поле. Для тестирования поля требуются значения, их мы и генерируем с помощью регулярного выражения.
Верно, но только в начале регулярного выражения, а после "[" любой символ "кроме".
Очень крутая библиотека, влюблены в нее, но она увы про другое и конкретно нам не подходит, так как используем свой фреймворк для запуска тестов. Стратегии генерируют не просто данные, а удобную композицию для тестовой функции, которую можно прогнать через PyTest. Можно конечно использовать стратегию как генератор, но это будет дольше и усложнит код.
RegExr очень прост для описания того, что должно быть в строке и очень удобен для кода. Разработчик и тестировщик получают техническую документацию на функционал, где дано не регулярное выражение, а описание требования к полю. После этого разработчик описывает эти требования регуляркой, а тестировщик описывает возможные кейсы своими RegExr. Реальный пример:
Требования к одному из полей — Только русские буквы и любое число в конце
Разработчик повесил на поле паттерн ^[А-Яа-яёЁ]+\d$
Тестировщик описал положительный кейс: ^[А-Яа-яёЁ]+([1-9]\d*|0)$ (Так как там должно быть именно число в конце. Числа не начинаются с 0, кроме 0)
и отрицательные кейсы:
^[^А-Яа-яёЁ][1-9]\d*$ (проверит можно ли ввести что-то кроме русских букв)
^[А-Яа-яёЁ]+0[1-9]+$ (проверит пропустит ли набор цифр)
^[А-Яа-яёЁ]+[^0-9]$ (проверит можно ли что-то передать кроме числа)
В итоге после тестирования стало понятно, что задача будет отправлена на доработку.