Test Management for JIRA и его применение при разработке программного обеспечения

При старте проекта многие задаются вопросом «Где вести тестовую документацию?».
В этой статье мне хотелось бы рассказать вам об инструменте Test Management for JIRA (в данном случае плагин рассматривается как инструмент) для того, чтобы удобно, эффективно и качественно составлять и управлять тест дизайном проекта.
Почему нам стоит обратить внимание к этому инструменту? Потому что он:
— Удобно устанавливается, поддерживается
Установка происходит через раздел управление плагинами в JIRA
— Есть связь с JIRA
Да, поначалу этим не удивишь, но фишка в том, что он идет как плагин к JIRA и не нужно отдельно интегрироваться с другими инструментами тест менеджмента.
Как это улучшит мою работу?
Аналитик создает задачу — тестировщик прикрепляет тест-кейсы к задаче — разработчик, без авторизации в какую либо систему тест менеджмента, сразу видит тест кейс и шаги к нему, которые ему необходимо пройти перед передачей функционала на тестирование.
Это не только улучшит вашу работу, но и ускорит ее.
— Красивые, понятные отчеты в виде диаграмм
Не только тестировщики смогут составлять отчеты, но и вся команда.
— Добавление и удаление своих статусов к тест кейсу, планам, ранам и результатам 🙂
— Составление чек листа к задаче на разработку
— Приоритизация и распределение по label в каждом тест кейсе
Поможет, например, при проведении регресса найти все необходимые тесты по label — regress
— Добавление окружений
При необходимости прогона определенного тест кейса на определенном окружении
— Создание общего тест кейса с описанием проверок и прикрепление его к необходимым сценариям
Применяется когда результат можно получить разными способами
— Возможность интеграции с системой непрерывной интеграции
Автоматическая фиксация успешно или неуспешно пройденного теста. Используется через REST API.
Что мне делать если у меня уже написаны тест кейсы в другой системе и я не хочу переписывать?
Существует возможность импорта из файла.
Импорт из:
— Adaptavist Test Management
— Microsoft Excel
— CSV
— QAComplete
— TestLink
— TestRail
— TestTrack
— REST API
— Другое

Да, он платный, но никто не отменял юзать триал версию 😉
Вся документация по Adaptavist Test Management for JIRA.
TM4J
Это приложение для Linux под названием TM4J, последний выпуск которого можно загрузить как tm4j-bin-0.9.8.zip. Его можно запустить онлайн в бесплатном хостинг-провайдере OnWorks для рабочих станций.
Загрузите и запустите онлайн это приложение TM4J с OnWorks бесплатно.
Следуйте этим инструкциям, чтобы запустить это приложение:
— 1. Загрузил это приложение на свой компьютер.
— 2. Введите в нашем файловом менеджере https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.
— 3. Загрузите это приложение в такой файловый менеджер.
— 4. Запустите онлайн-эмулятор OnWorks Linux или Windows или онлайн-эмулятор MACOS с этого веб-сайта.
— 5. В только что запущенной ОС OnWorks Linux перейдите в наш файловый менеджер https://www.onworks.net/myfiles.php?username=XXXXX с желаемым именем пользователя.
— 6. Скачайте приложение, установите его и запустите.
Home

