【海颐荐读】《Google软件测试之道》观后感
发布于 2021-05-10 00:08 ,所属分类:软件测试工程师学习资料
作者:田红
部门:质量管理部
荐读:《Google软件测试之道》观后感
空闲时拜读了这本书,简谈一下自己的理解。感受比较深的一句话是:质量是一种预防行为,而不是检测,质量是所有人的事情而不只是测试团队的事情。
这本书整体介绍了Google是如何进行测试的,介绍了测试解决方案、测试工程师、测试开发工程师、测试经理的角色和职能,应该具有的技术技能,本书在测试界颇有名气,本人作为一名测试工程师,需要大公司学习经验,提升自己。本书认为测试团队真正的定位在于提高“工程生产力”,google内部只有非常少的专职测试人员,有的是具有测试视角的研发团队和兼具研发能力的测试工程师,还有具有用户视角的产品经理。
从测试人员的角色分析,软件测试开发工程师(SET:software enginner in test)的人员要求是有编程和测试能力,可以功能代码也能测试产品,有好奇心。主要工作有审阅设计文档;进行自动化测试构建:单元测试框架,自动化测试框架,端到端的自动化测试框架;接口协议的实现;编写测试代码,测试架构的实现,mock和fake;提高可测试性代码重构。软件测试开发工程师更主要注重代码的编写,编写功能代码和编写测试代码在思维方式上有很大的不同。对于功能代码而言,思维模式是创建,重点考虑用户、使用场景和数据流程上;对于测试代码,主要思路是去破坏,写代码用以分离用户及其数据。目的都是质量的提升和覆盖率的提高。
测试工程师(TE:test enginner)有自己不同的点,把用户放在第一位来思考,代表用户的利益。根据目前公司定位,我所对应的岗位属于工程师类别的,因此对该职位所要求的更应和理解。
项目没有立项,或是没有明确目的的产品或用户故事的,测试人员一般不参与。如果产品有很大可能取消或是还没有吸引用户使用,或是功能还没有定型,那测试工作一般是由开发人员自己完成。在研发的早期阶段,功能还在不断变化,最终功能列表和范畴还没有确定,测试人员通常也不会过早介入。但是在产品后期,寻找bug变的更加紧急的时候,就需要更多的资源投入到测试上进行探索测试。
由于项目的不确定性和风险性,一个TE人员介入项目测试的时间也是灵活的,也可能同时进入不同的项目,会与不同角色的人员进行沟通。
本书中认为工程师编程知识是必须的,更多的是修改而非创建代码,可以设计端到端用户使用场景的能力,有测试技能和沟通能力,具有持续学习的热情,主要职责有:制定测试计划,进行风险分析;探索式测试,尝试增加不同测试人员对场景的测试和优化,编写和执行测试用例,进行用户反馈。
当然能够最好的完成这些任务,除了需要技术职能还需要良好的沟通能力。
从书中看出,google的各种框架已经非常成熟了,开发也有一整套的google准则,一切都已高效、优质为目标。代码从产生,就在不停的做测试,这个过程,很多是有完善的自动化机制触发的,例如代码提交后,自动编译、自动测试,甚至可以自动上报缺陷。从函数级别的小型测试,到侧重接口交互的中性测试,然后是系统测试,最后才发布稳定使用的版本。测试无处不在,测试团队的工作就是编写及维护各种测试功能代码,重复且单调的工作都交给机器,人工只测试新功能和探索性测试。
本书还没有完全理解,但是从目前定位分析,测试更需要的也是技能,测试的进阶是需要业务也需要技术支撑的。共勉。
-END-
相关资源