gallery/65

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

 

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

Автоматизированное тестирование

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

 

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

 

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

 

Автоматизированными тестовыми сценариями можно покрыть:

 - Unit-тестирование: тестирование модулей, классов, библиотек

 - тестирование API (Application Programming Interface): набор готовых классов, функций, процедур, предоставляемых приложением (сервисом) для взаимодействия с внешними продуктами. API работает по протоколу HTTPS (используются запросы GET, POST, PUT, DELETE), обмен данными происходит в формате JSON или XML.

 - тестирование GUI (Graphical User Interface). Самый распространенный вид автоматизации. Чаще всего используется Selenium Webdriver, интегрированный в разные языки программирования и фреймворки и имитирующий поведение реальных браузеров.

 

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

Для того чтобы начать автоматизировать в группе тестировщиков-автоматизаторов необходимы более глубокие знания языка программирования, некоторых технологий - git, sql, jenkins и т.д., кроме того знание специфических фреймворков Maven, JUnit, TestNG и паттернов программирования Singleton, Factory, Builder - фактически это достигается за год-два самостоятельного применения автоматизации.

 

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

 

 

 

 

 

 

 

 

 

 

 

 

Читайте на Facebook: http://bit.ly/3bjY2EG