288.软件开发过程与软件测试

  • 时间:
  • 浏览:0
  • 来源:大发pk10_pk10开奖历史_大发pk10开奖历史

1.1 软件开发的阶段、活动及角色



1、软件工程的阶段

软件工程的另一一一3个 阶段:

定义、开发、检验交付与维护

(1)定义阶段:可行性研究初步项目计划、需求分析。如图2-1所示。

图2-1软件工程的定义阶段

(2)开发阶段:概要设计、删改设计、实现、测试。如图2-2所示。

图2-2 软件工程的开发阶段

(3)检验交付与维护阶段:运行、维护、废弃。如图2-3所示。

图2-3 软件工程的检验交付与维护阶段

2、软件开发过程的活动

通常包括有一种基本过程活动:

(1)软件规格说明:规定软件的功能、性能及其运行限制。

(2)软件开发:产生满足规格说明的软件,包括设计与编码等工作。

(3)软件确认:确认软件要能满足客户提出的要求,对应于软件测试。

(4)软件演进(软件的维护):为满足客户的变更要求,软件时需在使用过程中演进,以求尽量延长软件的生命周期。

3、开发过程中的角色

(1)项目经理:负责管理业务应用开发和系统开发项目。

(2)业务分析人员:理解和描绘客户的要求,引导和协调用户和业务需求的分派和确认,并使文档化。

(3)架构师:负责理解系统的业务需求,并创建合理、完善的系统体系架构。并决定相关技术的选泽。

(4)数据设计人员:负责定义删改的数据库设计。

(5)tcp连接员:设计、编写tcp连接代码及内部管理设计规格说明。

(6)测试人员:负责制定测试计划,并根据计划进行相关测试,找出产品中的什么的什么的问题。

(7)产品经理:负责产品的交付和发布,以及销售产品。

(8)技术支持代表:负责处里客户的投诉,以及售后服务什么的什么的问题。

1.2 软件开发的过程模型

1、线性顺序模型(瀑布模型)

(1)各个阶段的划分删改固定,阶段之间产生多量的文档,极大地增加了工作量;

(2)将会开发模型是线性的,用户这样 等到整个过程的末期要能见到开发成果,从而增加了开发的风险;

(3)早期的错误将会要等到开发后期的测试阶段要能发现,进而带来严重的后果。

图2-4 线性顺序模型

2、(快速)原型模型

原型模型从需求分派结束了了英文了了,开发者与用户在同时定义软件的总体目标,标识出已知的需求,并规划出进一步定义的区域,已经 快速地设计并进行编码实现,建立好原型。在原型模型的基础上,运行、评估、修改,多次迭代进行,直到满足用户的需求为止。

 图2-5 原型模型

3、快速开发模型

采用RAD模型时,系统的每另一一一3个 主要功能部件都可由另一一一3个 单独的RAD工作组完成,最后将所有的部件集成起来构成删改的软件。

RAD模型强调可复用tcp连接构件的开发,并支持多小组并行工作。但若另一一一3个 系统这样模块时,构件的复用和建造会冒出这类什么的什么的问题,不适用于技术风险高、采用新技术的项目。

 图2-6快速开发模型

4、演化软件过程模型

(1)增量模型:将线性模型与原型模型结合起来,随着日程/时间的进展而交错析线性序列集合。如图2-7所示。

(2)螺旋模型:也是将线性模型与原型模型结合起来,并加入风险分析。如图2-8所示:

螺旋模型被划分为若干框架活动:用户通信、计划、风险分析、工程、建造及发布、用户评估等。

螺旋模型适应于计算机软件产品的整个生命周期。对于大型系统的开发是有一种模型法律法律法律依据。

1.3 软件测试与软件开发的关系

软件测试在软件开发过程中占有重要的地位,在传统的瀑布模型中,软件测试只成为其阶段性的一段工作——进行代码的测试。而现代软件工程思想将软件测试认为是贯穿整个软件生命周期,已经 是保证软件质量的重要手段之一。

这类研究数据显示,在国外软件开发的工作量中,软件测试的工作量占有总工作量的40%左右;软件开发的总费用中软件测试占有500%-500%。对于这类高科技开发系统,软件测试占有的时间和费用将会更多更高。

1、测试都会为了证明系统的正确性,什么都有为了证明系统发生不足英文;

2、所有的测试都应该追溯到用户的需求;

3、测试应当尽早结束了了英文了了和不断进行;

4、穷举测试是不将会的;

5、第三方测试会更客观、更有效;

6、Pareto原则应用于软件测试;

7、软件测试是有风险的行为;但无须所有的测试都会修复;

8、测试应从小规模结束了了英文了了,逐步转向大规模;

9、软件测试是一项讲究条理的技术专业。

