Почему в Windows 10 куча багов: погружение в процесс разработки ОС

В некоторых случаях код, который не проходит тесты, принимается пригодным для интеграции в релиз. Разработчикам позволяется интегрировать код, о котором им известно, что тот не работает соответствующим образом.

Windows 10 анонсировала сервис, и это означает, что он будет постоянно обновляться и изменяться. Однако при этом одно остается неизменным: очередной апдейт принесет неожиданные баги и глюки. Журналисты ArsTechnica выяснили, почему так происходит: проблема не в том, как часто Microsoft выпускает обновление, а в том, как она их разрабатывает.

В октябре 2018 года вышла свежая версия Windows 10 October 2018 Update, которую Microsoft почти сразу отозвала, ведь это была опасная версия. Некоторые пользователи, установившие ее, потеряли свои персональные файлы. Из-за скандала незамеченным прошел другой баг в October 2018 Update – встроенный файловый менеджер «Проводник» перестал при разархивации спрашивать, хочет ли пользователь заменить один дубликат файла на другой, даже если файл в архиве был устаревшим.

В предыдущем апдейте Windows 10 April 2018 Update, который вышел весной 2018 года, также была куча проблем: не работал микрофон, пропадало многоканальное звучание, уменьшалась скорость движения курсора мыши, возникала задержка при использовании комбинации клавиш Alt+Tab, не запускался Edge, пропадало контекстное меню на панели задач, снижалось разрешение экрана при использовании интегрированной видеокарты и многие другие.

Осенью 2017 года вышло Windows 10 Fall Creators Update, пользователи которого заметили, что у них исчезают установленные приложения. Сами программы на диске были, но их плитки не отображались в меню. Браузер Edge переставал работать при переходе в нем куда-либо, кроме домашней страницы поиска.

Windows как сервис

После перехода в режим постоянного обновления Windows 10 в Microsoft также определили срок выпуска новых версий ОС – в апреле и октябре. Такая модель позволила пользователям быстрее получать новые функции, не дожидаясь несколько лет выпуска новой операционной системы. Также это позволило Microsoft получить стабильный канал отзывов и предложений, пользователи которого знают, что предложенное ими улучшение может воплотиться в ОС уже в ближайшие месяцы.

На практике постоянное обновление оказалось также постоянным источником проблем для пользователей. Так, баги были и при старом способе – выпуске новой ОС каждые несколько лет. Однако многие пользователи говорят, что, по сути, новая операционная система каждые полгода – это многовато, и качество снизилось. Некоторые эксперты говорят, что Microsoft стоит притормозить до одного апдейта в год, а остальное время заниматься исправлением багов. Иначе, говорят они, компания рискует потерять доверие пользователей.

Проблема не в том, что часто

Журналисты ArsTechnica убеждены, что сторонники одного апдейта на год или даже самой идеи Windows 10 как сервиса не видят главной причины багов. Проблема в том, как Microsoft разрабатывает свое программное обеспечение.

Два апдейта в год не являются чем-то уникальным. Так обновляется операционная система Ubuntu, а Google Chrome OS получает апдейт каждые шесть недель. Тестовый вариант офисного пакета Microsoft Office Insider обновляется ежемесячно и при этом не вызывает больших жалоб на свои баги.

Если кажется, что Windows ранее разрабатывали лучше, можно вспомнить народный совет: не инсталлировать свежую ОС, пока для нее не появится выпуск Service Pack 1 с исправлением багов.

Рабочий процесс с историческими корнями

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

В годы отдельных Windows цикл выпуска продукта длился два-три года. Microsoft делила его на несколько фаз: дизайн и планирование, насыщение функциями и разработка, интеграция, стабилизация. На первый этап отводилось 4-6 месяцев, за ними шли 6-8 недель интенсивного программирования, затем – 4 месяца интеграции и стабилизации. За цикл разработки эти фазы повторяли два-три раза, готовя альфа- и бета-версии.

Сегодня полный цикл разработки длится 7-8 месяцев – релиз будущей версии Windows 10 начинают готовить за несколько месяцев до выпуска очередного апдейта. Каждое обновление начинается с относительно спокойного периода с несколькими видимыми изменениями, но в последующие месяцы вносят существенные модификации, которые добавляют много багов. За месяц до релиза добавление новых функций программисты Microsoft переключаются на выявление глюков.

Качество страдает

Источники ArsTechnica сообщают, что отдел Windows существенно экономит время на проверке своей очередной разработки. Не для всех частей кода существуют тесты его работоспособности. Более того, программистам разрешается добавлять код без проверки его работоспособности. В некоторых случаях код, который не проходит тесты, принимается пригодным для интеграции в релиз. Разработчикам позволяется интегрировать код, о котором им известно, что тот не работает соответствующим образом.

Полный цикл тестирования Windows занимает несколько недель, и его проводят, но не для финальных релизов. Именно так объясняется баг с удалением файлов в October 2018 Update.

Примеры других

В IT-индустрии существуют примеры удачных производственных процессов постоянно обновляющегося программного обеспечения. Одним из таких является ПО для рекламных серверов Google – это критическая часть инфраструктуры поискового гиганта, неудачные апдейты которой могут стоить миллионы долларов. Но при этом интеграция измененного кода происходит в течение дня. После внесения изменений код отправляется в репозиторий исходного кода, где он автоматически перестраивается и передается на автоматизированные тесты. Разработчик получает отчет, после чего принимает изменения и отправляет код на интеграцию в рабочую систему.

Отличие подхода Google в том, что новый код должен соответствовать высоким критериям качества, после чего его можно интегрировать. В Microsoft сначала делают интеграцию, а потом исправляют баги.

1 коментар

  1. Почему в Windows 10 куча багов

    потому что должна быть Windows 11, 12, 15 и т.д., которые нужно бесконечно долго продавать)

НАПИСАТИ ВІДПОВІДЬ

Коментуйте, будь-ласка!
Будь ласка введіть ваше ім'я