文章版权由作者小小小丝和博客园共有,若转载请于明显处标明出处:http://rpc.cnblogs.com/metaweblog/xxxs
目录
第一章:缺陷综述
第二章:需求开发与管理
第三章:配置与变更管理
第四章:同行评审
第五章:软件测试
第六章:QA发现不符合问题的处理
第七章:软件度量
第八章:缺陷管理
第一章:缺陷综述
1. 软件缺陷的定义:软件产品在某种程度上不能满足用户的需求
2. 软件缺陷的生命周期:从一个软件缺陷被发现、报告到这个缺陷被修复、验证,最后关闭的过程
3. 缺陷产生的原因: 原因很多,例如重技术不重管理、项目监控和计划做得不够好、不扎实等等
4. 缺陷是谁产生的: 任何人都有可能产生缺陷
5. 缺陷发现的手段: 同行评审、测试、管理评审、 QA发现、项目组内部发现、客户反馈
第二章:需求开发与管理
1. 需求的概念和层次
① 概念:需求就是以一种清晰、简洁、一致且无二性的方式,对待开发的各个有意义方面的陈述的集合
② 层次:从应用角度看软件需求
A. 业务需求:反映组织机构/客户对系统产品高层次的目标要求
B. 用户需求:用户使用产品必须完成的任务
C. 功能需求:开发人员实现软件功能,使得用户能够完成的任务,从而满足业务需求
2. 需求管理:控制和维持需求的约定;需求追踪是双向的,正向由PM主导,其他人辅助,逆向由测试主导
3. 需求验证:评审为主,一般参与人员为各个技术的专家
第三章:配置与变更管理
1. 概念:一门用来记录并且控制软件产品数据的管理学科,是对各类工作产品的内容、版本、变更和发布进行控制
① 忽视软件配置管理会导致如下现象:
A. 已经排除的bug,反复出现
B. 找不到最新修改的源代码
C. 找不到原来的编程人员
D. 发行的版本错误
E. 软件正常安装后不能工作
F. 异地不能正常工作
2. 配置控制委员会CCB:一般项目经理会根据配置控制委员会的建议和批准管理各项活动并且控制它们的进程,一般组成人员:高层经理、项目经理、关键的RD、关键的QA、PPQA代表、 CM代表、 PM,CCB的组长不能是项目经理
3. 配置项:一般包含:计算机程序、开发者和用户的文档、数据等,每一个配置项需表明:作者、时间、原因、当前状态、版本号
4. 配置管理活动:
① 内容
A. 制定配置管理计划
B. 建立三库(开发库、受控库、发行库)
C. 确定配置标识规则
D. 进行版本管理和发行管理
E. 实施变更控制
F. 进行配置审计
G. 报告配置状态
5. 变更管理活动
① 发生在开发过程的所有阶段,从需求分析到产品开发再到维护
② 变更追踪:处理变更及新增功能提交、评估、实施、验证与完成的流程
③ 实施变更管理重要的作用就是对变更进行度量分析
④ 变更申请流程:涉及的变更范围写明,通知项目经理——同意后,项目经理填写变更申请单—
—提交给CCB审批,告知CM(客户经理)
第四章:同行评审
1. 同行评审与测试的关系:开发阶段,专家对代码的一个评审,提高代码质量,减少测试成本,这样能够加深开发人员对工作的理解,预防bug,也避免在测试阶段大量返工
2. 同行评审的种类:正式评审、技术审查、走查
3. 同行评审的对象:产品需求规格书、用户界面规范与设计、设计模型、源代码、测试计划、设计、用例及步骤、项目计划
4. 正式评审的流程:预备会议-审查-评审会-书写评审报告-返工-跟踪
第五章:软件测试
1. 软件测试的基本问题:软件测试的概念、对象、目的、原则、方法等
① 软件测试的概念:广义指验证和确认、狭义指检查代码和文档的质量问题
② 软件测试的对象:程序代码、开发阶段需求文档
③ 软件测试的目的:
A. 从用户角度看:发现隐藏的错误和缺陷
B. 从开发者的角度看:验证软件实现了所有用户的要求
C. 从测试的角度看:一是发现错误、二是通过错误来改进软件开发过程中存在的缺陷
④ 软件测试原则:
A. 程序修改,需要回归测试
B. 写测试用例和执行case的人应该分开………..
⑤ 测试可以发现的缺陷:
A. 通过调试过程开发人员可以进行缺陷自测
B. 通过单元测试可以发现代码中的缺陷
C. 通过黑河测试可以发现功能测试
D. 理想状态下,测试用例设计的足够完善,可以发现全部的bug
2. 软件测试的基本方法:
① 白盒测试:一直产品内部工作过程的测试活动,通过测试检测内部操作是否符合设计说明书的
要求
② 白盒测试时穷举路径测试,主要的方法:逻辑驱动、基路测试,白盒测试过程应全面了解程序
内部逻辑结构,从检查程序入手,对所有的逻辑路径进行测试,得出测试数据
③ 黑盒测试:功能测试
3. 测试工程师的技能:
① 需掌握测试设计的方法,相应的测试思路
② 需了解测试的不同级别、级别的差异、每个级别的重点
③ 需要掌握测试的类型,了解测试需关注的重点、区别和重叠的地方
④ 需掌握系统背景知识,业务知识
4. 软件测试的过程:单元测试、集成测试、验收测试
5. 软件测试的方法:
6. 测试技术专题:
① 测试策略:先按标准步骤来测试,然后进行边界和破坏性的检查。测试原则:尽早测试、经常测试、充分测试开发人员要建立质量的意识
② 手工/自动测试的时机:
自动化测试的时机:项目没有时间压力、被测系统是可以自动化测试的、拥有运行测试的硬件…
手工测试的时机:与上相反
测试用例复审:测试用例应该具有重复使用性
何时终止测试:不允许存在A、 B、 C类bug,D不超过50%、 E允许存在(系统测试)
Web性能测试:验证软件系统是否能够达到用户提出的性能指标
内存泄漏测试:解决思路,安排有经验的编程人员进行代码走查和分析,或者利用专门的测
试工具进行分析
测试风险的管理:需求理解、测试用例覆盖、需求变更、测试环境等等
代码移交过程测试
处理不可重复出现的bug:版本信息、环境、人、测试工具、
7. 测试的度量:搜集相关的规模、工作量、进度、成本、质量等数据和信息
① 客户反馈的缺陷:提现测试的质量
② 模块缺陷密度
③ 遗留缺陷数
④ 测试用例的有效性
第六章:QA发现的不符合问题的处理
1. QA的担当的角色:老师(指导项目)、警察(评价开发的过程)、医生(帮助项目组想办法解决问题)
2. QA的职责要求:
① 具备一定的知识和技能(有开发经验)
② 公平公正的素质
③ 自信,较强大的沟通能力
3. QA特别关注的问题
① 项目计划制定不合理
② 维护需求的可追踪性和一致性容易出问题
③ 配置管理容易出问题
4. 对QA的误解:
① 认为QA应该负责产品质量,产品质量应该是由每一个人负责
② 认为QA就是编写文档和干零杂的人(开发经验、管理经验、项目管理知识、公平公正的素质、较强的沟通能力)
③ 认为QA只会站在组外品头论足、挑毛病