[转帖]为微软效力15年的微软前员工解释Windows 10为什么问题这么多
为微软效力15年的微软前员工解释Windows 10为什么问题这么多
https://www.cnbeta.com/articles/tech/892109.htm . 测试团队已经被裁撤 . 自动化测试和虚拟机测试还是有不充分的地方. . 微软能够获取win10的数据, 稍加改进应该就能获取关键个人资料.
众所周知Windows 10系统问题频发整体来说稳定性比较差,然而在此之前的版本其实相对来说稳定性还挺好的。自从Windows 10正式版推出之时该系统就开始频繁出现问题,乃至现在每个月安全更新都会带来大量的新问题,其实最主要的原因就是微软重组时将整个测试部门裁员。
操作系统的构建如此复杂:
曾为微软效力长达十五年的 杰瑞•伯格 日前发布视频评论详细解释微软操作系统团队以前构建版本时的测试流程。
原来微软有着非常庞大的测试团队,这些测试团队又分为许多不同的分支,每个分支下又设有多个不同的组别等。
如此细致的划分可以保证所有功能模块都得到充分测试,至少可以保证每个新功能都可以有充足的人手进行测试。
这些子测试团队每天都会开会讨论新功能的测试情况,只有在确保没有问题的情况下才会将相关功能和代码合并。
值得注意的是测试团队成员每个人都需要使用最新的测试版,测试版安装在物理机上作为测试团队日常主力系统。

