一、 选择题
    1.  软件测试的主要特点是 AC
    A) 软件测试的开销大              B) 软件测试要依靠工具
    C) 软件不能进行“穷举”测试            D) 软件测试要依靠人工  
    2.  整体测试又称为组装测试,其主要内容包括 CD
    A) 对整体的性能进行测试                B) 用白盒法设计测试用例进行测试
    C) 确定组装策略和次序                  D) 对组装过程进行测试
    3.  渐增式是将模块一个一个地连入系统,每连入一个模块  C
    A) 只需要对新连入的模块进行测试
    B) 都不需要再进行测试
    C) 要对新子系统进行测试
    D) 都要进行回归测试
    4.  静态测试是以人工的、非形式化的方法对程序进行分析和测试。常用的静态测试方法有    BCD
    A) 运行程序并分析运行结果                  B) 桌前检查与代码会审
    C) 数据流分析图                            D) 调用图
    5.  集成过程的原则是    BC
    A) 按照模块的大小集成
    B) 尽早测试包含I/O的模块
    C) 尽早测试关键模块
    D) 按照“输入处理输出”的次序进行集成
    6.  关于白盒法覆盖程度的论述中正确的是    B
    A) 语句覆盖:选择测试用例使程序中每条语句至少被执行一次
    B) 判定覆盖:选择测试用例使程序中每个判定至少都获得一次“真”值和一次“假”值
    C) 条件覆盖:选择测试用例使每个条件都满足
    D) 条件组合覆盖:将所有的判定条件都组合起来执行
  7.  软件测试的基本原则是    ACD
      A) 关键是注重选择高效的测试用例
    B) 选择尽可能多的测试用例
    C) 尽量不由程序设计者进行测试
    D) 充分注意测试中的集现象
  8.  等价分类法的关键是  (C)
    A) 确定等价类的边界条件
    B) 按照用例来确定等价类
    C) 划分等价类
    D) 确定系统中相同和不同的部分 
    二、 判断题
    1.  单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测√
    2.  功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相√
    3. 白盒法是一种静态测试方法,主要用于模块测试。 ×
    4. 整体测试又称为逻辑覆盖测试,需要对系统模块的内部结构进行测试。×
    5. 在等价分类法中,为了提高测试效率,一个测试用例可以覆盖多个无效等价类。×
    6. 发现错误多的模块,残留在模块中的错误也多。√
    7. 在分析规范(因、果)的基础上画出因果图,再将其转换为有限项判断表,就容易得出 测试用例。√
    8. 系统测试的主要方法是白盒法,主要进行功能测试、性能测试、安全性测试及可靠性等 测试。×
    9. 有效性测试是在模拟环境(或开发环境)下运用黑盒法,验证软件特性是否与 需求符合。√
10. 在发现错误后,则应按照一定的技术去纠正它,纠错的关键是“错误定位”。
    三、 简答题
    1.  渐增式与非渐增式各有何优、缺点?为什么通常采用渐增式?
    答: 非渐增式是将所有的模块一次连接起来,简单、易行,节省机时,但测试过程中难于查错,发现错误也很难定位,测试效率低。
    渐增式是将模块一个一个地连入系统,每连入一个模块,都要对新系统进行测试。这种组
装测试方案比较非渐增式,容易查出错误及进行错误定位,有利于查出模块接口部分的错误,因此测试效率高。因此通常采用渐增式。
    2.  自顶而下增值与自底而上增值各有何优、缺点?
    答:
    ① 自顶而下增值
    优点:能够尽早发现系统主控方面的问题。
    缺点:无法验证桩模块是否完全模拟了下属模块的功能。无法尽早查出底层容易出错的复杂模块中的错误,所以导致过多的回归测试。
    软件测试的方法有哪些② 自底而上增值
    优点:驱动模块较容易编写桩模块,能够尽早查出底层涉及较复杂的算法和实际的I/O模块中的错误。
    缺点:只有当系统所有模块全部组装完成,才能看到系统实体,才能测试系统的主控功能。
  3. 等价分类法的基本思想是什么?
    答: 根据程序的输入特性,将程序的定义域划分为有限个等价区段——“等价类”,从等价类中选择出的用例具有“代表性”,即测试某个等价类的代表值就等价于对这一类其他值的测试。如果某个等价类的一个输入数据(代表值)测试中查出了错误,说明该类中其他测试用例也会有错误。
    4.  一般情况驱动模块比桩模块容易设计,为什么?
    答: 因为驱动模块是模拟主程序或者调用模块的功能,处于被测试模块的上层,所以驱动模块只需要模拟向被测模块传递数据,接收、打印从被测模块返回的数据的功能,较容易实现。
    而桩模块用于模拟那些由被测模块所调用的下属模块的功能,由于下属模块往往不止一个,也不止一层,同时由于模块接口的复杂性,桩模块很难模拟各下层模块之间的调用关系。
