哈尔滨工程大学软件工程复习资料带答案(5)

本站小编 免费考研网/2019-03-21


 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.开发计划

二、填空题
1.发现错误                       2.动态测试
3.黑盒法                           4.判定覆盖
5.循环次数                       6.两个不合理等价类
7.错误推测法                   8.渐增式和非渐增式测试方法
9.进行确认测试和软件配置审查
10.驱动模块和桩模块
三、选择题
1.B.       2.C.      3.B.      4.D.        5.D.
6.A.       7.B.      8.D.      9.A.       10.A.

1.黑箱测试是从_____观点的测试,白箱测试是从_____观点的测试。(  )
 A.开发人员、管理人员          B.用户、管理人员
 C.用户、开发人员              D.开发人员、用户
 
2.软件测试可能发现软件中的_____,但不能证明软件____。(  )
 A.所有错误、没有错误         B.错误、没有错误
 C.逻辑错误、没有错误         D.设计错误、没有错误
 
3.软件测试的目的是?(  )
 A.证明软件的正确性
 B.找出软件系统中存在的所有错误
 C.证明软件系统中存在错误
 D.尽可能多的发现软件系统中的错误
 
4.软件测试是软件质量保证的主要手段之一,测试的费用已超过(  )的30%以上,因此提高测试的有效性非常重要。
 A.软件开发费用                     B.软件维护费用
 C.软件开发和维护费用               D.软件研制费用
 
5.一般说来,投入运行的软件系统中有错误(  )。
 A.不是不可以理解的                 B.是不能容忍的
 C.是要求退货的理由                 D.是必然的
 
6.为了把握软件开发各个环节的正确性和协调性,人们需要进行A 和B 工作。A 的目的是想证实在一给定的外部环境中软件的逻辑正确性,它包括C 和D 。B 则试图证明在软件生存期各个阶段,以及阶段间的逻辑 E 、 F 和正确性。
供选择的答案
 A和B: ①操作           ②确认          ③测试   
       ④验证           ⑤调试
 C和D: ①用户的确认     ②需求规格说明的确认
       ③程序的确认     ④测试的确认
 E和F: ①可靠性         ②独立性        ③协调性
       ④完备性         ⑤扩充性
 
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.语句覆盖                  D.条件及判定覆盖
 
14.软件的集成测试工作最好由(  )承担,以提高集成测试的效果。
 A.该软件的设计人员
 B.该软件开发组的负责人
 C.该软件的编程人员
 D.不属于该软件开发组的软件设计人员
 
15.集成测试的主要方法有两个,一个是_____?一个是_____?(  )
 A.白箱测试方法、黑箱测试方法
 B.渐增式测试方法、非渐增式测试方法
 C.等价分类方法、边缘值分析方法
 D.因果图方法、错误推测方法
 
16.验收测试的任务是验证软件的(  )
 A.完整性                     B.正确性
 C.有效性                     D.移植性
 
17.检查软件产品是否符合需求定义的过程为(  )
 A.确认测试                   B.集成测试
 C.验证测试                   D.验收测试
 
18.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中单元测试是在(  )阶段完成的?
 A.可行性研究和计划           B.需求分析
 C.编码阶段                   D.详细设计
 
19.据国家标准GB8566-8计算机软件开发的规定,软件的开发和维护划分为八个阶段,其中组装测试的计划是在(  )阶段完成的?
 A.可行性研究和计划           B.需求分析
 C.概要设计                   D.详细设计
 
20.软件测试的目的是尽可能发现软件中的错误,通常(   )是代码编写阶段可进行的测试,它是整个测试工作的基础。
 A.系统分析                   B.安装测试
 C.验收测试                   D.单元测试

21.软件测试通常可分为单元测试、集成测试、确认测试和系统测试,其中确认测试主要用于发现(A)阶段的错误。在集成测试时,通常可采用自顶向下增值式集成和自底向上增值式集成。在自底向上增值式集成时,对每个被集成的模块(B)。对那些为众多用户开发的软件(如操作系统、编译程序),通常还要进行α测试和β测试,以发现可能只有最终用户才能发现的错误,其中,α测试是指最终用户在(C)的情况下所进行的测试,β测试是指最终用户在(D)的情况下所进行的测试。在软件维护阶段,当修改软件后,除了进行常规的测试外,还应进行(E)测试。
供选择的答案
   A: ①需求分析   ②概要设计   ③详细设计   ④编码
   B: ①不必设计驱动模块和桩(stub)模块
      ②不必设计驱动模块,但要设计桩模块
      ③要设计驱动模块,但不必设计桩模块
      ④要设计驱动模块和桩模块