3.1静态测试与动态测试

1、静态测试

静态测试,是不时需执行被测软件,什么都有采用分析和查看的法律法律法律依据,来发现软件当中的不足英文,包括需求文档、源代码、设计文档、以及这类与软件相关文档中的二义性和错误。最好由未参加代码编写的此人 或小组来完成。测试小组还要能使用另一一一3个 或多个静态测试工具,以源tcp连接代码作为输入,产生多量的在测试过程有用的数据。如图2-9所示。

 图2-9 静态测试的每项

静态测试常用的法律法律法律依据如下:

(1)走查

走查是个非正式的过程,检查所有与源tcp连接代码相关的文档。

(2)审查

审查比走查要求更加正规。

(3)静态代码分析工具

静态特性分析主什么都有以图形的法律法律法律依据表现tcp连接的内部管理特性

2、动态测试

动态测试是指通过运行实际被测试软件,通过观察tcp连接运行时所表现的请况、行为等来发现软件的不足英文。并对被测tcp连接的运行请况进行分析对比,以便发现tcp连接表现的行为与设计规格或客户需求不一致的地方。

动态测试一般包括功能确认与接口测试,覆盖率分析、性能分析、内存分析等。

动态测试是有一种老是运行的测试技术。但都会它的局限性:时需要借助测试用例完成;时需搭建特定的测试环境;这样 发现文档中的什么的什么的问题。

将会动态测试与静态测试之间发生一定的协同性,又具有相对的独立性。什么都有在tcp连接执行前进行静态测试,尽将会多地发现代码中隐含的不足英文;执行动态测试检查tcp连接实时的行为,发现tcp连接在运行时发生的不足英文。

3.2黑盒测试与白盒测试

1、黑盒测试

黑盒测试又称功能测试或数据驱动测试;是将被测试软件看做另一一一3个 黑盒子,删改不考虑tcp连接的内部管理特性和处里过程,只考虑系统的输入和输出,在tcp连接的接口进行测试,检查系统功还要能是符合需求规格说明书的要求。

常用的测试法律法律法律依据有:等价类划分、边界值法、决策表法、因果图法、错误推测试法等。

黑盒测试的优点:黑盒测试用例与tcp连接如何实现无关;测试用例的设计与tcp连接开发可并行设计;这样 编程经验的人要能这样 设计测试用例。

黑盒测试的局限性:不将会做到穷举测试;将会发生漏洞。

2、白盒测试

白盒测试又称特性测试或逻辑驱动测试;是根据被测试tcp连接源代码的内部管理特性来设计测试用例的法律法律法律依据。

常用的测试法律法律法律依据有:逻辑覆盖、基本路径和数据流测试等。

白盒测试的优点:能这样 利用不同的覆盖准则测试tcp连接代码的各个分支,发现tcp连接内部管理的编码错误;能这样 直接发现内存泄露什么的什么的问题;能这样 充当黑盒测试的检查手段等。

白盒测试的局限性:因tcp连接路径组合这样 来这样多,同样这样 做到穷举测试;将会设计测试用例都会根据客户需求说明进行的测试,将会存需求方面的漏洞。

3、灰盒测试

灰盒测试结合了白盒测试和黑盒测试的每项,关注输入的正确性,同时了关注内部管理的表现;考虑了用户端、特定的系统知识和操作环境。它在系统组件的协同环境中评价应用软件的设计。

3.3 人工测试与自动化测试

按照测试执行时与否时需人工干预进行分类,可分为人工测试与自动测试。

1、人工测试

人工测试是人为测试和手工测试的统称。人为测试的主要法律法律法律依据有桌前检查、代码审查和走查。用于软件开发各阶段的审查或评审都会人为测试。手工测试主要发生测试过程中,按照测试计划一步一步执行tcp连接,得出测试结果并进行分析的测试行为。

2、自动测试

自动化测试指的是利用测试工具对各种测试活动的管理与执行,并对测试结果自动进行分析。在测试的执行过程中,一般不时需人工干预。常用在功能测试、回归测试和性能测试等。

自动化测试的优点:提高测试带宽;降低测试成本;具有一致性和可重复性;降低风险,增加软件的质量等。

自动化测试的局限性:自动化测试软件有一种的什么的什么的问题;测试人员期望不足英文;这类人工测试是这样 用自动化测试替代等。

3.4 这类测试分类

1、基于模型的测试与模型检测

基于模型的测试,是指对软件行为进行建模以及根据软件的形式化模型设计测试的活动。

模型检测是指,用来验证软件特定模型中的另一一一3个 或多个特性的一类技术。

  模型通常是有限请况的,是从这类原始材料中提取出来的,哪些原始材料将会是需求文档,也将会是系统源代码有一种。有穷请况模型中的每另一一一3个 请况前都会另一一一3个 或多个前置条件,当软件发生该请况时,哪些特性时需满足。见图2-10所示说明模型检测过程。

 图2-10模型检测的每项

