Unit-тестированиеЧитать полностью »
Рубрика «junit»
Unit-тестирование — мастхэв?
2024-12-04 в 5:12, admin, рубрики: java, java junior, junit, mockito, testng, Unit-тестирование, бекенд, пет-проектыКак сделать базовый тест-класс для Selenium тестов и выполнить инициализацию через JUnit RuleChain
2019-12-23 в 8:03, admin, рубрики: autotest, download, headlessbrowser, java, junit, JUnitRunner, RuleChain, selenium, selenoid, Блог компании ГК ЛАНИТ, Ланит, Тестирование IT-системЭтой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ процесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло.
Как эффективно организовать иерархию классов? Как распределить пакеты по проектному дереву? Как сделать так, чтобы забыть о мердж-конфликтах при команде в 10 человек? Эти вопросы всегда стоят при старте новой разработки и на них никогда не хватает времени.
В этой статье мы описываем структуру классов и организацию кода, которая позволила нам небольшими силами разработать более полутора тысяч end-2-end UI тестов на базе Junit и Selenium для крупной системы федерального значения. Более того, мы ее успешно поддерживаем и постоянно дорабатываем существующие сценарии.
Здесь вы сможете найти практическое описание структуры иерархии базовых классов автотестов, разбиения проекта по функциональной модели java-packages и шаблоны-образцы реальных классов.
Статья будет полезна всем разработчикам, которые разрабатывают автотесты на базе Selenium.
Читать полностью »
Автоматизация End-2-End тестирования комплексной информационной системы. Часть 2. Техническая
2019-12-03 в 9:01, admin, рубрики: allure, autotest, download, headlessbrowser, junit, selenide, selenium, selenoid, Блог компании ГК ЛАНИТ, Тестирование IT-системЭтой статьей мы продолжаем серию публикаций о том, как мы автоматизировали в одном из крупных проектов ЛАНИТ автопроцесс ручного тестирования (далее – автотесты) большой информационной системы (далее – Системы) и что у нас из этого вышло.
Вторая часть публикации ориентирована в первую очередь на лидеров групп автоматизации UI end-2-end тестирования и ведущих тест-автоматизаторов. Здесь они найдут конкретные рецепты по архитектурной организации кода и развертывания, которая поддерживает массо-параллельную разработку больших групп тестов в условиях постоянной изменчивости тестовых спецификаций. В этой части приведен полный состав необходимых для UI-тестов функций с некоторыми деталями реализации, а также есть перечень сюрпризов, с которыми вы можете столкнуться.
Вот здесь вы найдете Часть 1. (Зачем нам была нужна автоматизация. Организация процесса разработки и управления. Организация использования)
Автоматизация End-2-End тестирования комплексной информационной системы. Часть 1. Организационная
2019-11-05 в 8:02, admin, рубрики: allure, autotest, download, headlessbrowser, junit, selenide, selenium, selenoid, Блог компании ГК ЛАНИТ, Ланит, Тестирование IT-системЭтой статьей мы открываем серию публикаций о том, как автоматизировали в одном из крупных проектов компании ЛАНИТ процесс ручного тестирования большой информационной системы и что у нас из этого вышло.
Первая часть – организационно-управленческая – должна быть полезна в первую очередь тем, кто отвечает за автоматизацию тестирования и создает такие системы в целом. Руководители проектов, лидеры групп и владельцы сервисов функционального и автоматического тестирования, все, кого волнует вопрос «как построить экономически эффективное end-2-end тестирование своей ИТ системы», найдут здесь конкретный план и методику.
JUnit в GitLab CI с Kubernetes
2019-07-26 в 6:37, admin, рубрики: continuous integration, devops, gitlab, gitlab ci, junit, kubernetes, werf, Блог компании Флант, системное администрирование, Тестирование IT-системНесмотря на то, что все прекрасно знают, что тестировать свой софт важно и нужно, а многие давно делают это автоматически, на просторах Хабра не нашлось ни одного рецепта по настройке связки таких популярных в этой нише продуктов, как (любимый нами) GitLab и JUnit. Восполним этот пробел!
Вводные
Для начала обозначу контекст:
- Так как все наши приложения работают в Kubernetes, будет рассмотрен запуск тестов в соответствующей инфраструктуре.
- Для сборки и деплоя мы используем werf (в смысле инфраструктурных компонентов это также автоматически означает, что задействован Helm).
- В детали непосредственного создания тестов вдаваться не буду: в нашем случае клиент пишет тесты сам, а мы лишь обеспечиваем их запуск (и наличие соответствующего отчета в merge request'е).
Как писать юнит-тесты, если совсем не хочется
2019-01-03 в 9:56, admin, рубрики: assert, java, junit, Программирование, статический анализ, табличка сарказм, Тестирование IT-систем, юнит-тестыВсех нас на работе то и дело пытаются заставить писать юнит-тесты. Многие уже поняли, что от них один вред. Написание тестов отнимает много времени, за которое вы могли бы сделать что-то более полезное. Если тест неожиданно начинает падать, ломается сборка на сервере непрерывной интеграции, не выкатывается вовремя релиз, бизнес теряет деньги и крайним оказываетесь вы, автор упавшего юнит-теста. При рефакторинге тесты причиняют головную боль, потому что начинают падать и приходится с этим разбираться.
Тем не менее злые начальники требуют больше тестов, говоря о так называемом «контроле качества». Особо хитрые менеджеры даже считают покрытие и не отпускают вас с работы, пока оно не будет достигнуто. Ваш код заворачивают на ревью, если в нём нет тестов или они чем-то не понравились. Сплошное расстройство!
Что же делать?
Магнитофон — инструмент для записи автотестов
2018-08-23 в 6:04, admin, рубрики: billmanager, ispmanager, ISPsystem, junit, автотесты, Блог компании ISPsystem, Тестирование IT-систем, Тестирование веб-сервисов
Добрый день, уважаемые читатели. Меня зовут Виктор Буров. Я работаю разработчиком в компании ISPsystem и хочу поделиться опытом автоматизации тестирования.
Так сложилось, что у нас превалировало ручное тестирование, и тестировщики тратили кучу времени на выполнение одних и тех же действий. Однажды мы подумали: почему бы не научить панель повторять действия тестировщика, ведь, по сути, все они превращаются в конкретные вызовы API. Это бы позволило писать тесты людям даже без навыков программирования.
Мы решили написать модуль создания автоматических тестов. Чтобы тестировщик мог просто нажать кнопку создания теста, выполнить условия тест-кейса и по окончании нажать «завершить» — и всё, тест был готов! Простая идея, но реализовать ее оказалось непросто. Потому что мы хотели, чтобы этот модуль был максимально адаптирован под наши продукты и использовал преимущество унифицированного интерфейса: чтобы сделанная запись выглядела как готовый тест-кейс. Это бы полностью избавило от ручной работы по написанию тестов. Получившаяся в итоге система получила название «магнитофон».
Читать полностью »
Пирамида тестов на практике
2018-05-20 в 11:38, admin, рубрики: CDC-тесты, devops, Galen, headless-браузер, json, junit, mockito, pact, REST-assured, selenium, solid, spring, tdd, wiremock, YAGNI, интеграционные тесты, контрактные тесты, Микроформаты, модульные тесты, пирамида тестов, Тестирование IT-систем, Тестирование веб-сервисов, управление разработкой, юнит-тестыОб авторе: Хэм Фокке — разработчик и консультант ThoughtWorks в Германии. Устав от деплоя в три ночи, он добавил в свой инструментарий средства непрерывной доставки и тщательной автоматизации. Сейчас налаживает такие системы другим командам для обеспечения надёжной и эффективной поставки программного обеспечения. Так он экономит компаниям время, которое эти надоедливые людишки тратили на свои выходки.
«Пирамида тестов» — метафора, которая означает группировку тестов программного обеспечения по разным уровням детализации. Она также даёт представление, сколько тестов должно быть в каждой из этих групп. Несмотря на то, что концепция тестовой пирамиды существует довольно давно, многие команды разработчиков по-прежнему пытаются неправильно реализовать её на практике должным образом. В этой статье рассматривается первоначальная концепция тестовой пирамиды и показано, как её воплотить в жизнь. Она показывает, какие виды тестов следует искать на разных уровнях пирамиды, и даёт практические примеры, как их можно реализовать.
- Важность автоматизации (тестов)
- Пирамида тестов
- Какие инструменты и библиотеки мы рассмотрим
- Пример приложения
- Юнит-тесты
- Интеграционные тесты
- Контрактные тесты
- Тесты UI
- Сквозные тесты
- Приёмочные тесты — ваши фичи правильно работают?
- Исследовательское тестирование
- Путаница с терминологией в тестировании
- Внедрение тестов в конвейер развёртывания
- Избегайте дублирования тестов
- Пишите чистый код для тестов
- Заключение
Примечания
Практика написания Android-тестов. Лекция Яндекса
2018-01-07 в 12:27, admin, рубрики: android тестирование, assertj, espresso, hamcrest, junit, mock, test-driven development, UI-тесты, Блог компании Яндекс, интеграционное тестирование, разработка мобильных приложений, Разработка под android, тестирование, Тестирование мобильных приложений, тесты, юнит-тестыС праздниками, друзья! Если вы не против научиться на каникулах чему-то новому, прочитайте лекцию Кирилла Борисова — разработчика систем авторизации Яндекса. Кирилл объясняет, как построить процесс тестирования Android-приложений, знакомит с современными инструментами и спецификой их использования.
— Прежде чем двинуться вперед, давайте устроим небольшой соцопрос. Кто из вас знает, что такое тесты? Кто пишет тесты? А кто знает, зачем он пишет тесты? Читать полностью »
JUnit тесты для логирования
2017-12-16 в 18:58, admin, рубрики: java, junit, log4j, mockito, PowerMock, slf4j, тестированиеЛогирование относится к сквозной функциональности — разбросанной по коду и, как правило, редко покрываемой юнит-тестами. Слабое покрытие тестами, очевидно, связано с тем что вывод в лог не всегда достаточно важен и воспринимается скорее как вспомогательная функция а не цель работы метода, к тому же тестировать сквозную функциональность бывает достаточно сложно.
Но когда корректность вывода в лог становится критичной или же чувство прекрасного требует от нас полного покрытия кода тестами — без тестирования логгеров становится не обойтись.
Читать полностью »