Google软件测试之道(4)—一种面向用户的测试角色

发表于:2013-10-14 15:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:【美】Whittaker Arb    来源:51Testing软件测试网

  第3章  测试工程师
  软件测试开发工程师(SET)负责可测试性和测试自动化体系的长期有效性。测试工程师(Test Engineer,后文简写TE)的职责与之有所不同,TE的重点在于评估对用户的影响以及软件产品整体目标上的风险。与Google的其他大多数技术岗位一样,TE的工作涉及到一些编程,但编程只是一小部分,实际上,在所有工程师中他们的职责范围堪称最广。TE对产品的贡献很大,但他们承担的很多任务不需要编程(注:这只是通常的说法。许多TE所从事的工作与SET非常类似,需要编写大量的代码,而另外一些TE的职责更类似发布工程师,只需要编写很少量的代码)。
  3.1  一种面向用户的测试角色
  在前一章里,我们说TE是一种"用户开发者(user-developer)",这不是一个容易理解的概念。一个产品团队的所有工程师都是某种类型的开发者,这个思想是团队成员地位平等的一个重要体现。在Google这样的公司里,对于编码的敬意是公司文化中相当重要的一点。为了成为一等公民,TE必须首先是工程师的一部分。Google的TE综合了开发者仰慕的技术能力和以用户为中心检查软件质量而对开发者产生一定制约的能力。哇,我们简直是在谈论一种分裂人格嘛!
  为了成为一等公民,TE必须首先是工程师的一部分。Google的TE综合了开发者仰慕的技术能力和以用户为中心检查软件质量而对开发者产生一定制约的能力。
  TE的职位描述是最难定义的,因为其职责范围很广而且不确定。人们期望TE在各种各样的构建物的完成、集成、最终形成完整的产品过程中监督所有产物的质量。因此,大多数的TE都会从事一些基础技术层的、需要另外一种视角和较强的专业技术能力的工作。这一切都与风险有关:TE以对某种特定的产品最合适的方式发现软件中风险最大的地方并尝试减少或消除它。如果需要做SET的工作,TE就去做;如果需要代码审查,那就只管去做。如果缺少测试工具,那就花一些时间在上面。
  接下来,同一个人还会在项目的其他时段去领导探索式测试,或者管理内部试用版(或beta版)的测试工作。在不同的项目阶段,SET和TE的重点不同,早期的工作涉及到更多的面向SET的任务,而项目后期才是面向TE的任务。还有一些情况是TE的个人选择,他们可以在不同的角色间切换。但凡事没有绝对,我们在下面所做的描述,只是代表了理想的情况。
  3.2  测试工程师的工作
  在Google,相比软件开发工程师或软件测试开发工程师而言,测试工程师是一个较新的角色,目前还在形成中。现在这一代的Google TE们所做的,无疑是在披荆斩棘,为将来的新人铺好道路。我们在这里所讲述的是Google最新的TE相关的流程。
  并非所有的产品都需要TE的介入。试验性工作、尚无明确目标或用户故事的早期产品,TE很少参与,甚至不参与。如果产品有很大的可能被取消(就是说作为一个概念验证没有最终通过),或者还没能吸引用户使用,或者功能还没有定型,那么测试工作一般都应该由产品的开发人员自己完成。
  即使对于一个已经确定要发布的产品,在其研发的早期阶段,功能还在不断变化,最终功能列表和范畴也还没有确定,TE通常没有太多的工作可做。早期过度地投入测试意味着资源的浪费,尤其是在SET已经深度介入的时候。过早完成的测试产物可能会被丢弃,也可能出现最糟糕的情况:虽然继续维护,但是毫无附加价值。早期的测试计划需要较少TE,而在产品接近尾声、寻找bug变得更加紧急的时候,需要较多的资源投入到测试上进行探索式测试。
  在研发的早期阶段,功能还在不断变化,最终功能列表和范畴还没有确定,TE通常没有太多的工作可做。
  以策略上讲,给一个项目配备多少测试人员,取决于项目风险和投资回报率。对客户和公司的风险大,意味着在测试上投入的资源也要多,但投入的资源应该与其潜在的回报成正比。我们需要在正确的时间,投入正确数量的TE,并带来足够的价值。
41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号