小题

1.软件测试的目的

软件测试的目的就是为了发现尽可能多的软件缺陷,并期望通过改错来清除缺陷 (课本P6)

  • 从用户角度来看:软件测试的目的是为了发现错误而执行程序的过程。(课本P18)

  • 从开发者角度来看:软件测试是表明软件产品中不存在错误的过程。(课本P18)

答:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求,或是弄清预期结果与实际结果之间的差别。(课本P16)

2.软件质量三个部分

答:在新的ISO/IEC 9126《产品质量–质量模型》中定义的软件质量包括内部质量外部质量使用质量三部分。其中,内部质量是从内部观点出发的软件产品特性的总体,是针对内部质量需求被测量和评价的质量。外部质量是软件产品在规定条件下使用时满足需求的程度。使用质量是在规定的使用环境下,软件产品使特定用户在达到规定目标方面的能力。

3. 测试用例的基本概念

答:指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略,内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,并形成文档。(P39)

4.条件覆盖的目的

条件覆盖要求设计足够多的测试用例,运行被测程序,使得判定中的每个条件获得各种可能的结果,即每个条件至少有一次为真值,有一次为假值。P88

5.单元测试时两种辅助测试模块

  1. 驱动模块(Driver)

  2. 被调用模拟子模块(Sub)  
    P108

6.增量式集成测试策略

P117

  1. 自顶向下集成策略
    • 深度优先
    • 广度优先
  2. 自底向上集成策略

7.边界值分析法(两种测试方法)

  1. 标准边界值测试
    对于一个有n个变量的程序,保留其中一个变量,其取值为最小(Min)、最大(Max)、略高于最小值(Min+)、略低于最大值(Min-)、正常值(Normal),标准边界值测试会产生4n+1个测试用例。
  2. 健壮边界值测试
    对于一个有n个变量的程序,保留其中一个变量,其取值为最小(Min)、最大(Max)、略高于最小值(Min+)、略高于最大值(Max+)、略低于最大值(Max-)、略低于最小值(Min-)、正常值(Normal),标准边界值测试会产生6n+1个测试用例。

简答题

1.软件缺陷的定义、特征

标准定义:即从产品内部看缺陷是软件产品开发或维护过程中存在的错误、毛病等各种问题;从 产品外部看,缺陷是系统所需要实现的某种功能的失效或违背。(P6)

满足一下五条中的一条即为软件 缺陷:

  1. 软件未达到 软件规格说明书中规定的功能。
  2. 软件超出了软件规格说明书中指出的范围。
  3. 软件未达到软件规格说明书中指出的应达到的目标。
  4. 软件运行过程中出现了错误。
  5. 软件测试人员认为软件难于理解,不宜使用,运行速度慢,或最终用户认为软件使用效果不好。(P7)

2.测试用例的基本概念和设计原则

  1. 基于测试需求的原则
  2. 用成熟的测试用例设计方法来指导设计
  3. 兼顾测试充分性效率的原则
  4. 测试执行的可再现性原则
  5. 足够详细准确清晰的步骤

3. 静态白盒测试和动态白盒测试的区别和联系

  • 区别:
     1. 静态测试又称结构分析,是在不执行软件的条件下,有条理地仔细审查软件设计体系结构代码,从而找出软件缺陷的过程。
    2. 动态测试又称结构化测试,是在使用或运行软件的条件下,软件测试员查看代码内部结构实现方式来设计和执行测试。
  • 联系:静态白盒测试和动态测试是 互补的,缺少任何一种,都会降低错误检查的效率。

4.面对对象软件测试分为几个层次

面向对象的测试按照由低到高的顺序可以分成的四个层次,依次如下。
(1)测试与对象关联的单个操作,即算法层
(2)测试单个对象类,即类层
(3)测试对象类群,即模板层
(4)测试面向对象系统,即系统层

大题

1.缺陷探测三种情况

  1. 质量成本要素
    质量成本要素主要包括一致性成本和非一致性成本。一致性成本是指用于保证软件质量的支出,包括预防成本和测试预算,如测试计划、测试开发、测试实施费用。非一致性成本是由出现的软件错误和测试过程故障(如延期、劣质的发布)引起的。这些问题会导致返工、补测、延迟。追加测试时间和资金就是一种由于内部故障引起的非一致性成本。非一致性成本还包括外部故障(软件遗留错误影响客户)引起部分。一般情况下,外部故障非一致性成本要大于一致性成本与内部故障非一致性成本之和。

  2. 质量成本计算
    质量成本一般按下式计算:
    质量成本 = 一致性成本 + 非一致性成本

  3. 缺陷探测率
    缺陷探测率是另一个衡量测试工作效率的软件质量成本的指标。
    缺陷探测率=测试发现的软件缺陷数/
    (测试发现的软件缺陷数+客户发现并反馈技术支持人员进行修复的软件缺陷数)

    image-20201204205644562

    image-20201204205949650

    image-20201204213534359

    image-20201204214450132

  4. 测试投资回报率可按下式计算:
    投资回报率 =
    利润 / 测试投资×100%

2.白盒(二选一)

看书上例题P87 例4.1

例题 (1) 例题 (2) 例题 (3) 例题 (4)

image-20201205000119563

看书上例题P91 例4.2

例题 (5)

例题 (6)

  1. 以详细设计或源代码作为基础,导出程序控制流图
    控制流图:结点控制流线)两种图形 符号组成。
  2. 计算程序控制流图的环路复杂度
    1. 环路复杂度为控制流图中的区域数。
    2. 设定E为控制流图的边数,N为图的结点数,定义环路复杂度为V(G)=E-N+2
    3. 设P为控制流图中的判定结点数,则有V(G)=P+1
  3. 确定独立路径集合
    独立路径是指和其他路径相比,至少引进一个新的处理语句集合或一个新判断条件的程序通道,即独立路径必须至少包含一条在定义之前不曾使用的边。如果只是已有路径的简单合并,并未包含任何新边,则不是独立路径。
    独立路径集合中的每一条路径都是唯一的,但是独立路径集合不是唯一的,可以有多组不同的独立路径集合

3.黑盒(二选一)

看书上的例3.5 P48

例题 (7)

例题 (8)

例3.11 P62

例题 (9)

例题 (10)

习题练练手

  1. 在软件测试中,下面说法中错误的是(B
    A. 测试是为了发现程序中的错误而执行程序的过程。
    B. 测试是为了证明程序是正确的。
    C. 好的测试方案是极可能发现迄今为止尚未发现的错误的方案。
    D. 成功的测试方案是发现了至今为止尚未发现的错误的测试。

    B.测试是为了证明程序有错而不是证明程序无错
  2. 黑盒测试是通过软件的外部表现来发现软件的缺陷和错误的测试方法,具体地说,黑盒测试用例设计技术包括(等价类划分法、因果图法、边界值分析法、错误推测法、决策表分析法

  3. 用边界值分析法,假定1<X<100,那么X在测试中应取的边界值是(X=0,X=1,X=100,X=101

  4. 黑盒测试中,着重检查输入条件组合的方法是(D
    A.等价类划分法
    B.边界值分析法
    C.错误推测法
    D.决策表法