- Selenium
- Apache JMeter
- TestNG
- Watir
- TestLink
- Sikuli
- JUnit
- Capybara
- Appium
- FitNesse
- Gatling
- Selendroid
- Open Test
- Cypress
- Serenity
Инструменты для автоматизации помогают планировать, создавать и выполнять тесты, генерировать баг-репорты и многое другое. Обязательны к использованию для тщательного тестирования продуктов.
Мы составили топ бесплатных open-source инструментов для автоматизированного тестирования.
1) Selenium
Selenium — самый популярный инструмент автоматизированного тестирования. Помогает тестировать веб-приложения, работает на разных платформах и в разных браузерах.
Особенности:
- Не требователен к ресурсам (особенно по сравнению с другими инструментами для тестирования)
- Тест-кейсы, созданные с помощью Selenium, могут быть выполнены в любой ОС
- Поддерживает писать тесты на разных языках программирования (Java, Python, C#, Perl, PHP, JavaScript)
- Поддерживает параллельное выполнение тестов, что сокращает время тестирования
Ссылка: https://www.selenium.dev/
2) Apache JMeter
JMeter — open-source инструмент для нагрузочного тестирования. Это десктопное приложение позволяет создать нагрузку на тестируемое веб-приложение и измерить его производительность.
Особенности:
- Позволяет проводить нагрузочное тестирование на серверах разных типов
- Может использоваться и для функционального тестирования
- Использует XML-формат для хранения тест-планов, что позволяет создать тест-план в любом текстовом редакторе
Ссылка: https://jmeter.apache.org/
3) TestNG
TestNG — инструмент, позволяющий проводить end-to-end тестирование ваших приложений.
Особенности:
- Легко интегрируется во многие тест менеджмент системы
- Удобное управление тест кейсами
- Возможность распределения тест-кейсов между несколькими пользователями
- Поддержка ролей пользователей
- Поддержка нескольких проектов
- Возможность импорта/экспорта тест-кейсов
Ссылка: https://testng.org/doc/
4) Watir
Кроссплатформенное open-source приложение для тестирования веб-приложений. Написан на Ruby. Одно из самых удобных бесплатных инструментов для автоматизированного тестирования, позволяющих симулировать поведение пользователя.
Особенности:
- Растущее активное комьюнити
- Поддержка разных браузеров и платформ
- Простой в использовании и одновременно мощный инструмент
Ссылка: http://watir.com/
5) TestLink
Самая популярная бесплатная тест-менеджмент система. Позволяет синхронизировать спецификацию и тест-кейсы. Поддерживает роли пользователей.
Особенности:
- Поддержка нескольких проектов
- Возможность импорта/экспорта тест-кейсов
- Возможность генерации тест-планов, отчетов в различных форматах
- Поддержка ролей пользователей
Ссылка: http://testlink.org/
6) Sikuli
Open-source инструмент для автоматизированного тестирования. В основном используется для взаимодействия с элементами веб-страниц. Sikuli использует технику распознавания изображений и работает с веб-элементами как с картинками.
Ссылка: http://www.sikuli.org/
7) JUnit
JUnit — Java-фреймворк для Unit-тестирования приложений, написанных на Java.
Особенности:
- Имеет GUI
- Удобное управление наборами тестов
- Понятный подход к написанию тестов
Ссылка: https://junit.org/junit4/
8) Capybara
Инструмент, позволяющий тестировать веб-приложения симулируя поведение реальных пользователей.
Особенности:
- Интуитивный API, использующий язык реального пользователя взаимодействующего с сайтом
- Поддержка разных браузеров
Ссылка: https://github.com/teamcapybara/capybara
9) Appium
Open-source инструмент для тестирования мобильных приложений. Один из лучших бесплатных инструментов, позволяющий тестировать приложения разных типов: как нативные, так и гибридные приложения. Поддерживает автотесты на эмуляторах и симуляторах.
Особенности:
- Нетребователен к ресурсам
- Для тестирования нативных приложений не нужно SDK. Appium предлагает стандартный API, который работает на всех платформах.
- Простой в установке и использовании
- Поддерживает разные языки программирования для написания тестов (Ruby, Java, PHP, Node, Python)
Ссылка: http://appium.io/
10) FitNesse
Фреймворк для тестировщиков, разработчиков и клиентов. Один из лучших инструментов для автоматизированного тестирования, позволяющий совместно создавать вики с тест-кейсами. Работает с разными языками программирования.
Особенности:
- Просто установить и начать пользоваться
- Дает гибкость при документировании тестов
- Поддерживает Java, C# и Python
Ссылка: http://www.fitnesse.org/
11) Gatling
Gatling — инструмент для тестирования веб-приложений. Позволяет программистам находить ошибки и определять медленные запросы на ранней стадии разработки.
Особенности:
- Интегрируется в CI пайплайны
- Интегрируется с инструментами мониторинга ошибок
- Предоставляет очень подробный дашборд
Ссылка: https://gatling.io/
12) Selendroid
Selendroid — фреймворк для автоматизированного тестирования Android приложений разных типов (нативных и гибридных).
Особенности:
- Удобно находить UI элементы с помощью локаторов разных типов
- Может одновременно взаимодействовать с несколькими Android устройствами
- Позволяет тестировать мобильное приложение из коробки (не нужно ничего добавлять для тестирования)
Ссылка: http://selendroid.io/
13) Open Test
Бесплатный инструмент для тестирования API, веб-приложений, мобильных приложений. Один из лучших open-source инструментов, который не требует знаний программирования и позволяет протестировать любой продукт.
Особенности:
- Поддерживает JavaScript
- Для тестирования веб-приложений использует Selenium
- Поддерживает системы контроля версий
- Позволяет запускать тесты в разных окружениях
Ссылка: https://getopentest.org/
14) Cypress
Open-source решение для тестирования веб-приложений.
Особенности:
- Позволяет делать снапшоты и снимать видео теста
- Поддерживает Live-reload (автоматически перезагружается после внесения изменений в тест)
- Позволяет тестировать responsive сайты с помощью изменения вьюпорта
Ссылка: https://www.cypress.io/
15) Serenity
Альтернатива Selenium для автоматизации регрессов. Отличный open-source инструмент.
Особенности:
- Делает скриншоты при выполнении тестов
- Стимулирует к написанию чистого кода
- Генерирует test coverage отчеты (показывают степень покрытия функциональности тестами)
Ссылка: http://www.thucydides.info/