Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Как наша TMS отрастила щупальца. Вадим Шашин (Авито)

Как наша TMS отрастила щупальца. Вадим Шашин (Авито)

Жили мы себе, как все обычные компании — отдел тестировщиков писал тест-кейсы, отдел автоматизаторов их автоматизировал, тестировщики за ними проверяли… вот это вот всё. А затем случились кроссфункциональные команды, и мир содрогнулся. Расскажу о том, как наша тестохранилка перестала удовлетворять наши потребности и мы отрастили ей щупальца, чтобы упростить жизнь тестировщикам.

Zoya Chizhkova

August 01, 2019
Tweet

More Decks by Zoya Chizhkova

Other Decks in Programming

Transcript

  1. Кто мы и что делаем • Юнит “Quality Assurance CoE”

    • Центр экспертизы по обеспечению качества • Распространяем практики тестирования • Помогаем настроить процесс тестирования • Разрабатываем инструменты для тестирования 2
  2. Наши инструменты • Генератор тестовых ресурсов • Запускатор сборок тестовых

    хостов • WebDriverGrid (jsonwire-grid) • Model Based Testing Framework • Система управления тест-кейсами (TMS) 3
  3. Наши инструменты • Генератор тестовых ресурсов • Запускатор сборок тестовых

    хостов • WebDriverGrid (jsonwire-grid) • Model Based Testing Framework • Система управления тест-кейсами (TMS) 4
  4. Преимущества своей TMS • Прикрепление багов к шагам • Метки

    автоматизированности тест-кейсов • Статус прохождения авто-теста в тест-плане • Прекондишен из других тест-кейсов • Покрытие фичей продукта тестами • Версионирование тест-кейсов • Удобное API ко всему этому 7
  5. Казалось бы ОК, но… • Поменялась структура компании • Начали

    распиливать монолит • Стало появляться всё больше микросервисов • Тест-кейсы не всегда в TMS • Не все авто-тесты написаны по тест-кейсам • Непонятно что покрыто авто-тестами 9
  6. Первая попытка их решения • Писать тест-кейсы на всё •

    Со строго типизированными датасетами • Составлять прекондишен из шагов других тест- кейсов • Автоматизировать отдельные шаги • Генерировать авто-тесты из тест-кейсов 12
  7. Первая попытка — не зашла • Сложно описывать тест-кейсы •

    Сложная связь параметров тест-кейса и авто- теста • Слишком сложно генерировать авто-тесты для кучи платформ • Не все авто-тесты можно генерировать • Сгенерированные авто-тесты требуют доработки 13
  8. Вторая попытка • Пошли обратным путем • Писать авто-тесты на

    все • Собрать все проверки отовсюду в одном месте • Генерировать тест-кейсы из авто-тестов • Визуализировать что и чем покрыто 14
  9. Что решили сделать Тестохранилка Ядро щупалец Внешний источник №1 Внешний

    источник №2 Внешний источник №3 Щупальце раз Щупальце два 16
  10. Что решили сделать Тестохранилка Ядро щупалец Внешний источник №1 Внешний

    источник №2 Внешний источник №3 Щупальце раз Щупальце два 17
  11. Что решили сделать Тестохранилка Ядро щупалец Внешний источник №1 Внешний

    источник №2 Внешний источник №3 Щупальце раз Щупальце два 28
  12. Что решили сделать Тестохранилка Ядро щупалец Внешний источник №1 Внешний

    источник №2 Внешний источник №3 Щупальце раз Щупальце два 29
  13. Количество тест-кейсов • Avito.ru • Всего примерно 6500 • Из

    них собрано щупальцами примерно 2000 • Мобилки • Всего около 5000 • Собрано щупальцами несколько десятков 38
  14. Регулярки не всегда подходят • Сложно с Андроидом • Сложно

    с MBT • Не всё реально спарсить • Что-то генерируется в рантайме • Тест-кейсы генерируем из отчётов 39
  15. Что решили сделать Тестохранилка Ядро щупалец Внешний источник №1 Внешний

    источник №2 Внешний источник №3 Щупальце раз Щупальце два 40
  16. Что решили сделать Тестохранилка Ядро щупалец Внешний источник №1 Внешний

    источник №2 Внешний источник №3 Щупальце раз Щупальце два 41
  17. Ядро щупалец • Не требуется учитывать особенности тестовых фреймворков •

    Фиксированный формат входных данных Внешнее API Всякие валидаторы Управление тест-кейсами Остальная тестохранилка 42
  18. Ядро щупалец • Не требуется учитывать особенности тестовых фреймворков •

    Фиксированный формат входных данных Всякие валидаторы Управление тест-кейсами Остальная тестохранилка Внешнее API 43
  19. API для сильных Ядро Щупальце Создать или обновить переданные тест-кейсы

    Удалить указанные тест-кейсы Получить все
 тест-кейсы 46
  20. Что решили сделать Тестохранилка Ядро щупалец Внешний источник №1 Внешний

    источник №2 Внешний источник №3 Щупальце раз Щупальце два 50
  21. Как запускаем Репозиторий Пулл-реквест Я смержился! Билд в TeamCity Скачивает

    весь репозиторий Натравливает нужное щупальце 51
  22. BitBucket Server Nerve — подробности Э, там чёт смержилось! Nerve

    Репозиторий Пулл-реквест Репозиторий Пулл-реквест Репозиторий Пулл-реквест Репозиторий Пулл-реквест Скачивает репозиторий Натравливает щупальце Очередь событий Скачивает репозиторий Натравливает щупальце Скачивает репозиторий Натравливает щупальце Есть ли подходящее щупальце? 53