没有合适的资源?快使用搜索试试~ 我知道了~
测试员有很多不同的背景,测试团队是多元化的集体,但是大多数人都同意:测试员的思考方式是不同的。怎么不同?有人说测试员是“消极”思维者。测试员会抱怨这种说法,认为自己喜欢征服,他们在报告坏消息时有一种特别的兴奋感。这是—种普遍观点。我们提出另一种观点。测试员并不抱怨,他们提供的是证据。测试员并不喜欢征服,他们喜欢打破产品没有问题的幻觉。测试员并不喜欢发布坏消息,他们喜欢把客户从虚假信念中解放出来。我们的观点是,按测试员的方式思考意味着实践认识论。测试运用的是认识论,不是靠傲慢或谦卑。
资源推荐
资源详情
资源评论
软件测试人员的思考问题方式
测试员有很多不同的背景,测试团队是多元化的集体,但是大多数人都同意:测试员的
思考方式是不同的。怎么不同?有人说测试员是“消极”思维者。测试员会抱怨这种说法,认
为自己喜欢征服,他们在报告坏消息时有一种特别的兴奋感。这是—种普遍观点。我们提出
另一种观点。测试员并不抱怨,他们提供的是证据。测试员并不喜欢征服,他们喜欢打破产
品没有问题的幻觉。测试员并不喜欢发布坏消息,他们喜欢把客户从虚假信念中解放出来。
我们的观点是,按测试员的方式思考意味着实践认识论。测试运用的是认识论,不是靠傲慢
或谦卑。
本章旨在把测试员的大脑开发成,经过仔细调谐的推理机器。请记住:要用精神力量做
好事,而不做坏事。
经验1,测试运用的是认识论
读者看到这个题目会说:嘿,回来!我们在这里不是要讨论对电影明星的新崇拜。请相
信我们。认识论是能够帮助测试员更好测试的一个哲学分支。
认识论研究如何认识所了解的东西:研究证据和推理。这是科学实践的基础。研究认识
论的人有科学家、教育家和哲学家,当然还有精英级的软件测试员。学习认识论的学生研究
科学、哲学和心理学,目标是了解怎样才能改进我们的思维。我们使用的术语比经典定义要
宽,以便能够更多地利用批评性思维的最新成果。将认识论运用于软件测试,要问与以下类
似的问题:
z 怎么知道软件足够好?
z 如果软件并不是足够好,怎样才能知道?
z 怎么知道已经完成了足够的测试?
苏格拉底早在 2400 年前就提倡并描述了对信念的批判性观察,因此我们把他看作是最
早的认识论者。直到今天,哲学家、科学家和心理学家都还在继续研究认识论。作为测试员,
这就是我们的遗产。
经验 2,研究认识论有助于更好测试
直接与软件测试有关的认识论问题包括:
z 如何收集和评估证据。
z 如何进行有效的推论。
z 如何使用不同逻辑形式。
z 拥有合理的信念意味着什么。
z 形式和非形式推理之间的差别。
z 非形式推理的常见谬误。
z 自然语言的含义与模糊性。
z 如何做出好的决策。
从来也没有研究过这些问题的很多人也能测试得很好,但是如果要做得比很好还好,就
要研究这些问题。研究认识论可帮助测试员设计有效的测试策略,更好地意识到自己工作中
的错误,理解自己的测试能够证明什么、不能证明什么,并编写出无懈可击的测试报告。
以下是三本具有很高可读性的入门书:
z 《批判性思维的工具:心理学的元思想》(Tools of Critical Thinking :Metathoughts for
Psychology)(Levy l997)。这本书是针对精神病医生写的,但是对测试员也很有用。书中
每一章都是有关更好思维的不同思想。不一定把它全读完,可以挑选任何一章阅读。
#
#
z 《思考与决策》(ThinkingandDeciding)(Baronl994)。这是讨论思维世界的一本可读性很
高的普通教科书,是很好的入门书。
z 《研究的技巧》(TheCraftofResearch)(Booth、Colomb 和 Williams1995)。 这是一本有
关批判性阅读和写作的很好的书籍,包括如何组织有说服力的论据。主要针对大学生读
者。
经验 3,认知心理学是测试的基础
如果说认识论告诉我们的是应该怎样思考,那么认知心理学告诉我们的是我们是怎样思
考的。与测试有关的一些问题包括:
z 人的感觉和记忆可靠性。
z 信念从哪里来。
z 信念如何影响人的行为。
z 做出决策所使用的偏见和捷径。
z 如何了解并分享所知道的信息。
z 如何考虑复杂事情。
z 在压力下如何思考。
z 如何识别模式。
z 如何把想法和事物分类。
z 如何注意事物之间的差别。
z 记忆事件中的失真。
z 如何重新构建部分记忆的事件(例如不可再现的程序错误)。
从来也没有研究过这些问题的很多人也能测试得很好,但是如果要做得比很好还好,就
要研究这些问题。研究认知心理学有助于理解影响测试员工作成绩的因素,以及影响人们解
释自己工作方式的因素。
开始研究认知心理学,不能不看《旷野中的认知》(Cognitioninthewild)(Hutchins1995)。
Hutchins 研究海军航海团队,以及他们怎样协同工作。这本书的很多内容也都与软件项目和
测试团队有关。
有关思考心理学的一本有用的书是《理论与证据:科学推理的能力的开发》
(TheoryandEvidence:TheDevelopmentofScientificReasoning)(Koslowski1996)。在这本
书中,Koslowski 研究了人们如何使用因果关系理论进行系统推理。这可以解释为什么测试
不只是查看外部行为,并对照简单的预期描述进行检查。
经验 4,测试在测试员的头脑中
优秀测试和平庸测试之间的差别在于测试员如何思考:测试员的测试设计选择,解释所
观察到的现象的能力,以及非常令人信服地分析描述这些现象的能力。测试的其他工作大部
分是一般的办公室工作。如果看到两个测试员并排工作,不一定能看出谁的测试更好。他们
工作中能够看得到的部分外表相同,这说明:
z 很多人认为测试很容易,因为可以很容易地模仿优秀测试员的外表看得到的行为,并且
他们没有好的测试的其他标准。
z 如果要成为优秀测试员,就要学会像优秀测试员那样思考,而不是模仿他们的行为。
z
经验 5,测试需要推断,并不只是做输出与预期结果的比较
流行的观点认为,测试员只是执行测试用例,并对照预期结果比较执行结果。这种观点
把测试看作是简单的比较活动,没有看到一些聪明人必须设计测试,并确定预期输出。想想
看,测试设计人员几乎从来没有得到过应该测试什么的权威指导,更不要说应该期望什么了。
可以得到的指导是要解释的主体。在现实生活中,大多数测试设计都是基于推断,或基于与
测试员的推断有关的经验。不仅如此,这些推断还要随时间发生变化。像测试员那样思考,
就是要掌握探索式推断的艺术。
探索式推断听起来可能像是奇怪的想法,这意味着要以一种不能事先预测的方式,通过
一种思想引出另一种思想,然后再引出下一种思想。有关探索式推断的一本很好的书是《证
明与反驳:数学发现的逻辑》(Proofs and Refutations : The Logic of Mathematical
Discovery)(Lakatos,1976)。关于这本书需要注意的是,Lakatos 如何说明数学和科学推理过
程是探索式的,而不是脚本化的。甚至数学家也是积极探索地推理,而不是通过运用枯燥的
公式。他们像测试员那样思考!
经验 6,优秀测试员会进行技术性、创造性、批判性和实用性地思考
各种类型的思考都要考虑测试的实施。但是我们认为需要提出四种主要思考:
z 技术性思考。对技术建模并理解因果关系的能力。这包括诸如相关技术事实的知识和使
用工具并预测系统行为的能力。
z 创造性思考。产生思想并看到可能性的能力。测试员只能以能够想象得到的方式进行测
试,只能寻找猜想会存在的问题。
z 批判性思考。评估思想并进行推断的能力。这包括在自己的思考中发现并消除错误的能
力,将产品观察与质量准则关联起来的能力,以及针对特定信念或所建议的行动过程构
建有说服力的测试用例的能力。
z 实用性思考。把想法付诸实施的能力。这种能力包括诸如运用测试工具,并使测试手段
和力量与项目范围适应的技能。
总之,像测试员那样思考,会最终导致相信事物可能不像外表看起来那样。不管事物是
怎样的,都可能有差别。我们发现,当测试过程以最具破坏性的方式失败时,根本原因最有
可能是视野狭窄。换句话说,这不是运行了一万个测试,而本来应该运行一万零一个的问题;
问题是没有想象出测试的总体大纲,没有做即使有两倍时间和资源也不会做的测试。
经验 7,黑盒测试并不是基于无知的测试
黑盒测试意味着产品内部知识在测试中不起重要作用。大多数测试员都是黑盒测试员。
为了做好黑盒测试.就要了解用户,了解他们的期望和需要,了解技术,了解软件运行环境
的配置,了解这个软件要与之交互的其他软件,了解软件必须管理的数据,了解开发过程等
等。黑盒测试的优势在于测试员可能与程序员的思考不同,因此有可能预测出程序员所遗漏
的风险。
黑盒测试强调有关软件的用户和环境知识,这一点并不是所有人都喜欢的。我们甚至把
黑盒测试描述为基于无知的测试,因为测试员自始至终都不了解软件内部代码。我们认为这
反映出对测试团队角色的根本误解。我们不反对测试员了解产品的工作原理。测试员对产品
了解得越多,了解产品的方式越多,越能够更好地测试它。但是,如果测试员主要关注的是
源代码,以及能够从源代码导出的测试,则测试员所做的工作也许就是程序员已经做过的,
并且测试员关于这些代码的知识要少于程序员。
经验 8,测试员不只是游客
测试员对产品做的大量不是测试的事,有助于测试员对产品的了解。测试员可以浏览产
品,看看产品由什么组成,怎么工作。这样做有很高价值,但这不能算是测试。测试员和游
客之间的差别在于,测试员把精力放在评估产品上,而不只是见证产品。虽然不必事先预测
剩余10页未读,继续阅读
资源评论
a15297557403
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20240425_190941.jpg
- 基于stm32的pid控制算法附带串口控制台
- 实验项目一:线性表(模板 ).docx
- 基于LM317A设计交流220V输入可调5V-12V直流输出稳压电源电路multisim10仿真源文件.zip
- Screenshot_2024-04-25-17-04-18-55_2332cb9b27b851b548ba47a91682926c.jpg
- -基于AVR单片机的LNG加液机控制器设计.pdf
- ThePowerOfNow-EckhartTolle.mobi
- BLOCK_TYPE_HEARTBEAT_D70A3465D4EE4E9_046141_dump_1st.dmp
- 项目方法测试调用接口工具
- studyupdate
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功