软件测试工程师

简述面向对象测试与传统测试的区别?

题目

简述面向对象测试与传统测试的区别?

参考答案和解析
正确答案: 1、面向对象程序的结构不再是传统的功能模块结构,作为一个整体,原有集成测试所要求的逐步将开发的模块搭建在一起进行测试的方法已经不可能;
2、面向对象软件抛弃了传统的开发模式,对每个开发阶段都有不同于以往的要求和结果,已经不可能用功能细化的观点来检测面向对象分析和设计结果;
3、面向对象的软件开发模型突破了传统的瀑布模型,将开发分为面向对象分析(OOA)、面向对象设计(OOD)和面向对象编程(OOP)3个阶段。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

分析比较面向对象的软件测试与传统的软件测试的异同。


正确答案:传统的单元测试的对象是软件设计的最小单位——模块。当考虑面向对象软件时,单元的概念发生了变化,此时最小的可测试单位是封装的类或对象,而不再是个体的模块。传统单元测试主要关注模块的算法实现和模块接口间数据的传递,而面向对象的单元测试主要考察封装在一个类中的方法和类的状态行为。
面向对象软件没有层次的控制结构,因此传统的自顶向下和自底向上集成策略就不再适合,它主要有以下两种集成策略:基于类间协作关系的横向测试;基于类间继承关系的纵向测试。系统测试一般不考虑内部结构和中间结果,因此面向对象软件系统测试与传统的系统测试差别不大。
面向对象软件测试的整体目标和传统软件测试的目标是一致的即以最小的工作量发现尽可能多的错误,但是面向对象测试的策略和战术有很大不同。测试的视角扩大到包括复审分析和设计模型,此外,测试的焦点从过程构件(模块)移向了类。

第2题:

面向对象的测试与传统的测试有什么相同和不同之处?


正确答案: ⑴传统的测试要在编码之后才进行,主要测试的对象是程序代码。而面向对象的测试既在没有代码的情况下进行测试,也在有代码的情况下进行测试,是一种被应用在开发过程不同阶段的活动,是与开发过程密切相关而又分离出来的过程,贯穿软件开发的全过程。
⑵面向对象的测试更关注对象而不是像传统的测试仅完成输入输出的单一功能,强调需求或设计的测试,验证和确认规格说明的有效性和正确性。一般采用静态走查和动态的场景模拟等方法,保证了需求和设计的高质量。
⑶由于测试对象不同,如传统测试中的单元测试,对应面向对象的测试中的类测试,类测试包括:类属性的测试、类操作的测试、可能状态下对象测试。根据面向对象的主要特性,在测试策略和方法上有所区别。通常面向对象的测试更加困难,例如类间的继承性可能给测试带来新的困难,继承性层次的测试需要更彻底的测试方法。
⑷在面向对象的测试中,一些常用的传统测试技术,如白盒法、黑盒法仍然可以使用。

第3题:

在面向对象软件的集成测试中,关于程序的系统测试,说法错误的是______。

A) 面向对象系统测试的主要目标是测试开发出来的软件是否是问题空间的一个合理解

B) 对于系统测试而言,面向对象软件与传统结构化软件并没有本质区别

C) 面向对象软件测试技术主要有功能测试和其他系统测试

D) 面向对象的系统测试,与传统的面向过程的结构化软件测试方法,在类与对象这一块有着本质的区别

A.

B.

C.

D.


正确答案:D

第4题:

面向对象的集成测试与传统的集成测试有何区别?


正确答案: 传统测试方法中的集成测试,主要采用黑盒法,按照自顶向下和自底向上的集成策略对模块进行组装测试。
面向对象的集成测试即交互测试,要检测类相互作用时才会产生的错误,即交互测试只关心系统的结构和内部的相互作用。对类进行交互测试,以确定它们能否在一起共同工作。交互测试的重点是要确保那些已经单独测试过的类的对象,相互间能够正确地传送消息。而面向对象的软件没有层次控制结构,一次集成一个操作到类中(传统的增量集成方法)是不可能的。
通常采用两种不同的策略:
⑴基于线程的测试(thread-based testing),集成对回应系统的一个输入或事件所需的一组类,每个线程被集成并分别测试。
⑵基于使用的测试(use-based testing),先测试独立类(几乎不使用服务器的类),然后测试下一层使用独立类的类(依赖类)。通过对依赖类层次的测试,逐步构造新的子系统,最后构造完整的系统。

第5题:

对比传统的软件测试和面向对象的软件测试策略。


正确答案: (1)单元测试。前者单元测试与编码在同一阶段进行,测试最小的可编译的程序单元;后者中最小的测试单元是封装起来的类和对象,同时把操作作为类的一部分来测试
(2)集成测试。前者主要采用渐增式测试方法,即自顶向下集成测试方法或自底向上集成测试方法,同时还采用回归测试;后者主要采用基于线程的测试方法或基于使用的测试方法。
(3)确认测试。两者都是集中检查用户可见的动作和用户可识别的输出,前者常用Alpha测试和Beta测试;但后者为了导出确认测试用例,测试人员应该认真研究动态模型和描述系统行为的脚本。

第6题:

试比较面向对象单元测试与传统结构化单元测试的异同。


正确答案:相同之在于是都是测试程序的最小执行单元,如函数、操作。但面向对象的单元概念发生了改变,封装导致了类和对象成为了最小的可测试单元,而一个类可以包含一组不同的操作,并且一个特定的操作还又可能被多个子类继承而共同拥有。因此,在进行面向对象单元测试时,不能孤立地测试单个操作,而应该把操作作为类的一部分来测试。

第7题:

面向对象测试中测试一组协同工作的类与对象之间的相互作用,大体相当于传统软件测试中的()。

  • A、单元测试
  • B、模块测试
  • C、子系统测试
  • D、验证测试

正确答案:C

第8题:

以下关于面向对象软件测试的说法中,正确的是

A) 单个成员方法的测试不属于面向对象单元测试考虑的范畴

B) 等价类划分测试只适用于传统软件的测试,不适用于面向对象软件的测试

C) 基于判定表的测试适用于面向对象软件的测试

D) 抽象类无法进行单元测试

A.

B.

C.

D.


正确答案:D

第9题:

面向对象系统的确认测试也是面向功能的,并且可以应用传统的白盒方法完成测试工作。但是,基于情景的测试是面向对象系统确认测试的主要方法。


正确答案:错误

第10题:

在面向对象测试技术中,对认定的类的测试属于()。

  • A、面向对象分析的测试
  • B、面向对象设计的测试
  • C、面向对象编程的测试
  • D、面向对象的系统测试

正确答案:B

更多相关问题