У нас в Unity много направлений тестирования (см. рисунок 1) и наборов тестов:
На верхнем уровне тесты сгруппированы в различные наборы в зависимости от направления. Также они различаются по платформе, частоте выполнения, времени работы и некоторым другим критериям. В результате у нас огромное количество контрольных точек. Мы обсудим это позже.
Чтобы упростить всю эту систему, около года назад мы начали работу над Unified Test Runner (UTR) — универсальным исполнителем тестов: единой точкой запуска всех тестов. UTR служит входом (см. рисунок 2) для всех исполнителей и направлений тестов. Благодаря этому любой пакет тестов теперь можно запустить из командной строки.
Все результаты тестов сохраняются на едином ресурсе, где они группируются согласно единым правилам. UTR также предоставляет другие возможности:
Изначально мы выполняли тестирование локально. Затем мы решили использовать Unified Test Runner в работе нашей системы сборки релизов Build Farm. Идея была в том, чтобы запускать одни и те же тесты с локальных компьютеров и при сборке релизов — если что-то шло не так, всегда можно было проверить тест локально.
Постепенно UTR стал точкой единого входа для всех тестов в Unity. И тогда мы решили использовать его еще для одной задачи — сбора данных о выполнении тестов с локальных компьютеров и из Build Farm. По окончании каждого теста UTR передает результаты в специальную веб-службу. Так появилось наше решение для анализа данных, которое называется Hoarder. Оно собирает данные о выполнении тестов, хранит их, предоставляет к ним доступ и отображает агрегированную статистику тестирования с возможностью «проваливаться» в результаты отдельных тестов (см. рисунок 3).
Обрабатывая данные, мы нашли в них много интересного, и в результате приняли некоторые важные решения. О том, как мы это делаем — в следующий раз.
Is this article helpful for you?
Thank you for your feedback!