2、冒烟测试

冒烟测试是发生测试中发现什么的什么的问题,也什么都有说找到了另一一一3个 不足英文,由开发人员来修复这类不足英文,当修复完成后,与否真的处里了这类不足英文,或对这类模块与否发生影响,已经 要针对这类什么的什么的问题进行专门的测试,这类测试过程称为冒烟测试。

在这类请况下,经过测试后,发现修复某个什么的什么的问题会引起这类功能模块一系列的反应,是是因为产生新的不足英文。冒烟测试的优点是节省测试时间,处里创建失败。缺点是覆盖率较低。

3、随机测试

随机测试是根据测试说明书执行样例测试的有一种重要补充手段,是保证测试覆盖删改性的有效法律法律法律依据和过程。随机测试主要针对系统的这类重要功能进行复测。还对软件更新和新增的功能要进行重点测试。常与回归测试同时进行。

1、在软件需求分析与建模阶段中,主要进行软件目标的定义,可行性研究和软件需求分析工作。这时测试的对象是相关文档资料,如:需求规格说明书等。从需求的完备、可实现、与否合理、与否可测试等方面进行评审,采用的静态测试法律法律法律依据。

2、在概要设计与删改设计阶段。概要设计描述总体系统架构中各个模块的划分及相互之间的关系;删改设计则描述各个模块具体的算法和数据特性。哪些都会用文字、图表的形式进行描述的,测试时也是用静态测试的法律法律法律依据,对文字、图表进行评审。

3、在编码工作阶段,主什么都有采用高级语言对已删改设计的模块进行编程。这时的测试工作主什么都有对已有的tcp连接代码进行白盒测试,能这样 是静态与动态相结合,采用各种覆盖法律法律法律依据进行测试,此时主要由tcp连接员进行测试。

4、在测试阶段中,此时进行的集成与系统测试。集成测试采用灰盒测试法律法律法律依据(白盒测试与黑盒测试相结合),主要测试产品的接口以及各模块之间的关系。而系统测试一般采用黑盒测试法律法律法律依据,主要测试系统的功能、性能等;由测试人员来完成测试。

5、在检验交付与维护阶段,模拟或实际客户环境,对系统进行验收测试。大多采用自动化测试工具进行测试验收。包括功能测试、性能测试、回归测试、发布测试等。

大约把软件测试作为项目

5.1V_model

v-model模型是最早的软件生存期模型,在20世纪500年代由Paul Rook提出的。

v-model含有了另一一一3个 等级,分别是生存期模型,分配模型,功能性工具需求模型,阐述了应当实施哪些活动,应当产生哪些结果,诸这样 类。

  

V-model指出,单元测试所检测代码的开发与否符合删改设计的要求。集成测试所检测此前测试过的各组成每项与否能完好地结合到同时。系统测试所检测已集成在同时的产品与否符合系统规格说明书的要求。而验收测试则检测产品与否符合最终用户的需求。什么都有V-model模型软件测试的策略既包括低层测试又包括高层测试,底层测试是为了验证系统源代码的正确性,高层是为了测试整个系统与否满足用户的需求。



V-model的不足英文:仅仅把测试过程作为在需求分析、系统设计及编码已经 的另一一一3个 阶段忽视了测试对需求分析,系统设计的验证,老是到后期的验收测试才被发现。

 5.2W-model

W模型由Evolutif公司提出,相对于V-model,W-model更科学,W-model是V-model的发展。将会V-model的局限性,这样 明确地说明早期的测试,无法体现“尽早地和不断地进行软件测试”的原则。在V-model中增加软件各开发阶段应同步进行的测试,演化为W-model。如图2-12所示。

 

W-model,强调的是测试伴随着整个软件开发周期,已经 测试的对象不仅仅是tcp连接,需求、功能和设计同样要测试。测试与开发是同步进行的,从而助于尽早地发现什么的什么的问题。以需求为例,需求分析一完成,亲戚亲戚朋友 就能这样 对需求进行测试,而都会等到最后才进行针对需求的验收测试。

W-model的局限性:W模型和V模型都把软件的开发视为需求、设计、编码等一系列串行的活动,软件开发和测试保持有一种线性的前后关系,时需有严格的指令表示上一阶段删改结束了了英文了,要能这样 正式结束了了英文了了下另一一一3个 阶段。从前就无法支持迭代、自发性以及变更调整。对于当前什么都有文档时需事后补充,将会根本这样 文档的做法下,开发人员和测试人员都面临同样的困惑。

5.3H-model

