Тестирование требует таких качеств, как наблюдательность, внимание к деталям и стремление понять, как все устроено. Хороший тестировщик – это человек, который способен видеть функциональные возможности продукта насквозь, а также думать о том, как их улучшить.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
Но как стать хорошим тестировщиком?
В этой статье мы рассмотрим 14 лучших QA-практик, которым вы можете следовать для того, чтобы стать профессионалом. Во время их изучения помните, что ваши стремление и усилия в конечном итоге определят, насколько успешно вы будете развиваться в постоянно меняющемся мире обеспечения качества и тестирования программного обеспечения.
Лучшие практики QA
1. Создавайте условия, где каждый член команды ответственен за качество продукта
Создание качественного продукта зависит не только от команды QA, но и от команды разработчиков. Каждый участник процесса несет ответственность за создание качественного продукта. Обеспечение качества заключается в снижении рисков, поэтому тестировщик должен с самого начала продвигать идею создания высококачественного продукта.
Начните с проверки наличия всех необходимых требований и критериев приемки в каждой пользовательской истории, над которой будет работать команда разработчиков. Разработчики должны создавать хорошие юнит-тесты для своего кода, проводить парное программирование и код-ревью.
2. Начинайте тестирование как можно раньше
“Чем раньше, тем лучше” означает “чем скорее, тем дешевле” в данном случае. Устранение проблем на ранних стадиях разработки программного обеспечения экономит много сил и ресурсов компании. Убедитесь, что ваша работа организована таким образом, чтобы у вас была возможность предвидеть потенциальные проблемы проекта.
Мотивируйте команду на проведение работы по обеспечению качества на каждом этапе разработки. Это поможет вам отследить вклад каждого члена команды для достижения общих целей. Таким образом, у вас останется намного больше ресурсов на улучшение результатов вашего проекта или даже на начало новых проектов.
3. Используйте инструменты планирования и управления проектами
Помните, что работа в команде означает выполнение задач в установленные сроки. Трудно предугадать, когда может возникнуть проблема, поэтому соблюдение графика требует сильных навыков тайм-менеджмента.
Jira и Rally – два известных инструмента управления проектами в ИТ-индустрии. Это не единственные варианты, но отличные примеры того, как подобные инструменты могут быть очень полезными для организации ваших проектов. Инструменты планирования часто также могут интегрироваться с другими средствами для отслеживания выполнения задач.
4. Участвуйте в тестировании пул реквестов
Еще одна замечательная практика – это просмотр пул реквестов. Это поможет команде тестирования лучше понять продукт. Даже после прохождения процесса ревью нелишним будет зайти в пул реквесты и проверить раздел с измененными файлами.
Еще одна пара глаз всегда пригодится для выявления проблем в самом коде и поможет лучше понять написанный код и внесенные изменения. Знание мест в коде, где были сделаны изменения, может ускорить и облегчить процесс поиска ошибок во время интеграционного тестирования.
5. Укрепляйте доверие
Хорошие отношения строятся на доверии. Чтобы завоевать доверие к себе, как к тестировщику, вам необходимо наладить коммуникацию, например, в случае, если вы чего-то не знаете, признавать это и просить о помощи, когда это необходимо.
Иногда команда состоит из людей с разным образованием, национальностью и часовыми поясами, поэтому еще одна лучшая практика – это стараться выражать свои мысли и идеи как можно более четко, чтобы избежать недопонимания. Давайте и другим возможность высказаться. Помните, что доверие может быть легко подорвано недопониманием.
Обязательно выполняйте все свои задачи и, при необходимости, сообщайте причины, по которым вы не смогли достичь поставленных целей.
6. Используйте различные инструменты коммуникации
Ясная и четкая коммуникация – обязательное условие для QA-инженера. Часть вашей работы как тестировщика заключается в том, чтобы сообщать другим специалистам, что они сделали что-то, что привело к появлению багу в продукте, на создание которого они потратили время, деньги и усилия. Обычно это никому не нравится слышать…
Сообщать плохие новости – это искусство, а также лучшая практика для тестировщиков. Найдите способ преподнести эти новости так, чтобы другой человек воспринял их конструктивно и позитивно, а не критически и негативно. Кстати сообщать плохие новости командам на удаленке сложнее:).
Такие инструменты, как Slack и Microsoft Teams, помогают облегчить общение и коммуникацию, необходимую QA-инженеру для проведения тестирования и достижения целей команды. Для увеличения продуктивности очень важно заранее решить, какие новости сообщать по электронной почте, а какие с помощью таких инструментов, как Slack и Microsoft Teams.
7. Cоздавайте сообщество тестировщиков
Поддерживать связь с коллегами всегда полезно, чтобы быть в курсе последних новостей, методологий и технологий в мире тестирования. И не имеет значение где: на уровне компании или проекта. Это поможет вам, если вы ищете ответы на вопросы, связанные с тестированием, или способ улучшить свою карьеру в целом.
Став QA-инженером, вы начнете замечать за собой, что говорите о вещах, незнакомых вашим родным и друзьям, поэтому нет ничего лучше, чем поделиться своими мыслями о технологиях с коллегами, которые вас поймут. Ваша точка зрения может изменить чей-то день или проект.
8. Адаптируйтесь к изменениям
Для тестировщика жизненно важно быть в курсе новых методов, инструментов и практик, связанных с тестированием, чтобы успевать адаптироваться. Знакомство с чем-то новым способствует расширению вашей зоны комфорта и укреплению уверенности в себе.
В скором времени вы поймете, что задачи, которые казались сложными вначале, на самом деле требуют лишь настойчивости и труда. Общайтесь с теми, кто разделяет ваши цели, так как они будут вас поддерживать, поощрять и вместе с вами искать что-то новое.
Неготовность к переменам и отказ их принять приводит к потере контроля над управлением своей карьерой.
9. Пишите хорошие тест-кейсы
Важно писать понятные тест-кейсы и предоставлять детали, потому что когда вам или другим тестировщикам придется вернуться к этим тест-кейсам через некоторое время, например, для проведения регрессионного тестирования, вы сможете точно знать, что и как тестировать.
Другими словами, плохо написанные тест-кейсы приводят к неэффективному использованию ресурсов, что выражается в затрате времени, усилий, и могут привести к серьезным проблемам при выполнении тестов и большим финансовым потерям.
10. Используйте инструменты управления качеством
Использование инструментов управления качеством является лучшей QA-практикой по многим причинам. Во-первых, это поможет вам отслеживать свой рабочий процесс, чтобы ваши коллеги, тиммейты и лиды могли видеть, над какими задачами вы работаете. Кроме того, они также помогают правильно хранить и классифицировать тест-кейсы для использования в будущем.
Таким образом, вы можете предусмотреть, какие из тест-кейсов могут быть выполнены в ходе регрессионного тестирования, а какие могут быть автоматизированы, обновлены или даже устарели по мере изменения функциональности продукта.
11. Сочетайте автоматизацию и ручное тестирование
В практике тестирования бывают случаи, когда тесты должны быть выполнены исключительно тестировщиком без использования каких-либо инструментов. В этих случаях, даже если тестировщик не пишет код, очень важно точно описать шаги воспроизведения проблемы или ошибки. Это называется ручным тестированием.
Сочетание ручного и автоматизированного тестирования является ключевым фактором успешного проекта. Автоматизированное тестирование действительно экономит время и бюджет, но нужно помнить о “парадоксе пестицида”, который утверждает, что выполнение одного и того же набора тест-кейсов в течение долгого времени не будет способствовать выявлению новых багов.
12. Используйте CI/CD
В устаревших методологиях разработки ПО, таких, как waterfall, команды работают строго последовательно: когда одна команда завершает свои задачи, проект передается следующей команде.
Когда приоритетом стала скорость разработки, эта методология перестала быть востребованной. Компаниям потребовались методологии быстрой разработки и предоставления услуг своим клиентам. Это привело к появлению новой Agile методологии. В этой методологии появилось больше инкрементных действий, выполняемых непрерывно в более быстром темпе. Непрерывное тестирование – это лучшая практика для обеспечения непрерывной доставки программных продуктов.
При непрерывной интеграции код хранится в центральном репозитории. Разработчики работают над внесением небольших изменений в код и регулярно загружают небольшие участки кода в центральный репозиторий. Работа тестировщиков в этой методологии сводится к выполнению серии тестов при каждом обновлении кода. Необходимо тестировать новые модули и проводить регрессионное тестирование, чтобы увидеть, как внесенные изменения влияют на основной функционал продукта.
Тестирование – это один из процессов, который может и должен быть автоматизирован в рамках CI/CD для обеспечения непрерывного тестирования и поиска ошибок на ранних стадиях процесса разработки. Идея заключается в том, чтобы находить баги как можно раньше, поскольку гораздо легче исправить ошибку, если она обнаружена на ранней стадии. Это делает ее исправление менее дорогостоящим.
13. Документируйте найденные баги
В ходе тестирования программного обеспечения можно найти множество багов. Помните, что правильно документировать баги – одна из самых важных задач. Существует множество способов документирования найденных багов, например, скриншоты и запись экрана. Существует огромное количество расширений для браузера, которые могут облегчить эту работу.
Обязательно присваивайте найденным багам уникальные идентификаторы, например, номер ошибки, четкое описание и подробные шаги воспроизведения.
14. Будьте устойчивыми
Устойчивость – это ваша способность противостоять трудностям, восстанавливаться и двигаться вперед. Устойчивые люди переживают неудачи и стресс, но они используют свои сильные стороны и обращаются за помощью, чтобы преодолеть трудности и справиться с проблемами. Будучи тестировщиком, вы можете использовать свою устойчивость, чтобы принять ситуацию, адаптироваться и двигаться дальше.
За каждой неудачей следует извлеченный урок. Если вы примете те вещи, которые вы не можете поменять или проконтролировать, то сможете направить свои усилия на то, что можно изменить и проконтролировать. Таким образом вы продолжите учиться и расти.
Заключение
Данный список лучших практик тестирования может не охватывать все моменты, но я надеюсь, что вы найдете их полезными для продолжения своего пути в качестве тестировщика. Просто помните, что всегда нужно поддерживать атмосферу, где вся ваша команда отвечает за качество, а не только вы.
Давайте продолжим развивать сообщество QA, чтобы каждый QA-инженер мог получать поддержку от других.
Перевод статьи Rafael Fuentes «14 Best Practices to Improve Your QA Testing Skills».