Вопросы развертывания и тестирования для интеллектуальных рабочих нагрузок приложений
Поддерживайте эффективный процесс управления жизненным циклом приложений (ALM), чтобы избежать проблем с производством и быстро устранять любые регрессии.
Определите свою стратегию ALM
Обеспечьте эффективность и масштабируемость процесса разработки, разработав комплексную стратегию ALM, включающую контроль версий, непрерывную интеграцию/непрерывное развертывание (CI/CD) и автоматизированное тестирование.
Оцените варианты от простого до продвинутого CI/CD:
- Ручное развертывание решений.
- Автоматизированное развертывание с помощью удобных для пользователя конвейеров в Power Platform (без контроля исходного кода).
- Автоматизированное развертывание + управление исходным кодом с помощью инструментов Azure DevOps или GitHub Power Platform .
- Автоматизированное тестирование второго пилота в рамках процесса развертывания.
Используйте решения для управления окружающей средой
Поддерживайте отдельные среды для разработки, тестирования и производства. Такая практика помогает изолировать проблемы и обеспечивает тщательное тестирование изменений перед их реализацией пользователями.
Используйте решения для перемещения плагинов, созданных в Copilot Studio различных средах.
Основные рекомендации и соображения:
- Работа в контексте решений: гарантируйте, что вся разработка ведется в рамках решений.
- Отдельные решения для независимого развертывания: создавайте отдельные решения только тогда, когда необходимо развертывать компоненты независимо.
- Понимание ограничений: понимание ограничений автоматического развертывания и оценка того, какие параметры необходимо задать или обновить вручную после развертывания, например Application Insights интеграцию, развернутые каналы и параметры безопасности.
- Используйте пользовательского издателя и префикс: реализуйте пользовательского издателя и префикс для лучшей организации и управления.
- Используйте переменные среды: используйте переменные среды для настроек и секретов, которые различаются в разных средах.
- Экспорт и развертывание как управляемых решений: экспорт и развертывание решений как управляемых, за исключением случаев настройки среды разработки.
- Ограничьте настройки разработкой: избегайте внесения настроек за пределами среды разработки.
- Автоматизируйте процессы ALM: рассмотрите возможность автоматизации ALM для управления исходным кодом и автоматизированных развертываний.
Пример
В этом примере представлен обзор стратегии развертывания для рабочей нагрузки интеллектуального приложения и описаны роли и процессы, связанные с каждой средой: разработка (Dev), тестирование (Test), обеспечение качества (QA) и производство (Prod).
Среда разработки (Dev):
- Назначение: Для первоначального создания и настройки решения.
- Действия: Разработчики создают и изменяют такие компоненты, как приложения, потоки и вторые пилоты. Все настройки и конфигурации выполняются здесь.
- Ключевые практики:
- Используйте индивидуального издателя и префикс для всех компонентов.
- Реализуйте переменные среды для настроек и секретов.
- Убедитесь, что все изменения контролируются версиями и документируются.
Тестовая среда (Тест):
- Назначение: Для предварительной проверки и тестирования разработанного решения.
- Действия: Решения экспортируются из среды разработки как управляемые решения и импортируются в среду тестирования. Для раннего выявления и устранения проблем проводится функциональное и интеграционное тестирование.
- Ключевые практики:
- Поддерживайте отдельную тестовую среду для моделирования реальных сценариев.
- Используйте переменные среды для управления настройками и секретами, специфичными для тестовой среды.
- Автоматизируйте процессы развертывания, чтобы обеспечить согласованность и повторяемость.
Среда обеспечения качества (Q.A. или QA):
- Назначение: Предназначено для тщательного контроля качества и тестирования пользовательской приемки (UAT).
- Действия: Управляемые решения импортируются из тестовой среды в среду контроля качества. Проводится обширное тестирование, включая производительность, безопасность и приемочное пользовательское тестирование, чтобы убедиться, что решение соответствует всем требованиям и стандартам.
- Ключевые практики:
- Используйте переменные среды для управления настройками и секретами, специфичными для QA.
- Привлекайте пользователей к UAT, чтобы собирать отзывы и гарантировать, что решение соответствует их потребностям.
- По возможности автоматизируйте процессы тестирования для повышения эффективности и точности.
Производственная среда (Prod):
- Назначение: Размещение активной версии решения, доступной пользователю.
- Действия: После успешного тестирования QA управляемое решение экспортируется из среды QA и импортируется в производственную среду. Эта среда строго контролируется для обеспечения стабильности и надежности.
- Ключевые практики:
- Развертывайте решения так, чтобы предотвратить несанкционированные изменения.
- Используйте переменные среды для управления настройками и секретами, специфичными для производства.
- Контролируйте и поддерживайте работоспособность решения, чтобы обеспечить оптимальную производительность и оперативно решать любые проблемы.
Общая стратегия:
- Разделение задач: каждая среда служит определенной цели, гарантируя, что процессы разработки, тестирования, контроля качества и производства не будут мешать друг другу.
- Автоматизация: автоматизируйте процессы ALM, включая управление исходным кодом, тестирование и развертывание, для повышения эффективности и снижения риска ошибок.
- Согласованность: поддерживайте согласованность в разных средах, используя переменные среды и автоматизированные сценарии развертывания.
Разработать стратегию тестирования
Убедитесь, что у вас есть четкий план проверки того, что ваши вторые пилоты и интеграции функционируют так, как ожидается.
Определите свою стратегию тестирования для интеллектуальных рабочих нагрузок приложений. Используйте Test Framework для массового тестирования высказываний пользователей и подтверждения того, что срабатывает соответствующий тема или что первый вариант «Вы имели в виду» является правильным в 90% случаев?
Тестирование интеграции как часть полного сквозного тестирования диалога с возможностью масштабирования Test Framework.
Используйте Мощность CAT Copilot Studio Набор для настройки вторых пилотов и тестов. Запустите отдельные тесты с использованием Copilot Studio API (Direct Line) и оцените ответы второго пилота по сравнению с ожидаемыми результатами.
Убедитесь, что вы понимаете нефункциональные требования, такие как доступность, соответствие нормативным требованиям, хранение/размещение данных, производительность, конфиденциальность, время восстановления, безопасность и масштабируемость. Например, хэштег мини-приложение чата на веб-сайте должен загружаться и начинать обсуждение в течение 5 секунд после нажатия. Аналогично, облачный поток, запущенный для возврата информации пользователю, должен предоставить желаемые данные в течение 10 секунд.