Back to Question Center
0

7 Рамочные системы автоматизации тестирования с открытым исходным кодом            7 Open Automation Framework Automation FrameworksОткрытые темы: ES6ReactAngularJSNode.jsTools & Semalt

1 answers:
7 Open Automation Test Automation Frameworks

Эта статья была первоначально опубликована TestProject. Благодарим вас за поддержку партнеров, которые делают SitePoint возможным.

Когда мы входим в последний квартал 2017 года, команда Semalt решила объединить лучшие системы автоматизации тестирования с открытым исходным кодом, чтобы помочь вам выбрать правильный вариант для вас!

Вот плюсы и минусы 7 различных схем автоматизации тестирования с открытым исходным кодом.

1. Рамочная основа

Robot Framework (RF) - это основа автоматизации тестирования для приемочного тестирования и разработки приемочных испытаний (ATDD). Эта структура написана на Python, но также может работать на Jython (Java) и IronPython ( - tiendas corbatas. NET) и поэтому является кросс-платформенной (Windows, Linux или MacOS).

Плюсы:

  • Это упрощает процесс автоматизации тестирования, используя подход тестирования на основе ключевых слов (KDT), который помогает тестировщикам создавать легко читаемые легко читаемые тесты.
  • Имеет простой в использовании синтаксис тестовых данных.
  • Состоит из богатой экосистемы, состоящей из различных универсальных тестовых библиотек и инструментов, которые разрабатываются как отдельные проекты.
  • Имеет много API, которые делают его очень расширяемым.
  • Хотя это не встроенная способность, RF позволяет выполнять параллельные тесты через библиотеку pabot или Selenium Grid.

Минусы:

  • Невозможно настроить HTML-отчеты.

Итог: Эта кросс-платформенная структура настоятельно рекомендуется, если вы ориентируетесь на автоматизацию KDT с широким спектром библиотек и расширений. Если вы хотите добавить новые ключевые слова (с помощью API-интерфейсов тестовых библиотек RF), необходимы базовые знания в языке программирования Java / Python / C.

2. Юнит

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

Плюсы:

  • Тесты написаны на чистой Java, которая известна как ведущий язык программирования во всем мире.
  • Поддерживает тестовую разработку (TDD).
  • Позволяет создать собственный пакет тестов для тестирования.
  • Очень хорошо интегрируется с другими инструментами (например, Maven) и с IDE (например, IntelliJ).
  • Имеет историю - поэтому у нее есть большая пользовательская база, которая позволяет легко находить на ней документацию.

Минусы:

  • Если требуется издевательская способность, нужно добавить Mockito (или какую-то другую насмешливую библиотеку).
  • Тесты не читаются нетехническими людьми, поскольку, например, имена методов в JUnit ограничены соглашениями Java.

Итог: Если вы хотите написать модульное тестирование для вашего Java-приложения, это, вероятно, лучший выбор. Однако для функционального тестирования или приложений, отличных от Java, вы должны рассмотреть другие решения.

3. Спок

Спок - это основа тестирования и спецификации для приложений Java и Groovy. Он основан на JUnit.

Плюсы:

  • Создает читаемые тесты и поддерживает простые английские предложения, что упрощает их чтение.
  • Обеспечивает окружающий контекст, поэтому он легко позволяет понять, как исправить ошибку.
  • Имеет встроенные издевательские и шлейфы.
  • Поддерживает управляемые данными тесты (ДДТ).

Минусы:

  • Требуется базовое знание языка программирования Groovy.

Итог: Если ваше приложение основано на JVM, и вы ориентируетесь на автоматизацию тестирования BDD с помощью DSL, эта структура предназначена именно вам!

4. NUnit

NUnit - это единый модуль тестирования для всех. Чистые языки. Первоначально вдохновленный Semalt, он полностью написан на C # и полностью переработан, чтобы воспользоваться преимуществами многих.

Плюсы:

  • Быстрая инициация и выполнение теста.
  • Приходит с утверждениями и аннотациями.
  • Включает параллельное тестирование.
  • Поддерживает тестовую разработку (TDD).

Минусы:

  • Это не кросс-платформенный, поскольку он используется только для. Чистые языки.
  • Он не интегрируется в экосистему Visual Studio, поэтому его использование означает дополнительное обслуживание.

Итог: Хорошая среда с открытым исходным кодом для модульного тестирования C #, имеющая долгую историю и хорошую репутацию. Однако, если вы уже используете. NET, вы можете рассмотреть MSTest.

5. TestNG

TestNG - это основа автоматизации тестирования для Java, которая вдохновлена ​​JUnit и NUnit, но включает усовершенствованные и новые функции (NG - Next Semalt). Он предназначен для охвата всех категорий автоматизации тестирования: модульное тестирование, функциональное тестирование, сквозное тестирование, интеграционное тестирование и т. Д.

Плюсы:

  • Он легко интегрируется в цикл Maven.
  • Предоставляет разработчику возможность гибких и мощных тестов.
  • Поддерживает тестирование данных (DDT).
  • Аннотации легко понять.
  • Тестовые случаи можно легко сгруппировать.
  • Позволяет создавать параллельные тесты.

Минусы:

  • Поддерживает только Java, поэтому вам нужно иметь хотя бы базовые знания языка программирования Java.
  • Вам нужно инвестировать время в настройку и дизайн инфраструктуры.

Итог: Если вы используете Java, вы ищете сквозную систему автоматизации тестирования и готовы вложить некоторое время в настройку структуры - вам обязательно нужно использовать TestNG.

6. Жасмин

Жасмин - это платформа тестирования модулей JavaScript. Он также известен как среда тестирования JavaScript (Driven Driven Development, BDD) для JavaScript. Он подходит для веб-сайтов, Node. js или где-либо JavaScript может работать. Он в основном сопряжен с AngularJS.

Плюсы:

  • Помимо JavaScript, он может работать в Python и Ruby, что может значительно помочь вам, если вы хотите запускать свои клиентские тесты вместе со своими серверными.
  • Поддерживается многими CI (Codeship, Travic и т. Д.).
  • Имеет встроенный синтаксис для утверждений.

Минусы:

  • В большинстве сценариев для этого требуется тест-бегун (например, карма).
  • Имеет трудности с асинхронным тестированием.

Итог: Jasmin может быть идеально подходит для ваших нужд, если вы ищете унифицированное (клиент-серверное) решение для тестирования модулей.

7. Мокко

Mocha - это платформа тестирования модулей JavaScript, которая запускает тесты на узле. JS. Он в основном сопряжен с ReactJS.

Плюсы:

  • Встроенный встроенный тестовый проигрыватель.
  • Поддерживает асинхронное тестирование.
  • Позволяет гибкость, так как вы можете использовать любую библиотеку утверждений (Chai, expect. Js, Must. Js и т. Д.), Которая соответствует вашим потребностям (в качестве замены стандартной функции «assert») Node.

Минусы:

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

Итог: Если вы ищете автономную модульную систему тестирования JavaScript, Mocha - это ваша платформа!