中国软件测试专家访谈录
作者:网络转载 发布时间:[ 2013/7/1 14:03:37 ] 推荐标签:
成为的测试工程师:勤奋、努力、坚持不懈
蔡:如何成为的测试工程师呢?
郑:的测试工程师,不仅需要时间的积累,也需要测试知识、技能和测试经验等的持续积累。要想成为的测试工程师,至少需要从下面几个方面不断地充实自己。
第一,深入了解测试对象,即测试人员需要深入了解被测产品的架构、功能与业务知识。对于我自己,我一直从事的是宽带接入系统与交换功能,因此掌握ADSL、VDSL、以太网交换功能、L2协议标准、三层交换功能、OAM功能等是开展各种测试任务的基础。
第二,熟悉研发流程,即知道在什么时候应该做什么事情。测试人员需要了解每个开发阶段的输出是什么,测试的主要活动与任务有哪些,只有对测试过程中的各种活动与任务了然于心,测试人员才能主动去完成任务,而不是每次被动地等着测试经理给你分配任务。另外,了解每个阶段可能存在的问题,可以提前制订应对计划。
第三,除了知道测试过程中我们需要做什么之外,测试人员需要掌握如何有效地去做,因此需要测试人员深入了解各种软件测试技术与方法,例如:测试用例设计技术与方法、测试估算方法、测试风险识别与评估方法等。
第四,培养各种软技能,例如沟通与合作。现在更强调整体团队运作过程,测试人员不仅需要和开发人员沟通与合作,也需要和客户紧密合作。另外,测试人员还需要培养专业的怀疑态度、严密的分析能力、处理冲突的能力、严谨的工作态度与创新能力等方面的技能。
想成为的测试工程师,勤奋、努力和坚持不懈是非常重要的。
猜数字游戏和探索性测试
蔡:什么是探索性测试?
郑:探索性测试(Exploratory Testing,ET)是Cem Kaner在1983年提出的,是软件测试的一种方式。与脚本化测试(Scripted Testing,ST)相比,探索性测试将更高的认知水平放在了测试执行上面,同时更加强调测试人员学习、设计、执行与结果分析等测试活动的并行、相互反馈与相互支持。
很多人都玩过猜数字游戏:我预先在心里想好一个1到100之间的数字,你来猜。你可以问任何问题,而我只有两种回答"是"或"不是"。然后通过你的不断提问与我的不断回答,终猜到我心中想的数字。在猜对的情况下,问的问题越少得分越高。这是一个典型的探索性测试的例子。测试人员需要根据前面问题的答案分析和设计下一个问题。第一个问题可能不靠谱,但是根据前面问题的不断反馈和结果分析,你设计的问题将会越来越靠近问题的答案。假如参与者了解二分法,那么多7次可以猜中数字。假如不了解二分法,你也可以猜到数字,但是尝试的次数可能远多于7次。你的策略、技术与方法,直接决定了你完成任务的速度与质量。
探索性测试的过程与猜数字游戏的过程是类似的。游戏中你要猜的数字,是你要寻找的缺陷或者其他质量信息;你要问的问题,是你分析和设计的测试用例;每个问题的答案,则是测试过程中测试对象的输出。测试人员面对一个被测试的功能,首先对它有个模糊的概念与范围,然后不断地分析、设计和执行测试用例,观察测试对象的输出和反应,并以此为基础判断下一步的测试用例,获取缺陷或者其他质量信息。
由于探索性测试的不断探索、不断分析、不断反馈的特点,它可以较好地解决脚本化测试中的一些问题,例如,脚本化测试强调尽早的测试设计,但是测试设计越早,测试人员对测试对象的了解越少,对风险的了解越少。测试人员对测试对象的了解是一个逐步的过程,脚本化测试需要更多的工作量以应对这个过程(需求的细化和变更等)。
与脚本化测试相比,探索性测试更强调测试人员的思维自由度与主观能动性。然而,探索性的自由,并不代表它是不做准备的,它也不是随机的。好的探索性测试依赖于测试人员综合应用测试策略、测试技术与方法的能力,例如,获取测试数据,掌握测试设计技术,建立失效模式,创建测试模型等。口号式的探索性测试并不能帮助测试人员成功。探索性测试如下象棋,规则不多。但是我们在欣赏象棋比赛的时候,关注的是在这些规则下选手选择下一步如何走的技巧与技能,它的技术含量也不在其规则,而在选手的技巧与技能。规则简单,技巧复杂。
旁观者说:探索性测试的基础是对测试对象的熟悉。
尽管探索性测试可以解决脚本化测试中的一些问题,但我并不认为探索性测试优于脚本化测试,或者将来会谁取代谁的问题。它们之间各有所长,作为测试人员,我们应该做的是根据测试对象特点、组织特点、资源特点等具体情况,如何更好地发挥两者的各自优点,弥补两者的不足。

sales@spasvo.com