杰瑞曾是Windows XP~10的开发团队成员
![]()
为重要的地方设立专门的实验室:
杰瑞伯格还提到了原来的微软测试团队还专门为诸如英特尔、AMD、英伟达等成立专门的实验室测试CPU/GPU。
这些专门的实验室用来测试新的构建版本或者功能模块与重要硬件例如处理器和显卡是否存在兼容或者性能问题。
负责这些实验室的测试团队也会与制造商进行对接,所以测试团队若发现什么问题可以很快确定并制定解决方案。
待开发团队修复问题后会再交给测试团队进行测试,测试团队通过测试后则修复方案的代码会被合并到主线程中。
然后纳德拉上任后裁撤整个测试团队:
2014年~2015年时微软原CEO鲍尔默宣布退休并离开微软,随后接任鲍尔默担任微软新CEO的是萨提亚•纳德拉。
纳德拉在上任时宣布微软进行大规模重组,同时纳德拉提出“移动为先云为先”的口号,即桌面平台不再是重点。
在重组过程中纳德拉将操作系统整个测试团队全部裁撤,接下来还将Windows 10/Xbox/Windows Phone合并。
合并后也就是各个平台的硬件使用相同的 Windows 10 内核 , 每个版本都需要兼顾 PC、移动设备以及游戏平台。
当然正如你知道的那样最终WindowsPhone或者叫Windows 10 Mobile平台回天无力,微软彻底放弃移动系统。
现在微软靠的是自动化测试:
对于大型商业软件开发公司来说雇佣真人团队进行测试是个困难的决定,因为人工成本可能需要耗费大量的资金。
因此现在很多软件开发商都依靠自动化测试系统,微软同样如此,微软现在主要靠的就是自动化和虚拟机测试等。
然而虚拟机测试看起来并不能与物理机达到相同的测试效果,更不能与微软原来庞大而细致的人工测试团队相比。
这也是现在Windows 10问题频发的主要原因之一,虚拟机测试存在的缺陷或者遗漏让潜在的问题无法及时发现。
Windows Insider看起来意义不大:
在视频评论中杰瑞伯格还对Windows 10的测试项目进行讨论,简单来说测试项目并不能帮助微软解决太多问题。
主要原因是多数测试版用户遇到问题不会主动向微软反馈,当然即便向微软反馈最终的结果可能也是没有人搭理。
出现这种情况的主要原因在于转储日志,系统运行时会不断地记录各种情况并生成极其庞大的转储日志以供分析。
然而实际情况是只有当系统崩溃时转储日志才会将其细节记录,其他方面的“小问题”系统并不会记录转储日志。
完整的转储日志体积相当大 , 可能在几十GB、几百GB也可能在TB级别 , 显然多数用户也没有这么大的空间存储。
也就是即便用户主动向微软反馈并提供转储日志,实际提供的也只是部分片段而不是整个操作系统完整运行日志。
对于微软工程师来说通过片段日志排查问题本身也存在困难,久而久之Windows 10积累的各种反馈也越来越多。
然后微软工程师们面对如此多的问题可能就会有选择性的放弃,Windows 10 1809 丢失文件反馈就是典型例子。
当微软工程师们对于用户提出的反馈回应越来越低时,这也反过来降低测试版用户的积极性放弃继续向微软反馈。
![]()
正式版用户其实也成为小白鼠
蓝点网此前就开玩笑提到测试版用户属于大白鼠、正式版用户属于小白鼠,商业用户的版本才属于真正的正式版。
杰瑞伯格表示现在正式版用户们接收的版本实际都是在帮微软测试,这些正式版用户本质上已沦为微软测试用户。
以往微软推送新版本都是大批量的快速推送 , 杰瑞伯格称最高峰时微软能够在极短时间内将全球 1/4 的设备升级。
只是后来问题频发导致微软调整策略降低新版本的推送速度,采用分批推送的方式一边推送一边收集着遥测数据。
所以直到现在还有用户没有收到 Windows 10 Version 1903 版更新,因为微软还没有做好全面覆盖新版的准备。
Windows 10始终在看着你:
在视频评论里杰瑞伯格还提到Windows 10版的隐私问题,此前这个版本收集大量数据被欧盟监管机构发起调查。
杰瑞伯格表示即便到现在微软还是会继续收集用户的各种数据,其实最主要的就是通过遥测监控设备的运行情况。
当然坦白的说这并不能表示微软故意收集信息拿来卖广告或者其他用途,因为微软目的在于收集潜在的运行故障。
没有测试团队微软工程师们只能依靠内置的遥测系统,从用户开机到运行第三方软件微软都会关注系统运行情况。
如果发现潜在的问题这些日志就会被自动上传到微软服务器进行分析,帮助微软开发团队确定哪里需要进行修复。
说到底对于Windows 10开发团队来说现在属于巧妇难为无米之炊,没有测试人员只能自己想办法解决测试问题。
[转帖]为微软效力15年的微软前员工解释Windows 10为什么问题这么多的更多相关文章
- 微软将于12月起开始推送Windows 10 Mobile
[环球科技报道 记者 陈薇]据瘾科技网站10月8日消息,根据微软Lumia官方Faceboo发布的消息,新版系统Windows 10 Mobile 将会12月起陆续开始推送. 推送的具体时程根据地区. ...
- 微软MSDN订阅用户已可提前手工下载Windows 10安装包
在Windows 10发布之夜,当全世界都在翘首以盼Windows 10免费发布推送的到来,MSDN订阅用户可以立马享受一项令人项目的特殊待遇:手工下载Windows 10完整安装包+免费使用的激活密 ...
- [转帖]微软宣布即将开始大规模推送Windows 10 V1903重大版本更新
微软宣布即将开始大规模推送Windows 10 V1903重大版本更新 https://www.cnbeta.com/articles/tech/894303.htm 微软要批量更新 1903了 bu ...
- 关于远程办公,微软MVP 15年研发团队的经验分享
今天是2月5日,春节假期结束后的第三天了.为了能够应对来势汹汹的疫情,众多互联网企业纷纷开启了远程办公模式.不知道各团队前两天的远程办公效果如何,我们 Worktile 管理层在大年初四就开始讨论远程 ...
- 获取微软原版“Windows 10 推送器(GWX)” 卸载工具
背景: 随着Windows 10 免费更新的结束,针对之前提供推送通知的工具(以下简称GWX)来说使命已经结束,假设您还未将Windows 8.1 和Windows 7 更新到Windows 10 的 ...
- 微软Surface Book推送Windows 10新固件更新:增强系统和电池
微软公司最近为Surface Book推出了新的Windows 10固件系统和驱动的更新,并且以MSI的文件格式上传到了微软的下载中心里面.此次更新的内容主要是改进了Surface Book的系统的稳 ...
- [转帖]Windows 10 部分早期版本已完全停止技术支持服务
Windows 10 部分早期版本已完全停止技术支持服务 2019-4-12 01:27| 发布者: cjy__05| 查看: 10186| 评论: 47|来自: pcbeta 收藏分享 转帖来源:h ...
- 背水一战 Windows 10 (15) - 动画: 缓动动画
[源码下载] 背水一战 Windows 10 (15) - 动画: 缓动动画 作者:webabcd 介绍背水一战 Windows 10 之 动画 缓动动画 - easing 示例演示缓动(easing ...
- 【WinHec启示录】透过Windows 10技术布局,谈微软王者归来
每个时代都有王者,王者的成功,往往是因为恰逢其时地发布了一个成功的产品(具有里程碑意义,划时代的产品).Windows 95的成功标示着微软是PC时代的王者:WinXP的成功标示着微软是互联网时代的王 ...
随机推荐
- centos7 安装python3.7.1
centos7自带python2,由于执行yum需要python2,所以即使安装了python3也不能删除python21.安装依赖包yum -y groupinstall "Develop ...
- 项目 java.lang.NoClassDefFoundError 异常。
项目部署之后调用接口失败:异常信息: NoClassDefFoundError ClassNotFoundException 注意这两种是有区别的. 具体转 https://www.cnblogs.c ...
- 使用jsonpath解析多层嵌套的json响应信息
Python自带的json库可以把请求转为字典格式, 但在多层嵌套的字典中取值往往要进行多次循环遍历才能取到相应的数据, 如: res_dict = { "code": 0, &q ...
- Java--常用API介绍
Scanner类--键盘输入,室友起来三个步骤: 第一,导包:import java.util.Scanner 第二,创建:Scanner sc = new Scanner(System.in) 第三 ...
- sublime的一些常用快捷键总结
下面是四种快捷键类型: 1.编辑类 Ctrl+J 合并选中的多行代码为一行.举个例子:将多行格式的CSS属性合并为一行.Ctrl+Shift+D 复制光标所在整行,插入到下一行.Tab 向右缩进.Sh ...
- My algorithmic road
序言 初窥门径 1 第一题 素数的烦恼 离开了家乡,你到达了数字之地,在这里数字2总感觉自己是自然数中最独特的一个,他只有一和它本身两个因数,为此它十分苦恼.为了不再寂寞,他建立了素数王国,他请求许多 ...
- Ionic4.x 内置颜色
primary/secondary/tertiary /success/warning/danger/dark/medium/light
- Python - celery 相关报错 - AttributeError: type object '_multiprocessing.win32' has no attribute 'WAIT_OBJECT_0'
报错场景 执行 celery worker -A tasks -l INFO 打开 worker 的时候报错无法进行 报错解决 Celery 的版本过高, 进行降级处理即可 pip instal ...
- mysql排序自段为字符串类型问题解决
677 000.000.000.000 2018-01-09 22:20:58 编辑 删除 锁定 199 666/777/888套餐标配 000.000.000.000 2018-01 ...
- myeclipse启动的过程中没提示就自动退出,闪退的有效解决方法
今天遇到一个问题,已经打开myeclipse的电脑因为非正常关机后myeclipse打不开了,进度条进到十分之一就闪退,什么提示都没有的解决方案如下: 1.打开myeclipse工作空间(存放项目 ...