Σας φαίνεται ότι έχει αυξηθεί ο αριθμός των σφαλμάτων στις ενημερώσεις των Windows 10 τα τελευταία δύο χρόνια; Αν ναι, γνωρίζετε το γιατί; Αυτό το ερώτημα απαντά σε ένα πρόσφατο βίντεο ο πρώην εργαζόμενος στην Microsoft (Senior SDET) Jerry Berg, γνωστός και ως Barnacules.
Ο Berg εργάστηκε για 15 χρόνια στη Microsoft και ένας από τους ρόλους του ήταν να σχεδιάζει και να αναπτύσσει εργαλεία και διεργασίες για την αυτοματοποίηση των δοκιμών στο λειτουργικό σύστημα της Microsoft. Έφυγε από την εταιρεία μετά την κυκλοφορία των Windows 8.1.
Σύμφωνα λοιπόν με τον Berg, η Microsoft άλλαξε σημαντικά τις διαδικασίες των δοκιμών τα τελευταία δύο χρόνια. Ο προγραμματιστής περιγράφει αναλυτικά τον τρόπο που γινόταν οι δοκιμές στα τέλη του 2014 μέχρι και τις αρχές του 2015, και πώς άλλαξαν οι διαδικασίες δοκιμών της Microsoft από τότε.
Το 2014/2015, η Microsoft απασχολούσε μια ολόκληρη ομάδα που ήταν αφιερωμένη στις δοκιμές του λειτουργικού συστήματος, των δομών, των ενημερώσεων, των drivers και άλλου κώδικα. Η ομάδα αποτελούνταν από πολλές υποομάδες που διεξήγαγαν δοκιμές και συζητούσαν σφάλματα και θέματα σε καθημερινές συναντήσεις. Οι δοκιμές διεξαγόταν χειροκίνητα από κάθε ομάδα αλλά και μέσω αυτοματοποιημένων ελέγχων. Αν οι συγκεκριμένες αλλαγές περνούσαν τις δοκιμές, τότε μπορούσαμε να ενσωματώσουμε τον κώδικα στα Windows.
Οι ομάδες διεξήγαγαν τις δοκιμές σε “πραγματικό” hardware σε ένα εργαστήριο μέσω αυτοματοποιημένων ελέγχων. Υπήρχαν διαφορετικά συστήματα είχαν διαφορετικά hardware εξαρτήματα, π.χ. επεξεργαστές, σκληρούς δίσκους, κάρτες βίντεο και ήχου και άλλα εξαρτήματα για να μπορεί η εταιρεία να καλύψει ένα ευρύ φάσμα διαμορφώσεων διαφόρων συστημάτων. Αυτό όμως βοηθούσε να εντοπιστούν και τα σφάλματα που επηρέαζαν μόνο ορισμένα hardware.
Mark Zuckerberg: Ο δεύτερος πλουσιότερος άνθρωπος
Ένα «νέο αστέρι» φωτίζεται στο νυχτερινό ουρανό
Mark Zuckerberg: Έγινε ο δεύτερος πλουσιότερος άνθρωπος! 💰💰
Η Microsoft λοιπόν, σταμάτησε να χρησιμοποιεί σχεδόν ολόκληρη την ομάδα δοκιμών των Windows καθώς άρχισε να ετοιμάζει τρία διαφορετικά συστήματα: Windows, Windows Mobile και Xbox σαν ένα ενιαίο σύστημα. Η εταιρεία άρχισε να μεταφέρει το μεγαλύτερο μέρος των δοκιμών σε εικονικές μηχανές. Αυτό σημαίνει ότι οι δοκιμές σταμάτησαν να πραγματοποιούνται σε πραγματικά συστήματα και πάρα πολλές διαφορετικές διαμορφώσεις hardware.
Οι υπάλληλοι της Microsoft μπορούσαν τότε να χρησιμοποιήσουν τα Windows που ήταν υπό ανάπτυξη και στους δικούς τους υπολογιστές. Η κύρια ιδέα πίσω από αυτό ήταν να μπρούν να εντοπίζουν σφάλματα και εκτός του ωραρίου εργασίας. Ο Berg αναφέρει στο βίντεο ότι αυτό δεν χρησιμοποιείται τόσο ευρέως όπως πριν.
Η κύρια πηγή δεδομένων, εκτός από τα αυτοματοποιημένα συστήματα δοκιμών που υπάρχουν, προέρχεται από την τηλεμετρία και τους Windows Insiders. Τα Windows Insider builds εγκαθίστανται σε εκατομμύρια συσκευές και η Microsoft συλλέγει μέσω τηλεμετρίας δεδομένα από όλες αυτές τις συσκευές.
Εάν κάτι δεν λειτουργεί σωστά, η Microsoft λαμβάνει πληροφορίες για το τι και πως. Ένα από τα θέματα όμως που υπάρχουν με την συλλογή δεδομένων μέσω τηλεμετρίας είναι ότι είναι απλά δεδομένα. Τα δεδομένα δεν εξηγούν επακριβώς τα περισσότερα σφάλματα. Εάν κάτι δεν λειτουργεί σωστά, η Microsoft ενδέχεται να μην είναι σε θέση να διακρίνει τα σχετικά bits από τα δεδομένα τηλεμετρίας. Όσο για τους Insiders, άλλοι αναφέρουν τα προβλήματα και άλλοι όχι. Υπάρχουν και φορές που τα bugs φαίνεται να έχουν επιδιορθωθεί σε ορισμένα συστήματα των Insiders, αλλά αυτό δεν σημαίνει ότι ότι έχουν επιδιορθωθεί για κάθε διαμόρφωση hardware. Επιπλέον, αν και οι Insiders μπορούν να αναφέρουν σφάλματα, είναι γεγονός ότι δεν δίνουν όλες τις απαραίτητες πληροφορίες στη Microsoft, κάτι που δημιουργεί τεράστια προβλήματα στους προγραμματιστές που έχουν επιφορτιστεί με την επίλυση αυτών των ζητημάτων.
Το 2014/2015, η ομάδα δοκιμών της Microsoft ήταν επιφορτισμένη με την ανάλυση των σφαλμάτων και των προβλημάτων. Έτσι έδιναν στους προγραμματιστές τα δεδομένα που απαιτούνταν για την επίλυσή τους.
Σήμερα, ο Berg αναφέρει ότι υπάρχει μόνο η τηλεμετρία που προσπαθούν να αναλύσουν οι προγραμματιστές, για να καταλάβουν πώς μπορούν να διορθώσουν αυτά τα ζητήματα. Οι επιδιορθώσεις δε που κυκλοφορούν για τις συσκευές πελατών που τρέχουν τα Insider Builds δεν μπορούν να ελεγχθούν σωστά λόγω έλλειψης εμπειρίας. Έτσι δημιουργούνται νέα σφάλματα.
Ένας από τους κύριους λόγους για τους οποίους η Microsoft σταμάτησε να κυκλοφορεί τις νέες ενημερώσεις χαρακτηριστικών σε όλους ταυτόχρονα ήταν ότι τα προβλήματα που δεν είχαν εντοπιστεί, μπορούσαν να επηρεάσουν μεγάλο αριθμό πελατών της εταιρείας.
Για να αποφευχθούν λοιπόν οι μαζικές διαμαρτηρίες όπως μετά την κυκλοφορία των Windows 10 στην έκδοση 1809, τα Windows κυκλοφορούν με βαθμιαία rollouts και όχι μαζικά μέσω του Windows Update.