同时为了模拟下层模块的不同功能,需要编写多个桩模块,而这些桩模块所模拟的功能是否正确,也很难进行验证。因此,驱动模块的设计显然比桩模块容易。
    5.  什么是α测试和β测试?
    答: α测试是在开发机构的监督下,在确认测试阶段后期由个别用户对软件进行测试,目的是评价软件的FLURPS(功能、局域化、可使用性、可靠性、性能和支持性),注重界面和特。
    β测试是由支持软件预发行的客户对FLURPS进行测试,主要目的是测试系统的可支持性。
.回答问题
  1.软件测试的基本任务?
软件测试是按照特定的规则,发现软件错误的过程;好的测试方案是尽可能发现迄今尚未发现错误的测试;成功的测试方案是发现迄今尚未发现错误的测试;
  2.测试与调试的主要区别?
(1)  (1)  测试从一个侧面证明程序员的失败;调试证明程序员的正确;
(2)  (2)  测试从已知条件开始,使用预先定义的程序,且有预知的结果,不可预见的仅是程序是否通过测试;调试从不可知内部条件开始,除统计性调试外,结果是不可预见的;
(3)  (3)  测试有计划并且要进行测试设计;调试不受时间约束;
(4)  (4)  测试是发现错误、改正错误、重新测试的过程;调试是一个推理的过程;
(5)  (5)  测试执行是有规程的;调试执行要求程序员进行必要的推理;
(6)  (6)  测试由独立的测试组在不了解软件设计的件下完成;调试由了解详细设计的程序员完成;
(7)  (7)  大多数测试的执行和设计可由工具支持;调试用的工具主要是调试器。
  3.人工复审的方式和作用?
人工复审的方式:代码会审、走查和排练和办公桌检查;
人工复审的作用:检查程序的静态错误。
  4.什么是黑盒测试?黑盒测试主要采用的技术有哪些?
黑盒测试也称为功能测试,它着眼于程序的外部特征,而不考虑程序的内部逻辑结构。测试者把被测程序看成一个黑盒,不用关心程序的内部结构。黑盒测试是在程序接口处进行测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试主要采用的技术有:等价分类法、边沿值分析法、错误推测法和因果图等技术。
  5.什么是白盒测试?白盒测试主要采用的技术有哪些?
测试者了解被测程序的内部结构和处理过程,对程序的所有逻辑路径进行测试,在不同点检查程序状态,确定实际状态与预期状态是否一致。
白盒测试主要采用的技术有:路径测试技术和事务处理流程技术,对包含有大量逻辑判断或
条件组合的程序采用基于逻辑的测试技术。
  6.路径测试技术中几种主要覆盖的含义?举例说明?
语句覆盖:至少执行程序中所有语句一次。 
判定覆盖:使被测程序中的每一个分支至少执行一次。故也称为分支覆盖。
条件覆盖:执行所有可能的穿过程序的控制路流程。
条件组合测试:设计足够的测试用例,使每个判定中的所有可能条件取值组合至少执行一次。
(例略)
  7.等价分类法的测试技术采用的一般方法?举例说明?
(1)  (1)  为每个等价类编号;
(2)  (2)  设计一个新的测试方案,以尽可能多的覆盖尚未被覆盖的有效等价类,重复这一步骤,直到所有有效等价类被覆盖为止。
(3)  (3)  设计一个新的测试方案,使它覆盖一个尚未被覆盖的无效等价类, 重复这一步骤,直到所有无效等价类被覆盖为止。
(例略)
  8.软件测试的一般步骤?
单元测试、子系统测试、系统测试、验收测试、平行测试。
  9.比较集成试的两种方式的优劣?
非渐增式测试方式:分别测试模块,再把所有模块按设计要求放在一起组成所要的程序。该方法编写测试软件工作量大,模块间的接口错误发现得晚,错误定位较难诊断,总体测试有的错误容易漏掉,测试时间相对较少,可以并行测试所有模块,能充分利用人力,加快工程进度。。
渐增式测试方式:把下一个要测试的模块,同已经测试好的那些模块结合起来进行测试。该方法利用已测试过的模块作测试软件,开销小,较早发现模块间的接口错误,错误定位往往和最
近入的模块相关,对已测试好的模块可在新加入模块的条件下受到新的检验,测试更彻底,需要较多的测试时间,不能并行测试。
总的来说,渐增式测试方法比较好。
10.软件测试的策略?
(1)  (1)  在任何情况下都应使用边界值分析的方法。
(2)  (2)  必要时用等价类划分法补充测试方案。
(3)  (3)  必要时再用错误推测法补充测试方案。
(4)  (4)  对照程序逻辑,检查已设计出的测试方案。
(5)  (5)  根据对程序可靠性的要求采用不同的逻辑覆盖标准,再补充一些测试方案。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。