软件测试课程.ppt
文本预览下载声明
软件测试课程 参考书 1、《软件测试》 作者:(美)Ron Patton 译者:周予滨 姚静 出版社:机械工业出版社 原出版社: SAMS 参考书 2、《软件测试》 作者:[美]Paul C.Jorgensen 译者:韩柯 杜旭涛 出版社:机械工业出版社 原出版社: CRC 参考书 3、《软件测试》 作者:(美)Ron Patton 译者:张小松 王钰等 出版社:机械工业出版社 原出版社: SAMS 参考书 4、《软件测试与质量管理》 作者:许育诚飞思科技产品研发中心 出版社:电子工业出版社 参考书 5、网上资料 其他网上资料 考试安排 课程实践80%左右 分组进行LD、WR、WAS等进行软件测试实践。 平时考勤20%左右 第一章 软件测试概述杨双远yangshuangyuan@ 课程目标 掌握软件测试的基本概念 理解测试对于软件质量保障的重要性 了解软件测试的基本流程和过程 了解黑盒测试和白盒测试含义 理解软件测试的分类和内容 课程内容 软件测试基本概念 软件测试误区 软件测试技术 软件测试方法 软件测试流程 软件测试过程 微软软件测试简介 软件测试基本概念 什么是软件测试 软件测试的目的 软件测试原则 软件测试的重点 软件测试质量 软件测试度量 软件的可测试性 什么是软件测试 广义的概念 指软件生存周期中所有的检查、评审和确认工作,其中包括了对分析、设计阶段,以及完成开发后维护阶段的各类文档、代码的审查和确认 狭义概念 识别软件缺陷的过程,即实际结果与预期结果的不一致 什么是软件测试 软件测试通常包括验证(verification)和确认(validation): 验证指保证软件正确的实现了某一特定功能的一系列活动(功能性) 确认指的是保证软件的实现满足了用户需求的一系列活动(实用性) ?哪一个更重要? 什么是软件测试 软件的质量与可靠性: 可靠性:运行稳定、满足客户需求 质量:功能强度、可靠性、性能、客服以及性价比等 可靠性和功能,哪一个更重要? 什么是软件测试 软件的测试(Testing)与质量保证(Quality Assurance,QA): 软件测试:尽可能找到软件缺陷,并确保缺陷得以修复 软件质量保证:创建和执行改进软件开发过程并防止软件缺陷发生的标准和方法 ?QA和QC的异同点? 软件测试的目的 测试的目的就是发现软件中的各种缺陷 测试只能证明软件存在缺陷,不能证明软件不存在缺陷 测试可以使软件中缺陷降低到一定程度,而不是彻底消灭 以较少的用例、时间和人力找出软件中的各种错误和缺陷,以确保软件的质量 以更少的支出(需求变更、维护、客服等成本)来谋取收入支出比达到最大化。 软件测试的目标 最终目的是确保软件的功能符合用户的需求,把尽可能多的问题在发布或交付前发现并改正: 确保软件完成了它所承诺或公布的功能 (缺少规范的书面文档?) 确保软件满足性能的要求(界面、操作、性能) 确保软件是健壮的和适应用户环境的 (哪怕不健壮,也要给出解决方案) 测试的目标 为软件的质量评估提供依据 (项目验收) 为软件质量改进和管理提供帮助 (经验教训等知识转移) 软件测试的原则 Good-enough: 一种权衡投入/产出比的原则:选择测试 保证测试的覆盖程度,但穷举测试是不可能的:有限测试 所有的测试都应追溯到用户需求 越早测试越好,测试过程与开发过程应是相结合的 测试的规模由小而大,从单元测试到系统测试 为了尽可能地发现错误,应该由独立的第三方来测试 不能为了便于测试擅自修改程序 既应该测试软件该做什么也应该测试软件不该做什么 软件测试的规律 木桶原理: 软件质量的关键因素是分析、设计和实现,测试应该是融于其中的补充检查手段,其他管理、支持、甚至文化因素也会影响最终软件的质量(例如:老板不诚信) 测试是提高软件质量的必要条件,最直接、最快捷的手段,但决不是一种根本手段 2个角度:木桶原理与反木桶原理? 软件测试的规律 Bug的80-20原则 在分析、设计、实现阶段的复审和测试工作能够发现和避免80%的Bug(提前测试) 而系统测试又能找出其余Bug中的80% 最后的5%的Bug可能只 有在用户的大范围、长时间使用后才会曝露出来 软件测试的规律 80/20原则 1.80%的工程量用在20%的需求上(关键需求) 2.80%的开发成本花费在20%的部件上 3.80%的错误是由20%的部件引起的 4.80%的延期或返工是由20%的变更造成的 5.80%的系统资源是由20%的部件消耗的 6.80%的进度是由20%的人完成的 软件测试的重点 测试用例的良好设计 测试用例的设计是整个软件测试工作的核心 测试用例反映对被测对象的质量要求,决
显示全部