Рубрики
Uncategorized

Многие шляпы инженеров обеспечения качества: DevOps

Это было первоначально опубликовано в моем блоге http://angelariggs.github.io. Не … Помечено в DevOps, карьера, карьера, QA.

Это было первоначально опубликовано в моем блоге, http://angelariggs.github.io .

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

Итак, как выглядит роль моей дежопты? Давайте начнем с определения этого! Есть Многие Достирья Объяснения , но это мой TL; DR версия: devops — это набор практик и процессов, используемых для содействия сотрудничеству между различными ролями, чтобы создать устойчивые методы создания, развертывания и обслуживания кода. (Небольшая точка здесь: технически не роль, даже если термин обычно используется таким образом, например, E.g. Evops Engineer).

Я пытался на шляпе DevOps не слишком долго после того, как его нанял как инженер QA. Получение наших проектов и команд, созданных с непрерывной интеграцией/непрерывным развертыванием (CI/CD), стало большим приоритетом для Дилана, нашего директора нашего директора. Дилан занял несколько дней «выключен» и провел время головы, настраивая сервер на Бамбук , который является продуктом Атласиан для CI/CD. Как только установка была завершена, у нас был ройный день, когда несколько из нас собрались вместе и настроили все наши нынешние репос для строительства и развертывания через бамбук.

В дополнение к участию в начальной настройке я также создал документацию для настройки и обслуживания наших планов проекта в бамбуке. УИ и процесс, как правило, несколько неразрушают, и документация позволила другим людям успешно создать новые проекты с относительной легкостью. Я также был частью команды, которая обновила нашу версию бамбука до главного выпуска (включая долгожданную функцию конфигурации через код!). С CI/CD на месте у нас есть проверка на сборку за коммию, поэтому проблемы имеют возможность найти путь перед слиянием или шагом в развертывании. Это также позволяет нам легче устранить неполадки, когда что-то не так не так во время развертывания, и откатываться от неудачного развертывания, если это необходимо.

Металлическая жаба реализовала Agile Development Teams в том, что я начал как инженер QA, и создание стандартного рабочего процесса разработки для команд было одним из первых улучшений. Прежде чем я начал, не было формального рабочего процесса для шагов обеспечения качества. Тестирование было проведено на основе проекта — обычно концентрируясь на проектах громкой (читать: в огне). Обзор кода был выполнен, может быть, раз в неделю, используя инструмент, который позволил нам оглянуться через нашу историю коммиентов на проект. Было утомительно, и предложил очень неглубокую возможность просмотра. Эти обзоры также никогда не привели к улучшениям кода — мы не регулярно используем запросы на тягу (PRS) для объединения работы, поэтому эти сеансы были действительно для обсуждения только. В команде, работая в Sprints, не было никакого способа сказать, когда что-то было готово к проверке QA или для обзора кода. Мы добавили запросы на потяну к нашему процессу, но инженеры сообщали обзор готовности через Slack Messaging. Он был дезорганизован, но это также означало, что попытка следовать за лучшими практиками через QA и обзора кода было стрессовым.

Решение на самом деле было довольно простым — создание рабочего процесса для наших досок спринтов в Джире (которая на самом деле довольно трудоемкая, но не слишком сложная, как вы привыкнете к тому, как работает Jira). Я настроил столбец для каждого статуса билета — делать, в процессе, QA, обзор кода, обзор PO, сделано. Я провел дискуссии о нашей команде о том, как использовать этот рабочий процесс повсюда, и мы установили процесс, когда переместить билеты между столбцами, а также к ответственности для каждого столбца. Мы согласились с тем, что комментарии в Джире были нашим источником правды — беседы лично, слабые, или электронное письмо должны были быть дистиллированы на билеты, чтобы обеспечить последовательное общее понимание. Мы также интегрировали GitHub в JIRA — GIT Chamits и PR-титулы включают в себя номер билета JIRA, поэтому коммиты, PRS и развертывания отражены на каждом билете. Этот рабочий процесс позволяет каждому члену команды легко увидеть статус работы и понять их обязанности в получении работы.

Совсем недавно я помог заплыть наш переход к централизованному статическому анализу кода. Я работал с одним из наших мобильных инженеров для исследования различных инструментов и создать матрицу решения. Мы рассмотрены стоимостью, запущены среду, встроенные комментарии, языковую поддержку и документацию. Наше предпочтение было для анализа, чтобы пройти через GitHub, сократить пот и слезы установки инструмента на бамбуковом сервере. Мы также решительно предпочитали встроенные комментарии — то есть анализ обратной связи непосредственно на PR, вместо того, чтобы быть вынужденным войти в отдельный UI. Различия в поддержке языка были незначительными, за исключением одного инструмента, который исключает анализ CSS/SASS. Документация в Tech всегда поражает или пропускает, но большинство инструментов мы смотрели, были достаточно приличными документами для наших целей. Из всех инструментов, которые мы исследуем, Коды Предложил лучшие варианты по различным категориям. По состоянию на этот пост у нас есть около 20 текущих проектов, созданных со статическим анализом кода, базовая внутренняя документация для использования и обратной связи, а другая проверка в нашем рабочим процессе для придерживающихся лучших практик в нашем коде.

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

Как вы начали реализовывать методы DEVOPS в вашей компании? Какие уроки вы узнали, или некоторые вещи, которые вы хотите попробовать дальше? Поделитесь своим опытом в комментарии!

Оригинал: «https://dev.to/angelariggs/the-many-hats-of-quality-assurance-engineers-devops-3ifg»