面向澳洲公司发展策略对象的集成测试与传统的软件集成测试有哪些不同?分别都有哪些策略?

计算机四级软件测试工程师选择题练习(2)
为了能够更好地备战计算机四级考试,我们精品学习网为大家准备了关于四级软件测试工程师选择题练习的考前实战训练,希望能够对您的考试有所帮助。
1.下列关于缺陷产生原因的叙述中,不属于技术问题的是________。
(A)文档错误,内容不正确或拼写错误
(B)系统结构不合理
(C)语法错误
(D)接口传递不匹配,导致模块集成出现问题
2.Myers在1979年提出了一个重要观点,即软件测试的目的是为了________。
(A)证明程序正确
(B)查找程序错误
(C)改正程序错误
(D)验证程序无错误
3.不需要运行程序,通过收集有关代码的结构信息来对程序进行的测试的是________。
(A)性能测试
(B)黑盒测试
(C)白盒测试
(D)静态分析
4.在软件生存周期中占据时间最长的是________。
(A)运行和维护阶段
(B)软件开发阶段
(C)需求分析阶段
(D)软件设计阶段
5.使用白盒测试方法时,确定测试数据应根据________和指定的覆盖标准。
(A)程序的复杂结构
(B)程序的内部逻辑
(C)使用说明书
(D)程序的功能
6.为提供集成测试的效果,软件的集成工作最好由________来承担。
(A)该软件的设计人员
(B)该软件的编程人员
(C)该软件开发组的负责人
(D)不属于该软件开发组的软件设计人员
7.下列几种逻辑覆盖标准中,查错能力最强的是
(A)语句覆盖
(B)条件覆盖
(C)判定覆盖
(D)条件组合覆盖
8.下列关于测试策略,说法错误的是________。
(A)自底向上测试的优点是随着上移,驱动模块逐步减少,测试开销小一些
(B)自顶向下测试的优点是较早的发现高层模块接口、控制等方面的问题
(C)自底向上测试的优点是比较容易设计测试用例
(D)自顶向下测试的优点是使得低层模块的错误较早发现
9.通常测试人员判定一个运行结果中存在缺陷的准则是________。
(A)开发人员承认这个运行结果中存在缺陷
(B)测试人员可以从中找出缺陷的证据
(C)这个运行结果与测试案例中的预期结果不一致
(D)这个运行结果与测试人员预期的不一致
10.等价类划分和边界值分析是常用的两种黑盒测试方法,采用这两种方法,可以大幅度减少测试用例的数量,那么,它们的局限性是________。
(A)在设计测试用例时不能将这两种方法结合在一起同时使用
(B)不同输入变量之间可能存在约束关系,它们不能处理这类约束关系
(C)不能用于大型信息系统的测试用例的设计
(D)不能用于单元测试和集成测试
11.下列关于测试方法,说法正确的是________。
(A)白盒测试不同于黑盒测试之处是它可以减少测试用例数量
(B)覆盖所有独立路径就能够覆盖所有分支
(C)在单元测试中不使用黑盒测试技术
(D)满足分支覆盖就满足条件覆盖和语句覆盖
12.传统的集成测试策略一般分为两种:一是非渐增式集成策略,二是渐增式集成策略。二者的区别是________。
(A)在集成测试中发现问题时,前者比后者更容易进行问题定位
(B)后者比前者更适合大规模应用系统的集成测试
(C)前者需要开发驱动模块和桩模块,而后者不需要
(D)前者不需要所有模块就绪,而后者需要
13.软件测试自动化是指利用好的测试工具以自动运行测试用例。软件测试自动化的好处在于________。
(A)比手工测试发现更多的软件缺陷
(B)可以自动产生测试计划
(C)使输入值组合的覆盖率达到100%
(D)可以在较少的时间内运行更多的测试用例
14.下列选项中,评审方法是按照正式化程度逐渐增强排列的是________。
(A)临时评审、轮查、结对评审、走查、正式审查
(B)临时评审、走查、结对评审、轮查、正式评审
(C)临时评审、走查、小组评审、结对评审、正式评审
(D)正式评审、小组评审、走查、结对评审、临时评审
15.下列关于软件性能测试的说法中,正确的是________。
(A)性能测试的目的不是为了发现软件缺陷
(B)压力测试与负载测试的目的都是为了探测软件在满足预定性能需求的情况下所能负担的最大压力
(C)性能测试通常要对测试结果进行分析才能获得测试结论
(D)在性能下降曲线上,最大建议用户数通常处于性能轻微下降区与性能急剧下降区的交界处
16.软件可靠性分析方法通常不依赖于概率统计的方法,下面属于软件可靠性分析方法的是________。
(A)失效模式影响分析法(FMEA法)
(B)故障树和事件树分析法
(C)潜在线路分析法
(D)以上全部
17.下列关于面向对象集成测试的说法中,正确的是________。
(A)大突击集成是面向对象集成测试最常用且最有效的方法
(B)自底向上集成和自顶向下集成都需要为集成测试开发大量代码
(C)与自底向上集成和自顶向下集成相比,基干集成是一种更充分的集成测试策略
(D)高频集成是以自底向上集成为基础,利用冒烟测试进行的集成测试
18.对采用迭代或增量开发过程模型开发的产品进行集成测试时最适合采用的集成策略是________。
(A)传统的集成测试策略
(B)基于使用的集成测试策略
(C)基干集成测试策略
(D)高频集成测试策略
19.对于Web应用软件系统测试技术,下列不属于功能测试的是________。
(A)表单测试
(B)并发测试
(C)链接测试
(D)Cookie测试
20.关于易用性测试,说法错误的是________。
(A)用户界面测试是软件易用性测试最重要的一项内容
(B)对软件功能的动态关联进行测试可以通过检查菜单完成
(C)使用软件的目的就是减少重复输入,减轻人工劳动,提高工作效率
(D)检查和评估软件安装手册的正确性和易用性是安装性测试的重要内容
21.关于内置式合约测试(BICT),下列说法错误的是________。
(A)加了测试器构件和测试处理器构件,使被测构件具有自测试能力
(B)该测试方法可用于动态、分布式系统
(C)该测试方法的提出扩展了基于构件的软件工程实践
(D)提出的模型驱动方法效率很高
22.下列测试类型中,不是针对软件产品的质量特性的是________。
(A)性能测试
(B)安全性测试
(C)易用性测试
(D)回归测试
23.下面有关测试设计的叙述,说法不正确的是________。
(A)测试用例的设计是一项技术性强、智力密集型的活动
(B)在测试用例设计时,只设计覆盖正常流程和操作的测试用例即可
(C)在开展测试用例设计前,必须将测试需求进行详细展开
(D)在一般的测试组织内,测试用例的评审可能不是正式的评审会
24.测试项目实践中,测试策划活动的目标是________。
(A)确定测试范围
(B)划分测试任务
(C)编写测试计划文档
(D)组织测试团队
25.下列属于QESAT/C的优点是________。
(A)及早地发现程序中隐藏地错误
(B)快捷有效地理解程序结构
(C)帮助分析和测试程序
(D)以上全部
由精品学习网提供的四级软件测试工程师选择题练习相关内容就介绍到这里,希望可以给您提供一定的帮助。
引申阅读:
计算机等级考试当前热搜
试题最新更新全国统一热线:400-028-
VPS SERVER
CLOUD HOST
欢迎光临西部数码,我们将竭诚为您提供最优质的服务!
面向对象软件的测试(2)
  面向对象程序的结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步将开发的模块搭建在一起进行测试的方法已成为不可能。而且,面向对象软件抛弃了传统的开发模式,对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的结果。因此,传统的测试模型对面向对象软件已经不再适用。针对面向对象软件的开发特点,应该有一种新的测试模型。四
