1. 在新产品开发过程中,SET和SWE是紧密合作的伙伴,工作上也会有所重叠。
2. 工程团队交付的是即将要发布的代码,代码的组织形式,开发过程和维护是日常工作的重点。
3. 百分之二十的贡献(每周正常工作4天,1天用来做业余项目,用以实验和创新,本书提到的很多工具,就是业余项目的创新。)
SET的工作
- SET非常难招聘(又懂开发又懂测试)
- “只有软件产品变的重要的时候质量才显得重要”
- 产品早期一般不投入测试(可能重新设计),项目初期,设计文档(动态更新),正式批准后,才会寻求测试资源。
- SET有一个巨大的优势,就是产品方面最宽广的视野
- 可测试性如何,是否需要新增testing hook(为了测试增加接口,显示系统内部状态)
- SET会参与到许多测试目标的构建
- SET需要编写很多mock和fake工具
- 构建质量模型,测试计划
- SET需要了解所负责的系统设计,参与设计和代码开发
- SET早期的建议会反馈到文档和代码里
- 早期不介入测试,介入产品也是做开发产品代码
- 提供一个可实施的自动化测试计划
- 提出自动化测试框架
- 公开产品质量信息
- 可测性方案
- 端对端的测试范围
- 提交代码需要经常自动化测试的确认
资源共享的原则
- 公共库,共享代码,可复用性大于功能复杂性和设计巧妙性
- 所有工程师必须复用已经存在的代码库,除非有非常特别的原因
- 公共的共享代码,必须是容易找到,并且有良好的可读性
- 代码必须存储在代码库的共享区域,方便查找
- 所有代码必须考虑到容易被其他人阅读和修改
- 公共代码必须尽可能的相对独立
- 如果提供的服务被许多团队复用,将会得到很高的荣誉
- 所有依赖都必须被明确声明,指出,不可被忽视
- 如果有人对共享代码有更好的设计或者解决方案,做了重构,值得鼓励,还可以送出“同僚奖励”
- 谷歌四大语言,c++,Java,Python,Javascript都有可读性代码指南
- 开发人员有编写出干净代码的记录,会被授予“良好可读性”证书
- 公共代码对测试有更高的要求
最小化对平台的依赖
- 使用统一平台,相同的代码库,持续不断的在构建系统中打包
- 所有对平台依赖的代码,都会强制要求使用公共的底层库
- 谷歌对使用的每个编程语言,都要求使用统一的编译器,这个编译器被很好的维护着
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!