侵权投诉
订阅
纠错
加入自媒体

Windows 10怎么了?

2018-10-24 14:13
来源: IT之家

Windows 10底层改动太多?

操作系统的开发是一项超级大的工程。正如我们所知道的,一项工程越复杂,那它出错的可能性就越大,而某个错误所处于的层级越浅,那修复它的代价就越小。

这里我们假设一个最简单的软件结构模型,其层级我们以底层、中间层和表层代指。底层(Unit层)相当于盖房子时所用的砖块。通常来讲,这个层级的测试(单元测试),其需要测试项目最多,可能存在的bug的数量也最多,但如果问题在这一层级被发现,那解决问题的代价是最小的。

中间层(Service层)相当一栋房子中由砖块组成的墙体。若底层的各个单元都能正常工作,那将它们结合到一起之后,其组合体能否依然正常工作,这就是中间层级的测试所需要验证的事情。通常来讲,这个层级的测试,其需要测试的项目的数量要少于单元测试,而如果有问题在这个层级被发现,那解决问题的代价是相对较小的。

表层(UI层)相当于由墙体、天花板等组成的一栋完整的房子。如果一个由各个单元和模块所拼合成的最终产品可以按设计预期工作,那就万事大吉,非常好,但如果这一层级当中真的被测出了问题,那就比较麻烦了。因为导致这个问题的原因还无法定位。如果问题出在表层和中间层,那问题解决起来相对还算容易,但如果问题出在底层,那问题不仅定位起来相当麻烦,解决起来的代价也非常高,因为用了有问题的Unit的Service都会受到影响。

作为一个操作系统来讲,Windows 10的结构远比我们上面提出的这个软件结构模型要复杂得多,它是由HAL、Devices Drivers、Kernel、Windows and Graphics、NTDLL.DLL、Subsystem DLLs、Service Processes、User Process、Environment Subsystems和System Process等多个层级所组成的,每个层级和每个模块之间都环环相扣,并有可能互相影响。

有件技术上的事情可以确定的是,据《Windows Internals》这本书的介绍,Windows 10所加入的新技术对底层的改动比Windows 7、Windows 8和Windows 8.1还要多,比如新的Secure System进程、Exploit Guard、WSL以及新的驱动模型。

底层改动所导致的问题很有可能牵一发而动全身,Windows 10的质量难以控制,相信和它的底层改动肯定是分不开的。

Windows Insider项目背锅?

Windows Insider项目是微软于2014年推出的面向用户的Windows 10预览体验计划,此前有传言称,微软“砍掉测试团队”之后,Windows 10的质量控制将全部依赖于自动化测试和Windows Insider,而因为Windows Insider成员很难像专业的软件测试工程师那样准确和专业地反馈问题,所以Windows 10的质量控制水平出现了下滑。

关于“微软砍掉测试团队”这个传言,我们上面已经进行过一个澄清,将Windows 10质量水平下滑的原因归结于“微软砍掉了测试团队”,这肯定是不准确的。

至于Windows Insider要为此背锅这个观点,虽然目前还没有证据表明Windows 10的测试在某些程度上依赖于Windows Insider项目与其质量控制水平的下滑有直接的关系,不过有一点是几乎确定的,那就是没有接受过专业培训的Windows Insider很可能难以足够高效地发现和反馈问题。

专业的软件测试工程师在进行软件测试时通常会结合测试用例系统和全面地排查问题,而没有经过专业培训的Windows Insider虽然可以为Windows 10提供数量相当可观的反馈,但这些反馈面临很大的重复提报风险、漏报风险以及误报风险,另外,数量庞大的反馈会让微软为之付出相当大的筛选成本。

所以Windows 10质量控制出现问题要Windows Insider来背锅?

这个锅Windows Insider们当然不能背。

因为在把系统交给Windows Insider测试之前,微软需要对候选的版本进行单元测试和冒烟测试,也就是说,最终提交给用户的版本,肯定是一个基本上没有毁灭性bug的版本,况且用户提交的问题被解决后,微软还要以采取回归测试的形式来进行验收。由此可见,Windows 10的质量控制做得合格与否,很大程度上是取决于微软,而非Windows Insider。

