Как тестируют в Microsoft?На этой неделе я посетил MDCS Track 24 в офисе Microsoft. В программе было шесть докладов, перерыв на обед и коктейльная вечеринка. Особенно запомнился доклад о тестировании в команде Word Online. Делюсь ключевыми моментами:
1️⃣ Отсутствие роли QA/SDETВ Microsoft нет отдельных ролей QA или SDET. Все тестирование выполняют Software Engineers, которые создают продукт. Такой подход интегрирует ответственность за качество непосредственно в процесс разработки.
2️⃣ Упор на unit и e2e тестыНа проекте Word Online используют в основном юнит-тесты и end-to-end (e2e) тесты.
• Интеграционные тесты в данной команде не применяются, хотя в других проектах они возможны.
• Для UI-тестов предпочтение отдают Selenium и Playwright, так как последний ускоряет разработку благодаря, например, встроенным ожиданиям.
3️⃣ Быстрый и безопасный деплой через канареечный релизДля обновления Word Online используется канареечный релиз, который проходит следующие этапы:
•
Dogfood;
• MSFT (альфа-тестирование внутри Microsoft);
• Постепенное расширение аудитории: 1% → 33% → 66% → 100% пользователей.
4️⃣ Мониторинг и автоматизация
Ключевая задача — поддерживать стабильность на всех этапах развертывания.• Упор на метрики (например, производительность и ошибки).
• Настроены автоматические оповещения об аномалиях, которые помогают быстро реагировать на проблемы.
5️⃣ Релизы с feature flags 🚩Релизы объединяют множество изменений, включая новые фичи и багфиксы. Для управления доступностью функционала используются feature flags.
Это позволяет:
• включать фичи по группам пользователей,
• тестировать функционал в ограниченном масштабе перед глобальным внедрением.
6️⃣ Работа с новыми функциями:При внедрении нового функционала команда проводит:
• A/B тестирование,
• Сбор метрик,
• Анализ фидбека от пользователей (этот этап - самый сложный, так как требует глубокой аналитики).
7️⃣ Подходы к ошибкамЕсли обнаружены критические проблемы в новой версии, возможны три сценария:
• Откат изменений,
• Приостановка развертывания,
• Продолжение внедрения — если проблема незначительно влияет на пользователей.
Выбор зависит от серьезности ошибки и важности новых функций.
8️⃣ Логи и исключенияДля расследования причин сбоев команда:
• Анализирует множество типов логов: общие, сессионные, запросы.
• При необходимости оперативно добавляет новые логи.
Интересный факт: в команде Word Online избегают выбрасывания исключений. Лучше позволить приложению "упасть", чтобы пользователь обновил приложение.
Если эта тема вам интересна, напишите в комментариях или ставьте
💻 чтобы я подготовил более детальную статью.