评价通过所有单元测试用例课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《评价通过所有单元测试用例课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 评价 通过 所有 单元测试 课件
- 资源描述:
-
1、1.1 什么是软件什么是软件1、软件的定义、软件的定义 与硬件相互依存的另一部分,它是包括程序、与硬件相互依存的另一部分,它是包括程序、数据及其相关文档的完整集合。数据及其相关文档的完整集合。2、软件的分类、软件的分类按照功能分:系统软件和应用软件按照功能分:系统软件和应用软件按照技术架构分:单机版软件、按照技术架构分:单机版软件、C/S结构软件、结构软件、B/S结构软件结构软件按照用户分:产品软件和项目软件按照用户分:产品软件和项目软件按照开发的规模分:大、中、小按照开发的规模分:大、中、小1.3 为什么要进行软件测试为什么要进行软件测试 软件总存在缺陷。只有通过测试,才可以发现软软件总存在
2、缺陷。只有通过测试,才可以发现软件缺陷。也只有发现了缺陷,才可以将软件缺陷件缺陷。也只有发现了缺陷,才可以将软件缺陷从软件产品或软件系统中清理出去。从软件产品或软件系统中清理出去。软件中存在的缺陷给我们带来的损失是巨大的,软件中存在的缺陷给我们带来的损失是巨大的,这也说明了软件测试的必要性和重要性这也说明了软件测试的必要性和重要性 测试是所有工程学科的基本组成单元,自然也是测试是所有工程学科的基本组成单元,自然也是软件开发的重要组成部分。软件开发的重要组成部分。测试人员水平越高,找到软件问题的时间就越早,测试人员水平越高,找到软件问题的时间就越早,软件就越容易更正,产品发布之后越稳定,公司软件
3、就越容易更正,产品发布之后越稳定,公司赚的钱也越多,微软就是一个典型的例子赚的钱也越多,微软就是一个典型的例子1.4 什么是软件测试什么是软件测试1、软件测试的定义软件测试的定义 软件测试就是在软件投入运行前,对软件需软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。通常对软件测试它是软件质量保证的关键步骤。通常对软件测试的定义有两种描述:的定义有两种描述:定义定义1:软件测试是为了发现错误而执行程序的软件测试是为了发现错误而执行程序的过程。过程。定义定义2:在在IEEE提出的软件工程标准术语中
4、,软提出的软件工程标准术语中,软件测试被定义为:件测试被定义为:“使用人工和自动手段来运行使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之满足规定的需求或弄清楚预期结果与实际结果之间的差别。间的差别。”1.4 什么是软件测试什么是软件测试1、软件测试的定义、软件测试的定义u软件测试的正确定义软件测试的正确定义 软件测试是由软件测试是由“验证(验证(Verification)”和和“有有效性确认(效性确认(Validation)”活动构成的整体。活动构成的整体。验证验证”是检验软件是否已正确地实
5、现了产品规是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性格书所定义的系统功能和特性“有效性确认有效性确认”是确认所开发的软件是否满足是确认所开发的软件是否满足用户真正需求的活动。用户真正需求的活动。1.4 什么是软件测试什么是软件测试2、软件测试的对象软件测试的对象 软件测试不等于程序测试。软件测试不等于程序测试。软件测试贯串于软件定义和开发的整个过程。软件测试贯串于软件定义和开发的整个过程。软件开发过程中所产生的需求规格说明、概要软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序设计规格说明、详细设计规格说明以及源程序都是软件测试的对象。都是软件测
6、试的对象。3、软件测试的原则软件测试的原则 尽早地和及时地测试;尽早地和及时地测试;测试用例应当由测试数据和与之对应的预期结测试用例应当由测试数据和与之对应的预期结果这两部分组成;果这两部分组成;在程序提交测试后,应当由专门的测试人员进在程序提交测试后,应当由专门的测试人员进行测试;行测试;测试用例应包括合理的输入条件和不合理的输测试用例应包括合理的输入条件和不合理的输入条件;入条件;严格执行测试计划,排除测试的随意性;严格执行测试计划,排除测试的随意性;充分注意测试当中的群体现象;充分注意测试当中的群体现象;应对每一个测试结果做全面的检查;应对每一个测试结果做全面的检查;保存测试计划、测试用
7、例、出错统计和最终分保存测试计划、测试用例、出错统计和最终分析报告,为维护工作提供充分的资料。析报告,为维护工作提供充分的资料。第二章第二章 软件测试的基本概念软件测试的基本概念主要内容:主要内容:2.1 软件缺陷软件缺陷2.2 验证和确认验证和确认2.3 软件测试分类软件测试分类2.4 软件测试阶段软件测试阶段2.5 软件测试工作范畴软件测试工作范畴缺陷是质量的对立面缺陷是质量的对立面 要了解什么是缺陷要了解什么是缺陷(defect),就必须清楚,就必须清楚“质质量量(Quality)”概念,因为缺陷是相对质量而存在概念,因为缺陷是相对质量而存在的,违背了质量、违背了客户的意愿,不能满足的,
8、违背了质量、违背了客户的意愿,不能满足客户的要求,就会引起缺陷或产生缺陷客户的要求,就会引起缺陷或产生缺陷2.1 软件缺陷软件缺陷一、软件质量的内涵一、软件质量的内涵1、质量、质量 质量质量是是“产品或服务所满足产品或服务所满足明示明示或或暗示暗示需求能需求能力的力的固有特性固有特性和特征的集合和特征的集合”。2.1 软件缺陷软件缺陷一、软件质量的内涵一、软件质量的内涵2、软件质量、软件质量 软件质量软件质量是软件产品满足规定的和隐含的与需是软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。包括:求能力有关的全部特征和特性。包括:(1)软件产品质量满足用户要求的程度;)软件产品质量满足
9、用户要求的程度;(2)软件各种属性的组合程度;)软件各种属性的组合程度;(3)用户对软件产品的综合反映程度;)用户对软件产品的综合反映程度;(4)软件在使用过程中满足用户要求的程度。)软件在使用过程中满足用户要求的程度。2.1 软件缺陷软件缺陷一、软件质量的内涵一、软件质量的内涵3、软件质量模型、软件质量模型 McCallMcCall软件质量模型软件质量模型 2.1 软件缺陷软件缺陷一、软件质量的内涵一、软件质量的内涵3、软件质量模型、软件质量模型 ISO 9126ISO 9126软件质量三层模型软件质量三层模型2.1 软件缺陷软件缺陷一、软件质量的内涵一、软件质量的内涵4、软件质量特性、软件
10、质量特性 功能性、易用性、可靠性、性能、容量功能性、易用性、可靠性、性能、容量 可测量性、可维护性、可移植性、可扩展性可测量性、可维护性、可移植性、可扩展性2.1 软件缺陷软件缺陷一、软件质量的内涵一、软件质量的内涵5、软件质量的分类、软件质量的分类(1)软件质量的功能需求)软件质量的功能需求 软件质量的功能需求一般会在需求规格说明书软件质量的功能需求一般会在需求规格说明书等文档中给相应的描述。等文档中给相应的描述。(2)软件质量的非功能需求)软件质量的非功能需求 软件质量的非功能需求一般用下列特性描述:软件质量的非功能需求一般用下列特性描述:性能、性能、有效性、有效性、可靠性、可靠性、可维护
11、性、兼容可维护性、兼容性、性、可扩展性、可扩展性、可移植性可移植性2.1 软件缺陷软件缺陷一、软件质量的内涵一、软件质量的内涵5、软件质量的分类、软件质量的分类(3)软件质量的用户需求)软件质量的用户需求能正常使用全部所需的功能,符合需求规格;能正常使用全部所需的功能,符合需求规格;功能强大,而且界面美观,易用;功能强大,而且界面美观,易用;内容健康、有益于生活和工作。内容健康、有益于生活和工作。用户数据的安全、受保护和兼容;用户数据的安全、受保护和兼容;能及时得到新的产品或更完美的软件服务;能及时得到新的产品或更完美的软件服务;软件可靠性很高,使用软件服务没有时间障碍软件可靠性很高,使用软件
12、服务没有时间障碍2.1 软件缺陷软件缺陷一、软件质量的内涵一、软件质量的内涵5、软件质量的分类、软件质量的分类(4)软件质量的企业需求)软件质量的企业需求 开发成本开发成本 可维护性可维护性 可扩展性可扩展性 可移植性可移植性 兼容性兼容性2.1 软件缺陷软件缺陷二、软件缺陷二、软件缺陷1、软件缺陷的定义、软件缺陷的定义 从产品内部看,软件缺陷是软件产品开发或维护从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题;过程中所存在的错误、毛病等各种问题;从外部看,软件缺陷是系统所需要实现的某种功从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背。能的失效或违背。2.
13、1 软件缺陷软件缺陷二、软件缺陷二、软件缺陷2、软件缺陷的表现、软件缺陷的表现 功能、特性没有实现或部分实现功能、特性没有实现或部分实现 设计不合理,存在缺陷设计不合理,存在缺陷 实际结果和预期结果不一致实际结果和预期结果不一致 运行出错,包括运行中断、系统崩溃、界面混乱运行出错,包括运行中断、系统崩溃、界面混乱 数据结果不正确、精度不够数据结果不正确、精度不够 用户不能接受的其他问题,如存取时间过长、界用户不能接受的其他问题,如存取时间过长、界面不美观面不美观2.1 软件缺陷软件缺陷二、软件缺陷二、软件缺陷3、软件缺陷产生的原因、软件缺陷产生的原因 微软开发者成功之路(之一)微软开发者成功之
14、路(之一)概括了以下概括了以下7项项主要原因:主要原因:(1)项目期限的压力;)项目期限的压力;(2)产品的复杂度;)产品的复杂度;(3)沟通不良;)沟通不良;(4)开发人员疲劳,压力过大或受到干扰;)开发人员疲劳,压力过大或受到干扰;(5)缺乏足够的知识、技能和经验;)缺乏足够的知识、技能和经验;(6)不了解客户的需求;)不了解客户的需求;(7)缺乏动力。)缺乏动力。2.1 软件缺陷软件缺陷二、软件缺陷二、软件缺陷4、软件缺陷的构成、软件缺陷的构成其他其他6%软件产品说明软件产品说明书(需求)书(需求)54%编写代码编写代码15%设计设计25%2.1 软件缺陷软件缺陷二、软件缺陷二、软件缺陷
15、5、修复软件缺陷的代价、修复软件缺陷的代价0 02020404060608080100100编制说明书编制说明书设计阶段设计阶段编写代码编写代码测试测试发布发布软件缺陷随时间的推移带来的成本越来越大软件缺陷随时间的推移带来的成本越来越大2.2 验证和确认验证和确认一、验证和确认一、验证和确认VerificationVerification:Are we building the product right?是否正确地构造了软件?即是否正确地做事,验证开发是否正确地构造了软件?即是否正确地做事,验证开发过程是否遵守已定义好的内容。过程是否遵守已定义好的内容。验证产品满足规格设验证产品满足规格设计
16、说明书的一致性计说明书的一致性ValidationValidation:Are we building the right product?是是否构造了正是用户所需要的软件?即是否正在做正确否构造了正是用户所需要的软件?即是否正在做正确的事。的事。验证产品所实现的功能是否满足用户的需求验证产品所实现的功能是否满足用户的需求2.2 验证和确认验证和确认二、评审二、评审 通过软件评审,可以更早地发现需求工程、软通过软件评审,可以更早地发现需求工程、软件设计等各个方面的问题,大大减少大量的后期件设计等各个方面的问题,大大减少大量的后期返工,将质量成本从昂贵的后期返工转化为前期返工,将质量成本从昂贵的
17、后期返工转化为前期的缺陷发现。的缺陷发现。1 1、评审、评审 评审评审是对软件元素或者项目状态的一种评估手段,是对软件元素或者项目状态的一种评估手段,以确定其是否与计划的结果保持一致,并使其得以确定其是否与计划的结果保持一致,并使其得到改进到改进。检验工作产品是否正确地满足了以往工检验工作产品是否正确地满足了以往工作产品中建立的规范作产品中建立的规范。2.2 验证和确认验证和确认二、评审二、评审2 2、评审分类、评审分类 管理评审管理评审 技术评审技术评审 文档评审文档评审 流程评审流程评审2.2 验证和确认验证和确认三、质量保证和测试的关系三、质量保证和测试的关系1 1、软件质量保证:、软件
18、质量保证:是通过对软件产品有计划的进行评审是通过对软件产品有计划的进行评审和审计来验证软件是否合乎标准的系统工程。和审计来验证软件是否合乎标准的系统工程。2 2、SQASQA的活动:的活动:提出软件质量要求;提出软件质量要求;确定开发方案;确定开发方案;阶段评审;阶段评审;测试管理测试管理 文档化管理文档化管理 验证产品与相应文档和标准的一致性验证产品与相应文档和标准的一致性 建立测量机制建立测量机制 记录并生成报告记录并生成报告2.2 验证和确认验证和确认三、质量保证和测试的关系三、质量保证和测试的关系3 3、SQA与软件测试的关系与软件测试的关系 SQA 是是管理管理工作、审查对象是工作、
19、审查对象是流程流程、强调以、强调以预防预防为主为主 测试是测试是技术技术工作、测试对象是工作、测试对象是产品产品、主要是以、主要是以事事后检查后检查 SQA指导测试、监控测试指导测试、监控测试 测试为测试为SQA提供依据提供依据2.3 软件测试的分类软件测试的分类方法方法目标目标/特性特性单元测试单元测试系统测试系统测试验收测试验收测试性能测试性能测试强壮性测试强壮性测试功能测试功能测试白盒测试白盒测试黑盒测试黑盒测试测试阶段或层次测试阶段或层次适用性测试适用性测试可靠性测试可靠性测试集成测试集成测试安全性测试安全性测试2.3 软件测试的分类软件测试的分类 按测试的对象或范围分类,如单元测试、
20、文档测按测试的对象或范围分类,如单元测试、文档测试、系统测试等)试、系统测试等)按测试目的分类,如功能测试、回归测试、性能按测试目的分类,如功能测试、回归测试、性能测试、可靠性测试、安全性测试和兼容性测试等测试、可靠性测试、安全性测试和兼容性测试等 根据测试过程中被测软件是否被执行,分为静态根据测试过程中被测软件是否被执行,分为静态测试和动态测试测试和动态测试 根据是否针对系统的内部结构和具体实现算法来根据是否针对系统的内部结构和具体实现算法来完成测试,可分为白盒测试和黑盒测试完成测试,可分为白盒测试和黑盒测试2.4 软件测试阶段软件测试阶段需求和设计审查需求和设计审查 测试人员参与产品需求分
21、析和系统设计,认测试人员参与产品需求分析和系统设计,认真阅读有关文档,真正理解客户的需求和技术上真阅读有关文档,真正理解客户的需求和技术上的设计,检查需求说明书对产品描述的准确性、的设计,检查需求说明书对产品描述的准确性、一致性等,检查系统设计的合理性和可测试性等一致性等,检查系统设计的合理性和可测试性等单元测试单元测试 单元测试的对象是程序系统中的最小单元单元测试的对象是程序系统中的最小单元-模块或组模块或组件上,在编码阶段进行,针对每个模块进行测试,主要通件上,在编码阶段进行,针对每个模块进行测试,主要通过白盒测试方法,从程序的内部结构出发设计测试用例,过白盒测试方法,从程序的内部结构出发
22、设计测试用例,检查程序模块或组件的已实现的功能与定义的功能是否一检查程序模块或组件的已实现的功能与定义的功能是否一致、以及编码中是否存在错误。多个模块可以平行地、对致、以及编码中是否存在错误。多个模块可以平行地、对立地测试,通常要编写驱动模块和桩模块立地测试,通常要编写驱动模块和桩模块单元测试一般由编程人员和测试人员共同完成,而以开发单元测试一般由编程人员和测试人员共同完成,而以开发人员为主人员为主单元测试包括代码评审,代码评审可以发现程序单元测试包括代码评审,代码评审可以发现程序50%50%70%70%代码的缺陷。代码的缺陷。集成测试集成测试 集成测试,也称组装测试、联合测试、子系集成测试,
23、也称组装测试、联合测试、子系统测试,在单元测试的基础上,将模块按照设计统测试,在单元测试的基础上,将模块按照设计要求组装起来同时进行测试,主要目标是发现与要求组装起来同时进行测试,主要目标是发现与接口有关的模块之间问题接口有关的模块之间问题 两种集成方式:一次性集成方式和增殖式集成方两种集成方式:一次性集成方式和增殖式集成方式。式。功能测试功能测试 功能测试一般须在完成集成测试后进行,而功能测试一般须在完成集成测试后进行,而且是针对应用系统进行测试。功能测试是基于产且是针对应用系统进行测试。功能测试是基于产品功能说明书,是在已知产品所应具有的功能,品功能说明书,是在已知产品所应具有的功能,从用
24、户角度来进行功能验证,以确认每个功能是从用户角度来进行功能验证,以确认每个功能是否都能正常使用否都能正常使用 系统测试系统测试 系统测试是将软件放在整个计算机环境下,系统测试是将软件放在整个计算机环境下,包括软硬件平台、某些支持软件、数据和人员等,包括软硬件平台、某些支持软件、数据和人员等,在实际运行环境下进行一系列的测试,包括恢复在实际运行环境下进行一系列的测试,包括恢复测试、安全测试、强度测试和性能测试等测试、安全测试、强度测试和性能测试等 验收测试验收测试&安装测试安装测试验收测试验收测试的目的是向未来的用户表明系统能够的目的是向未来的用户表明系统能够像预定要求那样工作,验证软件的功能和
25、性能像预定要求那样工作,验证软件的功能和性能如同用户所合理期待的那样如同用户所合理期待的那样安装测试安装测试是指按照软件产品安装手册或相应的是指按照软件产品安装手册或相应的文档,在一个和用户使用该产品完全一样的环文档,在一个和用户使用该产品完全一样的环境中或相当于用户使用环境中,进行一步一步境中或相当于用户使用环境中,进行一步一步的安装操作性的测试的安装操作性的测试 2.5 软件测试的工作范畴软件测试的工作范畴 软件测试工作的组织与管理软件测试工作的组织与管理:制定测试策略、测:制定测试策略、测试计划,确认所采用的测试方法与规范,控制测试计划,确认所采用的测试方法与规范,控制测试进度,管理测试
展开阅读全文