Уволенный сотрудник Microsoft объяснил, почему в Windows стало так много багов

watkuzkmpxuz2zoqnzcf_mybtee.png
Данные телеметрии, которые отправляются в Microsoft добровольными участниками программы тестирования Windows Insiders

В последних обновлениях Windows 10 стало очень много багов. Практически после каждого билда Microsoft выпускает патч с исправлением ошибок. И этому есть причина.

Бывший разработчик Microsoft Джерри Берг (Jerry Berg) объясняет, в чём дело. По его словам, в последние годы Microsoft ради экономии поменяла метод тестирования операционной системы. Раньше в компании работал большой отдел тестеров на зарплате. Потом их сократили, а тестирование переложили на широкое сообщество (бесплатных) добровольцев, которые участвуют в программе Windows Insider.
Берг работал в Microsoft пятнадцать лет, в том числе занимался проектированием и разработкой инструментов и процессов для автоматизации тестирования операционной системы. Он покинул компанию после выпуска Windows 8.1. Вместе с 150 другими сотрудниками его уволили 17 июля 2014 года. Менеджеры объяснили это сменой курса компании, в результате чего их должности больше стали не нужны (возможно, это как раз связано со сменой парадигмы тестирования продуктов — прим. ред.).

За последние пару лет Microsoft значительно изменила процесс тестирования. Берг описывает, как проводилось тестирование в конце 2014 — начале 2015 года, и как с тех пор изменились процессы.

Ещё в 2014/2015 году в Microsoft работала целая команда, которая занималась тестированием операционной системы, билдов, обновлений, драйверов и другого кода. Команда состояла из нескольких групп, которые проводили тесты, ежедневно встречались и обсуждали баги. Продукты тестировались и вручную, были и автоматизированные тесты. Если все они завершались успешно, команда давала добро на интеграцию кода в Windows.

Автоматизированные тесты запускали в лаборатории на «реальном» оборудовании, которое должно было отразить различные варианты конфигурации, в том числе разные процессоры, жёсткие диски, видео- и звуковые карты и другие компоненты для покрытия широкого спектра конфигураций. Это означало, что в процессе выявлялись ошибки, которые затрагивали только определённые аппаратные компоненты или конфигурации.

Microsoft уволила почти всю команду тестирования Windows, поскольку по новой стратегии фокус смещался с трёх разных систем — Windows, Windows Mobile и Xbox — на одну систему. Бóльшую часть тестов компания перенесла на виртуальные машины. По словам Берга, из-за этого тесты больше не проводились на реальных и разнообразных аппаратных конфигурациях.

Сотрудники Microsoft могли самостоятельно устанавливать Windows на своих машинах. Основная идея заключалась в том, чтобы получить обратную связь от сотрудников, если они столкнулись с проблемами во время рутинной работы. Берг отмечает, что сейчас такое тестирование используется не так широко, как раньше.

Кроме автоматизированных тестов, основными источниками информации о багах являются данные телеметрии и Windows Insider. Сборки Windows Insider устанавливаются на миллионы устройств, и со всех этих машин Microsoft собирает данные телеметрии.

Microsoft получает информацию о каждом сбое. Одна из проблем телеметрии заключается в том, что большинство багов проходят незамеченными. Если что-то работает неправильно, Microsoft может не заметить соответствующие биты в трафике телеметрии, говорит Берг. Хотя пользователи теоретически могут открывать тикеты, многие этого не делают, а в других случаях серьёзные баги теряются в общем потоке тикетов. Кроме того, часто «инсайдеры» не сообщают все необходимые подробности, которые нужны для выявления, воспроизведения и исправления бага, что создаёт огромные проблемы для инженеров, которым поручено решить эти проблемы.

В 2014/2015 годах команда тестирования Microsoft должна была анализировать ошибки и предоставить инженерам данные, необходимые для их устранения. В настоящее время, отмечает Берг, разработчики имеют дело с телеметрией. Нужно изучать этот информационный поток и выяснять, как исправить выявленные баги. Затем исправления передаются на клиентские устройства, на которых работают сборки Insider — только так можно определить, исправлена проблема или она породила новые баги.

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

Чтобы избежать абсолютной катастрофы, как с билдом Windows 10 версии 1809, введены постепенные деплои, чтобы не накатывать обновления через Центр обновления Windows сразу на большинство машин в первые дни после выпуска.

© Habrahabr.ru