C和D: ①开发环境下,开发人员不在场
      ②开发环境下,开发人员在场
      ③用户的实际使用环境下,开发人员不在场
      ④用户的实际使用环境下,开发人员在场
   E: ①恢复       ②强度      ③安装       ④回归
 
22.集成测试也叫做(A)和(B)。通常,在(C)的基础上,将所有模块按照设计要求组装成系统。子系统的集成测试称为(D),它所做的工作是要找出子系统和系统需求规格说明之间的(E)。需要考虑的问题是在各个模块连接起来的时候,穿越模块接口的数据是否会(F);一个模块的功能是否会对另一个模块的功能产生不利的影响;各个(G)组合起来,能否达到预期要求的(H);(I)是否有问题;单个模块的误差积累起来是否会放大。
供选择的答案
 A~D: ①单元测试        ②部件测试         ③组装测试
       ④系统测试        ⑤确认测试         ⑥联合测试
 E~I: ①子功能          ②丢失             ③父功能
       ④局部数据结构    ⑤全局数据结构     ⑥不一致        ⑦一致

答案:1.C  2.B  3.D  4.A  5.A  6.A.②B.④C.②D.③E.③F.④  7.D  8.A  9.A  10.C  11.A  12.B  13.C  14.D  15.B  16.C  17.A  18.C  19.C  20.D  21.A.①B.③C.②D.③E.④  22.A.③B.⑥C.①D.②E.⑥F.②G.①H.③I.⑤



第8章 软件维护

一、填空题
1.为了识别和纠正运行中产生的错误而进行的维护称为_________维护。
 
2.采用软件工程方法开发软件,各阶段均有文档,容易维护,这种维护是________。
 
3.为提高可维护性,要使用的先进的、强有力的、实用的软件开发方法是________。
 
4.在软件维护中,因修改软件而导致出现的错误或其他情况称为__________。
 
二、选择题
1.为增加软件功能和性能而进行的软件修改维护过程是(  )。
 A.校正性维护    B.适应性维护    C.完善性维护     D.预防性维护
 
2.维护中用来指出修改的工作量、工作性质、优先权、修改的事后性质的文档是(  )。
 A.软件需求说明  B.软件修改报告  C.软件问题报告   D.测试分析报告
 
3.维护中,因修改全局或公用数据而引起的错误是(  )。
 A.文档副作用    B.数据副作用    C.编码副作用     D.设计副作用
 
4.生产性维护活动是(  )。
 A.修改设计      B.理解设计      C.解释数据结构   D.理解功能
 
 

答案:
一、填空题
1.校正性
2.结构化维护
3.面向对象方法
4.维护的副作用

二、选择题
1.C
2.B
3.B
4.A


二、填空题
1.维护阶段是软件生存周期中时间最长的阶段,也是花费精力和费用________的阶段。
2.在软件交付使用后,由于在软件开发过程中产生的错误没有完全彻底在开发阶段发现,必然有一部分隐含错误带到_________阶段。
3.采用手工方法开发软件只有程序而无文档,维护困难,这是一种___________维护。
4.软件维护费用增加的主要原因是维护的_________非常低。
5.软件维护工作的活动分为生产性活动和__________活动。
6.所有软件维护申请报告要按规定方式提出,该报告也称_________报告。
7.有两类维护技术:在开发阶段使用来减少错误,提高软件可维护性的面向维护技术;在维护阶段用来提高维护的效率和质量的_______技术。
三、选择题
1.在生存周期中,时间长、费用高、困难大的阶段是( )。
 A.需求分析            B.编码         C.测试                        D.维护
2.为适应软硬件环境变化而修改软件的过程是( )。
 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.可理解性和可读性

参考答案
二、填空题
1.最多              2.维护
3.非结构化      4.生产率
5.非生产性      6.软件问题
7.维护支援
三、选择题
1.D     2.B     3.C     4.B
5.C     6.C     7.C     8.A      9.C

1.软件生命周期的最后的一个阶段是(  )
 A.书写软件文档          B.软件维护
 C.稳定性测试            D.书写详细用户说明
 
2.软件维护工作的最主要部分是(  )
 A.校正性维护            B.适应性维护
 C.完善性维护            D.预防性维护
 
3.在软件维护工作中进行的最少的部分是(  )
 A.校正性维护            B.适应性维护
 C.完善性维护            D.预防性维护
 
4.软件维护工作中大部分的工作是由于(  )而引起的。
 A.程序的可靠性          B.适应新的硬件环境
 C.适应新的软件环境      D.用户的需求改变
 
5.软件维护时,对测试阶段未发现的错误进行测试、诊断、定位、纠错,直至修改的回归测试过程称为(  )
 A.改正性维护            B.适应性维护

相关话题/软件工程