软件测试的经验教训 [更新中...]

上一篇 / 下一篇  2013-01-09 15:26:38 / 个人分类:资料

4、迅速找出重要程序问题
  测试员的使命很可能包括找出重要的程序问题,而且要迅速找出。如果是这样,那么这对测试员所执行的测试意味着:
 首先测试变更的部分,然后测试没有变化的部分。修改意味着存在新的风险
 首先测试核心功能,然后测试辅助功能,测试产品所完成的关键和常用功能,测试完成产品基本任务的功能 。
首先测试功能,然后测试可靠性。先测试每个功能是否完全能用,然后再深入检查任何一个功能在很多不同条件下表现如何。
 首先测试常见情况,然后测试少见情况。使用常用的数据和使用场景。
 首先测试常见威胁,然后测试罕见威胁。用最有可能出现的压力和错误情况进行测试。
 首先测试影响大的问题,然后测试影响小的问题。测试在出现失效的情况下产生大量破坏的产品部件。
 首先测试最重要的部分,然后测试没有要求的部分。测试对团队其他人有重要意义的任何部分的任何问题。
  测试员如果对产品、产品必须与之交互的软件和硬件以及将使用软件的人越了解,越有可能更快地找出重要问题。

10、当心“完备的”测试
    有一些测试员承认自己不知道是否发现了产品中的全部问题,但仍然不准确的讨论结束测试的含义。“对这个产品我需要测试5天”可以理解为,他可以5天之内对产品进行完备的测试,也可能以为这他会在5天之内发现所有的问题。完备性测试常常是隐含地表示出来的,而不是明说出来的。不管是哪种情况,这都是必须小心对待的概念,请参考完备测试可能的含义。
 ●完全发现了产品中的每个问题。
 ●完全检查了产品的每个部分。
 ●完成了自认为是有用和经济的测试。
 ●尽自己所能,完全达到了项目团队制定的目标。
 ●完成了约定的测试。
 ●完成了在一定条件下人所能够测试的所有内容。
 ●完成了自己知道如何测试的所有内容。
 ●完成了自己所承担的测试部分,不考虑其他人的工作
 ●完成了对产品很广,但是不深的测试。
 ●完成了对产品的一种测试。
 ●用完了分配给测试的时间。
    如果测试员小心地澄清自己的意思,不要有“完备”、“完成”、“结束”等含义,则可能会很安全,由于有些工作没有做而受到的责备可能更少,在受到责备时可以更好地为自己辩护。请注意,“完备”的定义并不是在项目一开始就能够最终确定的,随着测试项目的进展,随着新测试任务的突然出现,需要重新考虑。
为了解决在完备性上的普遍沟通问题,可让客户详细了解测试过程。总结自己实施的测试,以及为什么值得实施这些测试,并告诉客户自己没有做的其他值得做的测试,以及为什么没有做这些测试。

11、通过测试不能保证质量
  测试员太容易把自己看作是质量卫士了。但是测试员既不会提高质量,也不能降低质量。测试员表现出好像是自己“制服”了产品,但实际上产品到测试员手中时已经被制服。质量来源于构建产品的人,有时这对他们来说是要背负的承重负担。测试员使命中的很大一部分,就是帮助他们更有效地对付真正地负担。如果测试员自认为是项目团队中唯一关心交付好产品的人,就不能很好的完成这部分使命。
  测试小组的任务可能叫做“质量保证”,但是测试经理可别真的也这样认为。测试员的测试和错误报告提供促进项目质量保证的信息,但是这种保证要来自整个项目团队。
  整个项目团队保证产品质量,而不是测试员来保证的,或者说质量不是测出来的。测试员只是协助促进开发人员改善产品质量,整个团队对产品质量都有责任。打个比方,测试员好比是医院里的各种仪器,可以检测出病人的各项指标,但是治不治得好,还要看主治医生。

16、 测试运用的是认识论
  测试员有很多不同的背景,测试团队是多元化的集体,但是大多数人都同意:测试员的思考方式是不同的。怎么不同?有人说测试员是“消极”思维者。测试员会抱怨这种说法,认为自己喜欢征服,他们在报告坏消息时有一种特别的兴奋感。这是一种普遍观点。我们提出另一种观点。测试员并不抱怨,他们提供的是证据。测试员并不喜欢征服,他们喜欢打破产品没有问题的幻觉。测试员并不喜欢发布坏消息,他们喜欢把客户从虚假信息中解放出来。我们的观点是,按测试员的方式思考意味着实践认识论。测试运用的是认识论,不是靠傲慢或谦卑。
  认识论是能够帮助测试员更好测试的一个哲学分支。认识论研究如何认识所了解的东西:研究证据和推理。这是科学实践的基础。  研究认识论可帮助测试员设计有效的测试策略,更好地意识到自己工作中的错误,理解自己的测试能够证明什么,不能证明什么,并编写出无懈可击的测试报告。从来也没有研究过这些问题的很多人也能测试得很好,但是如果要做的比很好还好,就要研究这些问题。
  与测试有关的一些问题包括:
      ●人的感觉和记忆可靠性。
      ●信念从哪里来。
      ●信念如何影响人的行为。
      ●做出决策所使用的偏见和捷径。
      ●如何和了解并分享所知道的信息,
      ●如何考虑负载的事情。
      ●在压力下如何思考。
      ●如何识别模式。
      ●如何把想法和事物分类。
      ●如何注意事物之间的差别。
      ●记忆事件中的失真。
      如何重新构建部分记忆的事件(例如不可重现的程序错误)。

