《测试计划与软件缺陷管理》由会员分享,可在线阅读,更多相关《测试计划与软件缺陷管理(7页珍藏版)》请在金锄头文库上搜索。
1、测试计划与软件缺陷章节 第一章什么是软件测试第二章识别和描述缺陷重点一概念:1. 软件:是计算机系统中与硬件相互依存的另一部分,包括程序(数据)和文档的完整集合。2. 软件测试:采用人工或自动手段来运行某个系统的过程,其目的是检测系统是否完成了规定的需求或弄清预期结果与实际结果之间的差别。3. 程序:按照事先设计的功能和性能的要求执行的指令序列。4. 文档:与程序开发、使用、和维护相关的图文材料。二软件测试流程(或软件测试内容):制定测试计划设计测试用例实施测试(提交缺陷报告)测试总结.三如箭测试的根本目的:就是确保最终交给用户的产品是符合用户需求的,在产品交给用户之前尽可能多的发现并改正问题
2、。四测试与调试的区别:测试是由测试员和程序员共同参与的,贯穿整个软件生命周期,主要工作就是找缺陷;调试时由程序员参与的,主要在开发阶段,进行了成功的测试后才开始的,其目的是解决缺陷。五软件测试员必备的素质:责任心、沟通能力、耐心细心信心、团队合作精神、时刻保持怀疑态度,并且有缺陷预防意识、具备一定的编程经验。一识别缺陷的方法:1.相关文档可以作为识别 bug 的辅助工具;2.行业标准;3.沟通学习他人识别 bug 的方法和经验。给软件带来缺陷的原因有很多,例如:1. 人员之间的沟通交流不够,或者根本不进行交流;2. 软件复杂性;3. 工期短,任务重,时间压力大;4. 参与人员的过度自信;5.
3、需求不断变化;6. 文档不完善,甚至没有文档;7. 程序设计本身有错误;8. 软件开发工具和系统的软硬件支持不完备。所以可以说;在软件使用过程中出现的任何问题,或者软件不能符合设计要求,或者不满足消费者需求的问题都可以说是bug.二书写缺陷报告的原则:(结合 16 章)1. 保证重现缺陷;2. 分析故障,使用最少的步骤重现缺陷,为每一步编号;3. 包含所有重现缺陷的必要步骤;4. 方便阅读,通过空行提高报告的可读性;5. 一个缺陷一个报告;6. 保持中立的语气;7. 不要夸大程序缺陷,如果认为程序员可能会忽视这一缺陷,则可以在缺陷报告中详细解释认为严重的原因;8. 永远都要报告不可重现的缺陷;
4、9. 报告小缺陷;10. 及时报告缺陷;11. 引用他人报告要小心;12. 任何时候要在缺陷报告,特别是他人的报告中作补充,都要注明自己的姓名和日期;13. 说明预期结果和实际结果;14. 适当添加有益的注释,以便于程序员分析问题及自己今后的返测;15. 对于复杂的缺陷,可以在报告开头对这一缺陷进行小结,然后给出操作细节。第四章编写和管理缺陷报告第六章编写软件测试计划一缺陷报告的用途:记录缺陷、缺陷分类、缺陷跟踪。二缺陷的分类:1. 严重程度:影线进度的问题;死机;功能问题;界面问题;建议。2. 优先级:应立即修复的问题;在产品发布之前必须修复的问题; 如果时间允许应该修复的问题;可以在发布版
5、本中存在的问 题。缺陷报告的分类通常从处理状态和处理意见两个方面入手; 三缺陷报告处理流程:提交缺陷报告 分配缺陷报告 处理缺陷报告 返测缺陷报告关闭缺陷报告。四缺陷跟踪系统:Bugzilla 的 使用。一软件生命周期:是软件开发的全部过程:可行性研究 需求分析 设计编码测试发布、运行、维护。二软件测试流程:测试计划阶段 测试设计阶段 测试实施阶段 评估阶段.三测试计划包含的内容:1. 测试目的和测试项目简介2. 测试参考文档和测试提交文档3. 术语和定义4. 测试策略第八章软件测试流程和分类5. 测试内容6. 项目通过或失败的标准7. 暂停和重新启动项目的标准8. 测试资源9. 测试进度10
6、. 测试任务分配和职责11. 风险和偶然事故的预测一概念:1. 单元测试:又称模块测试,是最小单位的测试,是在系统开发过程中进行的测试活动,检查各个程序模块是否正确实现的规定的功能。单元测试是测试的第一步,其依据是详细设计说明书。2. 集成测试:又称综合测试或组装测试,是在单元测试的基础上将已经通过单元测试的模块按照设计要求组装成系统或 子系统,再进行的测试。3. 系统测试:是将通过确认测试的软件,作为整个基于计算机系统的元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起,在实际运行环境下, 对计算机系统进行全面的功能覆盖。系统测试的目的: 在于通过与系统的需求定义做比
7、较,发现软件与系统的定义不符或与之矛盾的地方。4. 有效性测试:是在模拟的环境下(可能是开发环境),运用黑盒测试的方法,验证所测软件是否满足需求规格说明书列车的需求。5. 验收测试:是软件产品交付用户使用前的最后一道工序,它是以用户为主的测试,软件开发和质量保证人员也应参加。验收标准必须在原始的需求规范中或在客户的合同中 规定。6. 静态测试:不运行北侧程序本身而寻找程序代码中可能存在的错误或评估程序代码的过程。包括:代码走查、代码审查、桌前检查、技术评审、静态分析。7. 动态测试:实际运行被测程序,输入相应的测试实例,检查运行结果与实际结果之间的差异。动态测试由三部分组成: 构造测试实例;根
8、据测试实例运行程序;分析程序的输出结果。8. 黑盒测试:又称功能测试、数据驱动测试、基于规格说明书的测试。9. 白盒测试:又称透明盒测试、逻辑驱动测试、结构测试、基于程序或代码本身的测试。10. 冒烟测试:也称版本验证测试,BVT 测试,主要是对应用程序关键的功能进行测试,是在版本下来投入正式测试之 前,对一些重点部分功能进行确认,已决定此版本是正式进入测试阶段,还是打回开发组。11. 回归测试:就是过一段时间以后再回过头来对以前修复过的缺第十章正确理解软件测试第十二章软件测试计划陷再重新进行测试,看该缺陷是否会重新出现。(回归测试内容:回归缺陷和回归用例)二软件测试过程:单元测试集成测试系统
9、测试验收测试三软件测试分类:1. 按策略分类:静态测试和动态测试;黑盒测试和白盒测试;手工测试和自动测试;冒烟测试;回归测试。2. 按测试阶段分类:单元测试;集成测试;系统测试。四常见的测试方法:性能测试;功能测试;压力测试;负载测试;易用性测试;安装测试;界面测试;配置测试;文档测试;兼容性测试;安全性测试;恢复测试。一软件测试的原则:1. 尽早地进行软件测试,并把软件测试贯穿整个软件生命周期;2. 软件测试应追溯需求;3. 软件测试应有第三方来构造;4. 穷举测试不可能,要遵循Goodenough 原则; 5.必须确定预期的输出结果;6. 必须彻底检查每个测试结果;7. 充分注意测试中的群
10、集现象;8. 其他值得注意的规律和经验。二关于评审:1. 评审定义:在正式会议上讲软件项目的成果(包括各阶段产生 的文档、生成的代码等)提交给用户、客户、有关部门人员对软件产品进行评审和批准。评审是软件开发早期阶段唯一有效的检验手段。2. 评审的意义:从用户的角度看,文档和程序一样,都是同样的产品;从开发的角度看,文档的内容不正确或不健全会给整个开发工作造成问题;从测试的角度看,文档的内容不正确或不健全,也是测试工作中遇到的作答合作头疼的问题;从维护的角度看,文档缺乏或不正确,也不利于产品的后期维护。三软件测试与软件质量:质量要靠好的过程和高质量的人员来保证;测试不能保证质量,只能提高质量,他
11、们是间接关系。一测试计划定义:就是在软件测试工作正式实施之前确定测试对象,并通过对资源、时间、风险、测试范围、预算等多方面的综合分析和规定,保证有效的实施软件测试。二.软件风险分析步骤:1. 成立头脑风暴小组【成员包括开发人员、测试人员、用户和销售人员等】第十四章 软件与软件测试第十六章 软件测试经验分析2. 编制特征列表【编制系统范围内的特征和属性列表】3. 确定可能性【为实效的可能性赋一个相对值】4. 确定影响【对应相赋一个相对值】5. 赋值【对步骤 3、4 给出的相对值赋数值】6. 确定风险优先级【将赋给实效可能性和影响的值求和】7. 评审,修改值【从复杂性、环境、资源、经验和历史数据等
12、方面的情况来评定和修改优先级】8. 排定特征优先级【根据风险优先级重新组织特征和属性列表】9. 确定“分割线”【将特征分为“待测试”和“不予测试”】10. 考虑缓解风险【确定哪些风险能够通过增加资源、改变开发方法等方式规避或缓解】软件风险分析的目的:确定测试对象、测试的优先级、测试的深度。一.单元测试的意义:1. 在软开发的后期阶段,缺陷的发现和修改将会变得更加困难,并且消耗大量的时间和开发费用;2. 无论什么时候作出修改,都要进行完整的回归测试;3. 经过单元测试的系统,产品集成过程将会大大简化;4. 是测试工作的效率发挥到最大化的关键在于选择正确的测试策略,这包含了完整的单元测试的概念,以
13、及对测试过程的良好的管理, 还有适当的使用好工具来支持测试过程。二.桩模块和驱动模块1. 桩模块:模拟被测软件工作过程中所调用的模块,一般进行很少的数据传递,主要检查被测模块与下级模块的接口。2. 驱动模块:模拟被测软件的上级模块,驱动模块在单元测试中接受 数据,把相关数据传递给被测模块,启动被测模块,并打印出相应的结果。三.关于集成测试1. 非增式集成测试方法:也叫整体集成测试法。2. 增式集成测试:自底向上集成、自顶向下集成、组合方式集成一测试人员的服务对象1. 项目经理(开发经理、测试经理)2. 程序员3. 文档技术编写人员4. 技术支持5. 市场开发6. 管理层和项目相关人员7. 客户
14、找出对项目最重要的人,找出要服务的人,这才是做好测试的关键一步。二需求信息到达测试员主要的 3 种途径:1.会议2.推导3.参照隐式规格说明书具有多种形式: 竞争对手的产品 相关产品第十八章 软件测试评估总结文档组织 同一产品的老版本 项目团队之间的电子邮件讨论 顾客意见 杂志文章(如相关产品老版本的综述) 相关主题教科书 图形用户界面(GUI)风格指南 操作系统兼容性需求 测试员自己丰富的经验三怎样快速产生测试思路?测试边界值:边界值有可能暴露规格说明的模糊问题。测试所有错误信息:错误处理代码与主流功能代码相比一般比较弱。测试与程序员配置不同的配置。运行比较难设置的测试。避免冗余测试。四明确严重等级和优先级的差别1. 严重程度(Severity):表示程序错误的影响和后果。2. 优先级(Pr