Каждый проект уникален и у каждой команды свои запросы. Однако всех нас объединяет желание работать с качественными инструментами, которые экономят время и позволяют QA-специалистам тестировать качественнее и быстрее, в идеале чтобы TMS могла в автотесты.
Мы вновь проанализировали проверенные временем и новые системы управления тестированием, которые сейчас популярны на рынке. Выбрали функции, которые должны быть в Test Management System нашей мечты, сравнили возможности продуктов и изучили отзывы пользователей. Делимся списком инструментов, один из которых точно подойдёт вашей команде.
Здесь нет рейтинга, у каждого инструмента есть свои преимущества и недостатки. В основном инструменты тест-менеджмента платные, однако у каждой из них есть бесплатная пробная версия.
Что мы хотим от удобной Test Management System?
Пользователь TMS ожидает увидеть следующее:
- Удобная установка и поддержка.
- Удобный и понятный интерфейс.
- Создание и управление проектами.
- Создание пользователей и проектных ролей для пользователей.
- Удобная интеграция с автоматическими тестами.
- Создание тест-плана.
- Создание тест-кейса.
- Создание чек-листа.
- Создание общего шага
- Версионирование тест-кейса/чек-листа.
- Создание пользовательских атрибутов/конфигураций.
- Прогон тест-кейса/чек-листа.
- Понятная система отчётности.
- Встроенная система баг-трекинга.
- Возможность оповещения коллег внутри и вне системы.
- Возможность интеграции с другими инструментами.
Зачем нужна TMS?
Решить задачу создания единой TMS для работы со всей документацией проекта можно несколькими способами:
- Самый дешёвый способ — не заморачиваться и выбрать Google Docs для матрицы трассируемости, а дефекты вести в open-source баг-трекере.
- Другой способ — использовать одну из популярных TMS-ок, интегрированную с баг-трекером компании.
- Next-level способ — выбрать Test Management System, исходя из специфики проектов, объемов задач, типов документации и используемых видов тестирования.
Очень важно подойти к вопросу выбора TMS ответственно, ведь для компании цена ошибки может оказаться высокой.
Популярные системы управления тестированием на 2020 г
- ALM Octane
- Test IT
- TestRail
- Zephyr
- Allure EE
- TM4J
- Qase
- PractiTest
- Testuff
- Azure
- MTM TFS
- Kualitee
Рассмотрим выбранные инструменты подробнее:
1. ALM Octane
ALM Octane — долгожитель среди систем управления и жизненным циклом продукта, и его тестировании. Инструмент позволяет осуществлять планирование, создание, тестирование и контроль на всех этапах разработки. Сложен в первоначальном освоении, но незаменим для компании крупной руки, где особое внимание уделяется деталям производства. Поддержана функциональность общих шагов. Работа с автоматизированными тестами. Фактические время прохождения для каждого тестового сценария. Реализована функциональность вебхуков.
Присутствует внутренний баг-трекер. Удобная система конструирования отчетов.
Именно потому, что продукт уже обкатан, в интернете есть великое множество мануалов и видеогайдов по настройке и использованию.

- Общий доступ к библиотекам требований и ресурсов
- Подробные сведения о коде, тестировании, управлении рисками и их оценке, а также о соответствии требованиям
- Быстрый доступ к показателям, например к данным о не устранённых дефектах
- Быстрая настройка лабораторной среды для устранения ошибок конфигурации в средах Agile
- Работа с автоматизированными тестами
- Вебхуки
- Удобная система отчетов
- Создание требований и отслеживание их выполнения на всех этапах жизненного цикла приложения
- Аналитика на любой вкус и цвет: гибко настраиваемые отчёты
- Интеграция с 50+ инструментами
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
2. Test IT
Test IT — TMS, которую создают тестировщики для тестировщиков. Этот инструмент отличает продуманный и понятный интерфейс. Внутри системы можно создавать проекты и вести для каждого структурированную библиотеку тестовых случаев и чек-листов, часто повторяющиеся операции выделяются в общие шаги. Инструмент гибкий — в каждом проекте создаются дополнительные пользовательские атрибуты/конфигурации, распределяются проектные роли и права, что упрощает настройку TMS под процессы вашей компании. Test IT помогает руководителям групп тестирования равномерно распределять нагрузку между тестировщиками и контролировать исполнение работ с помощью пользовательских запросов и отчётов. Также в рамках самой системы есть возможность общаться с коллегами, не используя сторонние мессенджеры.
Разработчики приложения уделяют большое внимание автоматизированному тестированию, каждый тестовый случай в библиотеке тестов можно линковать с автотестами по API. Правильно настроенная интеграция с автотестами позволяет следить за прогонами и их результатами прямо из TMS в режиме реального времени. Вы сможете видеть, какие автоматические тесты в процессе выполнения, анализировать их результаты и просматривать исходный код прямо из Test IT. При необходимости можно создать тест-ран вне системы и заполнить его своими автотестами без линка с тестовыми сценариями.
Test IT активно развивается, берет фичареквесты от своих пользователей и забивает ими 40% беклога, есть грамотная техподдержка.

