Система автотестирования e-commerce

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

    И так ситуация: e-commerce в транспорте / туризме / индустрии гостеприимства. Разрабатывали, разрабатывали и вот уже — сквозные бизнес-процессы, множество систем, все как положено в большом e-commerce.

    image

    Но вот проблема:

    • Все большие системы состоят из нескольких систем;
    • Каждую разрабатывает / актуализирует / сопровождает отдельный разработчик;
    • Каждый разработчик в среднем раз в месяц обновляет ППО и самостоятельно контролирует качество своего решения.

    И кто обеспечивает качество бизнес-процесса? Эксплуатант раз, а потом другой, устроил вопль при оплате счетов, с аргументом: «ну и что, что ваша система работает, пользоваться то нельзя».

    Тестировать за смежников не хочется, но сдаваться и получать оплату хочется. Так мы начали писать сквозную систему автотестирования – испытания не системы, а целиком бизнес-процессов электронной коммерции (с участием нескольких систем, от нескольких поставщиков). Такая большая система, которая ходит по сквозным БП, заглядывает во все системы: от веб-консоли, до чтения записей из БД:

    image

    И вот что у нас получилось:

    Что умеет система:


    1. Комплексные испытания – проверка функционала всех БП e-commerce с целью:

    • Выявления ошибок;
    • Проверка интеграции;
    • Разбор отклонения;

    image

    image

    • Проверка логики;
    • Проверка сумм;

    image

    • Анализ PNR в GDS;
    • Анализ записей о доп. услугах в БД;
    • Проверка отображения элементов в экранных формах.

    image

    2. Подготовка отчетности

    Обработка скриншотов:

    • Идентификаторы заказов/статуса/шага прохождения в именах файлов;
    • Группировка скришотов в файловом хранилище по разделам испытаний.

    image

    Набор отчетов:

    • Сводный отчет по отклонениям — с ссылками на пошаговое прохождение, расшифровкой (формат – Excel)
    • Сводный отчет о некритичных отклонениях — расшифровкой и ссылками на пошаговое описание (формат – Excel)
    • «Красивый» отчет для сдачи отчетности, с как корректными прохождениями, так отклонениями (формат – Excel)

    3. Нагрузочные испытания – массовое повторение однотипных тест-кейсов, с целью:

    • выявление периодических ошибок;
    • имитации нагрузки.

    image

    4. Многопоточность – тест-кейсы выполняются в 3 потока, что особенно актуально, из-за того, что в качестве сервера для проведение испытаний предпочтительно использование платформы Windows.

    Экономический эффект


    Объемы испытаний:

    • 2 пар валюты/языки. 4 разрешения. 4 браузера. 8 бизнес ситуаций;
    • 12 * 4 * 4 * 8 = 1 536 тест-кейса;
    • Среднее прохождение тест-кейса роботом — 5 минут, воспроизведение человеком (при наличии большого опыта) – 7 -10 минут;
    • Трудозатраты на испытания 1152 * 7 * 1,2 (коэффициент перебоев на тестовой среде) = 12 902,4 минут / 215,04 часа на релиз;
    • В месяц 3 выпуска обновлений от 3х поставщиков = 645,12 человеко-часов. Учитывая затраты на подготовку отчетности и неравномерность испытаний, 4, а скорее всего, 5 сотрудников full time;
    • Зарплата специалиста 80 000 + отчисления в ПФР — 30%, в ФСС — 2,9%, в ФФОМС — 5,1%.

    Экономия при автотестах – 5-6 млн. ₽ в год (только на зарплатах)

    Технологии


    В принципе ничего особенного, но это же технический ресурс…

    • Java, фреймворк TestNG.
    • Selenium – набор библиотек, для управления web-браузерами;
    • Selenide – методы для работы с web-объектами;
    • SoapUI – средство взаимодействия с различными протоколами;
    • Selenium Grid – инструмент позволяющий строить кластеры и распределять задачи по различным серверам;
    • Jenkins – средство управления исполнения тест-кейсов и работы с результатами испытаний.

    Similar posts

    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 1

      0
      Честно говоря, странно утверждать, что данный проект каким-то образом имитирует нагрузку, при этом проходя аж в целых 3! поток…
      А можно уточнить каким образом делается отчет в excel? И примерчик работы с БД хотелось бы увидеть?
      И вообще, друг просил ссылку на репозиторий)

      P. S. Друг, если тебе платят 80000 руб. и при этом ты один всю эту систему пилишь, поддерживаешь и внедряешь, то проси прибавку x1,5 хотя бы, или подумай о море вакансий после карантина)

      Only users with full accounts can post comments. Log in, please.