Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Если вы разработчик JavaScript и только начинаете работать с Azure, воспользуйтесь этим руководством Azure по тестированию, чтобы изучить стратегии модульного, интеграционного, CI/CD- и ИИ-тестирования с помощью Azure SDK и других ресурсов и обеспечить качество, производительность и надежность вашего приложения.
Платформа Azure с продуманной архитектурой
Azure Well-Architected Framework предоставляет платформу разработки для облачных приложений в пяти основных аспектах:
- Надежность . Обеспечение устойчивости приложения к сбоям и быстрому восстановлению.
- Безопасность — защита приложений и данных от угроз.
- Эффективность производительности . Оптимизация использования ресурсов в системе для удовлетворения требований.
- Оптимизация затрат — управление затратами при доставке стоимости.
- Операционное превосходство — улучшение процессов и мониторинга для эффективного предоставления приложений.
Стратегии тестирования в этой статье соответствуют главным образом принципу эффективности эксплуатации, который подчеркивает автоматизацию, проверку и непрерывное улучшение операционных процессов.
Внутренние и внешние циклы тестирования для пакетов SDK Azure в JavaScript
Внутренние и внешние циклы тестирования являются основными понятиями в тестировании программного обеспечения, особенно для приложений, развернутых на облачных платформах, таких как Azure:
Внутренний цикл относится к локальной среде, где разработчики часто выполняют модульные и интеграции тесты на этапе разработки. Этот цикл фокусируется на быстрой обратной связи и итерации.
Внешний цикл включает в себя тесты, выполняемые разработчиками в конвейерах непрерывной интеграции и непрерывной доставке (CI/CD), промежуточных и рабочих средах. Эти тесты часто используют преимущества Azure DevOps или GitHub Actions.
Эти тесты включают сквозные тесты (E2E), тесты производительности и тесты безопасности. Они проверяют поведение приложения в средах, которые тесно зеркально или идентичны конечной рабочей среде. Эффективные стратегии тестирования используют оба цикла, чтобы обеспечить комплексное покрытие и обеспечение качества до и после развертывания.
Подробнее:
- CI/CD: что, почему и как
- Руководство для начинающих по CI/CD и автоматизации на GitHub
- Стартовые рабочие процессы GitHub Actions
- Использование облачных браузеров для локально развернутых приложений
Локальное и облачное тестирование с помощью пакета SDK Azure
Локальное тестирование без Azure включает имитацию служб Azure. Используйте этот подход для быстрого тестирования изменений без учета затрат или задержки сети, связанной с реальными службами Azure.
С другой стороны, облачное тестирование в Azure использует фактические ресурсы Azure для проверки интеграции, безопасности и производительности приложения в облачной среде. Этот метод имеет решающее значение для окончательной проверки в рабочем режиме. Это помогает убедиться, что приложение работает должным образом с динамическими службами Azure.
Эмуляторы и контейнеры разработки повышают локальную разработку с помощью служб Azure по-разному. Эмуляторы имитируют службы Azure для экономичного, раннего тестирования без оплаты Azure, но они могут не полностью реплицировать функции динамической службы. Контейнеры разработки более тесно реплицируют рабочую среду, включая зависимости приложений и службы, чтобы упростить простой переход к рабочей среде. Контейнеры разработки подходят для сложных приложений, но требуют больше настройки, чем эмуляторы.
Эмуляторы
К эмуляторам относятся:
- Azurite (эмулятор службы хранилища Azure)
- Эмулятор Azure Cosmos DB
- Эмулятор Azure SignalR
- Эмулятор Центров событий Azure
- Основные инструменты Функций Azure (локальная среда выполнения функций Azure)
- Azure Logic Apps Standard (локальная разработка)
- Локальный шлюз управления API Azure
- Среда выполнения Azure IoT Edge
Контейнеры разработки
Контейнеры разработки предлагают мощную альтернативу использованию эмуляторов для локальной разработки, особенно при работе со службами Azure.
Выполняя службы в контейнерах, создайте локальную среду, которая тесно отражает рабочую среду для обеспечения согласованности между этапами разработки, тестирования и развертывания. Она также повышает надежность тестирования путем более точного моделирования реальных условий.
Настройте контейнеры для репликации параметров и данных служб Azure. Таким образом, контейнеры предоставляют надежную платформу для разработки и тестирования приложений без необходимости подключения к динамическим службам Azure.
Контейнеры разработки включают базу данных SQL Azure.
Подробнее:
Инструменты для ИИ и повышения производительности разработчиков
Средства, на основе искусственного интеллекта, расширяют рабочий процесс разработки JavaScript на Azure, предоставляя интеллектуальную помощь по коду, управление ресурсами, автоматизацию тестирования и поддержку развертывания.
| инструмент | Description |
|---|---|
| GitHub Copilot для Azure | Кодирование с помощью ИИ в контексте, специфичном для Azure. Вы можете задавать вопросы о службах Azure, генерировать код инфраструктуры и получать помощь по использованию Azure SDK непосредственно в VS Code. |
| Сервер Azure MCP | Инструменты протокола контекста модели, которые подключают вашу интегрированную среду разработки к ресурсам Azure. Запрос конфигураций ресурсов, управление развертываниями и проверка параметров без выхода из редактора. |
| Azure Навыки | Возможности компонуемого искусственного интеллекта для рабочих процессов Azure, включая диагностику, сканирование соответствия требованиям, проверку развертывания и подготовку ресурсов, доступные для использования из GitHub Copilot или любого клиента, совместимого с MCP. |
| Драматург MCP | Средства автоматизации браузера, предоставляемые через MCP для сквозного тестирования. Запустите тесты Playwright, запечатлейте снимки экрана и проверьте взаимодействие веб-интерфейса с помощью ИИ. |
Azure Developer CLI (azd) |
Оптимизируйте весь рабочий процесс разработки и развертывания. Инициализация проектов из шаблонов, подготовки инфраструктуры и развертывания кода с помощью одного средства. |
Эти средства работают вместе, чтобы уменьшить переключение контекста между редактором и порталом Azure. Рассмотрим пример.
- Используйте GitHub Copilot для написания кода Azure SDK с встроенными предложениями
- Используйте сервер MCP Azure MCP для проверки правильности конфигураций ресурсов.
- Используйте Навыки Azure для выполнения проверок соответствия или устранения неполадок неудачных развертываний
- Используйте Playwright MCP для автоматизации тестирования на основе браузера приложений, размещенных в Azure
- Использование
azdдля подготовки и развертывания приложения на одном шаге
Модульные тесты в JavaScript
Модульное тестирование с помощью пакетов SDK Azure в JavaScript часто использует платформы, такие как Jest или Vitest , для изоляции и тестирования отдельных компонентов или функций.
Для собственных Node.js тестов заглушите вызовы Azure SDK вручную, без использования дополнительных библиотек, переопределяя методы прототипов клиента SDK или используя простые функции mock.
Дополнительные сведения см. в разделе тестов azure SDK далее в этой статье.
Tip
Инструменты разработчика AI: используйте GitHub Copilot для Azure, чтобы создавать шаблоны модульных тестов и макеты для клиентов Azure SDK из интерфейсных типов.
Тесты интеграции в JavaScript
Тестирование интеграции оценивает взаимодействие между приложением и службами Azure, чтобы обеспечить совместную работу компонентов.
Настройте автоматические тесты интеграции с помощью Azure Pipelines в Azure DevOps или рабочих процессов в GitHub Actions. Этот подход автоматизирует развертывание и тестирование компонентов в облачной среде. Это помогает выявить проблемы, которые могут не быть очевидными во время модульного тестирования, например задержки сети или ошибки конфигурации службы.
Макет служб Azure
Макетирование служб Azure — это распространенная практика тестирования приложений JavaScript, которые интегрируются с пакетами SDK Azure. Имитируя ответы службы Azure, изолируйте логику приложения от внешних зависимостей, что помогает быстро и надежно выполнять тесты.
Узнайте больше о том, как протестировать интеграции с Пакетом SDK Azure.
Непрерывные тесты интеграции
Тестирование CI включает автоматическое выполнение тестов при каждом изменении в базу кода. Средства CI, такие как Azure DevOps, предоставляют интегрированные среды для автоматизации сборок, тестов и развертываний. Настройка конвейеров для включения автоматизированных тестов помогает убедиться, что каждое изменение проверено, что снижает вероятность ошибок и регрессий.
Правильная конфигурация конвейера имеет решающее значение для эффективных процессов CI. Он включает в себя настройки триггеров для автоматического выполнения тестов и настройки сред для различных этапов тестирования.
Подробнее:
- Руководство для начинающих по CI/CD и автоматизации на GitHub
- Начальные рабочие процессы действия GitHub
- Примеры рабочих процессов Node.js
Планы тестирования Azure
Планы тестирования Azure предлагают полный набор для ручного и исследовательского тестирования в Azure DevOps.
Эта служба может помочь в сценариях, требующих человеческого решения или сложно автоматизировать, предоставляя структурированный подход к ручному тестированию. Команды могут использовать его для планирования, выполнения и отслеживания тестовых действий, включая сбор обширных данных, таких как снимки экрана и видеозаписи, для облегчения составления отчетов об ошибках. Интеграция планов тестирования Azure в процесс CI/CD обеспечивает целостную стратегию тестирования, которая охватывает как автоматизированные, так и ручные тестовые случаи.
Тесты от начала до конца
Сквозное тестирование проверяет полную операцию приложения в среде, которая имитирует реальные сценарии пользователя. Используя такие фреймворки, как Playwright, вы можете автоматизировать браузерные тесты для взаимодействия с приложениями, как это делают пользователи.
Тестирование на основе сценариев включает создание тестовых вариантов для полных потоков пользователей, таких как регистрация, выполнение задачи и выход. Используйте это тестирование, чтобы проверить функциональные возможности приложения и взаимодействие с пользователем в Azure.
Подробнее:
Tip
Средства разработки для AI: Используйте средства Azure MCP Server для проверки целевых объектов развертывания и работоспособности служб перед запуском тестов E2E с использованием активных ресурсов Azure.
Тесты производительности
Тестирование производительности важно для приложений, развернутых в Azure, чтобы гарантировать, что они могут обрабатывать ожидаемые нагрузки и работать хорошо под стрессом.
Тестирование включает измерение производительности приложения на основе определенных метрик или стандартов. Используйте службу Нагрузочного тестирования Azure, чтобы имитировать высокий трафик и анализировать масштабируемость и устойчивость приложения.
Пример CLI:
az load test create --resource-group MyResourceGroup --name MyLoadTest --file loadTestConfig.json
Подробнее:
- Рекомендации по тестированию производительности
- Документация по нагрузочному тестированию Azure
- Руководство по выявлению узких мест производительности в веб-приложении
- GitHub: нагрузочное тестирование Azure
Тесты безопасности
Тестирование безопасности в Azure включает выявление потенциальных уязвимостей в приложении для предотвращения несанкционированного доступа или нарушений данных.
Средства сканирования уязвимостей необходимы для автоматического обнаружения слабых мест безопасности в коде или конфигурациях. Интеграция функций расширенной безопасности GitHub с традиционными средствами тестирования безопасности статических приложений (SAST) позволяет повысить уровень безопасности приложений, развернутых в Azure. К ключевым функциям относятся:
- Сканирование кода: определяет уязвимости в базе кода перед развертыванием.
- Сканирование секретов: помогает предотвратить утечку конфиденциальных данных.
- Мониторинг цепочки поставок: помогает защитить от потенциально скомпрометированных зависимостей.
Эти интегрированные меры безопасности помогают выявлять уязвимости рано, предотвращать нарушения данных и обеспечивать целостность цепочки поставок вашего приложения.
Тестирование на проникновение имитирует кибератаки против приложения, чтобы оценить ее состояние безопасности. Azure предоставляет рекомендации и средства для проведения этих тестов, чтобы обеспечить безопасность приложений, развернутых на платформе.
Рекомендуется интегрировать CodeQL в конвейер CI, чтобы поймать уязвимости рано.
Подробнее:
Тесты соответствия и управления
Обеспечение соответствия приложений юридическим, нормативным и политическим требованиям является крайне важным, особенно в облачных средах. Тестирование соответствия нормативным требованиям проверяет соответствие приложения таким стандартам, как GDPR, HIPAA или SOC 2.
Azure предлагает средства политики и соответствия требованиям, такие как Политика Azure и Azure Blueprints, чтобы автоматизировать и обеспечить соответствие требованиям в ресурсах Azure. Эти средства упрощают процесс поддержания стандартов управления и соответствия требованиям в развертываниях приложений.
Подробнее:
- Управление, безопасность и соответствие требованиям в Azure
- Реализация тестирования соответствия требованиям с помощью Terraform и Azure
Тесты на доступность
Тестирование специальных возможностей является важным для обеспечения инклюзивного программного обеспечения и соответствия юридическим стандартам. Такие средства, как Аналитика специальных возможностей , помогают выявлять и устранять проблемы со специальными возможностями в веб-приложениях и мобильных приложениях. Интеграция Аналитики специальных возможностей в рабочие процессы разработки упрощает автоматизированные и ручные проверки, предлагая рекомендации и отчеты на основе стандартов специальных возможностей веб-содержимого (WCAG).
Тесты A/B
Тестирование A/B или разделение тестирования — это метод сравнения двух версий веб-страницы или приложения друг с другом, чтобы определить, какой из них работает лучше. Azure предоставляет следующие службы, поддерживающие тестирование A/B:
Служба приложений Azure: предлагает слоты развертывания для промежуточных сред, где можно протестировать версии приложений, не затрагивая динамическое приложение.
Приложения контейнеров Azure: предоставляет гибкую среду для запуска приложений на основе микрослужб. Вы можете реализовать тестирование A/B в этой среде для тестирования версий приложений.
Используйте эти службы для развертывания вариантов приложений, а затем оценить реакцию пользователей и эффективность.
Тесты пакета SDK Для Azure
Для разработчиков, работающих со службами Azure, получение знаний с пакетами SDK Azure является важным для создания надежных и масштабируемых приложений. Следующие тесты пакета SDK Azure, размещенные на GitHub для пакетов SDK javaScript, являются бесценными ресурсами:
Изучение этих тестов предоставляет аналитические сведения о простой интеграции служб Azure, демонстрирует рекомендации по взаимодействию с ресурсами Azure и помогает обеспечить эффективные и безопасные реализации. Ознакомьтесь с более широким спектром примеров пакета SDK для полного понимания.
Tip
Средства разработчика AI: используйте GitHub Copilot для Azure для ориентации в шаблонах тестирования Azure SDK и создания тестовых объектов из определений интерфейса SDK. Службы Azure могут предоставлять тестовые ресурсы, которые соответствуют образцам конфигураций SDK.