Мир постоянно меняется, и чтобы ему соответствовать и успешно конкурировать, тестировщики программного обеспечения должны идти в ногу со временем. За изменением технологий невозможно угнаться. Но если мы не будем узнавать о новинках и тенденциях в нашей области и не будем открыты для их изучения, мы рискуем отстать как специалисты. А чтобы быть крутым специалистом в своей области, тестировщик должен освоить три навыка: социальное взаимодействие, agile-методологию разработки и автоматизацию.
Социальное взаимодействие
Навык социального взаимодействия полезен в любой отрасли. Для QA-инженеров существует много соцсетей, например, LinkedIn и Телеграм. В них группы и каналы по тестированию ПО. Присоединившись к ним, вы получите возможность обсуждать и комментировать статьи, связанные с тестированием.
Кроме того, читайте блоги и другие ресурсы, зарегистрируйтесь на сайтах для тестировщиков программного обеспечения. Комментируйте блог-посты на Хабре или напишите собственную статью им в блог. Также можно делиться хорошими блог-постами и статьями, связанными с тестированием программного обеспечения.
Взаимодействуйте с авторами или подпишитесь на них в Телеге или LinkedIn. Сначала сомневаешься, стоит ли вообще с ними связываться и общаться, но потом понимаешь, что все они открыты к общению и готовы помочь. Простой ретвит или репост в LinkedIn не только позволяет обмениваться информацией, но и устанавливает связи с людьми, имеющими схожие навыки и интересы.
БЕСПЛАТНО СКАЧАТЬ QA КНИГИ можно в телеграм канале "Библиотека тестировщика"
Если вы хотите отточить навык социального взаимодействия еще больше, присоединяйтесь к краудтестинговым платформам, таким, как uTest, и зарабатывайте, выполняя краткосрочные проекты по тестированию.
Agile-методология разработки
Agile-методология продолжает быть трендом в разработке программного обеспечения, и тестировщикам необходимо с ней познакомиться. Одним из отличий agile-методологии от традиционной (поэтапной) разработки является концепция “вся команда ответственна за качество продукта”. Тестировщикам важно уделять этому особое внимание.
Agile-команды являются кросс-функциональными, в них заинтересованные лица, разработчики и тестировщики работают вместе и общаются каждый день. В таких командах разработчики не “уходят в тень после написания кода”, а другие члены команды не работают в изоляции друг от друга.
Agile-методология подразумевает итеративную разработку, где все члены команды несут ответственность за высококачественный продукт. Это часто означает, что разработчиков, владельцев продукта или бизнес-аналитиков просят помочь в тестировании, в то время как тестировщики больше занимаются автоматизацией и тестированием технологий. Если при поэтапной разработке у всех членов команды четко определены роли и расписаны обязанности, то при agile-разработке все работают сообща, чтобы создать высококачественный код, даже если для них это означает выход из зоны комфорта.
Еще одно отличие agile-методологии от традиционного подхода состоит в том, что тестировщики принимают активное участие в проверке требований на ранних стадиях, часто еще до написания кода.
Тестировщики активно задают вопросы по каждой пользовательской истории (эквиваленту функциональных требований в agile/scrum), чтобы лучше определить критерии приемки и “критерии готовности”. Эти критерии часто используются в качестве основы для написания тест-кейсов, а благодаря разработке через приемочное тестирование (Acceptance Test Driven Development (ATDD)) тесты могут быть написаны до кода и макетов дизайна.
Автоматизация
Изучение таких agile-методик, как разработка через приемочное тестирование (ATDD) или через поведение (BDD), позволяет тестировщикам ПО без знаний программирования структурировать свои тест-кейсы таким образом, чтобы их можно было легко автоматизировать.
Примечание редакции: вас, возможно, заинтересует статья “Как автоматизировать в Agile?”.
Используя соответствующие ключевые слова и фразы для описания теста, можно программировать тестовые шаги и повторно их использовать с помощью различных фреймворков.
Cucumber – это фреймворк, который позволяет тестировщикам писать автотесты без знаний кода. Эти тесты, написанные в определенном формате, читаются как обычный текст и являются полноценными тест-кейсами. Поскольку тест-кейсы преобразуются в код, то нет необходимости вести отдельный документ при их обновлении. Ваша документация всегда будет соответствовать коду.
У тестировщиков ПО есть и другие возможности освоить навыки автоматизации. Изучив простые методы автотестирования, они смогут создавать скрипты для сравнения фактических результатов с ожидаемыми или скрипты для сбора или очистки тестовых данных. Популярный инструмент Selenium доступен каждому тестировщику (он имеет открытый исходный код). Его можно изучить бесплатно, а для заинтересованных также доступны практика и поддержка.
Получайте выгоду
Повышайте навыки социального взаимодействия, чтобы находить сообщества людей, которые могут помочь с ответами на все интересующие вас вопросы. Технологии и инструменты часто меняются, но благодаря бесплатной информации в Интернете тестировщику легко оставаться в тренде.
Общайтесь в социальных сетях, устанавливайте контакты с другими тестировщиками. Узнавайте больше, изучая agile-методологию разработки и автоматизацию тестирования. Экспериментируйте и применяйте полученные знания. Делитесь своими знаниями с другими. Совсем скоро вы обнаружите, что сами помогаете другим, и тоже станете экспертом.
Перевод статьи «3 skills every software tester needs right now».