《 软件测试价值提升之路》——1.4 微软的软件测试

本节书摘来自华章出版社《软件测试价值提升之路》一书中的第1章,第1.4节,作者:杨晓慧编著,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 微软的软件测试

微软的软件研发特征是:典型的大型传统软件企业,软件完成后完全部署在用户的环境中使用(微软还有必应、Skype、OneDrive等自运营产品,这些不在本节考虑之内),版本发布周期半年甚至更长,产品有非常好的继承性,十分注重在发布前排除软件缺陷。属于领域老大,开发内容不由客户需求主导。
开发测试比是1∶2(裁员之前),这个比例在测试领域家喻户晓,也常常成为很多测试经理艳羡微软测试的主要原因。但这个比例真正的含义是,微软的测试工程师一定承担了很大的责任,因为开发测试比完全取决于公司认为有多少事情需要测试团队去做。
测试职位的名称:SDET(软件开发工程师,测试方向),这个叫法是微软首先提出的,现在似乎已经成为北美软件测试工程师的标准称谓。在微软,SDET的主要职责和大多数软件公司的测试工程师的职责类似,包括:
1)保障质量。和谷歌不同,微软的SDET的主要职责就是保障质量。因此他们会做各种类型的测试及其自动化。既包括传统的结构化测试、MBT、自动化、DFX,也包括以找bug为乐趣的探索式测试。微软非常强调自动化,这个对于继承性强的产品是很自然的要求。在微软,开发对测试的交付有点像“抛过墙”的方式,只要开发的东西通过了happy path,接下来就主要是测试的工作了,当然微软的开发工程师也是非常重视声誉的,不会因为有人做后续的测试就不对自己开发的代码质量负责。
2)提升研发效率。和谷歌一样,微软的SDET也致力于开发各种工具,从全流程质量管理工具,自动化工具,到辅助手工DFX测试的工具,他们都会开发。在软件研发领域广为人知的每日构建(Daily Build,每日自动对代码库的新增代码完成单元测试、编译,并构建生成可执行文件,自动用新构建的可执行文件更新测试环境,用基本功能的系统测试用例进行冒烟测试),微软就是早期的实践者。这些工具由普通测试工程师开发,内部也有平台支撑他们去分享和推广。微软的工具总体说来是贴近业务需要,以提升自己的效率和质量为目的,因此百花齐放,据说光MBT的工具就有20多个。
微软是一个非常成熟的传统软件公司,由于软件的生产者和使用者之间的联系比较弱,因此质量是非常重要的,但是这并非是说不能容忍任何的缺陷,事实上微软对软件特性有质量分级,不同级别的质量要求和覆盖要求非常不同。

上一篇:《 软件测试价值提升之路》——1.3 谷歌的软件测试


下一篇:java加密保护jar包及class文件,防止反编译