测试员的角色
1)测试给项目产品做关键决策时提供信息依据。
2)测试员要明确自己的在项目中的使命,使命决定要做的一切。
4)测试员需通知客户有关威胁产品价值的任何信息。
5)测试员要迅速找出重要的程序问题。(变更的、核心的、常用的、可用性、影响大的、最需要的部分)
6)为程序员提供支持。尽量建立最短、最快的反馈环路。
7)询问项目相关一切问题,最好结合其他沟通形式提问。
9)测试员不会发现所有程序问题。所以应自知不能完成所有事,合理有效安排自己的时间。
10)测试员当心向客户传递隐藏的已“完备的”测试。应让客户详细了解测试过程,总结自己已实施和未实施测试点及如此安排的原因。
12)永远别做看门人,即测试员永远不要把控产品发布的权力。因为这样团队其他成员可能会放松质量。建议:由控制项目、条件好的人承担发布产品责任或由集体决定是否发布产品。
13)当心测试中的“不关我事”理论。测试员的使命应该是尽其所能,通知团队可能会对产品的价值产生消极影响的所有问题。
–14)当心成为过程改进小组。因不管过程改进要干什么,它永远都会涉及感情。
测试员的思考方式:
测试员不喜欢抱怨,他们喜欢提供证据;测试员不喜欢征服,他们喜欢打破产品没问题的幻觉;测试员不喜欢发布坏消息,他们喜欢把客户从虚假信念中解放出来。
16)测试运用的是认识论。认识论研究如何认识所了解的东西:研究证据和推理。(如:怎么知道软件足够好软件不是足够好,怎么才能知道知道已完成了足够的测试/p>
17)研究认识论有助于更好测试。(例如:如何收集和评估证据进行有效的推论使用不同逻辑形式做出好的决策/p>
18)认知心理学是测试的基础。如果说认识论告诉我们应该怎样思考,那么认知心理学告诉我们的是我们是怎样思考的。(例如:人的感觉和记忆可靠性。信念从哪里来。在压力下如何思考。)
技术性思考:对技术建模并理解因果关系的能力。(如:相关技术事实的知识和使用工具并预测系统行为的能力。)
创造性思考:产生思想并看到可能性的能力。(如:寻找猜想可能存在的问题。)
批判性思考:评估思想并进行推断的能力。(如:消除错误的能力并构建好的测试用例的能力。)
实用性思考:把想法付诸实施的能力。(如:运用测试工具,并使测试手段和力量与项目范围适应的技能。)
22)黑盒测试并不是基于无知的测试。因为测试员对产品及产品的方式了解得越多,越能更好地测试它。而黑盒测试的优势在于测试员可能与程序员的思考不同,因此有可能预测出程序员所遗漏的风险。
23)测试员不只是游客。两者差别:测试员把精力放在评估产品上而不只是见证产品。注意:测试员对产品做大量的非测试的事(例如:看看产品由什么组成;怎么工作的。),有助于对产品的了解,为了更好地测试。
24)所有测试都试图回答关于已–25)所有测试都是基于产品模型(例如:谁是用户,用户关心什么等一些概念),而不是实际产品。
27)为了测试,必须探索。所有测试都是采样,且样本永远不可能完备探索式思考要在整个测试项目过程中,在寻求最大化测试价值时起作用。这里所谓的探索,是指有目的的漫游:带着一般使命在某个空间中漫游,但没预先确定的路线。探索包括不断学习和实践。
–29)使用诱导推断逻辑发现推测。诱导推断又叫做假设归纳,是一种测试员每天都要使用的关键推理形式:最佳解释的推理。主要内容是:
第20世纪初,哲学家35)任何时候 告产品质量状态时,都应该用有关测试方法和测试过程等已知局限性的信息对 告限定。因为不管测试员对产品的质量有什么看法,都只是猜想。
–36)不要将试验与测试混淆。测试需包括四个活动:配置、运行、观察、评估。
38)运用试探法快速产生测试思路。(试探法测试,如:测试边界、错误消息、与程序员不同的配置环境、比较难设置的测试、避免冗余测试等)
请注意:试探法中并没有智慧,智慧来自测试员,试探法所能够做的,只不过就是为测试员的思考提出建议。在收集测试方法时,要了解每个方法背后的原理,以及适用和不适用的条件。
41)回溯漏测问题产生原因,是意外还是测试策略所致。
42)测试员的困惑,可能是某种重要的预示。(困惑内容,如:规格说明书不清楚;产品不清楚;用户文档不清楚问题难以理解。)
43)新眼光或角度会发现失效。防止固化测试思路的三点提示:
第44)测试员不能盲目遵循过程,除非过程先跟随自己。注意:其一:如果要遵循测试过程,最好采用自己设计、自己拥有或已经完全了解的过程。其二:为了得到最好结果,测试员必须掌握自己的测试,而不是自己的文档,即要使过程跟随自己。
45)在创建测试过程时,避免“46)更好、更聪明的测试员是测试过程的一个重要成果。好的测试员永远都在学习。注意:在评估测试过程时,首先要看项目测试员的素质,要看他们怎么思考,以及这种思考怎样对其行为产生影响,只有掌握了这些信息才能评估他们的工作产品。
47)除非重新发明测试,否则不能精通测试。我们应该把东西分解,琢磨其工作原理,再以新的方式组装以适应新的条件。在学习过程初期,要重新发明不是非常好的测试、想法、手段和文档。这是正常的,要永远使头脑运转,观察其它测试员,研究和不断评估如何筛选自己的思想,要善于做到这一点,就必须实践。
测试手段:
48)关注测试员、覆盖率、潜在问题、活动、评估的组合测试手段。即“五要素测试系统”。建议:测试时要时刻想都会所有五个要素,就可能做出更好的组合选择,而不是采用只关注一种要素的手段。
测试员:进行测试的人。
覆盖率:测试了哪些内容。
潜在问题:测试的原因(要测试什么风险)。如:测试不满足这个需求的各种方式。
活动:如何测试。
评估:怎么判定测试通过还是不通过。
49)关注测试员的基于人员的测试手段。(如:强力测试、有关领域的专家测试、结对测试、自用测试)
50)关注测试内容的基于覆盖率的测试手段。(如:域测试、最佳代表测试、组合测试)
51)关注测试原因(针对风险测试)的基于问题的测试手段。(涉及约束冲突的错误例子:输入约束、输出约束、计算约束、存储(或数据)约束。)
基于风险测试设计建议:
第一:如果进行基于风险的测试,还需做相当量的非基于风险的测试,以针对了解还不够,还不能做出正确决策的风险进行测试。
第二:针对时序测试,如:竞争条件或其他事件意外发生顺序。
第三:在创建测试时,需创建测试过程,以强制程序使用测试员输入的测试数据,从而能够确定程序是否不正确地使用了这些数据。
52)关注测试方法的基于活动的测试手段。(如:冒烟测试、探索式测试、游击式测试、场景测试。)
53)关注测试是否通过的基于评估的测试手段。(如:与规格说明或其他权威文档比较、基于理念的测试)
启发式一致性。一致性是评估程序的重要评判准则。七种主要的一致性:与历史一致、与我们的想像一致、与可比较的产品一致、与所声明的内容一致、与用户的预期一致、产品内部一致、与用途一致。
质量属性:例如:并发性(a在缺陷表中找到一个缺陷。
b研究被测量软件是否会有这种缺陷。
c如果在理论上有这种缺陷的可能,研究如果存在,应如何发现。
d研究在程序中出现这种错误的可能性,如果存在会产生怎样严重的失效。
e如果可以,针对这类错误设计一个或一系列测试。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!