免费智能真题库 > 历年试卷 > 系统集成项目管理工程师 > 2015年下半年 系统集成项目管理工程师 上午试卷 综合知识
  第56题      
  知识点:   备选方案分析   测试工具   维护   运行维护   自动化
  关键词:   测试   系统集成   验收   运行维护   资源估算   自制   维护        章/节:   估算活动资源       

 
公司刚承接了一个系统集成及运行维护项目,在做集成验收活动的资源估算时,需要综合考虑完成活动的工程师的经验及技能、各种大小或类型的机器、各种测试工具(手工操作或自动化工具),以及所需资源的自制或购买决策等。此种资源估算方法称为(56)。
 
 
  A.  自下而上估算
 
  B.  多方案分析
 
  C.  专家判断
 
  D.  项目管理软件
 
 
 

 
  第44题    2009年下半年  
   45%
某项目经理正在负责某政府的一个大项目,采用自下而上的估算方法进行成本估算,一般而言,项目经理首先应该(44)。
  第37题    2011年下半年  
   71%
某项目经理正在进行活动资源估算,他可以采用的方法或技术中不包括(37)。
 
   知识点讲解    
   · 备选方案分析    · 测试工具    · 维护    · 运行维护    · 自动化
 
       备选方案分析
        很多进度活动都有若干种备选的实施方案,如使用能力或技能水平不同的资源、不同规模或类型的机器、不同的工具(手工或自动的),以及自制、租赁或购买相关资源。
 
       测试工具
               白盒测试工具
               白盒测试工具可以分为静态测试工具和动态测试工具,一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级。
                      静态分析工具
                      静态分析工具直接对代码进行分析,不执行被测程序,也不需要对代码编译链接,仅对代码进行语法扫描,进行控制流分析、数据流分析、接口分析和表达式分析等,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等,并输出测试结果。目前,具有静态分析功能的软件测试工具主要有Rational公司的Purify、Telelogic公司的Logiscope、Macabe公司的Macabe、PR公司的PRQA等。通常,静态分析工具有以下功能:
                      (1)完成编译时的语法检查和连接时的一致性检查。对模块中的所有变量检查其是否已定义,是否引用了未说明的变量,是否有未使用的变量等。
                      (2)检查模块接口、类型的一致性。主要是检查模块调用时的形式参数与实际参数在个数、类型上是否一致。参数定义的类型是否匹配,数组的维数、下标变量的范围是否正确。同一变量在不同的文件中定义是否一致等。
                      (3)检查逻辑上可能有错误的结构,特别是对嵌套结构、转移语句的检查。
                      (4)变量、函数交叉引用关系分析。找出变量可能影响的语句和其他变量等。
                      (5)检查被测程序违反编程标准的情况。如:程序的注释是否太少,模块的复杂度是否太高等。
                      (6)对程序的静态特性的统计功能。如:统计程序的紧凑度;各类源语句的个数和标识符在各语句中的使用情况;多余、不可能达到的程序段等。
                      动态分析工具
                      动态分析工具就是通过选择适当的测试用例,运行测试程序,将测试结果和预期结果相比较,以发现错误。通常的方法是在被测程序中插入探针,检测各语句、分支和路径的执行次数和运行结果等,以便统计各种覆盖情况。如果测试的覆盖率没有达到要求,则要设计新的测试用例来满足覆盖要求。通过对测试结果的分析来发现错误。除了覆盖分析之外,也常分析程序对资源的占用情况,优化程序,提高系统性能。其与静态测试工具最大的不同就是动态测试工具要求被测系统实际运行。动态测试工具的代表有Compuware公司的DevPartner软件、Rational公司的Purify系列。
               黑盒测试工具
               黑盒测试工具主要包括功能测试工具和性能测试工具,其一般原理是利用脚本的录制/回放,模拟用户的操作,将被测系统的输出记录下来,并与预先给定的标准结果比较。
                      功能测试
                      功能测试工具证明了应用软件的工作是可预测的,通过自动地捕获、确定和重现用户的相互影响,功能测试工具识别缺陷并保证跨越多重应用软件和数据库的事务处理可正常运行和保持可靠性。功能测试的主要工具有e-Test、QARun、WinRunner、SQA Robot等。
                      性能测试
                      性能测试工具用于预测系统行为和性能,它通过模拟大量用户,试验整个系统的外部结构,以发现和确定问题。性能测试工具的综合性实时监控能力,能够把测试周期降为最小,优化性能,加速开发。用于性能测试的主要工具有Quantify、LoadRunner、QALoad、SQA Load、WebLoad、WebStress等。
               测试管理工具
               测试管理工具用于对测试进行管理。一般而言,测试管理工具对测试计划、测试用例、测试实施进行管理,同时,测试管理工具还包括对缺陷的跟踪管理。测试管理工具的代表有Test Manager、TestDirector、TrackRecord、QADirector、SQA Manager等软件。
               目前,测试计划工具、测试设计工具、测试管理工具、静态分析工具、性能及网络负载测试工具等一系列测试工具已得到广泛运用,而且出现了将许多测试工具融为一体的集成化测试系统。下面对几种常用的测试工具作简要介绍。
                      SQA Suite
                      美国Rational公司的著名套装软件SQA Suite是直接支持对客户/服务器应用软件测试的测试工具,它的一个重要特点是可以自动驱动被测程序的运行。SQA Suite提供了一个比较完整的平台,以支持软件的各种基本活动,包括测试计划与测试大纲的制定、回归测试的自动化、测试结果的分析比较、软件问题报告的生成与自动分发和控制。SQA Suite由以下几个组件构成:
                      (1)SQA Robot:利用SQA Robot能够创建、修改、运行自动测试程序,以确保软件在分发前达到要求的质量。该模块包含两种特殊技术:基于对象的录制技术和对象测试,以便对Windows应用程序进行对象级测试。对象测试技术不仅使Robot能测试应用的GUI,还可以检测应用中对象的所有属性,包括手工不能测的不可视属性。例如,SQA Robot可测试由Powerbuilder的DataWindow生成的对数据库的SQL调用。
                      (2)SQA LoadTest:SQA LoadTest是网络自动测试工具,对Windows Client/Server应用进行加载(load)、强化(stress)和多用户测试。LoadTest可完成以下功能:
                      .对TCP/IP、NetBIOS和IPX/SPX网络上的Client/Server应用进行加载、强化和多用户测试,确保应用的质量达到分发的水平。
                      .在Windows平台上对32位和64位的应用进行跨Windows平台测试。
                      .测试任何与Windows客户端相连的服务器(包括UNIX、Windows NT和OS2)。
                      .无需编程,仅通过点击鼠标,即可生成Client/Server的多站点测试。
                      .通过在执行测试时增加测试站点来改变系统的加载量。
                      .在多台站点上同步运行复杂的多用户应用。
                      (3)SQA Manager:它是软件开发和测试的信息管理工具,在软件开发、测试到升级的整个过程中,它都可以对测试信息进行跟踪。利用SQA Manager可以完成以下功能:
                      .制定测试计划;
                      .跟踪有关测试执行的信息;
                      .从发现到解决,对缺陷不断进行跟踪;
                      .利用报表对整个软件测试进行管理。
                      PureAtria
                      原PureAtria公司(现已经与美国Rational公司合并,改名为美国Rational公司)在20世纪90年代陆续推出了其系列产品——Pure,它们是在多种平台上测试C、C++和FORTRAN语言的测试工具。主要有:
                      (1)Purify:专门用于检测程序中内存使用错误的软件工具。具有对多种常见的内存使用错误的检错能力和准确的定位。这些内存错误包括:未初始化的局部变量、未申请的内存、使用已释放的内存、数组越界、内存丢失、文件描述问题、栈溢出问题和栈结构边界错误等。
                      (2)PureCoverage:PureCoverage是使用对象代码插入技术对应用程序进行路径覆盖测试。通过在应用、文件、函数库、函数、行或基本块的级别上浏览关键的覆盖域数据,找出未被测试的代码,防止代码未经测试就交给用户使用。
                      (3)Quantify:Quantify支持多线程应用程序性能测试,通过对被测程序运行情况的跟踪,发现应用程序在性能上的瓶颈,监视应用程序在性能上的变化。
                      (4)reLink:PureLink提供快速,减少测试期间连接编译被测程序的时间,提高了开发效率。
                      e-Test Suite
                      Empirix的e-Test Suite是一种易于使用的WEB应用测试工具,可以和被测试应用无缝结合,实现强大的测试功能。e-Test Suite主要包含下面三部分:
                      (1)e-Tester:用于Web应用开发时的功能测试。e-Tester能自动测试每星期、甚至每天都在变化着的Web应用程序的测试工具。同时e-Tester也是整个e-Test Suite的脚本记录器。e-Tester将你访问的每一页上的所有对象记录下来,利用可视脚本技术用图形化的方式表示出来,通过可视脚本的回放(Playback)使得任何差异都在可视脚本中突出显示出来,以此来测试Web应用的功能。
                      (2)e-Load:用于Web应用部署前的压力测试。它在开发的过程中创造了一个仿真环境,能够模拟真实用户访问Web应用,提供全面的应用性能统计信息。Web应用程序的主要好处之一是允许大量用户同时访问。相应地,开发人员关心应用是否具有良好的性能,以支持大规模的访问。e-Load为此提供了一个非常好的解决方案。
                      (3)e-Monitor:适合在应用部署后,对其进行7×24小时的全天时监控。为了保证Web应用能够为用户提供不间断服务,维护人员应当监控应用的运行状况。e-Monitor可以7×24小时地调度在e-Tester中产生的可视脚本,执行监控工作,允许使用者设置各种报警方式及时报告应用的问题,以便当出现应用中止运行或性能下降等情况时,可以迅速做出反应。
                      由于利用了可视脚本、数据银行等技术,使得e-Test Suite具备了易于使用和简单直观的特点。用户不需要学习专门的语言,不必建立特定的代理服务系统,就可以完成大部分测试工作。同时它也为实现复杂测试提供了编程接口,方便高级用户更加灵活地完成测试工作。
 
       维护
        维护阶段是软件生存期中时间最长的阶段。软件一旦交付正式投入运行后便进入软件维护阶段。该阶段的关键任务是通过各种必要的维护活动使系统持久地满足用户的需要。每一项维护活动都应该准确地记录下来,作为正式的文档资料加以保存。
 
       运行维护
        数据库应用系统经过测试、试运行后即可正式投入运行。运行维护是系统投入使用后,必须不断地对其进行评价、调整与修改,直至系统消亡。
        在任一设计阶段,一旦发现不能满足用户数据需求时,均需返回到前面的适当阶段进行必要的修正。经过如此的迭代求精过程,直到能满足用户需求为止。在进行数据库结构设计时,应考虑满足数据库中数据处理的要求,将数据和功能两方面的需求分析、设计和实现在各个阶段同时进行,相互参照和补充。
        事实上,在数据库设计中,对每一个阶段设计成果都应该通过评审。评审的目的是确认某一阶段的任务是否全部完成,从而避免出现重大的错误或疏漏,保证设计质量。评审后还需要根据评审意见修改所提交的设计成果,有时甚至要回溯到前面的某一阶段,进行部分重新设计乃至全部重新设计,然后再进行评审,直至达到系统的预期目标为止。
 
       自动化
        简而言之,就是将我们日常手动进行的一些工作通过工具,系统自动来完成,解放我们的双手,例如:没有工具前,我们安装系统需要一台一台裸机安装,如2000台,可能需要10人/10天,而现在通过自动化工具,只需几个简单命令就能解决这个问题。还有如机器人类程序,自动完成以往每天人工干预的工作,使其自动完成、汇报结果,并具备一定的专家系统能力,能做一些简单的是/非判断、优化选择等。应该说,自动化运维是运维工程师职业化的一个追求,利己利公,虽然这是一个异常艰巨的任务,不断变更的业务、不规范化的应用设计、开发模式、网络架构变更、IDC变更、规范变动等因素,都可能会对现有自动化系统产生影响,所以需要模块化、接口化等工作。自动化相关工作,是运维工程师的核心重点工作之一,也是价值的体现。
        总结一下运维中关键技术:大量高并发网站的设计方案;高可靠、高可伸缩性网络架构设计;网站安全问题,如何避免被黑?南北互联问题,动态CDN解决方案;海量数据存储架构。
   题号导航      2015年下半年 系统集成项目管理工程师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第56题    在手机中做本题