Обзор популярных сервисов тестирования - Блог ITVDN
ITVDN: курсы программирования
Видеокурсы по
программированию

    Заказать звонок

    Выбери свою IT специальность

    Подписка

    Заказать звонок

    +38 099 757 27 82

      Обзор популярных сервисов тестирования

      advertisement advertisement

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

      1. Robot Framework

      Robot Framework – это фреймворк для приемного тестирования (Acceptance Testing) и, помимо прочего, так называемого ATDD (Acceptance Test-Driven Development). Среда написана на языке Python, но также может быть развернута в рамках Jython (Java) и IronPython (.NET). По сей причине считается кроссплатформенной, ибо поддерживает Windows, Linux и MacOS соответственно.

      Достоинства:

      • Упрощает автоматическое тестирование благодаря использованию подхода keyword-driven тестирования, в значительной мере помогая тестерам в создании читабельных, легко производимых тестов. 
      • Простота в использовании «тестового синтаксиса».
      • Имеет в наличии отменную среду, включающую в себя богатый набор различных инструментов и библиотек, выполненных в виде отдельных проектов.
      • Огромное количество различных API делает систему очень гибкой.
      • Хотя и не в виде встроенной функции, однако Robot Framework позволяет проводить параллельные тесты при использовании библиотеки pabot или Selenium Grid.

      Недостатки:

      • Трудно настроить структуру html-отчетов.

      Примечание: эта среда будет очень полезной, если Вы нацеливаетесь на Keyword-Driven тестирование – и обширная база библиотек и расширений вряд ли заставит Вас в этом усомниться. Однако, чтобы добавить новые ключевые слова (RF test library API) базовые познания Java/Python/C программирования обязательны.

      2. JUnit

      JUnit – это среда для проведения юнит-тестов для приложений, написанных на языке Java.

      Достоинства:

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

      Недостатки:

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

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

      3. Spock

      Spock – это среда тестирования и спецификации для приложений, написанных на языках Java или Groovy. За основу взята среда JUnit.

      Достоинства:

      • Позволяет создавать читабельные тесты с поддержкой чисто английских предложений, без необходимости следовать ограничениям языков программирования.
      • Предоставляет информативный контекст возникнувшей проблемы. Плюс, дает легко понять, что необходимо сделать, дабы исправить обнаруженный недостаток.
      • Имеет встроенную поддержку mock и stab объектов.
      • Поддерживает DDT (Data-Driven Tests).

      Недостатки:

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

      Примечание: идеально подойдет, если Ваше приложение базируется на JVM, плюс, Вы нацеливаетесь на BDD автоматическое тестирование с DSL.

      4. NUnit

      NUnit – среда для юнит-тестирования языков .NET виртуальной машины. Имевшей однажды огромное влияние JUnit, среда NUnit была полностью написана на C#. Помимо прочего, в арсенале так же имеется целый спектр новых возможностей, позволяющих использовать все преимущества языков .NET.

      Достоинства:

      • Быстрая инициализация и выполнение теста.
      • Использует методы типа Assert с поддержкой аннотаций.
      • Позволяет проводить параллельное тестирование.
      • Поддерживает TDD.

      Недостатки:

      • Так как использует только языки .NET стандарта, не является кроссплатформенным.
      • Интеграция в среду Visual Studio не представляется возможной. Использование NUnit означает больше расходов на сопровождение проекта.

      Примечание: прекрасный фреймворк юнит-тестирования для C# с открытым исходным кодом, долгой историей и проверенной репутацией. Однако, в случае, если вы уже активно работаете с .NET языками, обратите свое внимание на MSTest.

      5. TestNG

      TestNG – сервис автоматического тестирования для Java. По сути, это те же JUnit и NUnit, но с улучшениями и новым функционалом (ибо NG читается как «новое поколение» - Next Generation). Среда была разработка для покрытия всех видов тестирования, которые только могут понадобится. А именно: юнит-тестирование, функциональное тестирование, тестирование интеграции и прочее.

      Достоинства:

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

      Недостатки:

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

      Примечание: если вы работаете с Java, ищите инструмент для мульти задачного тестирования и можете уделить некоторое время на установку программы – TestNG определенно для Вас.

      6. Jasmine

      Jasmine – среда для юнит-тестирования JavaScript. Так же известен как Behavior Driven Development (BDD) подход JavaScript тестирования. Идеально подходит для веб-сайтов, проектов Node.js и вообще для всего, где JavaScript может найти свое применение. В основном используется в связке с AngularJS.

      Достоинства:

      • Кроме JavaScript, так же может быть применен по отношению к Python или Ruby. Чрезвычайно полезен, если Вам нужен один сервис тестирования как для клиентской разработки, так и для серверной.
      • Поддерживается множеством CI (Codeship, Travic и прочее).
      • Имеет встроенный Assert-синтаксис.

      Недостатки:

      • В большинстве сценариях требует прогонщика тестов (такого как Karma).
      • В случае с асинхронным тестированием возникают трудности.

      Примечание: Jasmine может оказаться прекрасным решением, если Вы нуждаетесь в унифицированном (клиент-серверном) сервисе юнит-тестирования.

      7. Mocha

      Mocha – это еще один сервис JavaScript юнит-тестирования с занятным для русскоязычного сектора названием и отнюдь не банальным функционалом. Используется на NodeJs, в основном часто применяется в связке с ReactJS.

      Достоинства:

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

      Недостатки:

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

      Примечание: если Вы ищите независимую среду юнит-тестирования для JavaScript, Mocha – Ваше все!

      А какую среду автоматического тестирования используете Вы? Что хорошего и что не очень Вы могли бы о ней сказать? Пожалуйста, приобщайтесь к дискуссии в комментариях! 😊

      Автор перевода: Евгений Лукашук

      Оригинал статьи

      КОММЕНТАРИИ И ОБСУЖДЕНИЯ
      advertisement advertisement

      Покупай подпискус доступом ко всем курсам и сервисам

      Библиотека современных IT знаний в удобном формате

      Выбирай свой вариант подписки в зависимости от задач, стоящих перед тобой. Но если нужно пройти полное обучение с нуля до уровня специалиста, то лучше выбирать Базовый или Премиум. А для того чтобы изучить 2-3 новые технологии, или повторить знания, готовясь к собеседованию, подойдет Пакет Стартовый.

      Стартовый
      • Все видеокурсы на 3 месяца
      • Тестирование по 10 курсам
      • Проверка 5 домашних заданий
      • Консультация с тренером 30 мин
      59.99 $
      Оформить подписку
      Премиум Plus
      Загружай видео уроки
      и учись без интернета
      • Все видеокурсы на 1 год
      • Тестирование по 24 курсам
      • Проверка 20 домашних заданий
      • Консультация с тренером 120 мин
      • Скачивание видео уроков
      199.99 $
      Оформить подписку
      Базовый
      • Все видеокурсы на 1 год
      • Тестирование по 16 курсам
      • Проверка 10 домашних заданий
      • Консультация с тренером 60 мин
      89.99 $
      Оформить подписку
      Notification success
      Мы используем cookie-файлы, чтобы сделать взаимодействие с нашими веб-сайтами и услугами простым и значимым.