软件测试经验与教训分享.pdf
软件测试经验与教训分享
“软件测试经验与教训”读书总结
目录
第1章:测试员的角色
第2章:测试员的思考方式
第3章:测试的手段
第4章:程序错误分析
第5章:测试自动化
第6章:测试文档
第7章:与程序员交互
第8章:管理测试项目
第9章:管理测试小组
第10章:计划测试策略
1-测试员的角色
测试员的角色是什么?
测试员在项目中承担什么作用?
测试员的工作职责是什么?
测试员与开发之间的关系?
……
1-测试员的角色
项目的前灯、探路者:决定关键信息决策;
服务很多客户:项目经理、程序员、客户、产品经理等;
工作使命:以客户为中心,明确需求,提高效率降低风险;
告知客户威胁信息:告知客户有关威胁产品的任何信息;
迅速找出重要程序问题 :需要对问题分级分类考虑;
跟着程序员走 :为程序员提供支持,及时反馈,快速测试;
询问问题:经常含蓄提问问题,有助于启发自己思考;
关注失效 :用全部创造力和技能关注失效,产品才会成功;
不会发现所有问题:找出并报告重要程序问题;
当心完备测试:没有完备的测试,只有尽全力的测试;
测试不能保证质量 :测试和错误报告提供质量保证信息;
永远别做看门人:不要对产品的发布具有否决权;
当心不关我事理论:尽其所能,沟通所有消极影响问题;
当心成为过程改进小组:可以参与,但注意方式;
别指望别人理解测试或怎么能更好测试 :靠自己;
2-测试员的思考方式
消极的思维者?报告坏消息时极度兴奋;
证据的提供者?打破产品没有问题的幻觉;
实践的认识论?仔细推敲的推理机器;
严谨的开拓者?寻找任何可能的缺陷;
……
2-测试员的思考方式
测试运用的是认识论 :如何认识所了解的东西;
研究认识论有助于更好测试 :我们应该怎么思考;
认知心理学是测试的基础 :我们是怎么思考的;
测试在测试员的头脑中:测试水平不同在于如何思考;
测试需要推断,并不只是做输出与预期结果的比较 :大多数测试都是
基于推断,掌握探索式推断的艺术;
优秀测试员会进行技术性、创造性、批判性和实用性的思考 :相信事
物不像外表看的那样,不要视野狭窄;
黑盒测试并不是基于无知的测试 :测试员与程序员的思考方式不同,
预测遗漏风险,越懂产品,测试得越好;
测试员不只是游客:评估产品,不只是见证产品;
所有测试都试图回答某些问题:现实产品与应得产品关系;
2-测试员的思考方式
所有测试都基于模型 :模型清晰完整,利于测试;
直觉是不错的开始,但又是糟糕的结束:直觉可以作为指南,但不能
用作合理性证明;
为了测试,必须探索 :探索式思考,最大化测试价值;
探索要求大量思索:侦察,前向、后向和侧向思索;
使用诱导推断逻辑发现推测:最佳解释的推理;
使用猜想与反驳逻辑评估产品:证明猜想是假;
需求是需要人物所关心的质量或条件:产品应该满足的任何质量或条
件都是需求;
通过会议、推导和参考发现需求:多种途径获取需求;
既要使用显示的规格说明,也要使用隐式的规格说明;
“它没有问题”真正含义是它看起来在一定程度上满足部分需求;
2-测试员的思考方式
最后,测试员所能得到的只是对产品的印象;
不要将试验与测试混淆起来;
当测试复杂产品时,陷入与退出 :间歇进行,多轮次的陷入与退出,
明白产品模式轮廓,执行测试和研究策略;
运用试探法快速产生测试思路:为测试员思考提供建议;
测试员不能避免偏向,但是可以管理偏向:集体讨论问题;
如果自己知道自己不聪明,就更难被愚弄 :任何时候都要注意其他测
试员所发现的自己本来可以但没有发现的问题;
如果遗漏一个问题,检查这种遗漏是意外还是策略的必然结果 :如果
遗漏是因为测试策略关注了错