что такое ревю требований

Александр Александров про тренды и технологии тестирования, про влияние Covid19 на рынок QA

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

Онлайн-тренинги

Что пишут в блогах (EN)

Blogposts:

Разделы портала

Про инструменты

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требованийАвтор: Мария Кедемо (Maria Kedemo)
Оригинал статьи
Перевод: Ольга Алифанова

Я часто слышу, что люди говорят о тестировании, как о валидации и верификации требований. Но тестирование – это намного более широкое понятие.

Фокусируясь на верификации и валидации, мы, скорее всего, будем искать и найдем только то, что мы ищем. Это встроено в само определение этих слов.

Согласно Оксфордскому словарю,

Верификация – это «Убедиться или продемонстрировать, что (нечто) верно, точно или оправдано».

Валидация – это «проверить или доказать валидность или точность чего-то».

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требованийАвтор: Джефф Найман (Jeff Nyman)
Оригинал статьи
Перевод: Ольга Алифанова

Применение современных методик позволяет командам разработки раньше принимать верные решения, обращаясь с требованиями как с тестами – то есть создавая спецификации фич. Об этом и поговорим.

Возможно ли тестировать без требований? Нет! Потому что именно они определяют, что должен представлять собой тот или иной продукт, и без них он фактически не может быть создан.

Распространенные возражения, как правило, сводятся к двум пунктам:

Однако в любом случае необходимо понимать, кто будет пользоваться продуктом, как он должен выглядеть, из чего состоять и какими обладать функциями. Несмотря на то что эта информация не содержится в спецификациях, в ней как раз и заключены требования к ПО. Их источником служат не составленные по всей форме документы, а знания вашей команды, имеющиеся у заказчика представления, короткие разговоры за обедом, общепринятая практика, нормативно-правовые акты, то есть всё то, что порождает так называемые неявные требования.

Да, если вы внедрите в свою работу методы восстановления информации о продукте!

Тренер Соковикова Виктория расскажет, как организовать и обеспечить глубокое тестирование, если на проекте отсутствуют идеальные требования.

На курсе вы научитесь:

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

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

А вот несколько отзывов довольных студентов с первого потока курса:

Публикуем подборку докладов с конференции Comaqa Spring 2019, посвященную требованиям и тест-кейсам.

Можно ли протестировать техническое задание за полчаса?

Вы уже 18-й день готовите тест-кейсы на новый модуль системы. Написана не одна сотня сценариев. Вдруг обнаруживаете, что один из отчетов накладывает ограничение, которое не было нигде задокументировано. Действительно, аналитик забыл ограничить множество значений, а вам теперь переделывать 30% тестовой документации. Естественно, без возможности увеличить сроки своей работы. И как же теперь быть? Сроки поджимают, заказчик ждет результатов, нехватка времени давит со всех сторон, все злятся друг на друга. Можно ли было этого избежать? Определенно да, если уделить немного времени тестированию технической документации.

Как правило, на тестирование требований не выделяют время проекта. Но есть методы экспресс-оценки, которые позволят без больших трудозатрат выявить большую часть ошибок в требованиях — мы рассмотрим их в порядке увеличения затрачиваемого времени.

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требованийАвтор: Виктор Славчев (Viktor Slavchev)
Оригинал статьи: https://mrslavchev.com/2018/11/26/hindsight-lessons-about-exploration-testing-documentation-think-outside-the-dox/
Перевод: Ольга Алифанова

В качестве второй части ретроспективных уроков исследования я бы хотел сконцентрироваться на теме, которая редко обсуждается. Однако, с моей точки зрения, жизненно необходимо расширить свои горизонты в этой области, чтобы улучшить свой исследовательский подход.

Зачастую, когда я спрашиваю студентов, как бы они тестировали приложение, я получаю ответы вроде «Я сравню продукт с документацией или спецификацией». Логичным образом я задаю следующий вопрос – что, если спецификации нет, или продукт еще не создан?

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

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требованийАвтор: Ким Энджел (Kim Engel)

Перевод: Ольга Алифанова

Когда вы отчитываетесь о тестировании, используя метрики, это может привести к незапланированным последствиям. Какие метрики мы регулярно используем для отчетов, и какую информацию почерпнут из них заинтересованные лица? Давайте детально рассмотрим несколько реальных примеров.

