免费智能真题库 > 历年试卷 > 系统架构设计师 > 2013年下半年 系统架构设计师 上午试卷 综合知识
  第39题      
  知识点:   面向对象测试   软件测试
  关键词:   面向对象   软件测试   测试   对象        章/节:   设计方法       

 
以下关于面向对象软件测试的叙述中,正确的是(39)。
 
 
  A.  在测试一个类时,只要对该类的每个成员方法都进行充分的测试就完成了对该类充分的测试
 
  B.  存在多态的情况下,为了达到较高的测试充分性,应对所有可能的绑定都进行测试
 
  C.  假设类B是类A的子类,如果类A已经进行了充分的测试,那么在测试类B时不必测试任何类B继承自类A的成员方法
 
  D.  对于一棵继承树上的多个类,只有处于叶子节点的类需要测试
 
 
 

 
  第31题    2011年下半年  
   43%
最少知识原则(也称为迪米特法则)是面向对象设计原则之一,指一个软件实体应当尽可能少地与其他实体发生相互作用。这样,当一个..
  第36题    2014年下半年  
   33%
在UML提供的系统视图中,(35)是逻辑视图的一次执行实例,描述了并发与同步结构;(36)是最基本的需求分析模型。
  第32题    2017年下半年  
   60%
面向对象的分析模型主要由顶层架构图、用例与用例图和(32)构成:设计模型则包含以(33)表示的软件体系机构图、以交互图表示的..
   知识点讲解    
   · 面向对象测试    · 软件测试
 
       面向对象测试
        面向对象软件在编程方面具有类继承、接口封装支持等的显著特性,对软件测试的影响是非常大的,它大大提高了软件的可重用性,但由于对语言特性的支持导致数据屏蔽,有时候为了辅助测试还必须把操作加入接口中,软件测试随之改变也就成为必然。尽管如此,面向对象软件的测试与传统软件的测试仍然非常类似:虽然“单元”的范围已经拓展,我们仍然需要做单元测试;仍然需要做集成测试以保证各种类型的子系统可以协调运行;仍然需要做系统测试以确保软件能满足需求;仍然需要做回归测试以保证最后一轮的修改不会对软件以前的部分产生进一步的影响。
        传统测试模式与面向对象的测试模式最主要的区别在于,面向对象的测试更关注对象而不是完成输入/输出的单一功能,这样的话测试可以在分析与设计阶段就先行介入,使得测试能更好地配合软件生产过程并为之服务。与传统测试模式相比,面向对象测试的优点在于:
        (1)更早地定义出测试用例,甚至在需求被确定之前,可以帮助系统分析员和设计师更好地理解需求并且保证需求是可测试的。
        (2)由于修改错误的成本与发现错误的时间成正比,早期介入可以降低成本。
        (3)尽早地编写系统测试用例以便开发人员与测试人员对系统需求的理解保持一致
        (4)面向对象的测试模式更注重于软件的实质,例如,对于可复用的设计方式,采用面向对象的测试方法可以只专注于那些未覆盖的错误,而传统测试模式无法做到这一点。
        面向对象测试是与采用面向对象开发相对应的测试技术,它通常包括4个测试层次,从低到高排列,分别是算法层、类层、模板层和系统层。
        (1)算法层:用于测试类中定义的每个方法,基本上相当于传统软件测试中的单元测试。
        (2)类层:用于测试封装在同一个类中的所有方法与属性之间的相互作用。在面向对象软件中类是基本模块,因此可以认为这是面向对象测试中所特有的模块(单元)测试。
        (3)模板层:也称为主题层,用于测试一组协同工作的类或对象之间的相互作用。大体上相当于传统软件测试中的子系统测试,但是也有面向对象软件的特点(例如,对象之间通过发送消息相互作用)。
        (4)系统层:用于把各个子系统组装成完整的面向对象软件系统,在组装过程中同时进行测试。
        :设计测试方案的传统技术,例如,逻辑覆盖、等价划分、边界值分析和错误推测等方法,仍然可以作为测试类中每个方法的主要技术。面向对象测试的主要目标,也是用尽可能低的测试成本和尽可能少的测试方案,发现尽可能多的错误。但是,面向对象程序中特有的封装、继承和多态等机制,也给面向对象测试带来一些新问题,增加了测试和调试的难度。
 
       软件测试
        测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。
        软件测试是针对一个程序的行为,在有限测试用例集合上动态验证软件是否达到预期的行为。
        软件测试过程如下:
        (1)拟定测试计划。
        (2)编制测试大纲。
        (3)设计和生成测试用例。
        (4)实施测试。
        (5)生成测试报告。
        软件测试方法:
        .人工测试:采用人工方式进行测试,目的是通过对程序静态结构的检查,找出编译时不能发现的错误。人工测试包括个人复查、抽查和会审等。
        .机器测试:把设计好的测试用例作用于被测程序,比较测试结果和预期结果是否一致。机器测试包括黑盒测试(功能测试)和白盒测试(结构测试)。
        软件测试伴随软件开发和维护过程,通常可以在概念上划分为以下三个阶段:
        .单元测试:也称为模块测试,在模块编写完成且无编译错误后就可以进行。
        .集成测试:也称为组装测试,就是把模块按系统设计说明书的要求组合起来进行测试。
        .系统测试:是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装和确认测试。其目的是通过与系统需求相比较,发现所开发的系统与用户需求不符合的地方。
   题号导航      2013年下半年 系统架构设计师 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第39题    在手机中做本题