预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共115页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

主讲:于海洋教材参考教材参考教材参考教材参考教材教学目标评分标准软件错误无处不在软件错误的案例(1)软件错误的案例(2)软件错误的案例(3)软件错误的案例(4)软件错误的案例(5)软件测试工程师,需要具备哪些能力?软件测试工程师,需要具备哪些能力?软件测试工程师,需要具备哪些能力?第一章概述[本章要点]软件测试的发展历史;软件测试技术的分类方法;软件测试原则;软件测试的定义;软件测试同软件开发之间的关系;软件测试与开发模型;软件测试工作流程。[本章目标]了解软件测试的发展历程和行业现状;掌握软件测试技术的分类;理解软件测试的目的和软件测试原则,以及了解人们对软件测试行业的错误认识;掌握软件测试中的基本定义、基本知识;理解软件开发与软件测试的关系。1.1软件测试的发展历程及现状1.1.1软件测试的发展历程20世纪50-60年代,软件仍然处于次要位置,测试理论和方法的发展比较缓慢。70年代以后,软件技术的成熟和完善使得软件测试的规模和复杂度加大,软件测试也逐渐形成了一套完整的体系,逐渐走向规范化。如今对软件质量的要求越来越高,质量的控制已经不仅仅是传统意义上的基于代码运行上的测试。软件测试已经是一个基于整个软件生命周期的质量控制活动。1.1软件测试的发展历程及现状1.1.2软件测试的现状与一些发达国家相比,国内测试工作还存在一定的差距。国内测试人员所占比例小。微软的开发工程师与测试工程师的比例是1:2,国内一般公司是6:1.与发达国家相比,我们的差距主要在测试意识,测试理论的研究,测试工具软件的开发以及从业人员的数量等方面。1.1软件测试的发展历程及现状近年来,随着软件外包行业的兴起,国内软件质量保证的意识也在加强。占整体外包业务85%的对日软件外包中主要的工作就是软件测试。IBM,百度,华为,惠普,盛大,联想等大型IT企业均表示出对成熟软件测试人员的期盼。1.2什么是软件测试(softwaretesting)1.2.1软件测试的定义根据侧重点的不同,主要有以下三种观点:1)“使用人工或自动手段运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别”,该定义明确地提出了软件测试以检验是否满足需求为目标。2)“软件测试是为了发现错误而执行程序的过程”,明确提出了“寻找错误”是测试目的。3)从软件质量保证的角度看:是一种重要的软件质量保证活动,其动机是通过一些经济、高效的方法,捕捉软件中的错误,从而达到保证软件内在质量的目的。最终目的是验证软件是否按着预期运行。测试过程中的活动包括“分析”软件(静态测试)和“运行”软件(动态测试)。也有人认为软件测试(softwaretesting)就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试有两个基本职责:确认:保证开发过程中软件符合产品说明书的过程验证:保证最终产品满足用户要求的过程经常会确认了但没有验证,例如1990年哈勃天文望远镜事件。注意:区分软件测试和软件调试。1,调试分析和定位BUG,不能完全代替测试。2,调试是为了使软件正确运行,测试是找错误。3,调试对象是源代码,测试的对象是开发过程各个阶段的所有产品。1.2.2软件测试生命周期测试的生命周期(softwaretestinglifecycle)分为几个阶段(如图1-1所示)。前三个阶段就是引入程序错误阶段;后三个阶段就是清除程序错误的阶段。1.2.3软件开发与测试模型下面我们将介绍几种典型的软件开发与测试模型。一、软件开发模型1、大爆炸模型一大堆能量(这里指开发软件所需的人力和物力)放在一起,巨大的能量进行释放,通常的结果可能是产生了优秀的软件产品或成为一堆“废品”(不成功的软件)。优点:思路简单,计划、进度和正规开发过程几乎没有,所有的精力集中在开发软件和编写代码上,通常可能是开发者的“突发奇想”缺点:开发过程是非工程化的,随意性大。由于软件已经完成,不可能回头修复已经无法挽回的问题,软件测试的工作其实只是向用户报告发现的问题。关于测试:有的较简单,有的则非常困难。测试工作妨碍软件的交付,测试越深入,就会发现越来越多的缺陷,实际中测试几乎不作。1.2.3软件开发与测试模型一、软件开发模型1、大爆炸模型1.2.3软件开发与测试模型一、软件开发模型瀑布模型瀑布模型是将软件生命周期的各项活动,规定为按照固定顺序相连的若干个阶段性工作,形如瀑布流水,最终得到软件产品。1.2.3软件开发与测试模型一、软件开发模型瀑布法优点:易于理解;调研开发的阶段性;强调早期计划及需求调查;能够确定何时能够交付产品及何时进行评审与测试。缺点:需求调查分析只进行一次,不能适应需求变化;顺序的开发流程,使得开发中的经验教训不能反馈到该项目的开发中去;不能反映出软件