95% тестов прошло, 1% упал, 4% не прогонялись

Метрики «прошло/упало» очень популярны в традиционных отчетах о прогрессе тестирования. Представьте на минутку, что вы продакт-оунер, и ваше слово – решающее в вопросе, выпускать ли продукт в релиз.

Одни из частых заблуждений тестировщиков заключаются в том, что дефекты нужно искать после того как закончена реализация продукта или его части, а аналитика — «священная корова», которая не может ошибаться. Но это отнюдь не так, и тестировщики не должны бояться брать под сомнения адекватность требований.

В данном докладе мы детальнее рассмотрим:

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

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

Автор: Александр Филиппов, ведущий тестировщик компании «Лаборатория качества»

Введение

Требования – это первое, на что смотрит команда проекта, это фундамент для проектирования и разработки продукта. Допущенная в документации ошибка или неточность может проявиться в самый неподходящий момент. Очевидно, что гораздо проще устранить дефект в паре строк требований, чем позже «перелопачивать» несколько сотен (или даже тысяч) строк кода.

Источник

Code Review – зачем и как использовать в команде?

Что такое Code Review

Зачем нужен Code Review

Code Review может являться частью процесса выполнения задачи (частью workflow). Может показаться, что ревьювить должен только тимлид или старший разработчик, но хорошей практикой является если в процессе ревью задач участвуют все разработчики. Таким образом можно не только распределить нагрузку от ревью, но и составить у команды более широкое представление о выполняемых задачах. Также это помогает делиться best practices внутри команды.

Положительные эффекты в команде от Code Review:

понижает bus factor: больше людей в команде в курсе выполняемой задачи, в случае необходимости внесения изменений в задачу как минимум два человека смогут это сделать. Задача больше не завязана на одного разработчика.

помогает найти и выявить баги и недоработки на этапе разработки задачи: так как задача сразу проверяется как минимум двумя разработчиками, это повышает вероятность нахождения упущенных кейсов, которые без код ревью могли бы попасть на бой.

обучаемость сотрудников: разные реализации и подходы к решению задач могут заимствоваться участниками команды друг у друга во время код ревью

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

при разработке задачи на реализацию тратится чуть больше времени

в задаче задействованы как минимум два разработчика (тот, кто делал задачу и тот, кто ее ревьювил)

Рекомендации по организации Code Review

Code Review может быть организован по-разному в разных командах. Главное, чтобы команда заранее обговорила и утвердила свои внутренние правила, которых она хочет придерживаться и с которыми все согласны, чтобы каждый раз не возвращаться к этому вопросу.

Избегать рутинных проверок Code Style людьми: автоматизировать такие проверки. Можно использовать для этого любые подходящие вам инструменты для автоматической проверки code style используемого вами языка программирования. Например, для PHP это может быть PHP Coding Standards Fixer https://cs.symfony.com/ Не нужно тратить время разработчиков на то, что можно автоматизировать. Также обратная связь по поводу code style от людей воспринимается как “придирки” и может создать не очень позитивную атмосферу в команде.

Code Review должен проводиться для каждого участника команды, вне зависимости от уровня. Не должно быть такого, что ревьювят только задачи, которые сделали Junior разработчики, тем временем Senior разработчики не отдают свои задачи на ревью. Необходимо, чтобы ревью проводилось для задач всех разработчиков.

Code Review является частью процесса и необходим каждой задаче. Это правило избавляет от лишних споров и холиваров насчет небольших задач. Ревью проходят все задачи без исключений.

Code Review проводится перед релизом задачи и перед передачей ее в тестирование. Это помогает избегать повторного тестирования, а также соблазна оставить все как есть, ведь “и так работает”. К задачам, которые уже на бою, никто не захочет повторно возвращаться.

Избегать слишком больших объемов кода в одном Code Review. Если задача большая, то необходимо отправлять ее на ревью частями. Есть рекомендуемое число 200-400 строк в одном ревью. При увеличении количества строк, эффективность и продуктивность ревью резко падает.

Если нет возможности внести какие-то правки после ревью, то необходимо завести задачу в трекере задач, а в коде оставить ToDo с ее номером

Чего следует избегать:

Если Code Review непостоянная часть процесса разработки, то это приведет к нестабильному ревью, его будут откладывать и команда не получит всех плюсов этого процесса.

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

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