H-model。它将测试活动删改独立出来,形成另一一一3个 删改独立的流程,将测试准备活动和测试执行活动清晰地体现出来。如图2-13所示:

H-model揭示了:

(1)软件测试不仅仅指测试的执行,还包括什么都有这类的活动(测试准备、测试已经 的事情);

(2)软件测试是另一一一3个 独立的流程,贯穿产品整个生命周期,与这类流程并发地进行;

(3)软件测试要尽早准备,尽早执行;

(4)软件测试是根据被测物的不同而分层次进行的。不同层次的测试活动能这样 是按照某个次序先后进行的,但也将会是反复的。

5.4X-model

X-model的基本思想是由Marick提出的,他认为另一一一3个 模型时需能处里开发的所有方面,包括交接,频繁重复的集成,以及需求文档的不足英文等等。 而X-model填补了V-model 的不足英文,并可为测试人员和开发人员带来明显的帮助。如图2-14所示。

5.5 pretest-model

pretest-model,它是将测试和开发紧密结合的模型,该模型提供了轻松的法律法律法律依据,能这样 使你的项目加快带宽。如图2-15所示。

Pretest-model体现了以下的要点:

(1)开发和测试相结合

(2)对每另一一一3个 交付内容进行测试

(3)在设计阶段进行测试计划和测试设计

(4)测试和开发结合在同时

(5)让验收测试和技术测试保持相对独立

5.6测试模型的使用

  V-model强调了在整个软件项目开发中时需经历的若干个测试级别,已经 每另一一一3个 级别都与另一一一3个 开发级别相对应,但它忽略了测试的对象不应该仅仅包括tcp连接,将会说它这样 明确地之处应该对软件的需求、设计进行测试。

  W-model强调了测试计划等工作的先行核对系统需求和系统设计的测试,但W-model和V-model一样也这样 专门对软件测试流程予以说明,将会事实上,随着软件质量要求这样 为亲戚亲戚朋友 所重视,软件测试也逐步发展成为另一一一3个 独立于软件开发部的组织,就每另一一一3个 软件测试的细节而言,它都会另一一一3个 独立的操作流程。比如,现在的第三方测试,就含有了从测试计划和测试案例编写,到测试实施以及测试报告编写的全过程,

H-model强调测试是独立的,也不我 测试准备完成,就能这样 执行测试了。

  X-model和Pretest-model又在此基础上增加了这类不选泽因素的处里请况,将会在真实项目中,老是会有变更的发生,这类时需重新访问前一阶段的内容,将会跟踪并纠正已经 提交的内容,修复错误,排除多余的成分,以及增加新发现的功能等。

本章先简单介绍了软件开发过程的另一一一3个 阶段:定义阶段、开发阶段、检验交付与维护阶段,软件开发过程中的活动与角色,软件开发的开发模型有线性顺序模型、原型模型、快速开发模型、演化软件过程模型等,软件开发与软件测试的关系等。并介绍了软件测试的七条基本原则,软件测试法律法律法律依据常用有:静态测试、动态测试、白盒测试、黑盒测试、灰盒测试、人工测试、自动化测试、模型检测、冐烟测试、随机测试等。最后介绍了软件测试的有一种过程模型:V-model、W-model、H-model、X-model、 pretest-model。

猜你喜欢

多项经济指标世界第一

图:深圳地铁今年3月上线金融IC卡.云闪付过闸服务资料图片高铁营业里程2018年铁路营业里程13.2万公里,其中高速铁路3万公里,分别居世界第二和世界第一;公路里程48十五万公

2019-12-10

纸上谈兵: 堆 (heap)

作者:Vamei出处:http://www.cnblogs.com/vamei欢迎转载,也请保留这段声明。谢谢!堆(heap)又被为优先队列(priorityqueue)。尽管

2019-12-10

安徽清代古建筑维修发现太平天国文书

核心提示:记者12日从安徽省桐城市博物馆获悉,在桐城市双港镇练潭老街,施工人员日前在维修清代古建筑袁家当铺时,发现了一批文书。经桐城市博物馆初步判定,此文书为太平天国的文书。记

2019-12-10

京东欲进军美国:股价应声大涨6%,市值首破700亿美元

据路透社北京时间1月27日报道,京东股价周五收盘大涨逾6%,创历史新高,市值首次突破700亿美元大关。早前有消息称,京东计划在今年年底前进军美国市场,首先登陆洛杉矶,但是 但

2019-12-10

首家试点民营银行将落户上海 复星均瑶为发起人

2014-05-1608:11  牛华网    我要评论()字号:T|T5月16日早间消息,上海银监局副局长马立新昨日透露,上海首家民营银行即将落户上海自贸区。该消息也获得了复

2019-12-10