资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
软件测试基础软件测试基础第二讲第二讲 庐山真面目庐山真面目由安博测试空间技术中心http:/www.btestingsky.com/提供n n软件测试的定义软件测试的定义qq1979年年,GlenfordJ.Myers:n n软件测试是为了发现错误而运行程序的过程软件测试是为了发现错误而运行程序的过程软件测试是为了发现错误而运行程序的过程软件测试是为了发现错误而运行程序的过程qq1983年,年,IEEE(国际电器电子工程师学会)(国际电器电子工程师学会)(国际电器电子工程师学会)(国际电器电子工程师学会)n n测试是使用人工或自动的手段来运行或检测某个测试是使用人工或自动的手段来运行或检测某个测试是使用人工或自动的手段来运行或检测某个测试是使用人工或自动的手段来运行或检测某个系统的过程,其目的在于检测它是否满足约定的系统的过程,其目的在于检测它是否满足约定的系统的过程,其目的在于检测它是否满足约定的系统的过程,其目的在于检测它是否满足约定的需求或是比较预期结果与实际结果之间的差别需求或是比较预期结果与实际结果之间的差别需求或是比较预期结果与实际结果之间的差别需求或是比较预期结果与实际结果之间的差别1.2什么是软件测试什么是软件测试n n软件测试的特性软件测试的特性qq挑剔性挑剔性挑剔性挑剔性n提高软件质量,尽可能多的发现至今仍未发现的错误提高软件质量,尽可能多的发现至今仍未发现的错误qq复杂性复杂性复杂性复杂性n需要考虑全面需要考虑全面qq不彻底性不彻底性不彻底性不彻底性n输入量太大输入量太大n输出结果太多输出结果太多n软件实现途径太多软件实现途径太多n软件规格说明没有客观标准软件规格说明没有客观标准注:不能证明错误不存在注:不能证明错误不存在注:不能证明错误不存在注:不能证明错误不存在qq经济性经济性经济性经济性n n软件测试的目标和原则软件测试的目标和原则qq测试目标测试目标n n寻找错误寻找错误寻找错误寻找错误,并且是最大可能的找出最多的错误。,并且是最大可能的找出最多的错误。,并且是最大可能的找出最多的错误。,并且是最大可能的找出最多的错误。n n证明程序中有证明程序中有证明程序中有证明程序中有故障存在故障存在故障存在故障存在,并力求,并力求,并力求,并力求设计出最能暴露设计出最能暴露设计出最能暴露设计出最能暴露错误的测试方案错误的测试方案错误的测试方案错误的测试方案n n测试不是为了显示程序是好的,而是应该从软件测试不是为了显示程序是好的,而是应该从软件测试不是为了显示程序是好的,而是应该从软件测试不是为了显示程序是好的,而是应该从软件中包含有缺陷和故障这个假定出发去测试程序,中包含有缺陷和故障这个假定出发去测试程序,中包含有缺陷和故障这个假定出发去测试程序,中包含有缺陷和故障这个假定出发去测试程序,从中发现尽可能多的软件故障。从中发现尽可能多的软件故障。从中发现尽可能多的软件故障。从中发现尽可能多的软件故障。许多人都引用许多人都引用Grenford J. Myers的观点:的观点: 软件测试是为了发现错误而执行程序的过软件测试是为了发现错误而执行程序的过程;程; 测试是为了证明程序有错,而不是证明程测试是为了证明程序有错,而不是证明程序无错误。序无错误。 一个好的测试用例是在于它能发现至今未一个好的测试用例是在于它能发现至今未发现的错误;发现的错误; 一个成功的测试是发现了至今未发现的错一个成功的测试是发现了至今未发现的错误的测试。误的测试。nBillHetzel提出提出:测试目的不仅仅是为了测试目的不仅仅是为了发现软件缺陷与错误发现软件缺陷与错误,而且也是对软件质而且也是对软件质量进行度量和评估量进行度量和评估,以提高软件的质量。以提高软件的质量。n测试的目的测试的目的q以最少的人力、物力和时间找出软件中的各以最少的人力、物力和时间找出软件中的各种错误与缺陷,通过修正各种错误与缺陷来种错误与缺陷,通过修正各种错误与缺陷来提高软件质量提高软件质量q它也是对软件质量的度量与评价它也是对软件质量的度量与评价n n测试原则测试原则软件测试的原则尚没有标准的说法,大多软件测试的原则尚没有标准的说法,大多是经验之谈,一般有下面几条可作为测试的基是经验之谈,一般有下面几条可作为测试的基本原则。本原则。qq(1)所有的测试都应追溯到用户需求。所有的测试都应追溯到用户需求。qq(2)尽早的和及时的测试,应作为软件开)尽早的和及时的测试,应作为软件开发人员的座右铭。发人员的座右铭。qq(3)设计前应完成测试计划,详细的测试设计前应完成测试计划,详细的测试用例定义可在设计模型确定后开始,测试可用例定义可在设计模型确定后开始,测试可在代码产生之前进行计划和设计。在代码产生之前进行计划和设计。qq(4 4)测试用例应当由测试数据和与之对应的预期)测试用例应当由测试数据和与之对应的预期)测试用例应当由测试数据和与之对应的预期)测试用例应当由测试数据和与之对应的预期结果组成。结果组成。结果组成。结果组成。qq(5 5)在程序提交测试后,应当由专门的测试人员)在程序提交测试后,应当由专门的测试人员)在程序提交测试后,应当由专门的测试人员)在程序提交测试后,应当由专门的测试人员进行测试,避免由程序设计者自行检查程序。进行测试,避免由程序设计者自行检查程序。进行测试,避免由程序设计者自行检查程序。进行测试,避免由程序设计者自行检查程序。qq(6 6)测试用例应包括合理的输入条件和不合理的)测试用例应包括合理的输入条件和不合理的)测试用例应包括合理的输入条件和不合理的)测试用例应包括合理的输入条件和不合理的输入条件输入条件输入条件输入条件qq(7 7)严格执行测试计划,排除测试的随意性。)严格执行测试计划,排除测试的随意性。)严格执行测试计划,排除测试的随意性。)严格执行测试计划,排除测试的随意性。qq(8 8)帕累托法则适用于测试,即测试发现)帕累托法则适用于测试,即测试发现)帕累托法则适用于测试,即测试发现)帕累托法则适用于测试,即测试发现80%80%的的的的错误可能起源于程序错误可能起源于程序错误可能起源于程序错误可能起源于程序20%20%模块中。模块中。模块中。模块中。qq(9 9)充分注意测试当中的群体和集中现象。)充分注意测试当中的群体和集中现象。)充分注意测试当中的群体和集中现象。)充分注意测试当中的群体和集中现象。qq(1010)避免杀虫剂现象)避免杀虫剂现象)避免杀虫剂现象)避免杀虫剂现象qq(11)要对每一个测试结果做全面的检查。)要对每一个测试结果做全面的检查。qq(12)完全测试是不可能的,测试需要终止。完全测试是不可能的,测试需要终止。qq(13)测试无法显示潜伏的软件缺陷)测试无法显示潜伏的软件缺陷qq(14)程序修改后要回归测试程序修改后要回归测试qq(15)不是所有软件缺陷都要修复)不是所有软件缺陷都要修复qq(16)保存测试计划、测试用例、出错统计)保存测试计划、测试用例、出错统计和最终分析报告,为维护工作提供充分的资和最终分析报告,为维护工作提供充分的资料。料。测试测试测试测试结果分析结果分析结果分析结果分析改正错误改正错误改正错误改正错误可靠性分析可靠性分析可靠性分析可靠性分析软件配置软件配置软件配置软件配置测试配置测试配置测试配置测试配置测试工具测试工具测试工具测试工具测试结果测试结果测试结果测试结果错误错误错误错误预期结果预期结果预期结果预期结果修正的软件修正的软件修正的软件修正的软件预测的可靠性预测的可靠性预测的可靠性预测的可靠性回归测试回归测试回归测试回归测试测试信息流程图测试信息流程图测试信息流程图测试信息流程图n n测试信息流程测试信息流程n n测试停止的标准测试停止的标准(1 1)测试时间超过了预定期限,则停止测试。)测试时间超过了预定期限,则停止测试。)测试时间超过了预定期限,则停止测试。)测试时间超过了预定期限,则停止测试。(2 2)执行了所有的测试用例,但并没有发现故)执行了所有的测试用例,但并没有发现故)执行了所有的测试用例,但并没有发现故)执行了所有的测试用例,但并没有发现故 障,则停止测试。障,则停止测试。障,则停止测试。障,则停止测试。(3 3)使用特定的测试用例设计方案,作为判断测)使用特定的测试用例设计方案,作为判断测)使用特定的测试用例设计方案,作为判断测)使用特定的测试用例设计方案,作为判断测试停止的基础。试停止的基础。试停止的基础。试停止的基础。(4 4)正面指出了停止测试的具体要求,即停止测)正面指出了停止测试的具体要求,即停止测)正面指出了停止测试的具体要求,即停止测)正面指出了停止测试的具体要求,即停止测试的标准可定义为查出某一预定数目的故障。试的标准可定义为查出某一预定数目的故障。试的标准可定义为查出某一预定数目的故障。试的标准可定义为查出某一预定数目的故障。(5 5)根据单位时间内查出故障的数量决定是否停)根据单位时间内查出故障的数量决定是否停)根据单位时间内查出故障的数量决定是否停)根据单位时间内查出故障的数量决定是否停止测试。止测试。止测试。止测试。1.3软件质量保证软件质量保证n n软件质量的定义软件质量的定义19831983年,年,年,年,IEEEIEEEqq软件系统或软件产品满足规定和隐含的与需软件系统或软件产品满足规定和隐含的与需求能力有关的全部特征和特性。求能力有关的全部特征和特性。n n软件产品质量满足用户要求的程度软件产品质量满足用户要求的程度软件产品质量满足用户要求的程度软件产品质量满足用户要求的程度n n软件各种属性的组合程度软件各种属性的组合程度软件各种属性的组合程度软件各种属性的组合程度n n用户对软件产品的综合反映程度用户对软件产品的综合反映程度用户对软件产品的综合反映程度用户对软件产品的综合反映程度n n软件在使用过程中满足用户要求程度软件在使用过程中满足用户要求程度软件在使用过程中满足用户要求程度软件在使用过程中满足用户要求程度不同人对关注软件质量的侧重面不同进度、成本、效益使用质量中间产品、最终产品维护用户所需n软件质量特性软件质量特性q软件质量模型软件质量模型1978年,年,Walters&McCall提出提出面向管理者的软件质量面向管理者的软件质量面向管理者的软件质量面向管理者的软件质量决定产品质量的软件属性决定产品质量的软件属性决定产品质量的软件属性决定产品质量的软件属性可以定量化度量的软件属性可以定量化度量的软件属性可以定量化度量的软件属性可以定量化度量的软件属性McCall软件质量模型软件质量模型McCall等人对软件的质量特性作了如下定义:等人对软件的质量特性作了如下定义:n正确性正确性n可靠性可靠性n易用性易用性n效率效率n易维护性易维护性n可移植性可移植性n完整性完整性n可测试性可测试性n灵活性灵活性n复用性复用性n互联性互联性ISO软件质量度量模型软件质量度量模型 n软件质量管理软件质量管理q软件质量管理软件质量管理n软件组织在软件产品生产中的质量策划、质量控软件组织在软件产品生产中的质量策划、质量控制、质量保证和质量改进等等与质量有关的相互制、质量保证和质量改进等等与质量有关的相互协调的活动。协调的活动。q软件质量管理过程软件质量管理过程n质量计划质量计划n质量保证质量保证n质量控制质量控制质量管理的发展阶段质量管理的发展阶段 (1 1)产品质量检验阶段)产品质量检验阶段 (2 2)统计质量管理阶段)统计质量管理阶段 (3 3)全面质量管理阶段)全面质量管理阶段19001900手工操作者手工操作者手工操作者手工操作者专职检验员专职检验员专职检验员专职检验员19201920过程统计技术过程统计技术过程统计技术过程统计技术19311931全面质量管理全面质量管理全面质量管理全面质量管理1960196020002000以顾客为中心以顾客为中心以顾客为中心以顾客为中心阶阶阶阶段段段段时间时间时间时间质量管理的发展阶段质量管理的发展阶段质量管理的发展阶段质量管理的发展阶段从质量管理理论的发展历史可以看出:从质量管理理论的发展历史可以看出: 质量管理从单纯的对产品质量进行检验质量管理从单纯的对产品质量进行检验 发展到对产品形成过程进行控制发展到对产品形成过程进行控制 控制方法从静态发展到动态的、持续的控制方法从静态发展到动态的、持续的 过程改进过程改进 其核心思想已表现为对过程的策划、控其核心思想已表现为对过程的策划、控 制和过程能力的持续改进制和过程能力的持续改进n n软件能力成熟度模型软件能力成熟度模型软件能力成熟度模型软件能力成熟度模型(CMM,CapabilityMaturityModel):是软件行业标准模型,:是软件行业标准模型,用来定义和评价软件企业开发过程的成熟度,用来定义和评价软件企业开发过程的成熟度,提供如何做才能够提高软件质量的指导。提供如何做才能够提高软件质量的指导。 qqCMM的基本原理:的基本原理:CMM将软件组织的过程能力成熟度分为将软件组织的过程能力成熟度分为,每一个级别定义一组过程能力目标,并描,每一个级别定义一组过程能力目标,并描述要达到这些目标应该采取的各种实践活动。述要达到这些目标应该采取的各种实践活动。5个级别个级别qqCMM的主要作用:的主要作用:n n提供了一个软件过程改进的框架。提供了一个软件过程改进的框架。提供了一个软件过程改进的框架。提供了一个软件过程改进的框架。n n提高效率、降低成本提高效率、降低成本提高效率、降低成本提高效率、降低成本初始级初始级优化级优化级已管理级已管理级已定义级已定义级可重复级可重复级成成熟熟度度风风险险CMM五个等级五个等级2、CMM的的5个分级标准个分级标准 CMM的分级结构和其主要特征:的分级结构和其主要特征:初始级初始级:其特点是软件过程无秩序,有时甚:其特点是软件过程无秩序,有时甚至是混乱的。至是混乱的。可重复级可重复级:已建立了基本的项目管理过程,:已建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。可用于对成本、进度和功能特性进行跟踪。已定义级已定义级:用于管理的、工程的软件过程均:用于管理的、工程的软件过程均已实现文档化、标准化,并形成了整个软件已实现文档化、标准化,并形成了整个软件组织的标准软件过程。组织的标准软件过程。管理级管理级:软件过程和产品质量有详细的度量标:软件过程和产品质量有详细的度量标准,软件过程和产品质量得到了定量的认证和准,软件过程和产品质量得到了定量的认证和控制。控制。优化级优化级:通过对来自过程、新概念和新技术等:通过对来自过程、新概念和新技术等方面各种有用信息的定量分析,能够不断地、方面各种有用信息的定量分析,能够不断地、持续性地对过程进行改进。持续性地对过程进行改进。CMM内部结构图内部结构图n nISO9000标准简介标准简介qqISO9000标准标准是为制造行业制定的质量管理和质量是为制造行业制定的质量管理和质量评判的一系列标准评判的一系列标准定义了一套基本达标的做法,有助于定义了一套基本达标的做法,有助于企业能够一致地交付符合客户质量要求的产企业能够一致地交付符合客户质量要求的产品(或服务)品(或服务)ISO9000ISO9000标准的目标标准的目标标准的目标标准的目标在于开发过程,而不是产品在于开发过程,而不是产品在于开发过程,而不是产品在于开发过程,而不是产品关心的是进行工作的组织方式,而不是工关心的是进行工作的组织方式,而不是工关心的是进行工作的组织方式,而不是工关心的是进行工作的组织方式,而不是工作成果作成果作成果作成果. .ISO9000ISO9000只决定过程的要求是什么,而不管如何只决定过程的要求是什么,而不管如何只决定过程的要求是什么,而不管如何只决定过程的要求是什么,而不管如何达到。即:达到。即:达到。即:达到。即:ISO9000ISO9000指出要做什么,但不指出怎指出要做什么,但不指出怎指出要做什么,但不指出怎指出要做什么,但不指出怎样做。样做。样做。样做。 1 1、ISO9000ISO9000标准的构成标准的构成标准的构成标准的构成 ISO9000ISO9000系列标准主要由下列标准构成:系列标准主要由下列标准构成:系列标准主要由下列标准构成:系列标准主要由下列标准构成: ISO9000:2000ISO9000:2000质量管理体系:基础和术语质量管理体系:基础和术语质量管理体系:基础和术语质量管理体系:基础和术语ISO9000:2000ISO9000:2000质量管理体系:要求质量管理体系:要求质量管理体系:要求质量管理体系:要求ISO9000:2000ISO9000:2000质量管理体系:业绩改进指南质量管理体系:业绩改进指南质量管理体系:业绩改进指南质量管理体系:业绩改进指南 2 2、ISO9000ISO9000标准的要求标准的要求标准的要求标准的要求(1 1)开发详细的质量计划和程序,控制配置管理)开发详细的质量计划和程序,控制配置管理)开发详细的质量计划和程序,控制配置管理)开发详细的质量计划和程序,控制配置管理、产品验证、合法性检查、不规范行为和修正措、产品验证、合法性检查、不规范行为和修正措、产品验证、合法性检查、不规范行为和修正措、产品验证、合法性检查、不规范行为和修正措施。施。施。施。(2 2)准备和接受软件开发计划证书,包括项目定)准备和接受软件开发计划证书,包括项目定)准备和接受软件开发计划证书,包括项目定)准备和接受软件开发计划证书,包括项目定义、产品验证、合法性检查、不规范行为和修正义、产品验证、合法性检查、不规范行为和修正义、产品验证、合法性检查、不规范行为和修正义、产品验证、合法性检查、不规范行为和修正措施。措施。措施。措施。 (3 3)使用客户容易理解、测试时容易进行合法性)使用客户容易理解、测试时容易进行合法性)使用客户容易理解、测试时容易进行合法性)使用客户容易理解、测试时容易进行合法性检查的用语来表达说明书。检查的用语来表达说明书。检查的用语来表达说明书。检查的用语来表达说明书。(4 4)计划、开发、编制软件测试计划。)计划、开发、编制软件测试计划。)计划、开发、编制软件测试计划。)计划、开发、编制软件测试计划。(5 5)开发检测软件是否满足客户要求的方法。)开发检测软件是否满足客户要求的方法。)开发检测软件是否满足客户要求的方法。)开发检测软件是否满足客户要求的方法。(6 6)实施软件合法性检查和验收测试。)实施软件合法性检查和验收测试。)实施软件合法性检查和验收测试。)实施软件合法性检查和验收测试。(7 7)维护测试结果的记录。)维护测试结果的记录。)维护测试结果的记录。)维护测试结果的记录。(8 8)控制调查研究和解决软件缺陷的方式。)控制调查研究和解决软件缺陷的方式。)控制调查研究和解决软件缺陷的方式。)控制调查研究和解决软件缺陷的方式。(9 9)证明产品在发布前就绪。)证明产品在发布前就绪。)证明产品在发布前就绪。)证明产品在发布前就绪。(1010)开发控制产品发布过程的程序。)开发控制产品发布过程的程序。)开发控制产品发布过程的程序。)开发控制产品发布过程的程序。 (1111)明确指出和规定应该收集的质量信息。)明确指出和规定应该收集的质量信息。)明确指出和规定应该收集的质量信息。)明确指出和规定应该收集的质量信息。(1212)应用统计技术的方法分析软件开发过程。)应用统计技术的方法分析软件开发过程。)应用统计技术的方法分析软件开发过程。)应用统计技术的方法分析软件开发过程。(1313)应用统计技术的方法评估产品质量。)应用统计技术的方法评估产品质量。)应用统计技术的方法评估产品质量。)应用统计技术的方法评估产品质量。3 3、ISO9000ISO9000质量管理的八项原则质量管理的八项原则质量管理的八项原则质量管理的八项原则(1 1)以客户为关注的焦点)以客户为关注的焦点)以客户为关注的焦点)以客户为关注的焦点(2 2)领导的作用)领导的作用)领导的作用)领导的作用(3 3)企业全员的参与)企业全员的参与)企业全员的参与)企业全员的参与(4 4)过程方法)过程方法)过程方法)过程方法(5 5)管理的系统方法)管理的系统方法)管理的系统方法)管理的系统方法 (6 6)持续的改进)持续的改进)持续的改进)持续的改进(7 7)基于事实的决策策略)基于事实的决策策略)基于事实的决策策略)基于事实的决策策略(8 8)与供方互利的关系)与供方互利的关系)与供方互利的关系)与供方互利的关系q软件测试管理软件测试管理n软件测试作用软件测试作用n软件测试管理系统的组成软件测试管理系统的组成n建立软件测试管理体系的步骤建立软件测试管理体系的步骤思考思考n什么是软件测试什么是软件测试?n软件测试的目的是什么软件测试的目的是什么?n软件测试有什么特性软件测试有什么特性?n测试的信息流程是什么样测试的信息流程是什么样?n什么是软件质量什么是软件质量?n什么是什么是CMM模型模型?由几部分组成由几部分组成?n什么是什么是ISO9000?进一步思考进一步思考n软件测试的过程是什么样呢软件测试的过程是什么样呢?北京测试空间是注册于北京市海淀区高新技术园的软件企业,目前主要业务范围包括软件测试管理工具研发、软件测试项目外包和软件测试专业技术人才培养及派遣。北京测试空间地址:北京市海淀区学院路40号大唐电信测试空间楼联系电话:010-62303223 62303260 62303230
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号