Бивш служител на Microsoft обясни защо Windows 10 има толкова много бъгове

12
4519

Бележка на автора: Това е допълнение към предишна статия. Ако искате да видите проблема в обобщение, посетете линка по-горе. В тази е преведено дословно изказването на Джери Бърг.

 

Може да сте забелязали, че напоследък обновленията на Windows идват с много проблеми и в резултат на това доверието на потребителите към Microsoft продължава да спада. В YouTube канала „Barnacules Nerdgasm” бившият служител на Microsoft и собственик на канала Джери Бърг обяснява, защо тези проблеми зачестиха напоследък. Можете да изгледате клипа тук, а по-долу е нашият превод на български.

„Говорим преди големите уволнения, които бяха в края на 2014 и началото на 2015. Преди тях имаше цял тестов екип в Microsoft, който се занимаваше единствено с тестване на операционната система. В интерес на истината, този екип беше разделен на много по-малки екипи, всеки от които представяше отделен клон или build. След това всички екипи се събираха на ежедневни срещи, на които се решаваше дали кодът е готов да бъде пуснат за целия свят. От там кодът отиваше в WinMain, което е комбинация от кода на всички отдели на операционната система като потребителски интерфейс, приложения, драйвери и т.н.

Тези срещи бяха ключови, тъй като те даваха възможност на всички да седнат на масата и да обсъдят защо тази или онази част от кода не може да стигне до RTM пакета. RTM е съкратено от „Release to Media” (Готов за разпространение). Това вече е софтуерът, който се записва на CD-та и се качва на сървърите на Microsoft за изтегляне.

Та, на тези срещи всеки има думата, за да сподели какви бъгове са открити в операционната система. А тези бъгове се откриваха на истински хардуер. Говоря за автоматизирани тестове, които се провеждаха в лаборатория, в която имаше около хиляда различни компютъра, без да преувеличавам.

Тези компютри представляваха всички възможни комбинации от хардуер или поне голяма част от комбинациите, възможни с хардуера, който е на пазара. Имаше комбинации с AMD и NVIDIA видео карти, вградени видео карти, с AMD и Intel процесори и дори единични процесори, които се срещат много рядко. Имаше и лаборатория, в която се тестваха лаптопи и която до някаква степен функционира и в днешни дни. Но ето къде е проблема:

Microsoft уволни целия тестов екип за Windows (с някои малки изключения) и го замениха с екипа, който тестваше Windows Phone. А причината за уволненията беше, че трите отдела на Microsoft – Windows, Xbox и Windows Phone – бяха като отделни компании и трябваше да се слеят, за да се унифицира софтуера. Така нямаше да се налага да се разработват три отделни софтуера и според мен това беше добро решение. Според мен е впечатляващо, че конзолите Xbox (и Windows Phone, ако не беше спрян от поддръжка) споделят същото ядро с Windows 10. Но тъй като Microsoft извършваше тестове върху истински хардуер, така успявахме да намерим бъгове, които се случват в много специфични случаи и конфигурации.

За съжаление, в днешно време основната част от тестовете е автоматизирани симулации на виртуални машини. Проблемът с тях е, че при тях няма разнообразие. Всички се държат еднакво, имат еднаква виртуална хардуерна конфигурация, еднакви тайминги, еднакви памети и т.н. Поради тази причина на тях се откриват само бъговете, които се случват при 100% от потребителите. А как се откриват онези бъгове, които се случват на едни, но не и на други?

Тук идваше нещо, наречено Self-Host. Много от служителите в тестовия екип използваха дневните билдове на служебните си машини, които използват през целия ден. По този начин, ако се сблъскат с някой бъг, ще са принудени да го докладват на съответния разработчик, тъй като ще им досажда постоянно и ще ги побърква. От там разработчикът ще измисли решение на проблема или поне някакъв начин да се заобиколи. Но в днешни дни много по-малко служители са на Self-Host, а разработчиците разчитат на телеметрия от Windows Insider. Това е програма, за която потребителите могат да се запишат и по този начин да получават по-ранни версии на Windows 10. Ако те открият някакъв бъг или проблем, от тях се очаква да го докладват на Microsoft.

Проблемът при този подход е, че повечето бъгове не са от това, че нещо е блокирало, а от това, че то не работи точно както трябва. Когато нещо не работи както трябва, то не генерира информацията, която е нужна на Microsoft под формата на dump файл, който те могат да разгледат и да си кажат „Ето го калпавият ми код, който е прецакал нещата“.

Тук също не помага факта, че голяма част от потребителите в Windows Insider не докладват проблема, освен ако не е нещо катастрофално. Това означава, че много малък процент от хората, които се сблъскват с бъгове го докладват на Microsoft. А дори да го докладват, те не винаги могат да дадат нужната информация за отстраняване на проблема. Вместо истински хора да тестват софтуера на истински хардуер, тази задача е оставена в ръцете на потребителите. Тук на помощ идва телеметрията.

Телеметрията е страхотен инструмент за фина настройка на софтуер и в някои случаи може да помогне с отстраняването на бъгове, но тя не може да помогне в случаите, където crash-ът се случва извън процеса. Например: имате програма, която забива, но причината за това е във външна зависимост, в която има проблем. Например – някоя системна услуга на Windows.

По подразбиране, когато този процес блокира, той създава dump файл, който е малка снимка на RAM паметта. Тук трябва да кажа мини dump, а не пълен dump, защото програмата изпраща само информацията, която показва къде точно е блокирала програмата. При пълният dump се прави копие на цялото съдържание на RAM паметта на системата. От него разработчиците могат да видят връзките между различните процеси в операционната система и да разберат точно къде е проблема. Тези пълни дъмпове се изпращат изключително рядко на Microsoft, тъй като са големи по размер.

Това означава, че когато в Microsoft получат мини дъмп, те се опитват да пресъздадат проблема на своите машини. Това беше задачата на моя екип през 2015, където пресъздавахме проблемите и изпращахме всичката ни информация на разработчиците, за да могат те да видят пълната картина на това, което се случва и да предприемат мерки по отстраняването им.

Но за съжаление, днес разработчиците на Microsoft разчитат изцяло на телеметрия и на база данни от бъгове, в която се вижда кои бъгове се случват най-често и се опитват да разгадаят (а в някои случаи и да налучкат) какво се случва от малкото информация, която получават от потребителските машини. А когато създадат решение на проблема, те нямат добра платформа, на която да проверят дали той наистина е решен. От там това решение отива в Insider билдовете, и от там преценяват дали е сработило по това, дали излизат нови проблеми. Но е трудно да се определи каква е връзката между Проблем 1 и Проблем 2, освен ако не са пряко свързани.

Друг проблем беше, че когато имаше голямо обновление, то излизаше за всички едновременно. Но се оказа, че това не е добър вариант, тъй като видяхме как преди около година-две едно такова обновление блокира една четвърт от света. Може и да преувеличавам малко, но със сигурност засегнатите бяха много и случаят нашумя в медиите

Microsoft се поучи от грешката си и сега обновленията излизат на вълни. Това е причината понякога да отваряте Windows Update и да забележите, че все още не можете да си изтеглите версия 1903. Дори може да ви излезе съобщение от рода на „Обновлението все още не е готово за вашия хардуер“. Това е начинът на компанията да ви каже, че според телеметрията, която са получили, не са сигурни, че обновлението ще върви безпроблемно на машината ви.

Сега подходът на Microsoft е да се подсигурят, че Insider версията върви добре и не получава доклади за бъгове, и след това тази версия да започне да излиза на вълни за всички потребители. Имайте предвид, че участниците в Insider програмата не представляват цялата хардуерна разновидност, но ако трябва да сме честни и лабораторията на Microsoft не успяваше да я постигне на 100 процента. Но поне тогава имаха повече хардуер отколкото сега.

Проблемът тук са компютрите от първите вълни. Затова е възможно да забележите, че вие получавате обновление преди вашите приятели и близки. Тъй като Microsoft няма много вяра в това обновление, първите потребители са като допълнителна част от Insider програмата. Ако те започнат да докладват бъгове, Microsoft отново гледат телеметрията и след като отстранят някои от тях го пускат на следващите вълни.
Сега, наистина признавам Microsoft за това, че са предприели мерки по отстраняване на проблема като го пускат поетапно. Но това не променя броя хора, които ми се оплакват всеки ден за това как системата им се е прецакала, че интернета им е започнал да не работи както трябва, че Windows не им разпознава дяловете или че компютъра им въобще не иска да се включи.

Това са проблеми, които щяха да бъдат открити от тестовия екип, които играеха ролята на бариера. Даже колегите ни наричаха нашия екип така, когато работех там – Бариерата.

Наистина се надявам, че някой от по-високите клонове на Microsoft ще види това видео и ще си каже „Абе, май тоя дебелия от YouTube има право. Може би трябва да наемем обратно тестовия екип.“ Разбирам, че няма да могат да наемат същите хора, които бяха в него, но това не означава, че не могат да съберат екип и да го обучат по същия начин.“

Ако вие като потребители искате активно да помогнете за подобряването на Windows 10, ето как можете да докладвате проблеми, с които се сблъсквате.

1. Натиснете Старт бутона и намерете приложението „Feedback Hub”

2. В най-горното поле напишете в три-четири думи какъв проблем или предложение имате. А ако желаете, в долното поле можете да го опишете в детайли.

3. Посочете с какво точно е свързан проблемът/предложението ви. Обикновено приложението ще ви предложи категория на база написаното в предната стъпка.

4. В последната стъпка можете да посочите описание на проблема си и да добавите скрийншот или да пресъздадете проблема стъпка по стъпка.

12
ДОБАВИ КОМЕНТАР

avatar
8 Коментари
4 Отговори на коментарите
0 Последователи
 
Коментарът с най-много реакции
Най-горещият коментар
  Абонирай се  
нови стари оценка
Извести ме за
тралала
тралала
трол
трол

Те могат да трият само коментари, статиите не се бутат.

тралала
тралала
Oracle
Oracle

Айдееее …
Блиц – втори номер.
Един и същ материал се пуска няколко пъти.
Ейййй – прав бях – калдата са си назначили уволнени служители от блиц 😉

jki
jki

След 1 месец пак ще я публикуват. ;)))

KalHa
KalHa

Няма. След месец ще им статии за евтини китайски боклуци и крадени ключове. Идват празници…

Linux
Linux

Хейтъриии, четете заглавието „Бележка на автора: Това е допълнение към предишна статия.“

Fermin
Fermin

така се вижда колко хора четат само заглавието и отиват на коментарите… а може би от Калдата са искали точно това да видят, колко от читателите им са такива….

тралала
тралала

Хубавец, когато четох статията и оставих първия коментар – бележката на автора я нямаше 😉

djagi
djagi

Хубаво че е калдата, че да науча за всичките тези бъгове…

Ани
Ани

Хубава статия ,но това свръх затлъстяло Микромеко недоразумение няма какво да ни обяснява за екипите по тестване -бирщайн от Бурунди и Сомалия , които от качествен код разбират колко маймуни от ядрена физика. Екипите за тестване на Бил са за уволнение още от първият итерейшън на Уиндоус ХР. Всичко нататък потъна в шарении и безмислици.И се прави с цел да се скапе всичко , защото бъдещето ще е в платени услуги.Искаш Нет ето ти абонаментче.Искаш гейминг ето ти 3 клод сървъра и абонаментче.Искаш корпоративни услугието ти…Никой няма да има собствена ОС на собственият си комп.Ще остане един голям екрани една… Виж още »

the professor
the professor

много яка тениска, логото трябва да е на десктопа на 10 по подразбиране, още с инсталацията…