免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2021年上半年 信息系统项目管理师 上午试卷 综合知识
  第48题      
  知识点:   配置管理相关概念   测试阶段   集成测试
  章/节:   配置管理基础       

 
某软件产品集成测试阶段,发现问题需要对源代码进行修改。此时,程序员应将待修改的代码段从( )检出,放入自己的(51)中进行修改,代码即被锁定,以保证同一段代码只能被一个程序员修改。
 
 
  A.  产品库 开发库
 
  B.  受控库 开发库
 
  C.  产品库 受控库
 
  D.  受控库 产品库
 
 
 

 
  第64题    2016年上半年  
   40%
配置项的状态有三种:草稿、正式发布和正在修改。以下叙述中,不正确的是:(64)。
  第65题    2012年下半年  
   54%
关于配置管理计划的制订和审批,下面说法正确的是(65).
  第62题    2017年上半年  
   43%
以下关于软件版本控制的叙述中,正确的是:()。
   知识点讲解    
   · 配置管理相关概念    · 测试阶段    · 集成测试
 
       配置管理相关概念
        配置管理
        配置管理是采用技术手段和行政手段进行管理和监督的一套规范化方法;对配置项的功能特性和物理特性加以标识,并将其文档化;控制这些特性的变更;报告变更进行的情况和变更实施的状态以及验证与规定需求的一致性。
        项目配置管理的主要任务包括:
        .制订项目配置管理计划。
        .确定配置标识规则。
        .实施变更控制。
        .报告配置状态。
        .进行配置审核。
        .进行版本管理和发行管理。
        配置管理系统
        配置管理系统用于控制工作产品的配置管理和变更管理。该系统包括存储媒体、规程和访问该配置系统的工具、用于记录和访问变更请求的工具。
        在大多数应用领域,配置管理系统包括变更控制系统。
        配置管理活动和流程
        配置管理活动和流程主要包括制订配置管理计划、配置识别与建议基线、建立配置管理系统、版本管理、配置状态报告和配置审计。
        配置项
        IEEE对配置项的定义为“硬件、软件或二者兼有的集合,为配置管理指定的,在配置管理过程中作为一个单独的实体对待。
        产品配置是指一个产品在其生命周期各个阶段所产生的各种形式和各种版本的文档、计算机程序、部件及数据的集合。该集合中的每个元素称为该产品配置中的一个配置项(CI),主要有两大类:
        .属于产品组成部分的工作成果,如需求、设计文档、源代码和测试用例等。
        .属于项目管理和机构支撑过程域产生的文档,如工作计划、质量报告、项目跟踪报告等。
        每个配置项的主要属性有名称、标识符、文件状态、版本、作者和日期等。
        配置库
        配置库是一组受控制的,辅助软件开发、使用和维护的软件及相关的文档,它在软件发布与交付活动中起着器械性的作用。
        配置库的主要作用表现在:
        .记录与配置相关的所有信息。
        .利用库中的信息可评价变更的后果。
        .从库中可提取各种配置管理过程的管理信息。
        配置库有三类:
        .开发库。也称动态库,存放开发过程中需要保留的各种信息,供开发人员个人专用。无须对开发库的修改做限制。
        .受控库。也称主库,在信息系统开发的某个阶段结束时,将工作产品存入或有关信息存入。对库内信息的修改要遵循变更控制流程。
        .产品库。存放最终产品,等待交付用户或现场安装。库内信息也应加以控制。
        基线
        基线是一组经过正式审查并且达成一致的规范或工作产品,是开发工作的基础。一个产品可以有多个基线,也可以只有一个基线。交付给外部顾客的基线一般称为发行基线,内部使用的基线一般称为构造基线。
        基线的主要属性有名称、标识符、版本和日期等。一组拥有唯一标识号的需求、设计、源代码以及相应的可执行代码、构造文档和用户文档可以认为是一个基线。产品的一个测试版本也可以作为基线。
        在建立基线以前,工作产品的所有者能快速、非正式地对工作产品做出变更。但基线建立以后,变更则需要由正式的变更控制程序来控制。
        变更控制委员会
        变更控制委员会(CCB)也称为配置控制委员会,是配置项变更的监管组织。其任务是对提出的配置项变更做出评价、审批以及监督已批准变更的实施。
        变更控制委员会的成员可以包括项目经理、用户代表、项目质量控制人员、配置控制人员等。CCB可以不是常设机构,完全可以根据工作需要组成,小项目CCB可以只有一人,甚至只是兼职人员。它的任务除控制变更以外,也可以负责更多的配置管理任务,如基线的审定、标识的审定以及产品的审定。
 
       测试阶段
        . 可靠性测试(含于集成测试、系统测试);
        . 排错;
        . 可靠性建模;
        . 可靠性评价;
        . 调整可靠性活动计划;
        . 收集可靠性数据;
        . 明确后续阶段的可靠性活动的详细计划;
        . 编制可靠性文档。
 
       集成测试
        集成测试也叫做组装测试或联合测试。通常,在单元测试的基础上,需要将所有模块按照概要设计说明书和详细设计说明书的要求进行组装。
        . 组装时需要考虑的问题。
        ①在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;
        ②一个模块的功能是否会对另一个模块的功能产生不利的影响;
        ③各个子功能组合起来,能否达到预期要求的父功能;
        ④全局数据结构是否有问题;
        ⑤单个模块的误差累积起来,是否会放大,以至达到不能接受的程度。
        因此,在单元测试的同时可进行集成测试,发现并排除在模块连接中可能出现的问题,最终构成要求的软件系统。
        子系统的集成测试称为部件测试,它所做的工作是要找出组装后的子系统与系统需求规格说明之间的不一致。
        选择什么方式把模块组装起来形成一个可运行的系统,直接影响到模块测试用例的形式、所用测试工具的类型、模块编号的次序和测试的次序以及生成测试用例的费用和调试的费用。
        . 模块组装成为系统的方式。
        模块组装成为系统的方式有两种:一次性组装方式和增殖式组装方式。
        ①一次性组装方式(big bang)。
        它是一种非增殖式组装方式,也叫做整体拼装。使用这种方式,首先对每个模块分别进行模块测试,再把所有模块组装在一起进行测试,最终得到要求的软件系统。例如,有一个模块系统结构,如下图(a)所示。其单元测试和组装顺序如下图(b)所示。
        
        一次性组装方式
        在如上图(b)中,模块d1,d2,d3,d4,d5是对各个模块做单元测试时建立的驱动模块,s1,s2,s3,s4,s5是为单元测试而建立的桩模块。这种一次性组装方式试图在辅助模块的协助下,在分别完成模块单元测试的基础上,将所测模块连接起来进行测试。但是由于程序中不可避免地存在涉及模块间接口、全局数据结构等方面的问题,所以一次试运行成功的可能性并不很大。其结果是,发现有错误,却茫然找不到原因。查错和改错都会遇到困难。
        ②增殖式组装方式。
        这种组装方式又称渐增式组装,是首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统,在组装的过程中边连接边测试,以发现连接过程中产生的问题。最后通过增殖逐步组装成为要求的软件系统。
        . 自顶向下的增殖方式。这种组装方式是将模块按系统程序结构,沿控制层次自顶向下进行组装。其步骤如下:首先以主模块作为所测模块兼驱动模块,所有直属于主模块的下属模块全部用桩模块代替,对主模块进行测试。再采用深度优先(如下图所示为自顶向下的增殖方式)或广度优先的策略,用实际模块替换相应的桩模块,再用桩模块代替它们的直接下属模块,与已测试的模块或子系统组装成新的子系统。然后,进行回归测试(即重新执行以前做过的全部测试或部分测试),排除组装过程中引入新的错误的可能。最后,判断是否所有的模块都已组装到系统中。是,则结束测试;否则,转到B去执行。
        
        自顶向下的增殖方式
        自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断点。在一个功能划分合理的程序模块结构中,判断常常出现在较高的层次里,因而,能够较早地遇到这种问题。如果主要控制有问题,尽早发现它能够减少以后的返工,这是十分必要的。如果选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能,可先对逻辑输入的分支进行组装和测试,检查和克服潜藏的错误和缺陷,验证其功能的正确性,就为其后对主要加工分支的组装和测试提供了保证。此外,功能可行性较早地得到证实,还能够增强开发者和用户成功的信心。
        . 自底向上的增殖方式。这种组装方式是从程序模块结构的最底层模块开始组装和测试。因为模块是自底向上进行组装的,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经组装并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以通过直接运行子模块得到。自底向上增殖的步骤如下:首先由驱动模块控制最底层模块的并行测试;也可以把最底层模块组合成实现某一特定软件功能的簇,由驱动模块控制它进行测试。再用实际模块代替驱动模块,与它已测试的直属子模块组装成为子系统。然后,为子系统配备驱动模块,进行新的测试。最后判断是否已组装到达主模块。是,则结束测试;否则,执行B。
        以如下图一(a)所示的一次性组装方式系统结构为例,可以用如下图二说明自底向上组装和测试的顺序。
        
        一次性组装方式
        
        自底向上的增殖方式
        . 混合增殖式测试。自顶向下增殖的方式和自底向上增殖的方式各有优缺点。一般来讲,一种方式的优点是另一种方式的缺点。
        自顶向下增殖方式的缺点是需要建立桩模块。要使桩模块能够模拟实际子模块的功能十分困难,因为,桩模块在接收了所测模块发送的信息后,需要按照它所代替的实际子模块功能返回应该回送的信息,这必将增加建立桩模块的复杂度,而且导致增加一些附加的测试。同时,涉及复杂算法和真正输入/输出的模块一般在底层,它们是最容易出问题的模块,到组装和测试的后期才遇到这些模块,一旦发现问题,就会导致过多的回归测试。而自顶向下增殖方式的优点是能够较早地发现主要控制方面的问题。
        自底向上增殖方式的缺点是“程序一直未能作为一个实体存在,直到最后一个模块加上去后才形成一个实体”。就是说,在自底向上组装和测试的过程中,对主要的控制直到最后才接触到。这种方式的优点是不需要桩模块,而建立驱动模块一般比建立桩模块容易,同时由于涉及到复杂算法和真正输入/输出的模块最先得到组装和测试,可以把最容易出问题的部分在早期解决。此外自底向上增殖的方式可以实施多个模块的并行测试,提高测试效率。因此,通常是把以上两种方式结合起来进行组装和测试。
        在进行集成测试时,测试者应当确定关键模块,对这些关键模块及早进行测试。关键模块至少应具有以下几种特征之一:
        . 满足某些软件需求;
        . 在程序的模块结构中位于较高的层次(高层控制模块);
        . 较复杂、较易发生错误;
        . 有明确定义的性能要求。
        在做回归测试时,也应该集中测试关键模块的功能。
        . 集成测试的组织和实施。
        集成测试是一种正规测试过程,必须精心计划,并与单元测试的完成时间协调起来。在制定测试计划时,应考虑如下因素:
        ①采用何种系统组装方法来进行集成测试。
        ②集成测试过程中连接各个模块的顺序。
        ③模块代码编制和测试进度是否与集成测试的顺序一致。
        ④测试过程中是否需要专门的硬件设备。
        解决了上述问题之后,就可以列出各个模块的编制、测试计划表,标明每个模块单元测试完成的日期、首次集成测试的日期、集成测试全部完成的日期、以及需要的测试用例和所期望的测试结果。
        在缺少软件测试所需要的硬件设备时,应检查该硬件的交付日期是否与集成测试计划一致。例如,若测试需要数字化仪和绘图仪,则相应的测试应安排在这些设备能够投入使用之时,并要为硬件的安装和交付使用保留一段时间,以留下时间余量。此外,在测试计划中需要考虑测试所需软件(驱动模块、桩模块、测试用例生成程序等)的准备情况。
        . 集成测试完成的标志。
        集成测试完成的标志主要有以下几项。
        ①成功地执行了测试计划中规定的所有集成测试。
        ②修正了所发现的错误。
        ③测试结果通过了专门小组的评审。
        集成测试应由专门的测试小组来进行,测试小组由有经验的系统设计人员和程序员组成。整个测试活动要在评审人员出席的情况下进行。
        在完成预定的集成测试工作之后,测试小组应负责对测试结果进行整理、分析,形成测试报告。测试报告中要记录实际的测试结果在测试中发现的问题、解决这些问题的方法以及解决之后再次测试的结果。此外还应提出目前不能解决、还需要管理人员和开发人员注意的一些问题,提供测试评审和最终决策,以提出处理意见。
        集成测试需要提交的文档有集成测试计划、集成测试规格说明和集成测试分析报告。
   题号导航      2021年上半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第48题    在手机中做本题