先决条件—— 软件测试|基础
null
白盒测试技术分析内部结构——使用的数据结构、内部设计、代码结构和软件工作,而不仅仅是黑盒测试中的功能。它也被称为玻璃盒测试或透明盒测试或结构测试。
白盒测试工作流程:
- 输入: 需求、功能规范、设计文档、源代码。
- 处理: 进行风险分析,指导整个流程。
- 正确的测试计划: 设计测试用例以覆盖整个代码。执行冲洗重复,直到达到无错误软件。此外,结果也会被传达。
- 输出: 准备整个测试过程的最终报告。
测试技术:
- 声明覆盖范围: 在这种技术中,目标是至少遍历所有语句一次。因此,每一行代码都要经过测试。对于流程图,每个节点必须至少遍历一次。由于所有的代码行都被覆盖,这有助于指出错误代码。
报表覆盖率示例
- 分支机构覆盖: 在这种技术中,测试用例的设计使得来自所有决策点的每个分支至少被遍历一次。在流程图中,所有边必须至少遍历一次。
需要4个测试用例,以覆盖所有决策的所有分支,即覆盖流程图的所有边缘
- 条件覆盖范围: 在这种技术中,必须涵盖所有单独的条件,如以下示例所示:
- 读X,Y
- 如果(X==0 | | Y==0)
- 打印“0”
在本例中,有两个条件:X==0和Y==0。现在,测试这些条件的值是否为真。一个可能的例子是:
- #TC1–X=0,Y=55
- #TC2–X=5,Y=0
- 多条件保险: 在这种技术中,所有可能的条件结果组合都至少测试一次。让我们考虑下面的例子:
- 读X,Y
- 如果(X==0 | | Y==0)
- 打印“0”
- #TC1:X=0,Y=0
- #TC2:X=0,Y=5
- #TC3:X=55,Y=0
- #TC4:X=55,Y=5
因此,两个单独的条件需要四个测试用例。 类似地,如果有n个条件,那么2 N 需要测试用例。
- 基本路径测试: 在这种技术中,控制流程图由代码或流程图生成,然后计算圈复杂度,圈复杂度定义了独立路径的数量,以便为每个独立路径设计最小数量的测试用例。 步骤:
- 制作相应的控制流程图
- 计算圈复杂度
- 找到独立的路径
- 设计对应于每个独立路径的测试用例
流程图表示法: 它是一个由节点和边组成的有向图。每个节点代表一系列语句或一个决策点。谓词节点是一个表示决策点的节点,该决策点包含一个条件,在该条件之后,图将分裂。区域以节点和边为边界。
圈复杂度: 它是软件逻辑复杂性的度量,用于定义独立路径的数量。对于图G,V(G)是它的圈复杂度。 计算V(G):
- V(G)=P+1,其中P是流图中谓词节点的数量
- V(G)=E–N+2,其中E是边的数量,N是节点的总数
- V(G)=图中非重叠区域的数量
例子:
V(G)=4(使用上述任何公式) 独立路径数=4
- #P1:1-2-4-7-8
- #P2:1-2-3-5-7-8
- #P3:1-2-3-6-7-8
- #P4:1-2-4-7-1-…-7 – 8
- 循环测试: 循环被广泛使用,这些是许多算法的基础,因此,它们的测试非常重要。错误通常发生在循环的开始和结束处。
- 简单循环: 对于大小为n的简单回路,设计的测试用例如下:
- 完全跳过循环
- 只有一个循环通过
- 2次传球
- m经过,其中m
- n-1 ans n+1传球
- 嵌套循环: 对于嵌套循环,所有循环都设置为其最小计数,我们从最里面的循环开始。对最里面的回路进行简单的回路测试,并向外进行,直到所有回路都已测试完毕。
- 串联循环: 一个接一个的独立循环。简单的循环测试适用于每种情况。 如果它们不是独立的,就把它们当作筑巢。
- 简单循环: 对于大小为n的简单回路,设计的测试用例如下:
优势:
- 在测试整个代码和结构时,白盒测试非常彻底。
- 它可以优化代码删除错误,并有助于删除额外的代码行。
- 它可以在早期启动,因为它不需要任何接口,就像黑盒测试一样。
- 易于自动化。
缺点:
- 主要缺点是价格非常昂贵。
- 重新设计代码和重写代码需要重新编写测试用例。
- 测试人员需要对代码和编程语言有深入的了解,而不是黑盒测试。
- 测试存在的代码时,无法检测到缺少的功能。
- 非常复杂,有时不现实。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END