Test IT активно развивается, берет фичареквесты от своих пользователей и забивает ими половину беклога, есть грамотная техподдержка на русском.
- Управление тест-планами, тест-кейсами и чек-листами
- Общие шаги для повторяющихся действий
- Создание пользовательских атрибутов/конфигураций
- Автоматическое распределение тестов на QA инженеров
- Интеграция автоматических тестов с помощью API
- Создание тест-ранов вне системы с дальнейшим управлением состояния
- Аналитика как по автоматическим, так и по ручным тестам
- Внутренний чат и вебхуки во внешние системы
- Ролевая модель и персонализация
- Геймификация
- Двусторонняя интеграция с JIRA
- Расширенная функциональность API
- Импорт из других систем управления тестированием
Бесплатная пробная версия: Открытая демо-версия на сайте
Ссылка на скачивание
3. TestRail
Это программное обеспечение удобно как для команд QA, так и для разработки. План тестирования можно выстроить как по сценарию гибкой методологии, так и для более традиционного подхода. Инструмент позволяет получить представление о ходе тестирования в реальном времени. Вы можете строить конфигурированные отчеты по необходимым вам метрикам. В новых версиях появилась интеграция с Assembla. Так же была поддержана функциональность внутреннего чата и оповещений во внешнюю систему.

Помимо возможности разложения своих тестовых сценариев по тест-ранам с их дальнейшим помещением в тест-планы, вы можете использовать такую сущность как Milestone, которая позволит удобно настроить процесс прохождения тестирования.
Можно настроить типизации проекта для ведения в нем тестовой документации.
- Отслеживание состояния и результатов отдельного теста
- Сравнение результатов нескольких тестов, конфигураций и этапов
- Типизация проектов для ведения тестовой документации
- Внутренний чат и оповещения во внешнюю систему
- Отслеживание рабочей нагрузки команды для корректировки задач и ресурсов
- Развёрнутые отчёты и метрики
- Широкие возможности настройки, облачные или локальные варианты установки
- Интеграция с JIRA, Redmine, YouTrack, GitHub, Jenkins, Selenium и Visual Studio
- Удобный REST API
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
4. Zephyr
Zephyr — это плагин для всем известной JIRA, который интегрирует тестирование в проектный цикл, позволяя вам отслеживать качество программного обеспечения и принимать решения в стиле go / no-go. В новых версиях была поддержана работа с автоматизированными тестами.

Тест кейсы могут создаваться, выполняться и отслеживаться так же, как и любые другие задачи в JIRA. Для более оптимальной фиксации процесса тестирования есть интеграция с инструментами управления качеством, автоматизации, непрерывной интеграции и аналитики. Присутствует возможность создания пользовательских атрибутов. Кроме того, у продукта быстро отвечающая техподдержка.
- Ссылка на user-stories, задачи, требования, дефекты
- Конфигурации деплоя: в облаке, на сервере, в дата-центре
- Расширенная информация на дашбордах аналитики и DevOps
- Интеграция с JIRA, Confluence, Selenium, Jenkins и Bamboo
- Автоматизированные тесты
- Создание пользовательских атрибутов
- Понятная система отчетов.
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
5. Allure EE
Allure – это фреймворк для создания простых и понятных отчётов автотестов (для любого языка), представляет из себя инструмент, позволяющий внести прозрачность в процесс создания и выполнения функциональных тестов. Красивые и понятные отчёты Allure помогают команде решить многие проблемы и начать наконец разговаривать на одном языке. Allure Enterprise стал логичным продолжением подхода automation first и поддерживает обновление тестовой документации из кода автотестов. У инструмента есть множество интеграций с фреймворками тестирования и разными языками программирования.

