2018年软件质量与测试大盘点

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/KerryZhu/article/details/87976616

即将告别2018年、迎来2019年

无法开一个现场跨年演讲,那就来一个更经济、更有效的大盘点

如同去年:2017年软件质量和测试大盘点。本次盘点分为两大部分:

  1. 质量问题,看看过去一年发生了哪些大的质量事故?

  2. 测试有哪些新思想、新技术与新工具

     

1. 质量问题

就从微软开始说起,因为微软曾经是软件测试的标杆,如今不再是。

微软今年4月推送Windows 10 Update,但不少用户都觉得遇到很多棘手的地方,如有的用户从windows 10 1709版本无法升级到1803。微软自己也确认在特定系列的英特尔、东芝固态硬盘会遇到无法启动的故障。

之后,微软向Office用户推送了KB4461529安全补丁以解决Office远程代码执行的漏洞。不过,事与愿违,在安装该补丁之后,Outlook 2010出现严重的崩溃问题。 11月初,微软质量监控再次出现问题,多名用户报告:在安装Windows 10固件更新之后,Surface Pro系列设备的Type Cover键盘停止工作。

前面几次质量问题,还不算严重,最糟糕的情形是Windows 10之10月更新版本。10月2日,微软在纽约举办的Surface秋季新品发布会上正式发布该版本,但一些更新了新版本的用户发现,系统中有些文件被删除了。微软不得不在4天之后叫停该升级,成为微软历史上最短暂的新版本。 然后,十月更新版本回炉重造,再次推送之后还是问题不断,如任务管理器信息不准、通知闪烁等,后续便取消了Windows 10十月更新版发布。之后,微软承诺:Windows 10更新十月版的Bug悲剧永远不会再发生。

著名评论家Peter Bright 说,微软所存在的问题不在于经常更新,而在于其开发方法出了问题。他根据内部消息来源称,微软现在允许未经测试就整合代码,开发者允许将工作不正确的代码整合到产品中。这样做的结果就是产品到了发布之后还会发现严重的 bug,以至于微软需要暂停推送。微软的产品质量出现了严重滑坡。 

6月27日下午4点半开始不断有“阿里云宕机——阿里云官方网站和控制台无法访问”的消息在微博和微信中传出。当时阿里云内部人员向新浪科技提供的第一份回应是账户登陆异常,但云服务器不受影响,此次故障并非宕机。但官方回应迅速发酵出用户更大的不满情绪,大量用户投诉其他功能也被波及——OpenSearch失效、ONS失效、NAS失效、OSS失效。最终,阿里云在下午发布故障公告,确认了除部分管控功能外,MQ、NAS、OSS等产品的部分功能也出现访问异常。此次事故从16点21分至17点30分,时长约一小时。

一位用户点评道:中国互联网半壁江山,惊魂整整一小时!

6月28日,阿里云确认故障起因是上线一个自动化运维新功能时,执行了一项变更验证操作,触发了一个未知代码bug,错误代码禁用了部分内部IP,导致部分产品访问链路不通。阿里云称,“对于这次故障,没有借口,我们不能也不该出现这样的失误!我们将认真复盘改进自动化运维技术和发布验证流程,敬畏每一行代码,敬畏每一份托付。 ” 为此,本公众号还发表了一篇文章:阿里云,敬畏每一行代码还是敬畏每一位用户?

相隔不到一个月后的 7 月 20 日,北京清博数控科技有限公司所属“前沿数控”平台一块操作系统云盘因受腾讯云北京三区部分物理硬盘固件版本 bug 导致的静默错误(写入数据和读取数据的不一致)影响,文件系统元数据损坏。当日腾讯云组织技术专家尝试修复数据,最终仍有部分数据完整性校验失败。之后,由于双方在赔偿问题上未达成一致前沿数控将此事通过网络爆出,之后腾讯云于 8 月 6 日和 7 日先后发表声明,确认事件为人为失误,双方也正在和解。

(更多的Cloud Bugs)