Windows已经不重要了?

今年3月29日,据IT之家报道,微软对公司的组织结构进行了新一轮的变革,Windows和设备部门被拆分,当时的Windows和设备部门主管Terry Myerson离职,Windows Insider项目唐娜姐被分配到Azure部门。

独立的Windows部门“没了”。

近些年,微软一直在进行业务方向上的变革,正如我们所经历的那样,微软砍掉了Windows RT,放弃了Lumia设备的研发和生产,砍掉了微软手环的产品线,宣布Windows 10 Mobile进入维护期,种种迹象表明,微软正在缩减其To C的业务,而大力发展量子计算、云计算和人工智能则表明微软的业务中心越来越向To B倾斜。

为什么微软要做出这样的倾斜呢?首先,微软的To C业务已经遇到瓶颈,随着亚马逊、谷歌等科技巨头在云计算领域纷纷发力,微软若不及时改变,等这一领域形成准入壁垒,微软再入场就为时已晚。另外,To B业务会为微软带来非常积极的营收,这对微软的股东以及微软公司本身都是一大利好。

那Windows呢?Windows就不重要了吗?

当然重要。

随着微软转型的推进,Windows 10早已不是一个简单的产品——而是基础设施。Windows 10已经融入到用户生活和工作的方方面面,就像我们每天呼吸的空气一样——它看似透明,却不可或缺。微软的服务,不管是To B还是To C,很大程度上都要依托于Windows 10。

既然Windows 10对微软依然重要,那为什么微软要分拆Windows和设备部门呢?

微软的转型固然是原因之一,不过还有一个故事,大家尽管当成街谈巷议来听,千万不要认真。

不知大家有没有过这样的好奇,纳德拉上台以来,为什么Windows好像越来越不受待见了呢?

微软Windows事业部曾经有个名叫“Steven Sinofsky”的主管,当年微软在选下一任CEO的时候,它是萨提亚·纳德拉强有力的竞争者,在和纳德拉的竞争中失利之后,Steven Sinofsky与微软“和平分手”。

Steven Sinofsky离职之后,媒体尝试与微软的联系人取得联系,但由于这个话题比较敏感,该联系人不愿意透露身份。

联系人声称:“你想必听说了Steven Sinofsky是因为得罪了人才离开的,Sinofsky的政治手法一面是铁腕政策,对他一定要服从,一面是同时在暗地里搞一些政治斗争……”

萨提亚·纳德拉上台以后微软为什么总是拿Windows部门开刀,又是砍掉Windows RT、又是放弃Windows 10 Mobile、又是对Windows 10 IoT爱搭不理,如果从“否定竞争对手(即使是曾经的)的一切,就是肯定自己的一切”的角度来理解,那上面的这些事情为何发生,或许也就有个非官方的解释了。

根本原因

在上文中,讨论了可能导致Windows 10质量失控的种种原因,但这些原因只是表面原因,它们都不是根本上的原因。

归根结底,Windows 10质量失控的罪魁祸首,其实就是迭代太快。

Windows 10的开发和敏捷开发是同样的模式,敏捷开发是一种以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发的模式。

操作系统这种东西,实际上是不能敏捷开发的。微软的Windows 10的质量之所以有失控风险,就是因为他们更新迭代产品的方式变了。

对于Windows 10这样的超级工程来讲,半年更新一次的频率对微软来说太快了,就目前来看,短时间之内,微软还很难保证这样的迭代和交付周期。

除非微软能够想出一个能够让新系统既能及时交付又能有效控制质量的两全的办法,否则,IT之家认为,把Windows 10的迭代周期由半年一个大版本改成一年一个大版本可能是个更好的主意。

写到这里,突然想起8848钛金手机的一句广告词。在文章的最后,我们不妨把这句话送给微软的Windows 10。

“记住,跑得快不一定赢,不跌跟头,才是成功。”

<上一页  1  2  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    电子工程 猎头职位 更多
    扫码关注公众号
    OFweek电子工程网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号