Возможности
- Легкая интеграция с automation tools
- Компиляция кода в кейсы
- Расширенные отчеты по автотестам
- Проработанный UX
- Совмещение работы с мануальными и автоматизированными кейсами
- Многопоточность автотестов
- Пользовательские атрибуты
- Тайм-менеджмент (TimeLine)
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
6. TM4J
TM4J он же Adaptavist – это приложение для управления тестированием в JIRA, позволяет вести тестовую документацию в JIRA. Линкование тестовых сценариев и issue непосредственно в JIRA. Поддержана работа с автоматизированными тестами. Возможность объединения повторяющихся шагов в общий шаг.

- Линкование тестовых сценариев и issue не выходя из JIRA
- Работа с автоматизированными тестами
- Внутренний багтрекер
- Понятная система отчетов
- Использование общего шага
- Фактическое время прохождения теста
- Экспорт данных в Excel
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
7. Qase
Qase это облачная TMS, которая поможет вашей команде повысить производительность и организовать удобный флоу тестирования программного обеспечения. Поддержана функциональность объединения постоянно повторяющихся действий в общий шаг, импорт данных из других TMS. Управление ролями и разрешениями для пользователей системы. В новой версии была доработана система отчетов.
- Тестовый репозиторий: выстраивание тестов в логические группы
- Составление шагов для кейсов, установка приоритета и серьёзности
- Запуск тестовых прогонов с трекингом времени по каждому тест
- Хранение документации по проекту
- Автоматическое заведение дефектов в интегрированные трекеры
- Интеграция с JIRA, Redmine, YouTrack и Slack
- Объединение результатов автотестов с REST API
Бесплатно для небольших компаний
Ссылка на скачивание
8. PractiTest
PractiTest — это комплексное средство управления тестами. Оно дает полную картину процесса тестирования и более глубокое понимание результатов тестирования. Этот инструмент поможет организовать тест-сьюты в соответствии с вашими циклами и спринтами. Тестовые наборы можно формировать по различным критериям, таким как компоненты, версии или типы. Тул заточен на Agile-тестирование, регрессионное тестирование, тестирование микросервисов и DevOps.

В новых версиях была доработана функциональность работы с автоматизированными тестами.
В техподдержке работают обученные QA-сотрудники, которые могут быстро понять вашу проблему.
- Лёгкое добавление тестов новых фич в регрессионное тестирование
- Группировка тестов на основе микросервисов, которые они охватывают, даже кросс-сервисные
- Различное отображение информации для разных групп пользователей
- Дашборды в реальном времени показывают состояние тестов, прогонов на этапах разработки и при деплое на прод
- Интеграция с JIRA, Redmine, Jenkins, GitLab и Slack
Бесплатная пробная версия: 14 дней
Ссылка на скачивание
9. Testuff
Команда Testuff делает действительно удобный инструмент, данная TMS старается объединить в себе все методы тестирования, начиная от waterfall model и заканчивая black box testing.
Разработчики Testuff отдельно выделили свой продукт как единственную TMS, которую можно использовать на любом девайсе: смартфоны, планшеты и т.д

В данном решении есть все необходимое для TMS: классный интерфейс, понятный и удобный способ ведения тестовой документации, конфигурации и пользовательские атрибуты, два способа интеграции с любым существующим баг-трекером, а также добавили видеорекордер.
- Планирование тестов
- Интуитивный drag-n-drop интерфейс
- Наглядные отчёты с подробными графиками
- Два способа интеграции со сторонними инструментами баг-трекинга
- Возможность тестировать с любого девайса
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
10. Azure DevOps Server
Это мощный инструмент работы с тестами и автотестами, за счет своей комплексности вы можете настроить своё рабочее пространство, как вам необходимо. Работайте напрямую со своими CI/CD сервисами, интегрируйте свои репозитории прямиком в Azure, ведите тестовую документацию по спринтам, которые будете раскладывать по бордам, делайте максимально детальные отчеты по вашей тестовой документации и результатам её прохождения.

