免费智能真题库 > 历年试卷 > 信息系统项目管理师 > 2010年下半年 信息系统项目管理师 上午试卷 综合知识
  第52题      
  知识点:   软件设计、测试与维护   测试工具   软件测试
  关键词:   测试设备   软件测试   测试        章/节:   信息系统及其技术和开发方法       

 
软件测试工具也是测试设备的一种。以下关于软件测试工具的叙述,正确的是(52)。
 
 
  A.  所有软件测试工具在正常使用过程中都应定期确认
 
  B.  所有的软件测试工具都应送国家权威部门定期校准
 
  C.  软件测试工具可以采用验证或保持其适用性的配置管理来确认
 
  D.  新购买的软件测试工具在初次使用时可不对其进行校准
 
 
 

 
  第27题    2017年上半年  
   49%
面向对象的软件开发过程是用例驱动的,用例是UML的重要部分,用例之间存在着一定的关系,下图表示的是用例之间的()关系。
  第26题    2016年下半年  
   28%
以下关于UML的叙述中,不正确的是(26)。
  第22题    2013年上半年  
   53%
统一建模语言(UML)是一种定义良好的可视化建模语言,其中(21)是对一组动作序列的描述,系统执行这些动作将产生一个对特定的参..
   知识点讲解    
   · 软件设计、测试与维护    · 测试工具    · 软件测试
 
       软件设计、测试与维护
        软件设计
        软件设计是“定义一个系统或组件的架构、组件、接口和其他特征的过程”,并得到“这个过程的结果”。
        软件设计由两个处于软件需求和软件构造之间的活动组成:
        .软件架构设计(也叫概要设计):描述软件的结构和组织,标识各种不同的组件。
        .软件详细设计:详细地描述各个组件,使之能被构造。
        软件测试
        测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。
        软件测试是针对一个程序的行为,在有限测试用例集合上动态验证是否达到预期的行为。
        软件测试过程如下:
        (1)拟定测试计划。
        (2)编制测试大纲。
        (3)设计和生成测试用例。
        (4)实施测试。
        (5)生成测试报告。
        软件测试方法:
        .人工测试:采用人工方式进行测试,目的是通过对程序静态结构的检查,找出编译时不能发现的错误。包括个人复查、抽查、会审。
        .机器测试:把设计好的测试用例作用于被测程序,比较测试结果和预期结果是否一致。包括黑盒测试(功能测试)和白盒测试(结构测试)。
        软件测试的三个阶段:
        .单元测试:也称为模块测试,在模块编写完成且无编译错误后就可以进行。
        .集成测试:也称为组装测试,就是把模块按系统设计说明书的要求组合起来进行测试。
        .系统测试:是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装和确认测试,其目的是通过与系统需求相比较,发现所开发的系统与用户需求不符合矛盾的地方。
        软件维护
        软件维护可定义为需要提供软件支持的全部活动。这些活动包括在交付前完成的活动以及交付后完成的活动。交付前完成的活动包括交付后的运行计划和维护计划等。交付后的活动包括软件修改、培训、帮助资料等。
        软件维护的类型有纠错性维护、适应性维护、完善性维护和预防性维护。
 
       测试工具
               白盒测试工具
               白盒测试工具可以分为静态测试工具和动态测试工具,一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级。
                      静态分析工具
                      静态分析工具直接对代码进行分析,不执行被测程序,也不需要对代码编译链接,仅对代码进行语法扫描,进行控制流分析、数据流分析、接口分析和表达式分析等,找出不符合编码规范的地方,根据某种质量模型评价代码的质量,生成系统的调用关系图等,并输出测试结果。目前,具有静态分析功能的软件测试工具主要有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具备了易于使用和简单直观的特点。用户不需要学习专门的语言,不必建立特定的代理服务系统,就可以完成大部分测试工作。同时它也为实现复杂测试提供了编程接口,方便高级用户更加灵活地完成测试工作。
 
       软件测试
        测试是为评价和改进产品质量、识别产品的缺陷和问题而进行的活动。
        软件测试是针对一个程序的行为,在有限测试用例集合上动态验证软件是否达到预期的行为。
        软件测试过程如下:
        (1)拟定测试计划。
        (2)编制测试大纲。
        (3)设计和生成测试用例。
        (4)实施测试。
        (5)生成测试报告。
        软件测试方法:
        .人工测试:采用人工方式进行测试,目的是通过对程序静态结构的检查,找出编译时不能发现的错误。人工测试包括个人复查、抽查和会审等。
        .机器测试:把设计好的测试用例作用于被测程序,比较测试结果和预期结果是否一致。机器测试包括黑盒测试(功能测试)和白盒测试(结构测试)。
        软件测试伴随软件开发和维护过程,通常可以在概念上划分为以下三个阶段:
        .单元测试:也称为模块测试,在模块编写完成且无编译错误后就可以进行。
        .集成测试:也称为组装测试,就是把模块按系统设计说明书的要求组合起来进行测试。
        .系统测试:是将已经确认的软件、计算机硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装和确认测试。其目的是通过与系统需求相比较,发现所开发的系统与用户需求不符合的地方。
   题号导航      2010年下半年 信息系统项目管理师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第52题    在手机中做本题