云平台系统虽然是分布式系统,具有很高的容错性,但是过去一年出现的问题还是不少,包括大量宕机、部分服务中断、信息泄露、服务降级等。

  • 元月4日,Intel芯片被爆严重BUG:攻击者可利益漏洞从Ring3层切换到Ring0层,深入到内核访问内存内容。这对云平台而言,那么在同一物理空间的虚拟用户A可以任意访问虚拟用户B的数据,包括受保护的密码、应用程序密匙等。

  • 2月15日,谷歌PaaS服务Google App Engine的用户经历了长达一小时的错误与延迟情况

  • 3月2日,AWS的宕机广泛影响了大量的Alexa语音助手的用户,并波及到了很多热门在线服务商

  • 4月6日,由于Office 365的宕机,许多欧美、亚洲企业无法发送邮件与登录Skype。

  • 5月31日,因数据中心中的硬件问题,AWS所有的数据不能得以被全部再存储,其影响时间大约为30分钟。

  • 6月17日,由热浪而引发的存储和网络中断使得欧洲的许多微软Azure云客户超过5小时不能访问自己的数据。

  • 7月16日,第四届亚马逊会员日开幕式后几分钟,大规模的故障使得销售陷入了瘫痪。

  • 7月17日的下午,谷歌云的负责均衡器出了问题,导致宕机使得Spotify、Snapchat和App Engine等热门服务中断。

  • 9月5日,由于Azure后端身份验证系统的更新问题,全世界用户都遇到了部分时间无法访问365 Outlook或Skype for Business的情况。

  • 9月29日  Facebook 官方表示:其工程团队发现了一个自创立 14 年以来最大的漏洞,黑客可利用 Facebook 应用中的“View As”这一功能代码的 Bug 来访问近 5000 万用户账号并完全控制它们。

  • 10 月 21 日,Github 进行日常维护——更换发生故障的 100G 光纤设备时导致美国东海岸网络中心与美国东海岸数据中心之间的连接断开43 秒,但这次短暂的中断引发了一系列事件,从而导致了长达 24 小时 11 分钟的服务降级。

  • 11月12日, Facebook服务(包括Workplace协同工具)出现宕机,在服务恢复前,其收到了数千起投诉。

  • 11月18日,一些微软用户无法登录Azure和Office 365服务。

  • 11月20日,Facebook又出现了一起宕机事件,超过5个小时,许多用户登录困难或遇到其它使用问题

     

2. 新思想、新技术与新工具

说起2018年出现的软件测试新思想,的确难以寻觅......囧囧囧 只能怀念自己的 软件测试的一个新公式。

欢迎留言提供线索。

只能说,大家更关注DevOps、测试敏捷化、AI测试、API测试等。

最近,作者在多个场合(如华为、赛宝、顺丰等公司)和大家一起分享了软件测试新的挑战、新的技术和发展动态、趋势,可以概括为:

(详细内容,需要讲解2-3个小时,在此只能极其简要阐述)

 

自动化是大家特别关注的,各个企业在推动,包括大量招聘测试开发、构建完整的测试框架或自己的测试平台,但是自动化测试并不乐观,收益比较低,重复造轮子现象也很严重,这在 测试,从哪里来,到哪里去?一文中做了详细阐述。

自动化、云化、服务化甚至智能化、敏捷化这些实践或趋势容易融合在一起。例如,将过去集中式或相对独立分散的自动化测试环境转换成云平台,会减少企业重复建设和投资,产生更大的收益。服务化,往往需要云平台的支持,而有了云平台,能产生更多的数据,为智能化服务。

这里说的服务化,其主要含义是为测试分析、设计、数据生成、环境运维、执行、结果展示、测试管理等提供基于API的服务,将Amazon的“everything is an API”、“Infrastructure as Code” 等实践应用于测试之中,我们可能会谈到契约驱动测试、OpenAPI、Swagger, Swagger Codegen、Gradle Swagger Generator Plugin,甚至还会谈到YAML、HAR、Assertible、 Janus、Pact&Pacto和Spring Cloud Contract等等。

测试智能化是2018年最热的主题,之前发表的文章:未来已来,人工智能测试势不可挡:介绍9款AI测试工具 获得本公众号今年阅读量No.1,从侧面证明了这一点。下面这两张图能反映出测试智能化的大致景色,也是我最近一年多用到最多的两张slides:

测试敏捷化主要指测试左移和右移、DevOps。之前在 如何不让“测试”成为敏捷的绊脚石?一文中有很好的论述。过去几个月,作者也参加了《敏捷测试白皮书》 的编写工作,它将在2019年一月发布,敬请关注,这样大家可以更好地了解测试敏捷化的思想、方法、实践和工具等。

新的测试工具层出不穷,除了上面提到的9个智能测试工具、Assertible等之外,还有一个基于 Java 的测试库ArchUnit、端到端(E2E)测试工具Cypress、查找修复及监控依赖树中的漏洞SNYK和浏览器中运行JavaScript测试工具TestCafe。

2018年在软件质量和测试上也许是平淡的一年,但是对不少人也许是不寻常的一年。

2019年,可能会发生更大的变化、更具挑战,但还是希望向好的方向发展,祝愿大家新年快乐!事事顺心、工作愉快!阖家幸福!

展开阅读全文

没有更多推荐了,返回首页