Отдельно стоит упомянуть возможность интеграции с IDE от компании Microsoft, вы можете редактировать и настраивать свой код прямиком через Azure и интегрироваться со всевозможными системами от компании Microsoft.
- Интеграция с любым продуктом компании Microsoft
- Нативный интерфейс
- Интеграция с любым CI/CD
- Ведение удобных Dashboards
- Работа с автотестами
- Пользовательские атрибуты
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
11. MTM TFS
Team Foundation Server (TFS) — комплексное решение от Microsoft, которое включает в себя систему управления версиями, сбор данных, построение отчетов, отслеживание статусов и изменений по проекту.
Microsoft Test Manager — часть этого продукта и требует установки Visual Studio. Такое сочетание дает возможность связать задачи, которые поставлены перед тестировщиком, с заведенными дефектами и отчетами о затраченном на работу времени.

Планы и результаты тестирования сохраняются на сервере Team Foundation Server.
МТМ включает в себя тест-план, тест-кейс и конфигурации.
Сам TFS является проприетарным ПО, лицензия — коммерческая. Работает на трех уровнях: клиентский уровень, прикладной уровень и уровень данных, в зависимости от чего возможна работа или через web, или через десктоп-приложение. МТМ работает только на прикладном уровне, поэтому требуется установка на сервер (если сервер удаленный, работа проводится через VPN).
- Исследовательское тестирование
- Планирование и выполнение ручных тестов
- Кроссплатформенные конфигурации тестов (разные версии одного теста для разных платформ/релизов)
- Диагностика прохождения теста (логи, видео и т. п.)
- Импорт-экспорт тестов
- Межпроектный импорт-экспорт тестов
- Запись и воспроизведение ручных тестов (рекордер)
- Автоматизация тестов
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
12. Kualitee
Kualitee — продукт Kualitatem, компании по тестированию программного обеспечения и информационной безопасности, специализирующейся на обеспечении безошибочной работы приложений повсюду.

