实用软件测试技术完整版ppt全套教学教程(最新).ppt
《实用软件测试技术完整版ppt全套教学教程(最新).ppt》由会员分享,可在线阅读,更多相关《实用软件测试技术完整版ppt全套教学教程(最新).ppt(333页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实用软件测试技术第1章 软件测试概述内容简介内容简介 软件测试基础软件测试基础 软件测试发展史和发展前景软件测试发展史和发展前景 软件测试行业标准软件测试行业标准 软件测试人员的基本素质和需具备的思维方式软件测试人员的基本素质和需具备的思维方式本章导读本章导读本章导读什么是软件测试?为什么要做软件测试?本章试图从软件工程和软什么是软件测试?为什么要做软件测试?本章试图从软件工程和软件生命周期的角度去解释软件测试的基本概念,软件测试的目的和意义件生命周期的角度去解释软件测试的基本概念,软件测试的目的和意义以及对于软件开发和质量保证的重要性,为学习和掌握软件测试技术做以及对于软件开发和质量保证的重
2、要性,为学习和掌握软件测试技术做好准备。好准备。1.1软件测试基础1.1软件测试基础软件测试基础 在最早的工业制造和生产中,测试是被定义为在最早的工业制造和生产中,测试是被定义为“检验产品是否满足预检验产品是否满足预定需求定需求”的生产过程,而软件测试是伴随着软件产生而产生的,一为验的生产过程,而软件测试是伴随着软件产生而产生的,一为验证软件的功能,二为发现软件存在的缺陷问题,以尽量减少软件中的错证软件的功能,二为发现软件存在的缺陷问题,以尽量减少软件中的错误和不足。随着软件产业的日益发展和软件工程规范化的要求,测试是误和不足。随着软件产业的日益发展和软件工程规范化的要求,测试是最有效的消除和
3、预防软件缺陷和软件故障的手段。最有效的消除和预防软件缺陷和软件故障的手段。1.1软件测试基础u软件软件u软件工程软件工程u软件生命周期软件生命周期1.1.1软件、软件工程、软件生命周期的基本概念软件、软件工程、软件生命周期的基本概念1.1软件测试基础1.软件软件 软件软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一是一系列按照特定顺序组织的计算机数据和指令的集合。一般分为系统软件、应用软件和介于这两者之间的中间件。般分为系统软件、应用软件和介于这两者之间的中间件。(1)系统软件系统软件 (2)应用软件应用软件 (3)介于两者之间的中间件介于两者之间的中间件 1.1.
4、1软件、软件工程、软件生命周期的基本概念软件、软件工程、软件生命周期的基本概念1.1软件测试基础1.软件软件 软件软件(Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一是一系列按照特定顺序组织的计算机数据和指令的集合。一般分为系统软件、应用软件和介于这两者之间的中间件。般分为系统软件、应用软件和介于这两者之间的中间件。(4)通常情况下,软件应包含如下内容:通常情况下,软件应包含如下内容:可以在计算机上运行的程序集合。可以在计算机上运行的程序集合。程序能够妥善处理信息的数据结构。程序能够妥善处理信息的数据结构。与这些程序相关的文档集合。与这些程序相关的文档集合。1.1.1软
5、件、软件工程、软件生命周期的基本概念软件、软件工程、软件生命周期的基本概念1.1软件测试基础2.软件工程软件工程 从从20世界世界50年代初至今,软件的发展大致经历了四个阶段,软件工程这个概年代初至今,软件的发展大致经历了四个阶段,软件工程这个概念是念是1968年在联邦德国召开北大西洋公约组织的计算机科学家国际会议上讨论年在联邦德国召开北大西洋公约组织的计算机科学家国际会议上讨论“软件危机软件危机”问题时正式被使用的,标志着软件工程的诞生。伴随着软件产业的发问题时正式被使用的,标志着软件工程的诞生。伴随着软件产业的发展以及在学术界的推动下,目前,软件工程已经发展成为一门专业的学科了。展以及在学
6、术界的推动下,目前,软件工程已经发展成为一门专业的学科了。目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规目前比较认可的一种定义认为:软件工程是研究和应用如何以系统性的、规范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证范化的、可定量的过程化方法去开发和维护软件,以及如何把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,得到软件生命周明正确的管理技术和当前能够得到的最好的技术方法结合起来,得到软件生命周期的六个步骤:制订计划、需求分析、设计、编码、测试和运行维护。期的六个步骤:制订计划、需求分析、设计、编码、测试和运行维护。1.1
7、.1软件、软件工程、软件生命周期的基本概念软件、软件工程、软件生命周期的基本概念1.1软件测试基础3.软件生命周期软件生命周期 软件生命周期软件生命周期(Software Life Cycle,SLC),也叫软件生存期,是软件从孕育、,也叫软件生存期,是软件从孕育、诞生、成长、成熟到衰亡的一个过程,。诞生、成长、成熟到衰亡的一个过程,。软件生命周期的六个步骤:制订计划、需求分析、设计、编码、测试以及运软件生命周期的六个步骤:制订计划、需求分析、设计、编码、测试以及运行维护,这个过程是一个自顶向下逐步细化的过程;其中测试是保证软件质量的行维护,这个过程是一个自顶向下逐步细化的过程;其中测试是保证
8、软件质量的重要手段,测试的过程恰恰是一个相反的过程,是一个自底向上逐步集成的过程,重要手段,测试的过程恰恰是一个相反的过程,是一个自底向上逐步集成的过程,低一级的测试为上一级测试准备条件。低一级的测试为上一级测试准备条件。1.1.1软件、软件工程、软件生命周期的基本概念软件、软件工程、软件生命周期的基本概念1.1软件测试基础3.软件生命周期软件生命周期 软件工程中一般用软件生命周期模型来表示和反映软件生命周期内的各个活软件工程中一般用软件生命周期模型来表示和反映软件生命周期内的各个活动,根据不同的开发模式,模型的表示也不一样,常见的模型有:动,根据不同的开发模式,模型的表示也不一样,常见的模型
9、有:l边做边改模型边做边改模型(BuildandFix Model)l瀑布模型瀑布模型(Waterfall Model)l快速原型模型快速原型模型(Rapid Prototype Model)l增量模型增量模型(Incremental Model)l螺旋模型螺旋模型(Spiral Model)l演化模型演化模型(Evolution Model)l喷泉模型喷泉模型(Fountain Model)l智能模型智能模型(四代技术四代技术(4GL)l混合模型混合模型(Hybrid Model)l快速应用开发模型快速应用开发模型(RAD)1.1.1软件、软件工程、软件生命周期的基本概念软件、软件工程、软件
10、生命周期的基本概念1.1软件测试基础1.软件缺陷软件缺陷 (1)软件缺陷的定义软件缺陷的定义 在软件工程或软件测试中,对于软件存在的问题,都可以称为软件缺陷或软在软件工程或软件测试中,对于软件存在的问题,都可以称为软件缺陷或软件故障。作为一名测试人员,可能发现的缺陷很多情况下都没有上面所举的案例件故障。作为一名测试人员,可能发现的缺陷很多情况下都没有上面所举的案例那么显明,但是其任务就是发现软件中所隐藏的错误,包括常常用到的以下几种那么显明,但是其任务就是发现软件中所隐藏的错误,包括常常用到的以下几种术语:术语:异常异常(Anomaly)、事件、事件(Incident)、偏差、偏差(Varia
11、nce)、漏洞、漏洞(Bug),主要是指未,主要是指未按预先设计的运行,并不代表软件失败按预先设计的运行,并不代表软件失败;而故障而故障(Fault)、失败、失败(Failure)、缺陷、缺陷(Defect)则代表比较严重的情况,甚至则代表比较严重的情况,甚至危险的情况。危险的情况。1.1.2软件缺陷与软件可靠性软件缺陷与软件可靠性1.1软件测试基础1.软件缺陷软件缺陷 对于软件缺陷的,至少满足下列五种情况之一,才称为发生了一个软件缺陷对于软件缺陷的,至少满足下列五种情况之一,才称为发生了一个软件缺陷(Software Bug):软件未实现产品规格说明书要求的功能。软件未实现产品规格说明书要求
12、的功能。软件出现了产品规格说明书中明确不会出现的错误。软件出现了产品规格说明书中明确不会出现的错误。软件实现了产品规格说明书中没有提到的功能。软件实现了产品规格说明书中没有提到的功能。软件未实现产品规格说明书中虽未明确提及但是应该实现的功能。软件未实现产品规格说明书中虽未明确提及但是应该实现的功能。软件难以理解、不易使用、运行缓慢或者让最终用户认为不好。软件难以理解、不易使用、运行缓慢或者让最终用户认为不好。1.1.2软件缺陷与软件可靠性软件缺陷与软件可靠性1.1软件测试基础1.软件缺陷软件缺陷(2)软件缺陷产生的原因软件缺陷产生的原因 软件自身因素软件自身因素 软件开发团队因素软件开发团队因
13、素 开发技术因素开发技术因素 项目管理因素项目管理因素1.1.2软件缺陷与软件可靠性软件缺陷与软件可靠性1.1软件测试基础1.软件缺陷软件缺陷(3)软件缺陷修复的费用软件缺陷修复的费用 软件缺陷所带来的修复费用是随着软件缺陷所带来的修复费用是随着时间的推移而呈指数级别递增的,如图时间的推移而呈指数级别递增的,如图所示,即:随着时间的推移,修复费用所示,即:随着时间的推移,修复费用呈十倍、百倍、千倍甚至万倍的增长。呈十倍、百倍、千倍甚至万倍的增长。1.1.2软件缺陷与软件可靠性软件缺陷与软件可靠性1.1软件测试基础2.软件可靠性软件可靠性(1)软件可靠性定义软件可靠性定义 软件可靠性软件可靠性(
14、Software Reliability)是软件产品在规定的条件下和规定的时间是软件产品在规定的条件下和规定的时间区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的区间完成规定功能的能力。规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件;规计算机系统的状态和软件的输入条件,或统称为软件运行时的外部输入条件;规定的时间区间是指软件的实际运行时间区间;规定功能是指为提供给定的服务,定的时间区间是指软件的实际运行时间区间;规定功能是指为提供给定的服务,软件产品所必须具备的功能。软件可靠性不但与软件存在的缺陷和差错有关
15、,而软件产品所必须具备的功能。软件可靠性不但与软件存在的缺陷和差错有关,而且与系统输入和系统使用有关。软件可靠性的概率度量称软件可靠度。且与系统输入和系统使用有关。软件可靠性的概率度量称软件可靠度。1.1.2软件缺陷与软件可靠性软件缺陷与软件可靠性1.1软件测试基础2.软件可靠性软件可靠性(2)影响软件可靠性的因素影响软件可靠性的因素 软件可靠性是关于软件能够满足需求功能的性质,软件不能满足需求是因为软件可靠性是关于软件能够满足需求功能的性质,软件不能满足需求是因为软件中的差错引起了软件故障。软件中的差错引起了软件故障。软件差错是软件开发各阶段潜入的人为错误,除了软件可靠性外,影响可靠软件差错
16、是软件开发各阶段潜入的人为错误,除了软件可靠性外,影响可靠性的另一个重要因素是健壮性,对非法输入的容错能力。所以提高可靠性从原理性的另一个重要因素是健壮性,对非法输入的容错能力。所以提高可靠性从原理上看就是要减少错误和提高健壮性。上看就是要减少错误和提高健壮性。1983年,美国年,美国IEEE计算机学会对计算机学会对“软件可靠性软件可靠性”做出了明确的定义,该定义做出了明确的定义,该定义包含两个方面的内容:包含两个方面的内容:在规定的条件下和时间内,软件不引起系统失效的概率。在规定的条件下和时间内,软件不引起系统失效的概率。在规定的时间周期内,在所述条件下程序执行所要求的功能的能力。在规定的时
17、间周期内,在所述条件下程序执行所要求的功能的能力。其中,概率是系统输入和系统使用的函数,也是软件中存在的故障的函数,其中,概率是系统输入和系统使用的函数,也是软件中存在的故障的函数,系统输入将确定是否会遇到已存在的故障系统输入将确定是否会遇到已存在的故障(如果故障存在的话如果故障存在的话)。1.1.2软件缺陷与软件可靠性软件缺陷与软件可靠性1.1软件测试基础 概括地说,软件质量就是概括地说,软件质量就是“软件与明确的和隐含的定义的需求软件与明确的和隐含的定义的需求相一致的程度相一致的程度”。具体地说,软件质量是软件符合明确叙述的功能和性能需求、具体地说,软件质量是软件符合明确叙述的功能和性能需
18、求、文档中明确描述的开发标准以及所有专业开发的软件都应具有的和文档中明确描述的开发标准以及所有专业开发的软件都应具有的和隐含特征相一致的程度。隐含特征相一致的程度。1.1.3软件质量与质量保证软件质量与质量保证1.1软件测试基础1.影响软件质量的主要因素影响软件质量的主要因素 通常情况下,影响软件质量的因素是从管理角度对软件质量进行度量。可划通常情况下,影响软件质量的因素是从管理角度对软件质量进行度量。可划分为三组,分别反映用户在使用软件产品时的三种观点。分为三组,分别反映用户在使用软件产品时的三种观点。正确性、健壮性、效率、完整性、可用性、风险正确性、健壮性、效率、完整性、可用性、风险(产品
19、运行产品运行)。可理解性、可维修性、灵活性、可测试性可理解性、可维修性、灵活性、可测试性(产品修改产品修改)。可移植性、可再用性、互运行性可移植性、可再用性、互运行性(产品转移产品转移)。1.1.3软件质量与质量保证软件质量与质量保证1.1软件测试基础2.软件质量标准软件质量标准 软件需求是度量软件质量的基础,与需求不一致就是质量不高。软件需求是度量软件质量的基础,与需求不一致就是质量不高。指定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,肯定指定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,肯定会导致质量不高。会导致质量不高。通常,有一组没有显式描述的隐含需求通常,有
20、一组没有显式描述的隐含需求(如期望软件是容易维护的如期望软件是容易维护的)。如果软。如果软件满足明确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀件满足明确描述的需求,但却不满足隐含的需求,那么软件的质量仍然是值得怀疑的。疑的。1.1.3软件质量与质量保证软件质量与质量保证1.1软件测试基础3.软件质量保证软件质量保证 软件质量保证软件质量保证(SQA),是软件质量管理这个庞大、复杂系统中的一个分支,与,是软件质量管理这个庞大、复杂系统中的一个分支,与质量计划、质量控制合称为质量管理的过程域。企业必须借助专业、高效的质量质量计划、质量控制合称为质量管理的过程域。企业必须借助专业、
21、高效的质量管理方法和测试工具,从管理和技术两方面双管齐下,才能实现软件质量管理这管理方法和测试工具,从管理和技术两方面双管齐下,才能实现软件质量管理这个目标。质量保证是贯穿整个项目生命周期的有计划、有步骤地对整个项目质量个目标。质量保证是贯穿整个项目生命周期的有计划、有步骤地对整个项目质量计划执行情况进行评估、检查与改进的工作,目的是向管理者、客户提供信任,计划执行情况进行评估、检查与改进的工作,目的是向管理者、客户提供信任,以此确保项目质量与技术一致。以此确保项目质量与技术一致。1.1.3软件质量与质量保证软件质量与质量保证 软件测试是伴随着软件的产生而产生的,软件测试是伴随着软件的产生而产
22、生的,起初软件开发时期起初软件开发时期20世纪世纪50年代后期年代后期20世纪世纪70年代末年代末20世纪世纪90年代年代 而在软件测试工具平台方面,目前商业化的软件测试工具也很多。而在软件测试工具平台方面,目前商业化的软件测试工具也很多。由由此可见,测试在软件开发过程中,已经不再是基于代码而进行的活动,软件此可见,测试在软件开发过程中,已经不再是基于代码而进行的活动,软件测试是一个基于整个软件生命周期的质量控制活动,并始终贯穿于软件开发测试是一个基于整个软件生命周期的质量控制活动,并始终贯穿于软件开发的各个阶段。的各个阶段。1.2软件测试发展史和发展前景软件测试发展史和发展前景 1.3.1软
23、件测试的目的软件测试的目的 软件测试是指使用人工或者自动化工具来运行或测试某个系统的过程,其目的在软件测试是指使用人工或者自动化工具来运行或测试某个系统的过程,其目的在于检验被试系统是否满足产品需求规格说明中所规定的要求或者弄清预期结果与实际于检验被试系统是否满足产品需求规格说明中所规定的要求或者弄清预期结果与实际结果之间的差别,以便及时修正和改进。结果之间的差别,以便及时修正和改进。软件测试是一个系列过程活动,是帮助识别开发完成计算机软件的正确度、完全软件测试是一个系列过程活动,是帮助识别开发完成计算机软件的正确度、完全度和质量的软件过程,是软件质量保证的重要手段。度和质量的软件过程,是软件
24、质量保证的重要手段。1.3软件测试的目的、原则和相关标准软件测试的目的、原则和相关标准 1.3.1软件测试的目的软件测试的目的 软件测试的目的应包含如下内容:软件测试的目的应包含如下内容:测试并不仅仅是找出错误,而是通过分析错误产生的原因和错误发生的趋测试并不仅仅是找出错误,而是通过分析错误产生的原因和错误发生的趋势,从而帮助项目管理者发现软件当前存在的缺陷,以便及时改进。势,从而帮助项目管理者发现软件当前存在的缺陷,以便及时改进。测试分析可以有效帮助测试人员设计有效的针对性测试方法,提高测试的测试分析可以有效帮助测试人员设计有效的针对性测试方法,提高测试的有效性。有效性。没有发现错误的测试也
25、是有价值的测试,完整的测试是评价软件质量的方没有发现错误的测试也是有价值的测试,完整的测试是评价软件质量的方法之一。法之一。1.3软件测试的目的、原则和相关标准软件测试的目的、原则和相关标准 1.3.2软件测试的原则软件测试的原则 软件测试的基本原则有助于测试人员进行高效的测试,尽早尽多地发现软件软件测试的基本原则有助于测试人员进行高效的测试,尽早尽多地发现软件存在的缺陷和错误,通过分析软件存在的问题,从而能够持续改进测试过程,保存在的缺陷和错误,通过分析软件存在的问题,从而能够持续改进测试过程,保证软件质量。证软件质量。(1)测试要尽早介入测试要尽早介入 (2)测试要能显示缺陷的存在测试要能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实用 软件 测试 技术 完整版 ppt 全套 教学 教程 最新
限制150内