ДомойОбучениеАвтоматизированное тестирование

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

Этой статьей мы начинаем большой цикл по cypress.io.

В нашей первой статье мы рассмотрим следующие темы:

  • Что такое Cypress?
  • Чем он лучше других инструментов?
  • Архитектура Cypress
  • Основные компоненты архитектуры
  • Различные функции, предоставляемые Cypress
  • Отличия между Selenium и Cypress?
Data driven testing, или DDT-подход (еще встречается определение “параметризованное тестирование”) - трендовая вещь в тестировании. Подробнее о параметризации тестов можно почитать здесь, а пока продолжим теорию. Если коротко, тестовые данные хранятся в табличном формате, во внешних электронных таблицах, в 99% случаев в Excel-формате (поэтому иногда бывает еще одно определение - “table-driven testing”).

Методологии Lean & Agile уже стали правилом в разработке, настало время повсеместного внедрения DevOps.

Методология DevOps особым образом сочетает скиллы и инструменты команды, направляя все рабочие процессы на ускорение разработки. Главной целью DevOps является быстрый выпуск качественного продукта. Введение методологии (и выделение специальной должности DevOps-инженера) направлено на внедрение в команде убеждения, что качественный софт есть ответственность всех ее участников: разработчиков, QA-отделе, аналитиков и в других отделах. 

В статье собраны рекомендации по подготовке и реформировании QA-команды, а также составлен список инструментов для QA DevOps.

Нет, здесь не говорим об экзотике типа Rust, Julia, Crystal или Elixir. 

Тестировщик, претендующий на высокую зарплату, в 2022 году обязан иметь профильные технические знания/навыки. Тестировать интерфейс еще допустимо без знания ЯП; но вот что-то сложнее уже не получится; невозможно предметно разбираться в автоматизации, тестировании API, баз данных и микросервисов без знания языков. 

К счастью, в 2022 году языки для тестировщика все еще достаточно традиционные и широко используемые, по ним есть много хороших туториалов и книг. 

Флейки-тесты, они же “флаки”, они же нестабильные, они же ненадежные, они же “моргающие”, они же “случайно успешные”

Flaky-тест, буквально “хлопчатый”, “рассыпающийся на кусочки”, в индустрии ИТ-тестирования означает нестабильный, ненадежный тест, который иногда “pass”, иногда “fail”, и трудно понять, по какой закономерности. Убийца времени тестировщика, источник нервозности в команде.

На такие тесты тратится много времени. Возникает задержка, пока команда не разберется, в чем дело. Конечно, страдает продуктивность.

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

Юнит-тестирование и интеграционное тестирование среди двух самых часто применяемых типов тестирования, которым подвергается софт.

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

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

Ниже пример, как это было у меня. Я проанализировал проблемный тест, нашел причину проблемы, и сократил задержку выполнения на целых 70%. 

Последние посты

Последние комментарии