Мы используем файлы cookie для вашего удобства пользования сайтом и повышения качества. Нажимая на кнопку «Согласен» вы принимаете пользовательское соглашение.

Откроемся в 10:00
Summary

Если у вас нет времени читать детально, но нужно понять что же было сделано

Крупная компания — производитель антивирусного ПО и средств криптографической защиты планировала масштабный рефакторинг одного из собственных коробочных десктоп продуктов для комплексной защиты рабочих станций и серверов от вредоносного ПО. Невероятно, но так случилось что набранная внутренняя команда тестировщиков не справилась с поставленной задачей, ввиду высокой технической сложности реализаций продукта и применяемых решений. В определенный момент времени уровень показателей качества продукта достиг такого минимума, что было принято решение обратиться к внешним специалистам.

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

Понравилось, но хочется больше деталей?

Читайте далее, там больше подробностей
Продолжаем продолжать
О проекте

Нашим клиентом стал производитель решений в сфере информационной безопасности и защиты от кибер-угроз

Компания, специализирующаяся на решениях в сфере информационной безопасности и средствах криптографической защиты, с которой мы сотрудничами, занимает одно из лидирующих мест не только на российском, но и на мировом рынке.

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

Наша команда начала работу над проектом после того, как заказчик расстался с частью собственного штата QA, которым был поручен определенный скоуп задач. Причиной послужили крайне неудовлетворительные результаты работы и низкие показателей качества результата. В частности, предыдущая команда не смогла полноценно подготовить и провести тестирование крупного рефакторинга нескольких компонентов, входящих в состав продукта.

Технологии

Что мы использовали

  • Test IT

  • Docker

  • Hyper-V

  • VMWare

  • PostgreSQL

  • Postman

  • Swagger

  • WinHex

  • Acronis Tools

  • Windows Debugging Tools

  • Splunk

  • PowerShell

Предпосылки

Проблематика проекта

При тестировании десктоп приложений крайне важно уделять особое внимание специфике десктоп приложений

Так как продукт – это несколько десктоп приложений, взаимосвязанных между собой, то при тестировании пришлось решать много специфичных задач.

Одной из первых проблем стало тестовое окружение. Требовался широкий набор операционных систем и конфигураций, на которых необходимо проводить тестирование. Нашей команде предстояло перегруппировать и развернуть тестовые стенды для покрытия всех веток разработки системы.

Состояние тестовой базы было неудовлетворительным. Лишь 37% тест-кейсов было подготовлено к проведенному рефакторингу компонентов. А часть нового функционала в принципе не была покрыта тестами, хотя он уже был на завершающей стадии процесса разработки.

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

Существенная часть переработок касалась внутреннего API приложений. Оно использовалось для конфигурации, администрирования и мониторинга работы приложений на рабочих станциях и серверах, процесс шел через единый центр управления продукта.

При многообразии функционала, автотесты были написаны лишь на корневую функциональность, что составляло примерно 15% от общего необходимого объема автоматизации. Поэтому большинство проверок необходимо было делать вручную. Дополнение базы автотестов в рамках данного проекта не предполагалось.

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

Задачи

Для решения сжатые сроки перед нашей командой были поставлены следующие задачи:

Дополнительной сложностью были очень сжатые сроки

  • Подготовить тестовые данные и тест-кейсы для продукта после его рефакторинга, а также оптимизировать остальные имеющиеся тесты
  • Развернуть и сконфигурировать все тестовое окружение под тестирование различных компонентов продукта на разных операционных системах
  • Решить в короткие сроки задачу по подготовке проекта к приемке и провести приемочное тестирования для выпуска долгожданного обновления продукта
  • Подготовить расширенные тесты для проверки внутреннего API для конфигурации и мониторинга и коммуникации компонентов продукта между собой
  • Провести тестирование всех сценариев администрирования продукта с учетом специфик реализаций на различных платформах
  • Провести тестирование всех криптографических модулей для шифрования данных и их взаимодействие с другими компонентами
  • В сжатые сроки наладить взаимодействие новой команды тестирования с внутренними подразделениями заказчика для оптимального выполнения поставленных задач
Наш вклад

В установленные сроки удалось довести проект до состояния готовности к проведению приемочных работ

Командная работа — это когда все работают слаженно и эффективно

В ходе работы нашей команды был проведен анализ и последующая доработка готовой тестовой базы проекта. Было полностью пересобрано тестовое окружение, что позволило полностью протестировать все имеющиеся ветки разработки ПО и увеличить качество кроссплатформенного тестирования. Были локализованы некоторые обнаруженные ранее баги, которые имели статус плавающих дефектов. Также было выявлено большое количество дефектов, связанных с тонкостями реализации отдельных версий операционных систем, что улучшило итоговый опыт работы конечных пользователей.

Был подготовлен внутренний инструмент на основе скриптов, для более оптимальной проверки внутреннего API продута, что позволило значительно сократить время, затрачиваемое на интеграционное тестирование.

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

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

Результат

После проведения рефакторинга приложение было успешно протестировано и введено в эксплуатацию для конечных пользователей

  • 87%

    Тестовой базы оптимизировано для функционала вне рефакторинга

  • для 100%

    Веток разработки настроено тестовое окружение и проведены необходимые проверки

  • 82%

    Тест кейсов для интеграций проверяют подготовленные скрипты для внутреннего API

  • на 71%

    Снижено количество багов, связанных с шифрованием

Благодаря слаженной и эффективной работы нашей команды, в установленные дедлайны была проведена подготовка для проведения приемочного тестирования и успешно проведено само приемочное тестирование компонентов продукта после рефакторинга.

Помимо основных задач, также удалось существенно снизить средний процент обнаруживаемых дефектов в продукте. Так количество дефектов, связанных с особенностями конфигурации окружения, снизилось на 67%, а количество дефектов, переходящих из веток разработки в релизные уменьшилось на 91%.

Подписывайтесь на наш канал в Telegram

Канал компании QA Service Lab про жизнь в неидеальном мире, но в стремлении к качественным программным продуктам и сервисам

Подписаться
qr-code
Обратный звонок

    0из 150
    Облако

    Данные отправлены

    Скоро с вами свяжется наш специалист