测试人员应该为项目做什么?这可能是每个测试人员都会思考的问题。
角色是一种关系,虽然你不能控制自己的角色,但可以控制自己角色锁承担的职责。只有清楚了自己的角色,才能给自己的角色设定合理的期望值。并且在因为产品质量问题受到责(背)备(锅)时,进行反驳。
那么,测试人员应该如何正确看待自己的角色呢?
测试人员服务多个“客户”
测试是一个服务角色,服务意味着客户,你的成功主要取决于你如何满足客户的愿望和最大的利益。
而测试人员有很多“客户”,在项目开发中,你的客户主要是“项目经理”、“开发人员”和“终端用户”。他们都有自己的需求,而且他们的共同需求不一定一致:
项目经理
指导项目是项目经理的特权。你的工作就是告诉他你能做什么、不能做什么,以及任何给定的条件或决定对测试的影响。
开发人员
测试人员越快提供清晰好用的bug报告,程序员的工作就越容易进行。如果你能做到这一点,就能和开发人员相处得更愉快,在团队里也会获得更大的影响力和支持。
终端用户
有一点测试人员要牢记在心,那就是你的最终客户是将要使用产品的人,用户的满意才是我们最应该追求的东西。
测试人员的任务
所在的行业、公司、项目或团队的不同,测试人员的任务也有很大的差异。但大体分为以下几类:
·快速找到重要的bug
·提供产品质量的总体评估
·保证产品符合特定的标准
·帮助客户提高产品质量和可测试性
·确保测试过程符合责任标准
·帮助提升质量改进的流程
·以一种最小化成本、时间执行工作
快速发现重要bug
测试人员最常见也是最重要的职责之一,就是快速发现重要bug。那么,应该怎么做呢?
优先测试程序改动的部分
任何修改和更新都可能产生风险或引入新的bug,测试程序改动的部分,容易快速发现bug。
优先测试核心功能
核心功能往往是产品的“卖点”,保证核心功能正常才能凸出“卖点”。
优先测试系统功能而不是系统稳定性
功能不完善何谈稳定性?!
优先测试常见场景而不是极端少见的场景
牢记“二八原则”,常见的测试场景才是测试的目标区域。
优先测试影响性大的问题
影响性大的改动或问题容易波及其他功能,收缩波及范围,避免波及部分产生新的bug。
优先测试客户感兴趣的功能区域
客户感兴趣的功能区域往往是客户最先使用和bug容忍率最小的地方,优先保证这部分功能正常运行,维护客户信任度。
你不可能发现所有bug
你的工作是发现并报告重要的bug,但你不可能找到所有的bug。
要找到所有的错误,就需要:
·必须在可能出现错误的任何地方查找
·必须在可能出现的每一种不同情况下查找
·需要一种万无一失的方法来识别出现的每一种不同类型的错误
如果你认为你可以做到这几点,要么你测试的是一个非常简单的产品,要么就是你测试得不全面。身为测试,我们必须知道,要找到所有bug是一个不可能完成的事。
小心“完全”测试
想想完整测试可能意味着什么?!
·完成了对产品中的每个bug的发现;
·全面检查了产品的每个方面;
·完成了所有人力可能的测试;
·完成了产品的所有种类测试。
请注意,“完全”的定义并不是在项目开始时就可以确定的东西,随着测试项目的发展和新的测试任务的出现。
对此,你必须慎重考虑,一旦你这么说,那么就可能面临因为没做好工作而受到指责的局面。
不要成为质量的“看门员”
一些测试人员梦想拥有对产品发布的否决权。如果这个愿望得到实现,那么出现问题时也就应该受到惩罚。
这是因为,当测试人员控制发布时,他们也必须对产品的质量承担全部责任,这样的话其他队员就会放松警惕,甚至可能会完全忽略。
如果产品上线后出现任何漏洞被大家知道,其他团队成员就会耸耸肩并责怪测试人员。毕竟,是你决定要发布这样一个有bug的产品的。
因此,不要想着成为质量的“看门员”,梦想拥有绝对的否决权。
警惕“非我工作”的测试理论
测试工作事复杂的,且与其他项目活动是相互关联的。然而,大部分测试人员都白这份工作看得过于简单了。
很多人认为,他们的任务只是找到产品和指定的规范之间的差异,而除此之外的任何问题,比如可用性问题、需求问题、数据质量和可支持性问题等等,都不是“自己的工作范畴”。
实际上,不论在什么情况下,你的任务都应该是,尽自己最大的能力发现并通知团队,任何可能对产品产生不利影响的问题。
也正是因为这个原因,一个优秀的测试团队才需要不同的人才的加入,他们需要共同理解和开发产品,包括:设计、制造、营销、销售、服务和升级。
说了这么多,你是否对测试人员的角色有了更深的认识呢?
作者:刘晓佳Rachel