Поделиться через


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

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

Определите свою стратегию ALM

Обеспечьте эффективность и масштабируемость процесса разработки, разработав комплексную стратегию ALM, включающую контроль версий, непрерывную интеграцию/непрерывное развертывание (CI/CD) и автоматизированное тестирование.

Оцените варианты от простого до продвинутого CI/CD:

  • Ручное развертывание решений.
  • Автоматизированное развертывание с помощью удобных для пользователя конвейеров в Power Platform (без контроля исходного кода).
  • Автоматизированное развертывание + управление исходным кодом с помощью инструментов Azure DevOps или GitHub Power Platform .
  • Автоматизированное тестирование второго пилота в рамках процесса развертывания.

Используйте решения для управления окружающей средой

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

Используйте решения для перемещения плагинов, созданных в Copilot Studio различных средах.

Основные рекомендации и соображения:

  • Работа в контексте решений: гарантируйте, что вся разработка ведется в рамках решений.
  • Отдельные решения для независимого развертывания: создавайте отдельные решения только тогда, когда необходимо развертывать компоненты независимо.
  • Понимание ограничений: понимание ограничений автоматического развертывания и оценка того, какие параметры необходимо задать или обновить вручную после развертывания, например Application Insights интеграцию, развернутые каналы и параметры безопасности.
  • Используйте пользовательского издателя и префикс: реализуйте пользовательского издателя и префикс для лучшей организации и управления.
  • Используйте переменные среды: используйте переменные среды для настроек и секретов, которые различаются в разных средах.
  • Экспорт и развертывание как управляемых решений: экспорт и развертывание решений как управляемых, за исключением случаев настройки среды разработки.
  • Ограничьте настройки разработкой: избегайте внесения настроек за пределами среды разработки.
  • Автоматизируйте процессы ALM: рассмотрите возможность автоматизации ALM для управления исходным кодом и автоматизированных развертываний.

Пример

В этом примере представлен обзор стратегии развертывания для рабочей нагрузки интеллектуального приложения и описаны роли и процессы, связанные с каждой средой: разработка (Dev), тестирование (Test), обеспечение качества (QA) и производство (Prod).

Пример конфигурации решения

  1. Среда разработки (Dev):

    • Назначение: Для первоначального создания и настройки решения.
    • Действия: Разработчики создают и изменяют такие компоненты, как приложения, потоки и вторые пилоты. Все настройки и конфигурации выполняются здесь.
    • Ключевые практики:
      • Используйте индивидуального издателя и префикс для всех компонентов.
      • Реализуйте переменные среды для настроек и секретов.
      • Убедитесь, что все изменения контролируются версиями и документируются.
  2. Тестовая среда (Тест):

    • Назначение: Для предварительной проверки и тестирования разработанного решения.
    • Действия: Решения экспортируются из среды разработки как управляемые решения и импортируются в среду тестирования. Для раннего выявления и устранения проблем проводится функциональное и интеграционное тестирование.
    • Ключевые практики:
      • Поддерживайте отдельную тестовую среду для моделирования реальных сценариев.
      • Используйте переменные среды для управления настройками и секретами, специфичными для тестовой среды.
      • Автоматизируйте процессы развертывания, чтобы обеспечить согласованность и повторяемость.
  3. Среда обеспечения качества (Q.A. или QA):

    • Назначение: Предназначено для тщательного контроля качества и тестирования пользовательской приемки (UAT).
    • Действия: Управляемые решения импортируются из тестовой среды в среду контроля качества. Проводится обширное тестирование, включая производительность, безопасность и приемочное пользовательское тестирование, чтобы убедиться, что решение соответствует всем требованиям и стандартам.
    • Ключевые практики:
      • Используйте переменные среды для управления настройками и секретами, специфичными для QA.
      • Привлекайте пользователей к UAT, чтобы собирать отзывы и гарантировать, что решение соответствует их потребностям.
      • По возможности автоматизируйте процессы тестирования для повышения эффективности и точности.
  4. Производственная среда (Prod):

    • Назначение: Размещение активной версии решения, доступной пользователю.
    • Действия: После успешного тестирования QA управляемое решение экспортируется из среды QA и импортируется в производственную среду. Эта среда строго контролируется для обеспечения стабильности и надежности.
    • Ключевые практики:
      • Развертывайте решения так, чтобы предотвратить несанкционированные изменения.
      • Используйте переменные среды для управления настройками и секретами, специфичными для производства.
      • Контролируйте и поддерживайте работоспособность решения, чтобы обеспечить оптимальную производительность и оперативно решать любые проблемы.

Общая стратегия:

  • Разделение задач: каждая среда служит определенной цели, гарантируя, что процессы разработки, тестирования, контроля качества и производства не будут мешать друг другу.
  • Автоматизация: автоматизируйте процессы ALM, включая управление исходным кодом, тестирование и развертывание, для повышения эффективности и снижения риска ошибок.
  • Согласованность: поддерживайте согласованность в разных средах, используя переменные среды и автоматизированные сценарии развертывания.

Разработать стратегию тестирования

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

  • Определите свою стратегию тестирования для интеллектуальных рабочих нагрузок приложений. Используйте Test Framework для массового тестирования высказываний пользователей и подтверждения того, что срабатывает соответствующий тема или что первый вариант «Вы имели в виду» является правильным в 90% случаев?

  • Тестирование интеграции как часть полного сквозного тестирования диалога с возможностью масштабирования Test Framework.

  • Используйте Мощность CAT Copilot Studio Набор для настройки вторых пилотов и тестов. Запустите отдельные тесты с использованием Copilot Studio API (Direct Line) и оцените ответы второго пилота по сравнению с ожидаемыми результатами.

  • Убедитесь, что вы понимаете нефункциональные требования, такие как доступность, соответствие нормативным требованиям, хранение/размещение данных, производительность, конфиденциальность, время восстановления, безопасность и масштабируемость. Например, хэштег мини-приложение чата на веб-сайте должен загружаться и начинать обсуждение в течение 5 секунд после нажатия. Аналогично, облачный поток, запущенный для возврата информации пользователю, должен предоставить желаемые данные в течение 10 секунд.