《-软件测试课件第2章软件测试模型PPT内容-.docx》由会员分享,可在线阅读,更多相关《-软件测试课件第2章软件测试模型PPT内容-.docx(11页珍藏版)》请在优知文库上搜索。
1、”软件测试课件第2章软件测试模型PPT内容“1、第2章软件测试模型2.1软件开发的基本过程软件开发过程的组织形式如何变化,软件开发所包含的核心工作并没有转变,仍旧是需求分析、设计、编码和测试,此外还有为了保证开发过程顺当实施的软件项目管理、配置管理、质量保证、验证与确认等支持活动。合理方案并执行这些活动,才能保障软件开发的胜利。需求分析主要目标与客户和其他涉众在系统的工作内容方面达成并保持全都,使系统开发人员能够更清晰地了解系统需求,定义系统边界,为软件实施方案供应基础,为估算开发系统所需要的成本和时间供应基础,定义系统用户的需要和目标。任务首先,是需求分析的建模阶段,即在充分了解需求的基础上
2、,要建立起系统的分析模型。2.1软件2、开发的基本过程需求分析任务其次,是需求分析的描述阶段,就是把需求文档化,用软件需求规格说明书的方式把需求表达出来。软件需求规格说明书是需求分析阶段的输出,它全面、清楚地描述了用户需求,因此是开发人员进行后续软件设计的重要依据。软件需求规格说明书应当具有清楚性、无二义性、全都性和精确性等特点。同时,它还需通过严格的需求验证、反复修改的过程才能最终确定。2.1软件开发的基本过程目标和过程软件设计的目标是构建解决方案,设计的过程是把对软件的需求描述转换为软件表示,这种表示能在编码开头以前对其质量做出评价。通俗来讲,软件设计就是要把需求规格说明书里归纳的需求转换
3、为可行的解决方案,并把解决方案反映到3、设计说明书里。关键软件设计的关键是对软件体系结构、数据结构、过程细节以及接口性质这四种程序属性的确定。2.1软件开发的基本过程设计原则进行软件设计的过程中应当遵循一系列的原则:模块化、抽象化、逐步求精、信息隐蔽2.1软件开发的基本过程设计编码软件编码也称为软件构建,就是用某种编程语言编写程序或以界面工具构造出应用界面。编码的过程就是要把软件设计的成果转化为可以在计算机上运行的软件产品的过程。编码和测试工作历来都是密不行分的。通常状况下,模块的编码和单元测试交替进行,也就是所说的“一边编码,一边测试。软件一旦构造出来应准时纳入配置管理,将构造出的新模块/对
4、象和重用的模块/对象组成一个版4、本,以便有任何转变需重新测试时便利处理。2.1软件开发的基本过程在编码过程中,选择合适的程序设计语言是关键。程序设计语言经受了漫长的进展和演化,它的进展阶段如图所示:2.1软件开发的基本过程编码测试测试就是执行产品所供应的功能的过程。软件测试的目的是为了发觉软件产品中存在的软件缺陷,进而保证软件产品的质量。软件测试是软件开发过程中的一个重要阶段。在软件产品正式投入使用之前,软件开发人员需要保证软件产品正确地实现了用户的需求,并满意稳定性、平安性、全都性、完全性等各个方面的要求,从而通过软件测试来对产品的质量实现保证。2.1软件开发的基本过程软件缺陷所谓的软件缺
5、陷是指软件产品中所存5、在的问题,表现为用户所需的功能没有实现,无法满意用户需求。在实际的项目开发过程中,缺陷的产生是不行避开的。开发人员之间的沟通不畅、系统设计上的失误以及编码中产生的问题等都会造成软件缺陷,从而为修复这些缺陷带来巨大的成本损失。为了尽早地揭示这些软件缺陷,提高软件产品的质量,降低软件开发的成本,软件测试的过程是必需的。2.1软件开发的基本过程软件项目管理是为了使软件项目能够根据预定的成本、进度、质量顺当完成,而对人员(People)、产品(Product)、过程(PrOCeSS)和项目(Projeet)进行分析和管理的活动。5大过程1.启动过程确定一个项目或某阶段可以开头,
6、并要求着手实行;2.6、方案过程进行(或改进)方案,并且保持(或选择)一份有效的、可控的方案支配,确保实现项目的既定目标;3.执行过程协调人力和其他资源,并执行方案;2.1软件开发的基本过程4.掌握过程通过监督和检测过程确保项目目标的实现,必要时实行一些订正措施;5.收尾过程取得项目或阶段的正式认可,并且有序地结束该项目或阶段。9个学问领域包括整体管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、风险管理和选购管理。2.1软件开发的基本过程2.2软件开发过程模型依据过程模型提出的时间不同,可以把软件过程模型分为传统软件工程过程模型和现代软件工程过程模型。传统软件工程过程模型
7、是主要代表是编7、码修正模型、瀑布模型、增量模型、演化模型和螺旋模型;Rational统一过程(RUP)、灵敏过程(AP)和微软解决方案(MSF)等则是现代软件工程过程模型的主要代表。编码修正模型编码修正模型是全部模型中最古老也是最简洁的模型,该模型将软件开发过程分为编码和测试两项活动。该模型的主要特点是:1.最适用于很小且很简洁的项目。编码修正模型是从一个大致想法开头工作,然后经过非正规的设计、编码、调试和测试过程,最终完成工作。2.成本可能很低,经过少量设计就进入编码阶段。2.2软件开发过程模型传统软件工程过程模型编码修正模型3.易于使用,人员只需要很少的专业学问,写过程序的人都可以用。4
8、.对于一些非8、常小的、开发完成后就会很快丢弃的软件可以采纳。5.对于规模稍大的项目,采纳这种模型是很危急的,由于缺乏预先的方案并且通常伴随着不正规的开发方式,简单导致代码碎片,交付的产品质量也很难保证。且由于设计没有很好的文档化,因此代码维护困难。2.2软件开发过程模型传统软件工程过程模型瀑布模型瀑布模型是典型的软硬件开发模型,它包括需求、设计、编码、测试、运行与维护几个阶段。在每一阶段提交以下产品:软件需求规格说明书、系统设计说明书、实际代码和测试用例、最终产品、产品升级等。2.2软件开发过程模型传统软件工程过程模型瀑布模型该模型的主要特点是:L每一阶段都以验证/确认活动作为结束,其目的是
9、尽可9、能多地消退本阶段产品中存在的问题;2.在随后的阶段里,尽可能对前面阶段的产品进行迭代。2.2软件开发过程模型传统软件工程过程模型增量模型增量模型是由瀑布模型演化而来的第一个模型,它是对瀑布模型的精化。该模型有一个假设,即需求可以分段,成为一系列增量产品,对每一增量可以分别地开发。2.2软件开发过程模型传统软件工程过程模型增量模型增量模型作为瀑布模型的一个变体,具有瀑布模型的全部优点,此外,还有以下优点:1.第一个可交付版本所需要的成本和时间较少。2.开发由增量表示的小系统所担当的风险不大。3.由于很快发布了第一个版本,因此可以削减用户需求的变更。4.允许增量投资,即在项目开头时10、,
10、可以仅对一个或两个增量投资。2.2软件开发过程模型传统软件工程过程模型演化模型演化模型是显式地把增量模型扩展到需求阶段。为了其次个构造增量,使用了第一个构造增量来精化需求。这一精化可以有多个来源和路径。演化模型的特长和不足与增量模型类似。优点有:1.在需求不能予以规范时,可以使用这一演化模型;2.用户可以通过运行系统的实践,对需求进行改进;3.与瀑布模型相比,需要更多用户/猎取方的参加。2.2软件开发过程模型传统软件工程过程模型螺旋模型螺旋模型是另一种过程模型。在这一模型中,开发工作是迭代进行的,即只要完成了开发的一个迭代过程,另一个迭代过程就开头了。2.2软件开发过程模型11、传统软件工程过
11、程模型2.2软件开发过程模型传统软件工程过程模型螺旋模型开发人员和客户使用螺旋模型可以完成如下工作:确定目标、方案和约束;1.识别风险和效益的可选路线,选择最优方案;2.开发本次迭代可供交付的内容;3.评估完成状况,规划下一个迭代过程;4.交付给下一步,开头新的迭代过程。RUP模型RUP吸取了已有模型的优点,克服了瀑布模型过分强调序列化和螺旋模型过于抽象的不足,总结了多年来软件开发的最佳阅历:1.迭代开发,提前认知风险。2.需求管理,及早达成共识。3.基于构建,搭建弹性框架。2.2软件开发过程模型现代软件工程过程模型RUP模型4.可视化建模,打破沟通壁垒。5.持续验12、证质量,降低缺陷代价。
12、6.管理变更,有序积累资产。2.2软件开发过程模型现代软件工程过程模型MSF过程模型2000年微软公司在其解决方案框架(MSF)中提出了自己的应用开发过程模型。该模型综合了瀑布模型和螺旋模型的优点。2.2软件开发过程模型现代软件工程过程模型AP灵敏开发过程模型灵敏开发是一种以人为核心、迭代、循序渐进的开发方法。在灵敏开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件始终处于可使用状态。灵敏的最低要求应当是使得项目具备以下基本条13、件:可追溯性、可理解性、可验
13、证量性、其他“开发时质量要求2.2软件开发过程模型现代软件工程过程模型2.3软件生命周期中的测试从软件工程的角度看,软件生命周期一般分为4个活动时期:软件分析时期、软件设计时期、编码和测试时期、软件运维时期。软件测试横跨其中两个阶段,在进行编码的同时,也进行着单元测试。在编码结束后,还有对整个系统的综合测试,这时,主要测试模块接口的正确性和整个系统的功能。测试阶段与开发阶段的关系,如图:2.4软件测试的基本流程测试的基本流程包括:1.设计一组测试用例。每个测试用例由输入数据和预期输出结果两部分组成;2.用各个测试用例的输入数据实际运行被测试程序;3.检查14、实际输出结果与预期的输出结果是否全
14、都。若不全都则认为程序有错。通常程序输入数据的可能值的个数许多,再加上程序内部结构的简单性,要彻底地测试一个程序是不行能的。我们只能执行有限个测试用例,并求尽可能多地发觉一些错误。能尽可能多地发觉错误的测试用例被称为高产的。2.5软件测试的组织独立测试组(IndePendentTeStGroUP,ITG)的作用是为了避开开发人员进行测试所引发的固有问题,独立测试可以消退利益冲突。在整个软件项目中,开发人员和测试组要亲密协作,以确保进行充分的测试。在测试进行的过程中,必需随时可以找到开发人员,以便准时修改发觉的错误。2.6测试过程模型软件测试过程15、模型是对软件测试过程的一种抽象,用于定义和描
15、述软件测试的流程和方法。软件测试过程模型的进展伴随着人们对软件工程理解和软件测试理解的深化和进展。V模型V模型是最有代表性的软件测试过程模型,最早由PaulRook在20世纪80年月提出。在V模型中,单元测试和集成测试验证程序的设计,检测程序的执行是否满意软件设计的要求;系统测试验证系统设计,验证系统功能、性能的质量特性是否达到系统设计的指标;验收测试验证软件需求,确定软件的实现是否满意用户需求或合同的要求。2.6测试过程模型V模型但是,V模型没有明确说明早期的测试,不能体现及早的和不断的进行软件测试原则,因此前期各开发阶段隐蔽的错误,16、需要完成该阶段对应的测试活动才能发觉。2.6测试过程
16、模型W模型由EVoIUtif公司提出,强调测试活动伴随着整个软件开发周期,而且测试对象不仅仅是程序,需求、设计等活动同样需要测试,也就是说,测试与开发是同步进行的。W模型可以说是V模型的自然而然的进展。W模型体现了及早的和不断的进行软件测试原则,能够关心改进项目的内部质量,削减总体测试时间,加快项目进度,降低测试和修改成本。W模型2.6测试过程模型W模型2.6测试过程模型H模型,它将测试活动完全独立出来,形成一个独立的流程,将测试预备活动和测试执行活动清楚的体现出来。H模型体现了测试活动的独立性,它存在于整个软件生命周期并与其17、他流程并发进行,体现了及早的和不断的进行软件测试原则。不同的测试活动可以根据某个次序先后进行,也可以支持反复和迭代过程。只要某个测试达到测试就绪点,测试执行活动就可以进行。H模型2.6测试过程模型X模型也是对V模型和W模型的改进。X模型提出针对单独的程序片段进行相互分别的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序