Những năm gần đây, mỗi lần cập nhật Windows mới, người dùng cảm thấy như đang đánh bạc với sự ổn định của máy tính. Mỗi bản cập nhật Windows mới đều chứa một vài lỗi khó chịu nào đó, đôi khi đến mức nghiêm trọng. Nhiều người dùng còn phải tìm cách chặn cập nhật tự động để chúng không làm hỏng sự ổn định mà họ đang có với bản Windows hiện tại. Thậm chí vào tháng 10 năm 2018, chính Microsoft từng phải dừng phát hành bản cập nhật Windows 1809 chỉ 5 ngày sau khi nó ra mắt vì có quá nhiều lỗi.
Nguyên nhân của tình trạng này là do đâu? Không ai có thể biết chính xác khi chính Microsoft cũng chưa từng đề cập đến điều này. Thế nhưng câu trả lời của Jerry Berg, cựu kỹ sư cấp cao phát triển các công cụ kiểm tra (Software Development Engineer In Test hay Senior SDET) của Microsoft đã cho ta thấy phần nào lý do của tình trạng này.
Lỗi màn hình xanh ám ảnh của Windows.
Berg đã có 15 năm làm việc tại Microsoft với vai trò thiết kế và phát triển các công cụ và tiến trình để tự động hóa quá trình kiểm tra hệ điều hành Windows. Ông rời khỏi công ty sau khi Windows 8.1 bắt đầu được xuất xưởng tới người dùng. Sau đó một vài năm, Microsoft bắt đầu thay đổi đáng kể quá trình kiểm thử phần mềm, và rất có thể điều này góp phần đáng kể đến việc phát sinh số lượng lỗi trong mỗi bản cập nhật Windows mới.
Thay thế con người và máy tính thật bằng môi trường ảo
Trước năm 2014/2015, Microsoft bố trí riêng một nhóm dành cho việc kiểm thử hệ điều hành, các bản build, các bản cập nhật, driver và các bộ code khác. Nhóm này bao gồm nhiều bộ phận thực hiện việc kiểm thử và trong các cuộc họp hàng ngày, họ sẽ thảo luận về các lỗi cùng các vấn đề phát sinh khác. Việc kiểm thử được nhóm này thực hiện thủ công kết hợp với các công cụ kiểm thử tự động, và nếu vượt qua được các bài kiểm thử, chúng sẽ được chấp nhận để tích hợp các dòng code vào Windows.
Hơn nữa, các bài kiểm thử của nhóm còn được thực hiện trên các phần cứng "thực" trong phòng thí nghiệm khi kiểm thử tự động. Những máy tính này có các linh kiện phần cứng khác nhau, ví dụ các loại bộ xử lý, các loại ổ cứng, các loại card âm thanh hình ảnh, cũng như một loạt cấu hình hệ thống khác nhau. Điều này có nghĩa là những lỗi chỉ xảy ra đối với một số loại phần cứng hoặc cấu hình nhất định sẽ xuất hiện trong quá trình kiểm thử.
Việc kiểm thử Windows bằng các tester và máy tính thật đã được Microsoft thay thế bằng các môi trường ảo
Tuy nhiên, khi Microsoft thay đổi định hướng với trọng tâm đặt vào việc hợp nhất 3 thành phần chính – Windows, Windows Mobile và Xbox – thành một hệ thống duy nhất, công ty đã sa thải gần như toàn bộ nhóm kiểm thử Windows Test này. Giờ đây việc kiểm thử phần lớn được thực hiện trên các máy ảo và theo ông Berg, điều này có nghĩa là các bài kiểm thử không được thực hiện trên các máy thực với những cấu hình phần cứng đa dạng như trước nữa.
Ngoài ra, trước đây các nhân viên Microsoft cũng có thể tự cài Windows cho máy tính của mình. Điều này cũng có nghĩa họ cũng có thể tham gia vào quá trình kiểm thử. Ý tưởng chính đằng sau điều này là có thể nhận được phản hồi từ chính nhân viên Microsoft ngay khi họ gặp phải vấn đề trong lúc làm việc. Nhưng hiện tại, ông Berg lưu ý rằng việc từ cài đặt Windows như vậy không còn được sử dụng rộng rãi như trước đây nữa.
Thu thập dữ liệu lỗi Windows bằng Telemetry
Ngoài các hệ thống kiểm thử tự động, các nguồn dữ liệu kiểm thử khác đến từ Telemetry (phép đo từ xa) và người dùng trong chương trình Windows Insiders. Các bản build dành cho người dùng Windows Insider được cài đặt trên hàng triệu máy thiết bị và Microsoft thu thập dữ liệu Telemetry từ tất cả các thiết bị này.
Mỗi khi có cái gì đó bị crash, Microsoft sẽ có được thông tin về nó. Tuy nhiên, một trong các vấn đề đối với Telemetry là nó không phát hiện được phần lớn các lỗi khác, do vậy làm cho dữ liệu thu thập được trở nên thiếu chính xác. Nếu điều gì đó hoạt động không đúng, Microsoft cũng không thể phân biệt được nó với các dữ liệu khác của Telemetry.
Các bản cập nhật Windows lỗi nhiều đến mức nhiều người dùng chọn cách không cập nhật để tránh làm hỏng sự ổn định mà họ đang có hiện tại.
Về mặt lý thuyết, người dùng có thể báo cáo các vấn đề này, nhưng nhiều người không làm vậy hoặc báo cáo vào lúc khác, khi đó có thể vấn đề đã chìm nghỉm bởi các phản hồi khác từ người dùng Insider mà Microsoft nhận được. Bên cạnh đó, trong khi người dùng Insider có thể báo cáo lỗi, họ thường không cho biết điều gì gây ra vấn đề đó. Điều này gây ra vấn đề lớn cho các kỹ sư nhận nhiệm vụ giải quyết chúng.
Vào những năm 2014/2015, nhóm kiểm thử của Microsoft sẽ được giao nhiệm vụ phân tích lỗi và vấn đề phát sinh, sau đó cung cấp cho các kỹ sư dữ liệu họ cần để giải quyết chúng. Nhưng theo ông Berg, ngày nay, các kỹ sư chỉ còn lại dữ liệu từ Telemetry để cố gắng tìm ra cách sửa các lỗi và vấn đề đó. Sau đó chúng sẽ được đẩy lại về thiết bị của khách hàng đang chạy các bản build Insider để kiểm tra xem lỗi đã được sửa hay chưa và hay có phát sinh lỗi mới nào không.
Không chỉ nhiều lỗi hơn trong mỗi bản cập nhật Windows
Một trong những nguyên nhân chính khiến gần đây Microsoft ngừng đưa ra nhiều tính năng mới cùng lúc tới khách hàng là vì nếu các vấn đề phát sinh không được phát hiện kịp thời, chúng sẽ ảnh hưởng tới một số lượng lớn người dùng. Và nguồn gốc của điều đó chính là vì quá trình kiểm thử bị rút gọn lại cũng như lượng nhân sự tham gia cũng không còn đông đảo như trước nữa.
Nếu bản cập nhật của bạn bị lỗi, hãy cập nhật tiếp để sửa lỗi.
Bản cập nhật thảm họa của Windows 10 1809 là minh chứng rõ nét cho việc cố gắng ra mắt hàng loạt tính năng mới mà không thể kiểm thử chúng một cách chính xác sẽ dẫn đến hậu quả như thế nào. Từ sau bản cập nhật đó, Microsoft đã không còn can đảm để tung ra nhiều tính năng mới như trước nữa.
Tất cả là vì Microsoft đã đánh đổi đội ngũ kiểm thử của mình bằng dữ liệu Telemetry họ thu thập được từ các bản Build trên máy người dùng tham gia chương trình Insider, cũng như thay thế các máy tính thực với đa dạng cấu hình khác nhau bằng những môi trường ảo.
Điều này đang không chỉ làm người dùng khó chịu và ngần ngại cập nhật bản Windows mới khi ngày càng nhiều lỗi xuất hiện hơn, mà còn làm người dùng buồn chán khi mỗi bản cập nhật chỉ cung cấp một số ít ỏi các tính năng mới. Cuối cùng điều này lại càng làm người dùng không muốn cập nhật hơn nữa – tại sao phải sửa một thứ gì đó khi nó không hỏng?
Tham khảo Ghacks