本书核心内容:
(1)测试人员的作用
(2)google如何解决软件在扩展性、复杂性和大并发方面的问题
如果你的岗位头衔拥有测试字样,那你的任务就是怎么样让非测试人员可以更好的测试
“我并不在乎产品中是否少了一个很酷的功能, 与之相比, 我更在意产品的可靠性和稳定性”
测试人员的存在是为了让开发人员的工作更有效率, 避免开发人员因马虎粗心而导致的返工
google的工程生产力团队(独立的测试部门):根据不同产品的优先级、复杂度, 并与其他产品比较厚, 再分配测试人员。有时会搞错, 但总体保持实际的需求与不明确的需求之间的某种平衡
google经常在最初的版本众只包含最基础的可用功能, 然后在后续的迭代中得到内部和外部用户的反馈, 每次迭代非常注重产品质量
上述各种版本的模式, 给我们的应用程序尽早地提供一个测试验证的机会
google按照小型测试、中型测试、大型测试的命名方式, 而非代码测试、集成测试、系统测试
以上三者区别主要在于测试涵盖模块不同, 运行环境可能不同
最后, 自动化测试和手动测试的比例, 对于上述三种类型的测试, 当然更倾向与自动化测试, 但是某些情况下需要人类的智慧判断,例如, 用户界面是否漂亮、保留的数据是否包含隐私等, 则需要手动测试
自动化测试在每次建立之后都会重复地回归运行, 而手动测试更关注与新功能;把开bug和日常的手动工作都自动化实现:如果自动化运行失败, 系统会自动检查到最后一次代码变更的内容,这些变更极有可能是造成失败的罪魁祸首,系统会自动给代码变更的递交者发送邮件, 并开一个bug来记录这个问题(本人工作未涉及到这部分, 应试图去了解了解)