软件测试第一章.ppt
- 文档编号:2155529
- 上传时间:2022-10-27
- 格式:PPT
- 页数:30
- 大小:411KB
软件测试第一章.ppt
《软件测试第一章.ppt》由会员分享,可在线阅读,更多相关《软件测试第一章.ppt(30页珍藏版)》请在冰豆网上搜索。
软件测试软件测试SoftwareTestingSoftwareTesting工工业业农农业业金金融融科科教教卫卫生生国国防防百百姓姓生生活活第一章第一章绪论绪论从计算机诞生至今,从计算机诞生至今,计算机无疑成为当代发展最为迅猛的科学技术。
计算机无疑成为当代发展最为迅猛的科学技术。
今天,计算机已渗透到人们生活的各个方面今天,计算机已渗透到人们生活的各个方面。
第一章第一章绪论绪论软软件件开开发发开开发发成成本本增增加加系系统统规规模模增增大大软软件件质质量量软软件件测测试试复复杂杂性性增增加加故障故障导致导致的经的经济损济损失增失增加加你眼中的软件测试是什么样的工作?
n软件测试工程师(SoftwareTestingEngineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。
n高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估;n中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务;n初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。
n软件测试工程师,目前IT行业极端短缺的金贵人才,未来5年IT行业最炙手可热的高薪职位。
中国软件业每年新增约20万测试岗位就业机会,而企业、学校培养出的测试人才却不足需求量的1/10,这种测试人才需求与供给间的差距仍在拉大。
n软件测试产品质量的保证n软件测试控制成本的关键n软件测试软件可靠性确认n软件测试让企业具备国际竞争的实力第一章第一章绪论绪论n本章重点本章重点计算机系统的软件可靠性问题计算机系统的软件可靠性问题软件测试与软件可靠性软件测试与软件可靠性软件测试的发展历史、现状和展望软件测试的发展历史、现状和展望1.1.计算机系统的软件可靠性问题计算机系统的软件可靠性问题随着对计算机需求和依赖的与日俱增,随着对计算机需求和依赖的与日俱增,计算机系统的规模和复杂性急剧增加。
计算机系统的规模和复杂性急剧增加。
计算机软件的数量以计算机软件的数量以惊人的速度急剧膨胀惊人的速度急剧膨胀例如,例如,航天飞机机载系统有近航天飞机机载系统有近500,000行代码的软件,行代码的软件,地面控制和处理系统也有大约地面控制和处理系统也有大约350,000行的代码。
行的代码。
在美国电信业中,电信线路的正常运转需要数百个在美国电信业中,电信线路的正常运转需要数百个软件系统的支持,其代码总量超过一亿行。
软件系统的支持,其代码总量超过一亿行。
1.1.计算机系统的软件可靠性问题计算机系统的软件可靠性问题据不完全统计,由于软件故障,据不完全统计,由于软件故障,全世界已有全世界已有40004000多人丢掉了生命。
多人丢掉了生命。
对复杂计算机系统需求的急剧增加,远远超过了对复杂计算机系统需求的急剧增加,远远超过了计算机软计算机软/硬件设计、实现、测试及维护的能力,结果硬件设计、实现、测试及维护的能力,结果出现了许多可怕的计算机工程事故,其中大多数都是出现了许多可怕的计算机工程事故,其中大多数都是由于软件故障所致。
由于软件故障所致。
1.1.计算机系统的软件可靠性问题计算机系统的软件可靠性问题1990年年1月月15日日,通信中转系统软件发生故障,导致,通信中转系统软件发生故障,导致主干远程网大规模崩溃,使数以千计的电讯运营公司损主干远程网大规模崩溃,使数以千计的电讯运营公司损失惨重。
失惨重。
1983年年,美国科罗拉多河水泛滥,由于计算机对天,美国科罗拉多河水泛滥,由于计算机对天气形势预测有误,水库未能及时泄洪,以致造成严重的气形势预测有误,水库未能及时泄洪,以致造成严重的经济损失和人员伤亡。
经济损失和人员伤亡。
1979年年,新西兰航空公司的一架客机因计算机控制,新西兰航空公司的一架客机因计算机控制的自动飞行系统发生故障而撞在阿而卑斯山上,机上的自动飞行系统发生故障而撞在阿而卑斯山上,机上257名乘客全部遇难。
名乘客全部遇难。
1.1.计算机系统的软件可靠性问题计算机系统的软件可靠性问题研究表明:
研究表明:
由于软件设计故障引起的系统失效由于软件设计故障引起的系统失效与由于硬件设计故障引起的失效比是与由于硬件设计故障引起的失效比是10:
1。
软件件质量量问题已成已成为人人们共同关注的焦点。
共同关注的焦点。
软件故障软件故障正逐渐成为导致计算机系统失效和停机的主要因素。
正逐渐成为导致计算机系统失效和停机的主要因素。
1.1.计算机系统的软件可靠性问题计算机系统的软件可靠性问题软件开件开发商商为了占有市了占有市场,把把软件件质量作量作为企企业的重要目的重要目标之一之一,以免在激烈的以免在激烈的竞争中被淘汰出局。
争中被淘汰出局。
用用户为了保了保证自己自己业务的的顺利完成,利完成,当然也希望当然也希望选用用优质的的软件。
件。
1.1.计算机系统的软件可靠性问题计算机系统的软件可靠性问题一些关键应用,如一些关键应用,如民航订票系统、民航订票系统、银行结算系统、银行结算系统、证券交易系统、证券交易系统、自动飞行控制软件、自动飞行控制软件、军事防御、军事防御、核电站安全控制系统核电站安全控制系统对软件质量对软件质量提出了更高的要求。
提出了更高的要求。
因此,因此,许多科学家在展望许多科学家在展望21世纪计算机科学发展方向和策略时,世纪计算机科学发展方向和策略时,把软件质量放在优先于提高软件功能和性能的地位。
把软件质量放在优先于提高软件功能和性能的地位。
2.2.软件测试与软件可靠性软件测试与软件可靠性人们对计算机依赖的程度越高,对其可靠性的要求就越高。
人们对计算机依赖的程度越高,对其可靠性的要求就越高。
正是由于软件可靠性的大幅度提高正是由于软件可靠性的大幅度提高才使得计算机广泛应用于社会的各个方面。
才使得计算机广泛应用于社会的各个方面。
从实验系统所获的统计数据表明,从实验系统所获的统计数据表明,运行软件的驻留故障密度,运行软件的驻留故障密度,财产关键软件为每千行代码财产关键软件为每千行代码1-101-10个故障,个故障,生命关键软件为每千行代码生命关键软件为每千行代码0.01-10.01-1个故障。
个故障。
2.2.软件测试与软件可靠性软件测试与软件可靠性IEEE(InstituteofElectricalandElectronicsEngineers,电气与电,电气与电子工程师学会子工程师学会)定义定义软件可靠性软件可靠性为:
为:
系统在特定的环境下,在给定的时间内,无故障地运系统在特定的环境下,在给定的时间内,无故障地运行的概率。
行的概率。
用来评价软件按照用户的要求和设计目标,完成规定用来评价软件按照用户的要求和设计目标,完成规定功能的能力,涉及软件的性能、功能性、可用性、可功能的能力,涉及软件的性能、功能性、可用性、可服务性、可安装性、可维护性以及文挡等多方面特性服务性、可安装性、可维护性以及文挡等多方面特性.因此,软件可靠性是对软件因此,软件可靠性是对软件在设计、生产以及在它所预定环境中具有能力的在设计、生产以及在它所预定环境中具有能力的置信度的一个测度,是衡量软件质量的主要参数之一。
置信度的一个测度,是衡量软件质量的主要参数之一。
2.2.软件测试与软件可靠性软件测试与软件可靠性关于软件可靠性方面的量度,主要有:
关于软件可靠性方面的量度,主要有:
n软件中初始故障个数。
软件中初始故障个数。
n软件经过测试后,通过查错、改错,在软件中剩软件经过测试后,通过查错、改错,在软件中剩余故障的个数。
余故障的个数。
n平均无故障时间。
平均无故障时间。
n故障间隔的时间长度。
故障间隔的时间长度。
n故障发生率。
故障发生率。
n经预测,下一次故障的发生时间等。
经预测,下一次故障的发生时间等。
故障一般可分为:
故障一般可分为:
硬件故障硬件故障是由物理性能的恶化所造成;是由物理性能的恶化所造成;软件故障软件故障是由设计阶段的人为因素所造成;是由设计阶段的人为因素所造成;操作故障操作故障是指操作人员和维护人员的错误;是指操作人员和维护人员的错误;环境故障环境故障则包括电源、外界干扰、地震、火灾、则包括电源、外界干扰、地震、火灾、病毒等各种外界因素引起的故障。
病毒等各种外界因素引起的故障。
2.2.软件测试与软件可靠性软件测试与软件可靠性对于软件来讲,不论采用什么样的技术和方法,对于软件来讲,不论采用什么样的技术和方法,软件中都会有故障存在。
软件中都会有故障存在。
采用新的语言、先进的开发方式、完善的开发过采用新的语言、先进的开发方式、完善的开发过程,程,可以减少故障的引入,但是不可能完全杜绝软可以减少故障的引入,但是不可能完全杜绝软件中的故障件中的故障,这些软件故障需要测试来发现,软件,这些软件故障需要测试来发现,软件中的故障密度也需要测试来估计。
中的故障密度也需要测试来估计。
2.2.软件测试与软件可靠性软件测试与软件可靠性2.2.软件测试与软件可靠性软件测试与软件可靠性软件件测试是是对软件需求分析、件需求分析、设计规格格说明和明和编码的最的最终复复审。
是是软件件质量保量保证的关的关键步步骤。
是是为了了发现故障故障而而执行程序的行程序的过程。
程。
软件件测试是根据是根据软件开件开发各各阶段的段的规格格说明和程序明和程序的内部的内部结构而精心构而精心设计一批一批测试用例(即用例(即输入数据及入数据及其其预期的期的输出出结果),并利用果),并利用这些些测试用例去运行程序,用例去运行程序,以以发现软件件故障故障的的过程。
程。
其根本目的其根本目的是以尽可能少的时间和人力是以尽可能少的时间和人力发现并改正软件中潜在的发现并改正软件中潜在的各种故障及缺陷。
各种故障及缺陷。
实际上,测试工作一直对准软件中隐含的各种故障,实际上,测试工作一直对准软件中隐含的各种故障,所有的测试方法和手段都是以找出软件中隐含的故障为所有的测试方法和手段都是以找出软件中隐含的故障为目的。
目的。
软件中隐藏的故障数目,直接决定软件的可靠性。
软件中隐藏的故障数目,直接决定软件的可靠性。
如果不能将软件中隐含的故障及时排除,一旦暴露如果不能将软件中隐含的故障及时排除,一旦暴露出来就会给使用者和维护者带来不同程度的严重后果,出来就会给使用者和维护者带来不同程度的严重后果,势必软件的可靠性差。
势必软件的可靠性差。
2.2.软件测试与软件可靠性软件测试与软件可靠性所以,所以,软件测试必须在软件投入生产运行之前进行,软件测试必须在软件投入生产运行之前进行,以尽可能多地发现软件中的故障,提高软件可靠性。
以尽可能多地发现软件中的故障,提高软件可靠性。
2.2.软件测试与软件可靠性软件测试与软件可靠性随着人们对软件测试重要性认识的加深,随着人们对软件测试重要性认识的加深,软件测试在整个软件开发周期中所占的比例日益增大。
软件测试在整个软件开发周期中所占的比例日益增大。
目前,许多软件开发机构已将研制力量的目前,许多软件开发机构已将研制力量的40%以上以上花费在软件测试中。
花费在软件测试中。
特殊情况下,对于要求高可靠性的软件,特殊情况下,对于要求高可靠性的软件,例如飞行控制、核反应堆监控软件等,其软件测试费例如飞行控制、核反应堆监控软件等,其软件测试费用甚至高达软件开发其它阶段所用费用总和的用甚至高达软件开发其它阶段所用费用总和的35倍。
倍。
2.2.软件测试与软件可靠性软件测试与软件可靠性3.3.软件测试的发展历史、现状和展望软件测试的发展历史、现状和展望n软件测试的发展历史软件测试的发展历史n早在早在50年代,英国著名的计算机科学家图灵就给年代,英国著名的计算机科学家图灵就给出了程序测试的原始定义。
出了程序测试的原始定义。
他认为,测试是程序正确性证明的一种极端他认为,测试是程序正确性证明的一种极端实验形式。
早期测试主要针对机器语言和汇编语实验形式。
早期测试主要针对机器语言和汇编语言,给出特定的测试用例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 第一章
![提示](https://static.bdocx.com/images/bang_tan.gif)