На что обращать внимание во время Code Review

Чеклист для разработчика перед отправкой на ревью:

Проверить, что реализация соответствует всем указанным в исходной задаче условиям

Проверить соответствие Code Style и другим принятым в команде гайдлайнам, например, наличию unit-тестов и документации

Протестировать задачу локально и убедиться, что она работает, как нужно

Подготовить описание для ревьювера, если какой-то информации в задаче не хватает

Проверить, нужны ли какие-то комментарии в самом коде и добавить при необходимости

Чеклист для ревьювера:

Ознакомиться и понять цель и суть задачи

Проверить общую архитектуру и подход к решению

Проверить мелкие детали (имена функций и переменных и т.д.)

Проверить наличие тестов и документации по необходимости

Список ToDo: изменения, которые необходимо внести в код после ревью

Вопросы: обозначить свои вопросы по частям кода, которые непонятны после ревью

Предложения по улучшению: внести свои предложения и пожелания по коду задачи и/или связанных задач. Например, договориться о создании задачи по обновлению старого метода в других участках кода на новый и завести на это ToDo и задачу в трекере задач и поставить ее в тех. долг команды.

Также отдельно хочется отметить, что если вы ревьювите чью-то задачу и видите какие-то хорошие подходы и решения, то скажите об это автору. Положительная обратная связь тоже очень важна.

Инструменты для Code Review

Поищите инструменты для вашего языка программирования. Используйте тот, который больше всего подойдет вашей команде.

Источник

Как сделать код-ревью быстрее и эффективнее

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

Как обычно происходит код-ревью? Вы отправляете пул-реквест, получаете обратную связь, вносите исправления, отправляете фиксы на повторный ревью, затем получаете одобрение, и происходит мерж. Звучит просто, но на деле процесс ревью бывает очень трудоемким.

Представьте, что у вас есть пул-реквест с сотнями строк изменений. Ревьюер должен потратить немало времени, чтобы полностью прочитать код и понять предлагаемые изменения. В результате весь процесс от создания пул-реквеста до его утверждения может занять несколько дней — в этом мало приятного и для ревьюера, и для автора изменений. И велики шансы, что в итоге ревьюер все равно что-то упустит. Или проверка может быть слишком поверхностной, а в худшем случае пул-реквест вообще может быть сразу отклонен.

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

Как избежать таких ситуаций? Как сделать пул-реквест проще и понятнее для ревьюера и оптимизировать весь процесс?

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

Категории изменений

Давайте представим, что у вас есть задача — реализовать новый функционал в проекте. Пул-реквест, над которым вы работаете, может содержать разные категории изменений. Конечно в нём будет какой-то новый код. Но в ходе работы вы можете заметить, что какой-то код нужно предварительно порефакторить, чтобы он способствовал добавлению нового функционала. Или с этим новым функционалом в коде появилось дублирование, которое вы хотите устранить. Или вы вдруг обнаружили ошибку и хотите ее исправить. Как должен выглядеть окончательный пул-реквест?

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

Стратегии ревью

Очень важно понимать, что каждая из этих категорий ревьюирутеся по-разному и при их рассмотрении ревьюер должен фокусироваться на разных вещах. Можно сказать, что каждая категория изменений предполагает свою собственную стратегию ревью.

Функциональные изменения. Это самый длительный процесс, потому что он предполагает изменения доменной логики. Ревьюер смотрит, решена ли проблема и проверяет, является ли предложенное решение наиболее подходящим или его можно улучшить.

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

При проверке остальных категорий в 99 % случаев мерж происходит сразу же.

Почему нужно разделять изменения по категориям?

Мы уже обсуждали, что разные категории изменений ревьюируются по-разному. Например, функциональные изменения мы проверяем, отталкиваясь от требований бизнеса, а при структурном рефакторинге — проверяем обратную совместимость. И если мы смешаем несколько категорий, то ревьюеру будет трудно держать в уме одновременно нескольких стратегий ревью. И, скорее всего, ревьюер потратит на пул-реквест больше времени, чем необходимо, и из-за этого может что-то упустить. Более того, если пул-реквест содержит изменения разного рода, при любом исправлении ревьюеру придется пересмотреть все эти категории еще раз. Например, вы смешали структурный рефакторинг и функциональные изменения. Даже если рефакторинг выполнен хорошо, но есть проблема с реализацией функционала, то после исправлений ревьюер должен будет просмотреть весь пул-реквест с самого начала. То есть проверить заново и рефакторинг, и функциональные изменения. Так проверяющий тратит на пул-реквест больше времени. Вместо того, чтобы чтобы сразу смержить отдельный пул-реквест с рефакторингом, ревьюер должен еще раз просмотреть весь код.

