инженер-тестировщик

(Русский) Как стать крутым специалистом по автоматизации тестирования

Sorry, this entry is only available in Russian. For the sake of viewer convenience, the content is shown below in the alternative language. You may click the link to switch the active language.

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

Профессия QA Automation engineer появилась на стыке программирования и обеспечения качества программных продуктов. На текущий момент многие технологические компании внедряют у себя инструменты автоматического тестирования софта, они позволяют сократить время и средства на внедрение ПО. Тестировщики-автоматизаторы востребованы на рынке труда. Рассказываем, что нужно знать, чтобы овладеть профессией, и по каким параметрам работодатель может оценить пригодность претендента на должность инженера по автоматизации тестирования.

 

1. Не стоит игнорировать ручное тестирование

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

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

Но даже здесь стоит принимать во внимание количество тест-кейсов в одном комплекте. Если их меньше 10, то автоматизирование не особо полезно, не важно, как часто вы планируете запускать сам тест.

Автоматизация заменяет ручное тестирование, но до определенной степени. Без знания кода тестировщику не обойтись. Отсюда вытекает следующий шаг овладения профессией.

 

2. Продвинутый уровень технического программирования

Тестировщик должен уметь писать код и разбираться в вопросах управления. Хотя, казалось бы, сама профессия QA-автоматизатора подразумевает некий продвинутый уровень «продуктивной лени».

По мнению старшего инженера-программиста Twitter Энджи Джонс, ключевым набором языков программирования, которыми должен овладеть специалист по тестам, являются:

  • Java
  • Python
  • Javascript
  • Ruby
  • C# 

Кроме того, необходимо профессионально разбираться в:

  • HTML / DOM: как строятся веб-страницы.
  • CSS / XPath: как элементы веб идентифицируются.
  • SQL: как управлять базами данных.

Знание нескольких языков поможет глубже понимать логику, которая за ними стоит, как ведут себя вещи в разных синтаксисах, точечно применять разные концепты (объектно-ориентированное программирование, структуры данных).

 

3. Погружение в вопросы работы приложений

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

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

  • Какой ЯП использовался при написании софта?
  • На какой платформе было построено приложение?
  • Какие базы данных подключены?
  • Какие веб-сервисы/API связаны с разными частями системы?
  • На какие функции и фичи была ориентирована разработка?
  • Было ли проведено ручное тестирование приложения?
  • Если да, то сколько часов было потрачено на проверку его работы?
  • Имеются ли выявленные багги или серьезные нерешенные проблемы у приложения?
  • Когда приложение планируют запустить?

Все это базовые предпосылки для построения автоматизированного теста, на практике все зависит от сложности приложения.

 

4. Опыт работы с инструментами автоматического тестирования

Наконец-то мы подошли к пункту, имеющему прямое отношение к профессии QA automation engineer.

Большинство современных технологических компаний уже имеют в арсенале инструменты автоматического тестирования программ. Еще два года назад их использовали порядка 35% организаций по всему миру, и планировали освоить еще 29%. Выгода от их внедрения заключается в повышении качества тестирования и экономии затрат.

В список наиболее популярных на рынке автоматических тестировщиков входят следующие платформы и фреймворки:

  • Selenium.
  • TestingWhiz.
  • HPE Unified Functional Testing (HP – UFT formerly QTP).
  • TestComplete.
  • Sahi.
  • Watir.
  • Tosca Testsuite.
  • Telerik TestStudio.
  • WatiN.

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

 

5. Определение ATLC методологии

Под ATLC подразумевается жизненный цикл автоматического тестирования (Automation Testing Life Cycle).

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

инженер автоматического тестирования

  1. Определение задач автоматического тестирования.
  2. Подбор инструментов для автоматического тестирования.
  3. Процесс внедрения.
  4. Планирование, дизайн, разработка.
  5. Запуск тестовых скриптов и управление.
  6. Анализ и оценка результатов работы.

 

6. Создание стратегии автоматического тестирования

Когда на руках есть методология, проще понять, что от вас требуют клиенты, разработчики или владельцы ПО. Обычно это: проверка багов, доработка Software Requirement Specification (документация о том, как должна вести себя система), описание критериев тестирования, автоматизация для кросс-платформенных проверок, тестирование софта не только на его юзабилити, но и регрессивное тестирование, проверка баз и интерфейса.

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

 

7. Быть в курсе свежих трендов автоматизации

В ИТ многие вещи меняются стремительно. Года достаточно, чтобы в автоматическом тестировании случились кардинальные преобразования. Необходимо мониторить лучшие практики, техники и инструменты, которые помогут оптимизировать стратегию и методологию создания автоматических тестов ПО.

Например, Quora среди трендов автоматизации 2018 года выделяет: повышенное внимание к инструментам open source, концепциям agile и DevOps, а также повышение требований к качеству и скорости проведения автоматических тестов.