19、测试在测试员的头脑中
  优秀测试和平庸测试之间的差别在于测试员如何思考:测试员的测试设计选择,解释所观察到的现象的能力,以及非常令人信服地分析描述这些现象的能力。如果要成为优秀的测试员,就要学会像优秀的测试员那样思考。
  流行的观点认为,测试员只是执行测试用例,并对照预期结果比较执行结果。这种观点把测试看做是简单的比较活动,没有看到一些聪明人必须设计模式,并确定预期输出。在现实生活中,大多数测试设计都是基于推断,或基于与测试员的推断有关的经验。像测试员那样思考,就是要掌握探索式推断的艺术。测试员的核心能力是测试设计,面对项目中各方面的风险作出权衡,测试执行也不仅仅是简单的执行-比较,要加入自己的思考,探索式推断是个好方法,目前国内百度,淘宝的探索式测试做的很好。

21、优秀测试员会进行技术性、创造性、批判性和实用性思考
各种类型的思考都要考虑测试的实施。但是我们认为需要提出四种主要思考:     
  ●技术性思考。对技术建模并理解因果关系的能力。这包括诸如相关技术事实的知识和使用工具能根据并预测系统行为的能力。
  ●创造性思考。产生思想并看到可能性的能力。测试员只能以能够想象得到的方式进行测试,只能寻找猜想会存在的问题。
  ●批判性思考。评估思想并进行推断的能力。这包括在自己的思考中发现并消除错误的能力,将产品观察与质量准则关联起来的能力,以及针对特定信念或所建议的行为过程构建有说服力的测试用例的能力。
  ●实行性思考。把想法付诸实施的能力。这种能力包括诸如运用测试工具,并使测试手段和力量与项目范围适应的技能。
  总之,像测试员那样思考,会最终导致相信事物可能不像外表看起来那样。不管事物是怎样的,都可能有差别。我们发现,当测试过程已最具破坏性的方式失败时,根本原因最有可能是视野狭窄。换句话说,这不是运行了一万个测试,而本来应该运行一万零一个的问题;问题是没有想象出测试的总体大纲,即使有两倍时间和资源也做不好测试。

25、所有测试都基于模型
  测试员在设计测试时,头脑中可能会有一个想象的图景,也可能有功能清单或某种图表。测试员会有谁是用户、用户关心什么的一些概念。所有这些都是模型。不管模型是什么,测试都主要基于产品模型进行,而不是实际产品。有缺点的模型会产生有缺点的测试。学会一种对产品建模的新方法,就像是学会了观察产品的一种新方法。     
  要研究建模问题。测试员对建模艺术越精通,越能够更好地测试。建模就是一种归纳总结的能力。

39、测试员不能避免偏向,但是可以管理偏向
 测试员是有偏向的,这使得测试员选择一部分测试的可能性要比其他测试大。如果有一个很长的编辑字段,测试员也许更可能输入1111111111,而不是3287504619,因为输入字符重复的字符串,要比从0到9随机选择数字更容易。也许这是一个很小的偏向,但仍是一种偏向。更糟糕的偏向是,大对数测试员想象与测试最可视的功能,不管是不是最重要的功能。此外,大多数测试员还倾向于考虑认为与自己类似的用户、倾向于使用非常简单、非常荒谬的输入,而不是具有中等复杂度的现实输入。      以下是一些常见的偏向:
      ●同化偏向。更有可能把未来的测试结果解释为总体上证实自己对产品的看法。
      ●证实偏向。更有可能关注确实会证实自己对产品看法的测试结果。
      ●可用性偏向。如果头脑中已经想到一种用户以某种方式操作的场景,则更有可能认为这种操作更常出现。
      ●最初印象偏见。更信任所做的第一次观察。
      ●最新印象偏见。更信任所做的最近一次观察。
      ●框架效应。对错误报告的反省与措辞有很大关系,不管其真正含义如何。
      ●知名偏向。把碰巧认识的用户意见放在更重要的位置上。
      ●表达偏向。期望较小的问题也许有较小的原因,而严重问题会有大原因。
      测试员不能避免这些偏向,因为这些偏向在很大程度上已经固化在头脑中。测试员能够做的是管理偏向。例如,只需通过研究偏向并在实践中注意,这样在思考时就可以更好地进行补偿。多样化也可以抵御过强的偏向。如果测试员集体讨论测试问题,可以将一个测试员的偏向降低到最低限度。
      根据定义,试探法也是一种偏向。使用试探法,是因为其偏向可以以比较好的方式引导测试员。


TAG:

 

评分:0

我来说两句

日历

« 2024-03-24  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 189471
  • 日志数: 55
  • 图片数: 4
  • 文件数: 3
  • 建立时间: 2010-11-29
  • 更新时间: 2020-12-24

RSS订阅

Open Toolbar