Эта статья была первоначально опубликована на CrossBrowserTesting . Спасибо за поддержку партнеров, которые делают возможным использование SitePoint.
Чтобы достичь идеального баланса между скоростью и качеством , команды, которые надеются достичь непрерывной интеграции и непрерывной доставки, также должны внедрить непрерывное тестирование .
Это часто легче сказать, чем сделать. Практически невозможно, чтобы ваша команда выполняла тесты в любой момент — в конце концов, у них есть жизни вне работы, и может быть трудно поставить обед на стол, одновременно выполняя сценарий Selenium . Итак, как вы запускаете свои сценарии, даже если вас нет за столом?
К счастью, вы можете реализовать различные варианты громкой связи для непрерывного тестирования, которые позволят вам выполнять тесты, пока вы едите, спите или, возможно, даже проводите предварительное тестирование .
Почему непрерывное тестирование
Какой смысл в постоянном тестировании? Есть несколько основных преимуществ, которые позволят вам добиться большего в вашей повседневной жизни.
- Тестируйте, пока вы спите. С помощью непрерывного тестирования вы можете буквально тестировать во сне. Установив тесты для выполнения в одночасье, вы можете испытать роскошь прийти на следующее утро, чтобы результаты ваших тестов ждали вас и сразу же знали, прошли ли они. Просто спросите Американскую Тестовую Кухню о том, насколько это удобно.
- Будьте в курсе Agile, DevOps и CI / CD. Когда команды разработчиков программного обеспечения постоянно интегрируются, вам нужна стратегия тестирования, чтобы гарантировать, что эти новые функции, исправления и изменения будут внедрены в процесс обеспечения качества, независимо от того, насколько часто они реализуются. Непрерывное тестирование — это единственный способ, которым команды QA могут не отставать от постоянно меняющихся функций, частых интеграций и быстрых рабочих процессов.
- Улавливать ошибки в каждой регрессии — когда в коде приложения постоянно происходят небольшие изменения, оно может нарушить то, что ранее функционировало. И вы не хотите, чтобы ваши клиенты были теми, кто поймал это. Непрерывное тестирование поможет вам первыми обнаружить новые ошибки, чтобы вы могли быстро отлаживать и выпускать пользователям с уверенностью.
- Повышайте уровень своей автоматизации игры — автоматизируйте свою автоматизацию с помощью непрерывного тестирования и настройте тесты так часто, как вам нужно. Затем вернитесь к результатам тестирования или скриншотам, которые точно скажут вам, что вам нужно знать о состоянии ваших приложений. Кроме того, параллельное тестирование позволяет еще больше ускорить непрерывное тестирование, чтобы увеличить охват браузера без ущерба для времени выполнения.
Непрерывное тестирование на сервере CI
Selenium WebDriver уже давно предоставляет командам возможность автоматизировать тестирование в разных браузерах. Но для непрерывного запуска этих тестов необходим инструмент непрерывной интеграции, такой как Jenkins, VS Team Services, Buildbot, Bamboo, CircleCI, TravisCI, Codeship или TeamCity.
Безусловно, наиболее популярным вариантом является Jenkins , сервер автоматизации с открытым исходным кодом, написанный на Java. Фактически, согласно исследованию состояния тестирования SmartBear 2018 , 66 процентов участников выбирают Jenkins своим CI-сервером. Для групп разработчиков, использующих рабочие процессы Agile и DevOps, Jenkins — это надежный инструмент для непрерывной интеграции и доставки.
Но как насчет команд тестирования, которые хотят использовать Jenkins для непрерывного тестирования с Selenium ? Интеграция CrossBrowserTesting с Jenkins позволяет вам запускать автоматизированные функциональные тесты с Selenium, Appium и визуальные скриншоты, что означает, что каждый раз, когда вы запускаете процесс сборки, вы можете одновременно запускать свой комплект тестирования в тысячах браузеров .
Это идеально для групп, которые уже работают с Selenium и инструментом CI для развертывания, чтобы начать тестирование на постоянной основе. Хотя Jenkins, как правило, является наиболее популярным выбором для CI и автоматического планирования тестирования, CrossBrowserTesting также интегрируется с TeamCity и VS Team Services, поэтому независимо от того, какие инструменты вы уже используете, легко интегрировать CrossBrowserTesting в ваш текущий рабочий процесс.
Непрерывное тестирование с помощью инструмента записи и воспроизведения
Для команд, которые могут быть менее знакомы с Selenium, но все же хотят автоматизировать, инструмент записи и воспроизведения может быть более практичным вариантом.
Record & Replay позволяет командам осуществлять автоматизацию в разных браузерах , как это было бы с Selenium, не требуя знания сценариев и сред. Это предоставило командам более доступный вариант для менее автоматизированных членов команды или тех, кто только начинает работать с автоматизацией, для создания автоматизированных тестов. По мере того, как такие инструменты, как Selenium IDE и ее альтернативы, вновь оказываются в центре внимания, эти опции становятся все более и более привлекательными для современных групп тестирования .
Но где инструменты записи и воспроизведения обычно запускают тест только один раз, чтобы проверить, прошел ли тест, как тестеры могут осуществлять непрерывное тестирование?
С новым планированием в CrossBrowserTesting вы можете запланировать запуск набора Record & Replay так часто, как вам нужно. Для организаций, у которых меньше технических тестеров, это позволяет вам проводить непрерывное тестирование, не требуя навыков для запуска Selenium и Jenkins или другого сервера автоматизации.
Непрерывное тестирование скриншотов
Команды, которые сосредоточены исключительно на функциональном тестировании без использования визуального тестирования, будут разочарованы, когда все их тесты пройдут, а пользователи по-прежнему будут указывать на визуальные ошибки.
Когда визуальные элементы могут меняться от браузера к браузеру или от устройства к устройству и усложнять или даже затруднять работу пользователя, при этом все еще функционируя правильно, важно запускать сравнение скриншотов в регрессии. Сравнение этих страниц рядом с их историческими версиями означает, что вы можете быть в курсе изменений, которые нарушают работу приложения, чтобы выполнить отладку до того, как они достигнут конечного пользователя.
Хотя вы всегда можете запускать автоматические снимки экрана в CrossBrowserTesting, для выполнения этих тестов с определенной частотой требуется ручное движение. Теперь вы можете настроить эти скриншоты для запуска с новой функцией планирования, так же, как с Record & Replay.
Непрерывное тестирование для каждой команды
Независимо от того, какие инструменты вы уже используете, на каком техническом уровне вы находитесь, или как далеко продвинулась ваша команда в процессе автоматизации тестирования, есть варианты, которые помогут каждой команде выполнить непрерывное тестирование в CrossBrowserTesting .
Имея опции для планирования тестов с помощью Selenium, Record & Replay и автоматизированных снимков экрана, вы можете поднять свою автоматизацию на новый уровень и получать результаты тестов по электронной почте или Slack на ежедневной, еженедельной или ежемесячной основе, по вашему выбору.