Что точно не стоит смешивать

Переименование/удаление класса и его рефакторинг. Здесь мы сталкиваемся с Git, который не всегда правильно понимает такие изменения. Я имею в виду масштабные изменения, когда меняется много строк. Когда вы рефакторите класс, а затем перемещаете его куда-то, Git не воспринимает это как перемещение. Вместо этого Git интерпретирует эти изменения как удаление одного класса и создание другого. Это приводит к куче вопросов во время код-ревью. И автора кода спрашивают, почему он написал этот уродливый код, хотя на самом деле этот код был просто перемещен из одного места в другое с небольшими изменениями.

Любые функциональные изменения + любой рефакторинг. Мы уже обсуждали этот случай выше. Это заставляет ревьюера держать в голове сразу две стратегии рецензирования. Даже если рефакторинг выполнен хорошо, мы не сможем смержить эти изменения, пока функциональные изменения не будут утверждены.

Любые механические изменения + любые изменения, произведенные человеком. Под «механическими изменениями» я подразумеваю любое форматирование, выполненное с помощью IDE или генерации кода. Например, мы применяем новый code style и получаем изменений на 3000 строк. И если мы смешаем эти изменения с какими-либо функциональными или любыми другими изменениями, произведенными человеком, мы заставим ревьюера мысленно классифицировать эти изменения и рассуждать: это изменение, произведенное компьютером, — его можно пропустить, а это изменение, сделанное человеком, — его нужно проверить. Так ревьюер тратит очень много дополнительного времени на проверку.

Пример

Вот пул-реквест с функцией метода, который аккуратно закрывает клиентское соединение с Memcached:

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

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

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

В результате ревьюер должен просмотреть весь код и

1. Рефакторинг: извлечение класса

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

Здесь всего два файла. Ревьюер должен проверить только новый дизайн. Если все в порядке — мержим.

2. Следующим шаг — тоже рефакторинг, мы просто перемещаем два класса в новое пространство имен

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

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

3. Удаление лишних блоков док-блоков

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

Здесь ничего интересного. Мержим.

4. Сам функционал

что такое ревю требований. Смотреть фото что такое ревю требований. Смотреть картинку что такое ревю требований. Картинка про что такое ревю требований. Фото что такое ревю требований

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

Заключение

Не создавайте огромных пул-реквестов со смешанными категориями изменений.

Чем больше пул-реквест, тем труднее ревьюеру понять предложенные вами изменения. Скорее всего, огромный пул-реквест с сотнями строк кода будет отклонен. Вместо этого разбейте его на маленькие логические части. Если ваш рефакторинг в порядке, но функциональные изменения содержат ошибки, то рефакторинг можно спокойно смержить, и таким образом вы и ваш ревьюер сможете сосредоточиться на функционале, не просматривая весь код с самого начала.

И всегда выполняйте следующие шаги до отправки пул-реквеста:

От редакции: Сергей много пишет интересного про программирование и PHP, а мы иногда что-то переводим: сервер потокового видео, рендеринг HTML файлов. Смело задавайте ему вопросы в комментариях к этой статье — он ответит!

Ну а также напоминаем, что у нас всегда много интересных вакансий для разработчиков!

Источник

Перфоманс ревью и обратная связь в IT

Некоторые компании до сих пор считают, что перфоманс ревью — бесполезная трата времени, особенно в IT компаниях. Хотя обратная связь, которую можно наладить с его помощью, частично закрывает боль «И снова он сбежал». Если мы посмотрим на мир за пределами нашей страны, то увидим, что довольно большой процент компаний использует мотивацию и ревью, как способ сделать компанию лучше. Среди таких можно перечислить: Google с ее системой OKR, Adobe с ее постоянной обратной связью, General Electric с собственным приложением для повышения производительности и другие компании.

Так что же это за метод такой?