面向对象测试模型(Object-Orient Test
Model)  面向对象的开发模型突破了传统的瀑布模型,将开发分为面向对象分析(OOA),面向对象设计(OOD),和面向对象编程(OOP)三个阶段。分析阶段产生整个问题空间的抽象描述,在此基础上,进一步归纳出适用于面向对象编程语言的类和类结构,最后形成代码。由于面向对象的特点,采用这种开发模型能有效的将分析设计的文本或图表代码化,不断适应用户需求的变动。针对这种开发模型,结合传统的测试步骤的划分,本文建议一种整个软件开发过程中不断测试的测试模型,使开发阶段的测试与编码完成后的单元测试、集成测试、系统测试成为一个整体。测试模型如下图所示:
           
       <FONT color=#                         面向对象编程
       OOA Test:面向对象分析的测试      OOD
Test:面向对象设计的测试       OOP Test:面向对象编程的测试      OO Unit
Test:面向对象单元测试       OO Integrate Test:面向对象集成测试  OO System
Test:面向对象系统测试  OOA Test和OOD Test
是对分析结果和设计结果的测试,主要是对分析设计产生的文本进行,是软件开发前期的关键性测试。OOP
Test主要针对编程风格和程序代码实现进行测试,其主要的测试内容在面向对象单元测试和面向对象集成测试中体现。面向对象单元测试是对程序内部具体单一的功能模块的测试,如果程序是用C
语言实现,主要就是对类成员函数的测试。面向对象单元测试是进行面向对象集成测试的基础。面向对象集成测试主要对系统内部的相互服务进行测试,如成员函数间的相互作用,类间的消息传递等。面向对象集成测试不但要基于面向对象单元测试,更要参见OOD或OOD
Test结果(详见后叙述)。面向对象系统测试是基于面向对象集成测试的最后阶段的测试,主要以用户需求为测试标准,需要借鉴OOA或OOA
Test结果。  尽管上述各阶段的测试构成一相互作用的整体,但其测试的主体、方向和方法各有不同,且为叙述的方便,本文接下来将从OOA,OOD,OOP,单元测试,集成测试,系统测试六个方面分别介绍对面向对象软件的测试。  对由OOA,OOP,OOD这三个开发阶段所构成的开发模型、各阶段应该完成的目标以及结果报告的形式等详细介绍,已经超出本文内容,请参见[1]。
五 面向对象分析的测试(OOA
Test)  传统的面向过程分析是一个功能分解的过程,是把一个系统看成可以分解的功能的集合。这种传统的功能分解分析法的着眼点在于一个系统需要什么样的信息处理方法和过程,以过程的抽象来对待系统的需要。而面向对象分析(OOA)是"把E-R图和语义网络模型,即信息造型中的概念,与面向对象程序设计语言中的重要概念结合在一起而形成的分析方法"(参见[1]),最后通常是得到问题空间的图表的形式描述。  OOA直接映射问题空间,全面的将问题空间中实现功能的现实抽象化。将问题空间中的实例抽象为对象(不同于C
中的对象概念),用对象的结构反映问题空间的复杂实例和复杂关系,用属性和服务表示实例的特性和行为。对一个系统而言,与传统分析方法产生的结果相反,行为是相对稳定的,结构是相对不稳定的,这更充分反映了现实的特性。OOA的结果是为后面阶段类的选定和实现,类层次结构的组织和实现提供平台。因此,OOA对问题空间分析抽象的不完整,最终会影响软件的功能实现,导致软件开发后期大量可避免的修补工作;而一些冗余的对象或结构会影响类的选定、程序的整体结构或增加程序员不必要的工作量。因此,本文对OOA的测试重点在其完整性和冗余性。  尽管OOA的测试是一个不可分割的系统过程,为叙述的方便,鉴于[2]中Coad方法所提出的OOA实现步骤,对OOA阶段的测试划分为以下五个方面:  ☆
对认定的对象的测试  ☆ 对认定的结构的测试  ☆ 对认定的主题的测试  ☆ 对定义的属性和实例关联的测试  ☆
对定义的服务和消息关联的测试   对象、结构、主题等在OOA结果中的位置,参见下图:  
对认定的对象的测试:  OOA中认定的对象是对问题空间中的结构,其他系统,设备,被记忆的事件,系统涉及的人员等实际实例的抽象(参见[2])。对它的测试可以从如下方面考虑:  1.1
认定的对象是否全面,是否问题空间中所有涉及到的实例都反映在认定的抽象对象中。  1.2
认定的对象是否具有多个属性。只有一个属性的对象通常应看成其他对象的属性,而不是抽象为独立的对象。  1.3
对认定为同一对象的实例是否有共同的,区别于其他实例的共同属性。  1.4
对认定为同一对象的实例是否提供或需要相同的服务,如果服务随着不同的实例而变化,认定的对象就需要分解或利用继承性来分类表示。  1.5
如果系统没有必要始终保持对象代表的实例的信息,提供或者得到关于它的服务,认定的对象也无必要。  1.6
认定的对象的名称应该尽量准确,适用。2
对认定的结构的测试  在Coad方法中,认定的结构指的是多种对象的组织方式,用来反映问题空间中的复杂实例和复杂关系。认定的结构分为两种:分类结构和组装结构。分类结构体现了问题空间中实例的一般与特殊的关系,组装结构体现了问题空间中实例整体与局部的关系。
版权申明:本站文章均来自网络,如有侵权,请联系028-0
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
服务器技术
西部数码.cn
CopyRight & &西部数码&版权所有
电话总机:028- (20线)
400电话: 400-面向对象的软件测试与传统测试的比较
面向对象的软件测试与传统测试的比较
软件危机是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。    软件的质量不仅是体现在程序的正确性上,它和编码以前所做的需求分析,软件设计也密切相关。这时,对错误的纠正往往不能通过可能会诱发更多错误的简单的修修补补,而必须追溯到软件开发的最初阶段。因此,为了保证软件的质量,我们应该着眼于整个软件生存期,特别是着眼于编码以前的各开发阶段的工作。于是,软件测试的概念和实施范围必须扩充,应该包括在整个开发各阶段的复查、评估和检测。由此,广义的软件测试实际是由确认、验证、测试三个方面组成。    在整个软件生存期,确认、验证、测试分别有其侧重的阶段。确认主要体现在计划阶段、需求分析阶段、也会出现在测试阶段;验证主要体现在设计阶段和编码阶段;测试主要体现在编码阶段和测试阶段。事实上,确认、验证、测试是相辅相成的。确认无疑会产生验证和测试的标准,而验证和测试通常又会帮助完成一些确认,特别是在系统测试阶段。    传统的测试计算机软件的策略是从“小型测试”开始,逐步走向“大型测试”。即我们从单元测试开始,然后逐步进入集成测试,最后是有效性和系统测试。在传统应用中,单元测试集中在最小的可编译程序单位――子程序(如,模块、子例程、进程),一旦这些单元均被独立测试后,它被集成在程序结构中,这时要进行一系列的回归测试以发现由于模块的接口所带来的错误和新单元加入所导致的副作用,最后,系统被作为一个整体测试以保证发现在需求中的错误。    面向对象程序的结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步将开发的模块搭建在一起进行测试的方法已成为不可能。而且,面向对象软件抛弃了传统的开发模式,对每个开发阶段都有不同以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计的结果。因此,传统的测试模型对面向对象软件已经不再适用。  1、 面向对象测试模型  面向对象的开发模型突破了传统的瀑布模型,将开发分为面向对象分析(OOA),面向对象设计(OOD),和面向对象编程(OOP)三个阶段。针对这种开发模型,结合传统的测试步骤的划分,我们把面向对象的软件测试分为:面向对象分析的测试,面向对象设计的测试,面向对象编程的测试,面向对象单元测试,面向对象集成测试,面向对象系统测试。  2、 面向对象分析的测试  传统的面向过程分析是一个功能分解的过程,是把一个系统看成可以分解的功能的集合。这种传统的功能分解分析法的着眼点在于一个系统需要什么样的信息处理方法和过程,以过程的抽象来对待系统的需要。而面向对象分析(OOA)是"把E-R图和语义网络模型,即信息造型中的概念,与面向对象程序设计语言中的重要概念结合在一起而形成的分析方法",最后通常是得到问题空间的图表的形式描述。OOA直接映射问题空间,全面的将问题空间中实现功能的现实抽象化。将问题空间中的实例抽象为对象,用对象的结构反映问题空间的复杂实例和复杂关系,用属性和操作表示实例的特性和行为。对一个系统而言,与传统分析方法产生的结果相反,行为是相对稳定的,结构是相对不稳定的,这更充分反映了现实的特性。OOA的结果是为后面阶段类的选定和实现,类层次结构的组织和实现提供平台。因此,对OOA的测试,应从以下方面考虑:    对认定的对象的测试    对认定的结构的测试    对认定的主题的测试    对定义的属性和实例关联的测试    对定义的服务和消息关联的测试  3、 面向对象设计的测试  通常的结构化的设计方法,用的"是面向作业的设计方法,它把系统分解以后,提出一组作业,这些作业是以过程实现系统的基础构造,把问题域的分析转化为求解域的设计,分析的结果是设计阶段的输入"。而面向对象设计(OOD)采用"造型的观点",以OOA为基础归纳出类,并建立类结构或进一步构造成类库,实现分析结果对问题空间的抽象。由此可见,OOD不是在OOA上的另一思维方式的大动干戈,而是OOA的进一步细化和更高层的抽象。所以,OOD与OOA 的界限通常是难以严格区分的。OOD确定类和类结构不仅是满足当前需求分析的要求,更重要的是通过重新组合或加以适当的补充,能方便实现功能的重用和扩增,以不断适应用户的要求。因此,对OOD的测试,应从如下三方面考虑:    对认定的类的测试    对构造的类层次结构的测试    对类库的支持的测试  4、 面向对象编程的测试  典型的面向对象程序具有继承、封装和多态的新特性,这使得传统的测试策略必须有所改变。封装是对数据的隐藏,外界只能通过被提供的操作来访问或修改数据,这样降低了数据被任意修改和读写的可能性,降低了传统程序中对数据非法操作的测试。继承是面向对象程序的重要特点,继承使得代码的重用率提高,同时也使错误传播的概率提高。多态使得面向对象程序对外呈现出强大的处理能力,但同时却使得程序内"同一"函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生的行为。    面向对象程序是把功能的实现分布在类中。能正确实现功能的类,通过消息传递来协同实现设计要求的功能。因此,在面向对象编程(OOP)阶段,忽略类功能实现的细则,将测试的目光集中在类功能的实现和相应的面向对象程序风格,主要体现为以下两个方面。    数据成员是否满足数据封装的要求    类是否实现了要求的功能  5、 面向对象的单元测试  传统的单元测试的对象是软件设计的最小单位――模块。单元测试的依据是详细设描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。    当考虑面向对象软件时,单元的概念发生了变化。封装驱动了类和对象的定义,这意味着每个类和类的实例(对象)包装了属性(数据)和操纵这些数据的操作。而不是个体的模块。最小的可测试单位是封装的类或对象,类包含一组不同的操作,并且某特殊操作可能作为一组不同类的一部分存在,因此,单元测试的意义发生了较大变化。我们不再孤立地测试单个操作,而是将操作作为类的一部分。  6、 面向对象的集成测试  传统的集成测试,有两种方式通过集成完成的功能模块进行测。(一)自顶向下集成:自顶向下集成是构造程序结构的一种增量式方式,它从主控模块开始,按照软件的控制层次结构,以深度优先或广度优先的策略,逐步把各个模块集成在一起。(二)自底向上集成:自底向上测试是从“原子”模块(即软件结构最低层的模块)开始组装测试。    因为面向对象软件没有层次的控制结构,传统的自顶向下和自底向上集成策略就没有意义,此外,一次集成一个操作到类中(传统的增量集成方法)经常是不可能的,这是由于“构成类的成分的直接和间接的交互”。对OO软件的集成测试有两种不同策略,第一种称为基于线程的测试,集成对回应系统的一个输入或事件所需的一组类,每个线程被集成并分别测试,应用回归测试以保证没有产生副作用。第二种称为基于使用的测试,通过测试那些几乎不使用服务器类的类(称为独立类)而开始构造系统,在独立类测试完成后,下一层的使用独立类的类,称为依赖类,被测试。这个依赖类层次的测试序列一直持续到构造完整个系统。  7、 面向对象的系统测试  通过单元测试和集成测试,仅能保证软件开发的功能得以实现。但不能确认在实际运行时,它是否满足用户的需要。为此,对完成开发的软件必须经过规范的系统测试。系统测试应该尽量搭建与用户实际使用环境相同的测试平台,应该保证被测系统的完整性,对临时没有的系统设备部件,也应有相应的模拟手段。系统测试时,应该参考OOA分析的结果,对应描述的对象、属性和各种服务,检测软件是否能够完全"再现"问题空间。系统测试不仅是检测软件的整体行为表现,从另一个侧面看,也是对软件开发设计的再确认。    面向对象测试的整体目标――以最小的工作量发现最多的错误――和传统软件测试的目标是一致的,但是OO测试的策略和战术有很大不同。测试的视角扩大到包括复审分析和设计模型,此外,测试的焦点从过程构件(模块)移向了类。    不论是传统的测试方法还是面向对象的测试方法,我们都应该遵循下列的原则:    1.应当把“尽早和不断地测试”作为开发者的座右铭。    2.程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。    3.设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。    4.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。    5.对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。    6.制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。    7.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。    8.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。
&&&主编推荐
H3C认证Java认证Oracle认证
基础英语软考英语项目管理英语职场英语
.NETPowerBuilderWeb开发游戏开发Perl
二级模拟试题一级模拟试题一级考试经验四级考试资料
软件测试软件外包系统分析与建模敏捷开发
法律法规历年试题软考英语网络管理员系统架构设计师信息系统监理师
高级通信工程师考试大纲设备环境综合能力
路由技术网络存储无线网络网络设备
CPMP考试prince2认证项目范围管理项目配置管理项目管理案例项目经理项目干系人管理
职称考试题目
招生信息考研政治
网络安全安全设置工具使用手机安全
生物识别传感器物联网传输层物联网前沿技术物联网案例分析
Java核心技术J2ME教程
Linux系统管理Linux编程Linux安全AIX教程
Windows系统管理Windows教程Windows网络管理Windows故障
数据库开发Sybase数据库Informix数据库
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&工具类服务
编辑部专用服务
作者专用服务
面向对象软件的集成测试方法
学科专业:
授予学位:
学位授予单位:
导师姓名:
学位年度:
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社

我要回帖

更多关于 js面向对象 的文章

 

随机推荐