《软件测试经验与教训》读书笔记

发表于:2016-9-12 10:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:顾翔    来源:51Testing软件测试网原创

分享:
  七、与程序员交互
  150,理解程序员怎样思考
  · 大多数程序员都很专一
  · 程序员关注自己的系统理论
  · 程序设计是一种复杂活动
  · 程序员常常要与各种困难作斗争
  · 很多程序员不喜欢例行工作,常常构建工具和脚本来自动化自己所命名的重复性工作
  151,获得程序员的信任
  152,提供服务
  · 测试第三方组件
  · 测试非正式个人版本和原形
  · 为程序员建立测试环境以便程序员自己进行测试
  · 评审需求文档的可测试性
  153,测试员的正直和能力需要尊重
  · 要干脆的报告问题
  · 将自己的判断建立在产品行为的实际观察基础之上
  · 如果失效是不可重现的,要展示为了重现失效做的各种尝试
  · 直接报告坏消息
  · 不要假装了解自己并不了解的东西
  · 不要夸张错误报告,也不要缩小的错误报告,不要受外界压力的诱导
  · 如果测试员是正直的,就可以展示自己的能力
  154,将关注点放在产品上,而不是人上
  155,程序员喜欢谈论自己的工作,应该问他们问题
  156,程序员乐于通过可测试器提供帮助
  · 用程序员的语言谈话
  · 尽早提出要求
  · 要现实
  八、管理测试项目
  157,建设一种服务文化
  158,不要尝试建立一种控制文化
  159,要发挥耳目的作用
  160 ,测试经理管理的是提供测试服务的子项目,不是开发项目
  161 ,所有的项目都会演变,管理良好的项目能够很好的演变
  162 ,总会有很晚的变更
  · 他们不知道自己所有的需求
  · 当他们使用软件的早期版本我竞争对手的产品后,其需求会发生变化
  · 不同的项目相关人员具有不同的需要,这些需要常常是矛盾的
  · 需求是在我们想要和我们能够得到的功能进行不断斗争的结果(Bach 1999a)
  163 ,项目涉及功能、可靠性、时间和时间之间的折衷
  功能、可靠性、时间、成本
  164,让项目经理选择项目生命周期
  165 ,瀑布生命周期把可靠性与时间对立起来
  166,进化生命周期把功能与时间对立起来
  167,愿意在开发初期将资源分配给项目团队
  · 评审需求文档的可理解性、可测试性和模糊性
  · 随着其他项目工作制品(文档、代码等)的开发,在对他们进行测试
  · 推动代码评审
  · 拟定硬件配置和准备配置或借用设备的初步清单
  · 要求提供可测试性功能
  · 讨论代码覆盖率度量使用其他开发支持工具的可能性
  · 准备测试自动化
  · 研究测试工具
  · 如果可能,订购可以用于被测软件的外部开发的测试包
  · 了解产品的市场和竞争情况
  168 ,合同驱动的开发不同于寻求市场的开发
  169,要求可测性功能
  170,协商版本开发进度计划
  171 ,了解程序员在交付版本之前会做什么
  (以及不会做什么)
  172 ,为被测版本做好准备
  173 ,有时候测试员应该拒绝某个版本
  174 ,使用冒烟测试检验版本
  175 ,有时正确的决策是停止测试、暂停改错、并重新设计软件
  176,根据实际使用的开发实践调整自己的测试过程
  177,"项目文档是一种有趣的幻想:有用,但永远不足"-Brian Marick
  代码中超过80%的代码用于处理错误,实现主要功能的代码不足20%
  178,测试员除非要用,否则不要索要
  179 ,充分利用其他信息源
  · 用户手册查岗(以及以前版本的手册)
  · 产品市场开发文献
  · 市场开发人员向管理层做的推销产品概念的演讲
  · 程序每个新的内部版本所带的软件变更备忘录
  · 内部备忘录(例如项目经理对工程师描述的功能定义)
  · 已出版的风格指南和的用户界面标准
  · 已出版的标准(例如C语言)
  · 第三方产品兼容性测试包
  180,向项目经理指出配置管理问题
  · 有一个测试子项目在四个月时间内发现了几百个程序错误,平均每个程序错误会再次出现2.5次
  181 ,程序员就像龙卷风
  182,好的测试计划便于后期变更
  · 不要再测试之前开发大的测试包
  · 不要编写维护成本很高的大量测试文档
  · 不要把手工或自动化测试文档的特定的用户界面
  · 通过最大化可维护性和跨平台可以移植性来设计自动化测试
  · 构建一组能够在不同程序中重复使用的通用测试
  · 构建一组很强大的冒烟测试,以快速检测被测程序中的基本失效
  · 慎重考虑极限编程
  · 开发一种产品用户和用户要通过产品获得效益的模型
  · 帮助程序员开发大的单元测试包,以及相对简单功能的其他测试
  183,只要交互工作制品,就会出现测试机会
  184 ,做多少测试才算够?这方面还没有通用的计算公式
  185 ,"足够测试"意味着"有足够的信息可提供客户做出好的决策"
  186,不要只为两轮测试做出预算
  187 ,为一组任务确定具体进度计划,估计每个任务所需的时间
  188 ,承担工作的人应该告诉测试经理完成的任务需要多长时间
  189,在测试员与开发人员之间没有正确的比例
  190,调整任务和不能胜任的人员
  191,轮换测试员的测试对象
  192,尽量成对测试
  193,为项目指派一位问题查找高手
  194,确定测试的阶段计划,特别是探索式测试的阶段计划
  195 ,分阶段测试
  196 ,通过活动日志来反映的测试员工作的干扰
  197,定期状态报告是一种强有力的工具
  · 永远使用中性、客观的语气,不要使用全大写词汇以及幽默
  · 对事不对人
  · 采用所有的项目都一致的格式
  · 按照标准进度计划提交报告
  · 仔细的选定状态报告的内容
  · 要把状态报告提交给项目团队之外的人看
  198,再也没有比副总裁掌握统计数据更危险的了
  199,要小心通过程序错误数量度量项目进展
  200,使用的覆盖率越独立,了解的信息越多
  201,利用综合记分牌产生多个因素一是的状态报告
  202,以下是周状态报告的推荐结构
  · 第一页:
  · 所需的决策(如:需要如何确定这些功能的优先级?测试什么设备?是否吸收新测试小组成员?)
  · 所需的程序错误修改
  · 预期交付的工作制品
  · 意外问题
  · 第二页描述项目小组完成计划任务进度的情况
  · 第三页提供错误报告统计数据
  · 最后一页列出本周被延迟的程序错误
  203 ,项目进展表示另一种展示状态的有用的方法
  204 ,如果里程碑定义的很好,里程碑报告很有用
  205,不要签署批准产品的发布
  206 ,不要签字承认产品经过测试达到测试经理的满意程度
  207,如果测试经理要报告产品发布报告,应描述测试工作和结果,而不是自己对产品的看法
  208,在产品最终发布报告中列出没有排除的程序错误
  209 ,有用的发布报告应列出批评者可能指出的10个最糟糕的问题
  九、测试小组管理
  210 ,平庸是一种保守期望
  211 ,要把自己的员工当作执行经理
  《有效地执行经理》
  212,阅读自己员工完成的错误报告
  213 ,像评估执行经理那样评估测试员
  · 阅读其错误报告
  · 阅读其编写的代码
  · 收集其一起工作的程序员和其他有关人员的意见
  214,如果测试经理确实想知道实际情况,可以员工一起测试
  215,不要指望别人能够高效处理多个项目
  216,积累自己员工的专业领域知识
  · 阅读类似产品客户的杂志或书籍
  · 参加教授客户如何使用类似本公司正在开发产品的学习班
  · 参加与产品的下层组织有关的学习呗
  · 在客户现场工作
  · 推销自己公司或竞争对手的软件
  · 每周利用几个小时回答公司技术支持热线电话
  217,积累自己员工相关技术方面的专门知识
  218,积极提高技能
  219,浏览技术支持日志
  220,帮助新测试员获得成功
  · 为新员工找好办公室或小隔间
  · 至少要安排一天的时间让新测试员与有关人员见面
  · 为新测试员指派一名指导员
  221,让新测试员对照软件核对文档
  222,通过正面测试使新测试员熟悉产品
  223 ,让测试新手在编写新错误报告之前,先改写老的错误报告
  224 ,让新测试员在测试新程序错误之前,先重新测试老程序错误
  · 重现现在还没有关闭的程序错误
  · 重新测试已经解决的程序错误
  · 重新测试已经解决但还没有关闭的程序错误
  225,不要派测试新手参加几乎完成的项目
  225,员工的士气是一种资产
  三分士气一分体力
  227,测试经理不要让自己被滥用
  228,不要随意让员工加班
  229,不要让员工被滥用
  230,创造培训机会
  · 阅读小组
  · 午餐培训会议
  · 公司统一安排培训
  231,录用决策是最重要的决策
  232,在招募期间利用承包人争取回旋余地
  233,谨慎把其他小组拒绝的人心拉到测试小组中
  234,对测试小组需要承担的任务,以及完成这些任务所需要的技能做出规划
  235,测试团队成员要有不同的背景
  236,录用其他渠道的应聘者
  237,根据大家的意见决定录取
  238,录用热爱自己工作的人
  239,录用正直的人
  240,面谈时,应让应聘者展示期望有的技能
  241,在面谈时,请应聘者通过非正式能力测验展示其在工作中运用的能力
  242,录用时,要求应聘者提供工作样本
  243,一旦拿出主意就迅速录用
  244,要将录用承诺形成文字,并遵守诺言
  十、软件测试职业发展
  245,确定职业发展方向并不懈努力
  · 自动化测试程序员
  · 自动化测试结构分析员
  · 性能和可伸缩性测试员
  · 系统分析员
  · 用户界面和人员因数分析员和鉴定员
  · 测试计划设计员
  · 专题测试专家
  · 黑盒测试员
  管理职位:
  · 测试小组组长
  · 测试经理
  · 测试主任或质量主任
  · 内部顾问
  · 外部顾问
  转岗:
  · 程序设计经理或项目经理
  · 技术支持经理
  · 产品经理
  · 文档编写小组经理
  过程管理:
  · 软件指标专门人员
  · 软件过程改进专门人员
  246,测试员的收入可以超过程序员的收入
  247,可大胆改变职业发展方向并追求其他目标
  248,不管选择走哪条路,多要积极追求
  249,超出软件测试拓展自己的职业发展方向
  250,超出公司拓展自己的职业发展方向
  251,参加会议是为了讨论
  252,很多公司的问题并不比本公司的问题少
  253,如果不喜欢自己的公司,就在找一份不同的工作
  254,为寻找新工作做好准备
  255,积极并维护希望加入公司的名单
  256,积累材料
  257,把简历作为推销工具
  · 如果有显著不同的工作岗位感兴趣,这个写出不同的简历
  · 准备一份历史简历
  · 准备一份功能性和关键词简历
  · 决不要夸大自己的背景、技能或经验
  258,找一位内部推荐人
  259,收集薪金数据
  260,如果是根据招聘广告应聘,应根据广告要求调整自己的申请
  261,充分利用面谈机会
  262,了解准备应聘的招聘公司
  263,在应聘时询问问题
  264,就自己的工作岗位进行谈判
  · 知道自己想要什么?
  · 知道他们想要什么?
  · 知道他们的想法?
  · 知道他们作为潜在雇员怎样谈判?
  · 知道自己的其他选择,除了这个工作岗位之外的其他工作岗位是什么?
  265,留意能力资源部
  266,学习Perl语言
  267,学习Java或C++
  268,下载测试工具的演示版并试运行
  269,提高自己的写作技巧
  270,提高自己的公众讲话技巧
  271,考虑通过认证
  272,不要幻想只需两个星期就能够得到黑带柔道段位
  273,有关软件工程师认证制度的警告
  十一、计划测试策略
  274,有关软件策略要问的三个基本问题是:"为什么担心","谁关心","测试多少"
  275,有很多种可能的测试策略
  276,实际测试计划是指导测试过程的一套想法
  测试计划是指导将要做什么的所有想法
  277,所设计的测试计划要符合自己的具体情况
  · 开发:产生将要测试的产品的系统
  · 需求:成功产品的评判标准
  · 测试团队:能够投入该产品的测试人员
  · 测试实验室:是测试函电能够完成测试任务的系统、工具和材料
  · 任务:测试团队必须要按照客户认可的陈光标准解决的问题
  278,利用测试计划描述在测试策略、保障条件和工作产品上所做的选择
  279,不要让保障条件和工作产品影响实现测试策略
  280,如何利用测试用例
  281,测试策略比测试用例重要
  282,测试策略要解释测试
  · 与具体产品有关
  · 关注风险
  · 多样化
  · 实用
  283,应用多样化的折衷手段
  284,充分利用强有力测试策略的原始材料
  · 测试员运用各种测试手段的技能
  · 测试员有关产品内部技术的知识
  · 具有特殊测试或工艺技能的朋友
  · 原始测试数据库
  · 各种测试平台,包括测操作系统与硬件配置
  · 各种测试工具
  · 实际用户数据
  · 植入产品中的可能测试性功能(如日志记录文件、判断和测试菜单)
  285,项目的初始测试策略总是错误的
  286,在项目的每个阶段,可自问"我现在可以测试什么,能够怎样测试?"
  287,根据产品的成熟度确定测试策略
  · 项目初期,同情的测试
  · 项目中期,积极的测试
  · 项目末期,多样的测试
  · 项目最后,谨慎的测试
  288,利用测试分级简化测试复杂性的讨论
  0级,冒烟测试
  1级,能力测试
  2级,函数测试
  3级,复合测试
  289,测试灰盒
  290,再重新利用测试材料使,不要迷信以前的东西
  291,两个测试员测试同样内容也许并不是重复劳动
  292,设计测试策略时既要考虑产品风险,
  · 也要考虑产品要素
  · 不要在测试员之间的缝隙中遗漏测试
  · 经常测试客户要求测试的内容
  · 偶尔测试客户要求不要测试的内容
  · 测试不够清晰和矛盾的内容
  · 不要痛打落水狗
  · 更多变更意味着更多测试
  293,把测试周期看作是测试过程的韵律
  · 接受产品
  · 对测试系统进行配置
  · 检验可测试性
  · 确定哪些部分是新增加的或经过修改的
  · 确定修改了哪些程序错误
  · 测试程序错误修改
  · 测试新的或经过变更的部分
  · 这是其他部分(注意首先测试风险较大的部分)
  · 报告测试结果
版权声明:51Testing软件测试网及内容提供者拥有本文全部版权,未经明确的书面许可,任何人或单位不得对本文进行复制、转载或镜像,否则将追究法律责任。
33/3<123
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号