Что такое Report Portal?

Александр Рулёв
2 min readDec 16, 2016

--

Сходил на ReportPortal.io Community Meet-up #1, где анонсировали релиз ReportPortal’а, о котором писали на dev.by. Не все поняли, куда оно и зачем, что конкретно делает и как оно это делает. Попробую рассказать своими словами, насколько это я понял, будучи рядовым слушателем митапа.

Итак, у нас есть некий продукт. И у нас есть для него некие автоматические тесты (пусть будут все, начиная от юнит-тестов и до системных, где мы стараемся эмулировать действия реального пользователя).

С юнит-тестами всё ясно и понятно — они всегда или проходят, или падают, и если упали — это практически на 100% проблема в коде проекта (будем звать это Product bug). А вот с интеграционными/системными тестами всё становится интереснее. С кодом может быть всё нормально, но, например, пропала сеть и мы не смогли протестировать REST API. Или вдруг почему-то упал сервер с БД и бэкенд вернул 500. Будем называть такие проблемы System issue. И с системными тестами может приключиться третий исход — код проекта изменился, фронтэнд стал выглядеть иначе, а тесты никто не обновил и они валятся из-за того, что некорректны сами по себе (будем звать их Automation bug).

Мы прогоняем все наши тесты и отправляем их логи в ReportPortal. Он помечает все тесты как To Investigate. Мы руками смотрим каждый завалившийся тест и по логам определяем, действительно это настоящий баг продукта(Product bug), нынче некорректный тест (Automation bug), или проблемы с инфраструктурой (System issue). Так же можно добавлять свои собственные категории и категоризировать тесты в них.

… при последующих прогонах тестов есть возможность попросить систему провести автоматический анализ упавших тестов. Тогда она берёт логи этих тестов и сравнивая (пока нехитро, в будущем обещают умнее) с логами старых прогонов, которые ранее мы обрабатывали руками, пробует автоматически определить их в нужную категорию. Т.е. к примеру, если в каком-то тесте в логах была ошибка «Connection refused», и в свежем упавшем тесте такая же, то скорее всего это System issue.

Плюс фичи вроде графиков, статистики, интеграции с баг-трекерами.

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

Очевидно, полезный инструмент для мониторинга тестирования, чтобы заметить, к примеру, что у нас всё больше и больше тестов ломается, никто их не чинит, нужно что-то делать. Или что у нас какие-то странные методы тестирования, что в половине случаев почему-то невозможно ничего протестировать.

Ушёл пилить тул для создания отчётов на отчёты на отчёты, чтобы можно было мониторить мониторинг тестирования.

--

--

Александр Рулёв

Самопровозглашённый самопровозгласитель