По факту, ревью представляет собой череду действий, позволяющих выявить «слабые» и «сильные» места в компании и подтянуть «слабые». Если проводить параллели, то это часть фреймворка, которая показывает, где у вас что «тупит», а вся задача его — исправить ошибки. Важным винтиком процесса являются люди, которые будут оценивать других людей, разбирать их проекты, оценивать и давать конкретные рекомендации и даже цели. Поэтому не стоит надеяться только на HR отдел или аутсорс. В этом процессе обязательно должны участвовать менеджеры отделов, причем активно.

Кому он нужен?

Метод показан компаниям, которые насчитывают несколько десятков человек и более. Именно при таких размерах начинают происходить заметные потери при взаимодействии между командами и отделами. В более мелких компаниях можно обойтись и без ревью, если в обозримом будущем не планируется рост и развитие.

Менеджеры должны понимать свою ключевую роль в этом процессе. Они являются теми, кто определяет стратегию и ценности компании, кто должен следить за правильным их принятием и пониманием остальной частью команды.

Характеристики хорошего перфоманс ревью

Как выстраивается процесс?

Несколько советов напоследок

СОВЕТ № 1: помните, что конструктивная обратная связь используется, чтобы помочь сотруднику определить, что пошло не так, и как он может лучше справиться с ситуацией в будущем. Изложите свои выводы и предложенный процесс в письменной форме, чтобы у сотрудника были четкая инструкция по предлагаемому решению. Таким образом, не возникнет недопонимания.

СОВЕТ № 2: важно адаптировать свое общение к стилю работы сотрудника и его уникальным мотивам. Сотрудник, который непреклонен в карьерном росте, может лучше отреагировать на конструктивную обратную связь. Если объяснить, как его действия повлияют на его будущую роль в компании. Знание того, что движет сотрудником, поможет вам связать конструктивную обратную связь с их реальными амбициями в вашей компании, что еще больше повысит их вовлеченность и производительность.

СОВЕТ № 3. Если сотрудник плохо работает, задавайте вопросы. Не думайте, что вы знаете причину, и не делайте поспешных выводов о том, что он ленив, она тупица, он немотивирован или она некомпетентна. Используйте свои разговоры об оценке эффективности как возможность выяснить, каковы возможные причины неспособности сотрудника соответствовать стандартам и ожиданиям. Подсказка: когда сотрудник не работает должным образом, основной причиной часто является неспособность начальника обучать!

Попробуйте разработать простую, удобную в использовании систему, которая побуждает начальников и сотрудников участвовать в двустороннем общении в течение года — это единственный способ получить реальную пользу от системы проверки эффективности.

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

Источник

Что такое ревю требований

Приемочные критерии (также называется критерием соответствия) завершают определение требования. Мы должны уметь делать выводы и определять, полностью ли решение удовлетворяет или соответствует указанному требованию. Приемочные критерии делают требования количественно описываемыми. Всегда намного легче добавить конкретный критерий, чем написать на 100% однозначное требование. Критерий приемлемости в какой-то степени детализирует требование.

Правила разработки и документирования требований

Дискуссии на тему “какое требование можно считать хорошим?” безграничны. Разумеется, все зависит от контекста, но важнее всего иметь решения. Необходимо определить конкретный и применимый набор правил по созданию требований, что приведет к появлению “достаточно хороших” требований в вашем контексте. Обсуждайте и определяйте правила, касающиеся таких вопросов, как идентификация, аннотации, изменения, согласованность, язык, краткость, однозначность, обоснование, квантифицируемость и использование составных требований.

Шаблоны требований

Другие распространенные шаблоны включают:

Ревью требований

Ревью являются на сегодняшний день наиболее эффективным и действенным методом обеспечения качества, позволяющим обнаружить дефекты. Однако, подобное заявление будет верным только в случае должного применения. В этой ситуации очень важно сбалансировать “практику и теорию”. Необходимо понимать разницу между пошаговым анализом и инспекцией. Это абсолютно разные процессы, каждый из которых имеет свои цели и собственных заинтересованных лиц. Начните с ваших целей и определите процесс обзора, который им соответствует.

Мир IT технологий постоянно меняется, а значит и тестировщики должны меняться соответствующим образом. Им необходимо расширять свои знания и практиковать навыки. Одним из наиболее важных и распространенных дополнений считается вовлеченность в процесс инженерии технических требований.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *