In ultima vreme, vedem o aparenta cataracta a esecurilor in Windows 10 . Dupa remedierea unui bug care afecta functiile de cautare si declansa consumul CPU, au aparut altele care au spart sunetul unor jocuri, au provocat din nou consumul excesiv al procesorului si au cauzat defectiuni in Windows Defender.
Windows 10 nu pare sa fi avut o cale buna de la lansare, multe actualizari provocand mai multe probleme decat s-a dorit. Mentiune speciala aici este actualizarea din octombrie 2018, care a trebuit sa fie retrasa de Microsoft din cauza numarului mare de erori pe care le-a avut, pana la stergerea fisierelor din unitatea de stocare, situatie care poate avea consecinte catastrofale, mai ales in Business.
Totusi, din ce provine acest numar mare de esecuri in Windows 10? Aceasta este intrebarea la care Jerry Berg, fost inginer Microsoft Testing Software Development, a incercat sa raspunda printr-un videoclip postat pe canalul sau de YouTube. Berg lucreaza cu Microsoft de 15 ani, iar rolurile sale s-au concentrat pe proiectarea si dezvoltarea de instrumente si procese pentru automatizarea testarii pentru sistemul de operare Windows.
Intrand in detaliu, Jerry Berg explica ca gigantul de la Redmond a schimbat procesele de testare in ultimii ani, aratand cum s-au facut acestea intre sfarsitul lui 2014 si inceputul lui 2015 si modificarile introduse de atunci.
Microsoft a avut in 2014 si 2015 o intreaga echipa dedicata testarii sistemului de operare, build-urilor, actualizarilor, driverelor si altor coduri legate de aceste componente . Acea echipa a fost formata din mai multe grupuri care au testat manual cu instrumente automate si au discutat erori si probleme in intalnirile zilnice. In cazul in care un cod a trecut testele, acesta a primit aprobarea pentru a fi integrat in Windows.
Testele au fost efectuate pe hardware real intr-un laborator in care erau disponibile componente din diferite game si diferiti producatori (procesoare Intel si AMD, grafica NVIDIA si AMD, sunet Realtek si Sound Blaster…) pentru a acoperi un numar mare de configuratii, facand posibil ca erorile din Windows sa fie detectate inainte ca actualizarile sa fie livrate utilizatorilor finali .
Cu toate acestea, aceasta echipa a fost disponibila aproape in intregime dupa ce Microsoft a decis sa unifice Windows, Windows Mobile si Xbox pe o singura platforma. Compania a mutat majoritatea testelor pe masini virtuale , facand astfel mai dificila detectarea erorilor rezultate din modificarile configuratiei hardware.
In plus, angajatii companiei pot instala ei insisi Windows, facandu-si propriile computere sa serveasca drept bancuri de testare si apoi raportand problemele gasite in timpul zilei de lucru. Aici Berg explica ca aceste tipuri de instalatii nu mai sunt atat de comune, delegand mai multa responsabilitate masinilor virtuale care rareori recreeaza fidel un mediu real.
Microsoft obtine date despre blocari si defectiuni in mai multe moduri. Pe langa testele pe care le-am mentionat pana acum, adaugam telemetria si build-urile Windows Insider, care sunt instalate pe milioane de dispozitive pentru colectarea datelor prin telemetrie, formand un set care aparent nu este in intregime eficient atunci cand trimitem catre companie informatii despre multe erori detectate in sistem . Ca alternativa, exista raportarea manuala a utilizatorilor, dar aici pot fi gasite impedimente precum lipsa de cunostinte despre modul de raportare sau ca acestia nu sunt capabili sa ofere informatii detaliate despre problemele pe care le au, ingreunand astfel munca inginerilor. .
Inlocuirea unei echipe dedicate testarii in lumea reala cu un mecanism care combina testarea virtualizata si telemetria pare sa fi facut dificil pentru inginerii Microsoft sa detecteze sau sa remedieze multe erori in Windows 10. Berg observa ca inginerii se uita la telemetrie pentru a afla cum rezolva problemele. si ca remediile sunt trimise catre dispozitivele care ruleaza versiuni Insider. Apoi vad daca intr-adevar au rezolvat problema sau daca au creat erori noi.
Din cauza acestor obstacole, Microsoft a incetat sa trimita actualizari de caracteristici tuturor utilizatorilor in acelasi timp, deoarece problemele nu au fost detectate in fazele de testare, ceea ce a facut ca bug-urile sa ajunga sa fie furnizate unui numar mare de computere.