Kualitee предлагает функции управления проектами, управления тестированием, управления дефектами с интеграцией с баг-трекерами. Гибкая система пользовательских атрибутов позволяет очень точно настроить необходимое рабочее пространство. Дополнительно есть возможность глубокой настройки профилей пользователя и его прав доступа.
- Управление проектами
- Управление дефектами
- Управление тестовой документацией
- Персональная панель инструментов
- Продуманная настройка пользователей
Бесплатная пробная версия: 30 дней
Ссылка на скачивание
Понравился пост? Не забудьте поделиться им!
И помните, только тестировщик стоит между багами и клиентом! 🙂
Tm4j что это
Автоматизация тестирования
latest update of the page: 24-04-2023, 13:46 UTC
Присмотреться к чужому опыту
Базовое
- Написание автоматических тестов для тестирования пользовательского интерфейса десктопных приложений
- Selenium для всех: как мы учим QA-инженеров работать с автотестами. Примечательно то, что они задумались и даже реализовали какое-никакое автоматическое вычисление какие тесты запускать под выбранную задачу, на основе того какие файлы изменил разраб в репозитории. Т.е. своеобразный impact-analysis в тестировании.
- Как сократить издержки на автотестах
- Пожалуй, лучшая архитектура для UI тестов (НТЦ ПРОТЕЙ, 2020). Java.
- Антипаттерны тестирования ПО (unit-тесты, интеграционные тесты) (2018)
Комплексный подход
- Что делать, если у вас слишком много автотестов? (Сергей Потанин, Wrike, 2020)
- Автоматизация End-2-End тестирования комплексной информационной системы. Часть 1. Организационная
- Автоматизация End-2-End тестирования комплексной информационной системы. Часть 2. Техническая
Интересное
Тестирование в условиях микросервисной архитектуры и Service mesh
- Реализация Consumer-Driven Contract подхода для тестирования микросервисов (Фрол Крючков, Авито, 2018)
- Consumer-Driven Contracts глазами разработчика (2019)
Cucumber
- Руководство: Cucumber + Java (2017)
- Cucumber 3 + Java (2018)
- Cucumber Selenium Java Example
Coded UI
- Time for Coded UI Tests
- Тестируем UI с помощью Coded UI Test
- Walkthrough: Creating, Editing and Maintaining a Coded UI Test
- тестирование на уровне кода — модульное ( unit testing). Это тестирование одного модуля кода (обычно это одна функция или один класс в случае ООП-кода) в изолированном окружении. Это значит, что если код использует какие-то сторонние классы, то вместо них подсовываются классы-заглушки (моки и стабы). Код не должен работать с сетью (и внешними серверами), файлами, базой данных, иначе мы тестируем не саму функцию или класс, а еще и диск, базу, и т.д.
- тестирование через API. API — это набор функций, которые можно вызывать, чтобы получить какие-то данные.
Например, у Яндекс.Карт есть API геокодера. Отправив к нему запрос с географическим адресом, ты можешь получить координаты точки (и наоборот), а у Центробанка есть API, которое возвращает официальный курс валют в заданный день.
Если у твоего приложения есть API, то можно тестировать его, посылая заранее подготовленные запросы и сравнивая пришедший ответ с ожидаемым. - тестирование через пользовательский интерфейс — GUI-тестирование. Имитация действий пользователя в браузере с помощью специальных тестовых фреймворков (типа Selenium).
- серия программных продуктов Selenium
- PhantomJS
- JUnit
- PhpUnit
Компания созрела для автотестов?
| Если хочется | , то для этого нужно | и скиллы ролей |
|---|---|---|
| проектирования и разработки автотестов | 1. Сначала нужно провести тест-анализ продукта/сервисов — выявить требования, определить процент покрытия их существующими тестами, определить технологический стек, используемый тестируемыми сервисами и их БД. | тест-аналитика, лида |
| 2. Определиться с уровнем тестирования: фронт, бэк, UI, API (web REST, web не REST, RPC. ), десктоп/мобильное приложение и т.п. | тест-аналитика | |
| 3. Определиться каким образом будем тестировать: функциональное, интеграционное, нагрузочное. | тест-аналитика | |
| 4. Исходя из п.1-3 подобрать ЯП и фреймворк (готовый или создавать самим) для автотестов. Используем ли Selenium для UI, используем ли Cucumber с его Gherkin. И т.п. |
опытного разработчика автотестов, тест-аналитика | |
| 5. Для подачи на вход автоматизаторам, требуется, чтобы кто-то составлял тест-кейсы по требованиям. Возможно, это будет тест-аналитик или сами тестировщики. Требуется удобный инструмент для хранения тест-кейсов (какой-нибудь древний HP ALM, современная Jira-плагин TM4J, что-то ещё. |
тест-аналитика, тестировщика | |
| 6. Непосредственно разработка автотестов. Требуется обеспечить разработчиков удобной IDE (платной/бесплатной), исходя из выбранных языков/фреймворков в п.4. |
разработчика автотестов | |
| 7. Исходя из п.1-3 можно уже сколько и каких сервисов требуется развернуть для тестирования. Таким образом выходим на технические требования к тестовому стенду (CPU/RAM, OS, будет ли это Openshift и прочее и прочее) и БД на них. Нужны ли в наличии актуальные мобильные устройства для прогона на них автотестов. Далее происходит обсуждение с ЛПР есть ли бюджет на покрытие этих технических требований, надо ли где-то ужиматься за счёт уменьшения тестового покрытия. Обычный процесс «торговли» за бюджет и поиски компромисса. |
||
| встраивания автотестов в CI/CD | 8. Выбрать инструмент для CI/CD. Возможно, решено использовать Jenkins как один из самых распространённых, по установке/настройке/решению проблем с которым легко найти ресурсы в Сети. Определить как будут запускаться job’ы с автотестами, на каких машинах, с какими параметрами, в каком виде мы хотим получать отчёт о тесте (Allure, кастомные виды представлений. ). Определить на какой машине с какими ресурсами будет размещён выбранный инструмент, какая там будет ролевая модель (кто будет иметь права на запуск/редактирование job’ов). Если делать это всё без инструмента, т.е. запуск будет производиться вручную или средствами cron в linux или job’ов Windows — то всё равно это требует обсуждения. |
любого кто пользовался выбранным инструментом CI/CD — разработчика автотестов, администратора, тестировщика. |
| * методик нагрузочного тестирования, * разработки и актуализации средств нагрузочного тестирования (сценарии и скрипты НТ , эмуляторы, скрипты генерации данных , скрипты анализа результатов), |
9. После п.1 провести тест-анализ сервисов в разрезе именно нагрузочного тестирования, в т.ч. получение профия нагрузки с ПРОДа, опрос администраторов, поддерживающих ПРОД и т.п. Отталкиваясь от требований, определить что следует нагружать и каким образом, какими способами будем измерять, какие метрики будем использовать. |
тест-аналитика, тестировщика-нагрузочника |
| 10. Определить какие технические ресурсы нам потребуются для реализации задуманного по НТ. Провести обсуждение с ЛПР есть ли бюджет на такие ресурсы, надо ли где-то ужиматься за счёт уменьшения тестового покрытия. Обычный процесс «торговли» за бюджет и поиски компромисса. |
тестировщика-нагрузочника, архитектора, тест-аналитика, лида | |
| 11. На основании тест-анализа в разрезе НТ из п.9 спроектировать сценарии НТ, определить необходимость скриптов анализа данных, учесть их в сценариях. | тестировщика-нагрузочника, тест-аналитика | |
| 12. На основании сценариев НТ из п.9 определяем необходимость подготовки данных в БД. Какие они должны быть. Нужно ли их подготавливать отдельными скриптами или же можем себе позволить репликацию с БД прода полностью или частично. | тестировщика-нагрузочника, тестировщика данных, тест-аналитика | |
| 13. На основании тест-анализа из п.1 и п.9 определяем нужны ли нам заглушки, моки, синтетические тестовые приложения (имитирующие поведение задействованных в сценарии сервисов) | тестировщика-нагрузочника, разработчика автотестов, тест-аналитика | |
| 14. Непосредственно разработка скриптов НТ. | тестировщика-нагрузочника, разработчика автотестов | |
| 15. На основании данных из п.10 и п.12 провести обсуждение с ЛПР есть ли бюджет на такие ресурсы, надо ли где-то ужиматься за счёт уменьшения тестового покрытия. Обычный процесс «торговли» за бюджет и поиски компромисса. | тестировщика-нагрузочника, архитектора, тест-аналитика, лида. | |
| поддержки разработанных автотестов | — | разработчика автотестов и немного тест-аналитика. |
Что автоматизировать
Какие тест-кейсы стоит автоматизировать в первую очередь
- покрывающие самые критические для Бизнеса бизнес-процессы и юзкейсы
- часто требующиеся к (пере)прохождению
- которые слишком сложно и неудобно выполнять вручную
, например, содержащие проверку данных, требующих точных математических и логических расчётов (банковское, бухгалтерское, аналитическое ПО)
или проверку структуры многочисленных файлов/сообщений, созданных системой. - требующие много времени на ручное прохождение
, например по проверке корректности отображаемых результатов поиска данных в ответ на запрос по данным
или проверяющие длинные бизнес-процессы, требующие действий под различными пользовательскими ролями на многочисленных формах UI и в различных системах.
Какие тест-кейсы НЕ СТОИТ автоматизировать
- разработанные недавно и еще не проверенные вручную
- требования для которых постоянно меняются
- разработанные для специфической задачи
Общие рекомендации
- Разметка автотестов по @Tag, @Category, @Feature, @Types, @Step и прочему. Не экономьте на этом.
Такая группировка автотестов позволяет производить запуск не всех 100500 тестов при каждом чихе, а именно тех, которые связаны с изменённой/добавленной функциональностью.
Также это позволяет производить трассировку между тестами и функциональностью. - Кошерный автотест в случае PASS (успешного прохождения) «убирает за собой», возвращая данные и настройки тестового стенда в состояние, максимально близкое к исходному. Если, конечно, настройки тестируемых приложений менялись в ходе теста, если в ходе теста создавались/изменялись объекты данных.
Если автотест упал, то чистить за собой ему не надо, потому что его данные потребуются для расследования причины падения.
Также, хорошей идеей может быть создание cleanup-скрипта, который по расписанию, например, ранним утром каждый день, чистит данные, которые были созданы за предыдущий период время упавшими тестами; предполагается, что за 1-2 дня все упавшие автотесты были расследованы и их данные нам больше не нужны). - Здесь про must have
- TBD
- Файлы проекта укладываются в контейнер с указанием запускающего файла start.sh и публикуются в хранилище YYY.
- При запуске тестов из Jenkins, контейнер устанавливается в Openshift/k8s и происходит автоматический запуска скрипта start.sh
- все файлы из контейнера копируются в папку /tmp/tests
- запускается сборка проекта Maven’ом с запуском тестов
- по завершению сборки и тестов формируется allure-отчёт
Java + Maven + Cucumber + Selenium
Создадим примитивные helloworld GUI-тест и API-тест с использованием Java, Maven, Cucumber (+JUnit) и Selenium.
Нижеизложенное выполнялось под Windows 10 и Intellij IDEA Ultimate 2020.1.
Установка
- Установить JRE (Java Run-Time Environment) = https://www.java.com/ru/download/
Посредством консоли убедиться что Java установлена, например: > java -version java version «1.8.0_261» Java(TM) SE Runtime Environment (build 1.8.0_261-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode) - Установить JDK: SE или EE.
Ссылки для Java Standard Edition:- Java SE download = https://www.oracle.com/java/technologies/javase-downloads.html
- JDK installation guide = https://docs.oracle.com/en/java/javase/14/install/overview-jdk-installation.html
- JAVA_HOME = [путь установленного JDK, например C:\Program Files\Java\jdk-14.0.2 ]
- в переменную Path добавить путь %JAVA_HOME%\bin
- download = https://maven.apache.org/download.cgi
- installation guide = https://maven.apache.org/install.html
- installation guide = https://mkyong.com/maven/how-to-install-maven-in-windows/
- MAVEN_HOME = [путь установленного Maven, например C:\Program Files\apache-maven-3.6.3 ].
- в переменную Path добавить путь %MAVEN_HOME%\bin
Настройка IDEA, создание Проекта, настройка dependencies
- Настроить Intellij IDEA на работу с Maven.
- Меню File/Config -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven. Maven home directory = путь до каталога с Мавен
- .. Maven->Importing. JDK for importer = Use JAVA_HOME
- .. Maven->Runner. JRE = Use JAVA_HOME
- OK
- +Create New Proejct
- Maven
- Archetype = org.apache.maven.archetypes:maven-archetype-quickstart
- Project SDK = [путь до JDK]
- Next
- Заполняем Name, выбираем Location
- Заполняем GroupId и ArtifactId, например = org.tests и helloworld
- Finish
mvn clean compile
Hello world
- Структура проекта, создание cucumber-файлов для фич и кода
TBD - Hello World test
TBD