zoukankan      html  css  js  c++  java
  • 学习软件测试,成为一名软件测试师(五)(白盒测试)

    白盒测试定义:

    基于系统或者组件的内部实现结构和逻辑寻找缺陷的测试技术。

    白盒测试很多时候是不可能进行彻底的。

    白盒测试法检查程序内部逻辑结构,对所有逻辑路径进行测试,是一种穷举路径的测试方法。

    穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序。

    穷举路径测试不可能查出程序因为遗漏路径而出错。

    穷举路径测试发现不了一些与数据相关的错误。

    白盒测试的方法:

    ①基本路径测试方法:

    根据流程图画出控制流图,计算环复杂度,列出基本路径。

    环复杂度是等于基本路径的数量的。

    环复杂度的计算:等于闭合区域数目(包含整体这个大闭合区域),也等于二值判断点+1,也等于边的数目-节点数+2。

    ②逻辑覆盖法:语句覆盖,条件覆盖,判定覆盖,判定和条件覆盖,组合覆盖,路径覆盖。

    语句覆盖:选择足够多的测试用例,使得程序中的每个可执行语句至少执行一次。

    判定覆盖:通过执行足够的测试用例,使得程序中的每个判定至少都获得一次“真”值和“假”值, 也就是使程序中的每个取“真”分支和取“假”分支至少均经历一次,也称为“分支覆盖”。

    条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的可能取值(真/假)都至少满足一次。

    判定/条件覆盖:设计足够多的测试用例,使得程序中每个判定包含的每个条件的所有情况(真/假)至少出现一次,并且每个判定本身的判定结果(真/假)也至少出现一次。

    组合覆盖:通过执行足够的测试用例,使得程序中每个判定的所有可能的条件取值组合都至少出现一次。

    语句覆盖,条件覆盖,判定覆盖,判定和条件覆盖,组合覆盖之间的关系图

    路径覆盖:设计足够多的测试用例,要求覆盖程序中所有可能的路径。 

    在满足组合覆盖的测试用例中修改其中一个测试用例,则可以实现路径覆盖。

  • 相关阅读:
    Codeforces 1045C Hyperspace Highways (看题解) 圆方树
    Codeforces 316E3 线段树 + 斐波那切数列 (看题解)
    Codeforces 803G Periodic RMQ Problem 线段树
    Codeforces 420D Cup Trick 平衡树
    Codeforces 295E Yaroslav and Points 线段树
    Codeforces 196E Opening Portals MST (看题解)
    Codeforces 653F Paper task SA
    Codeforces 542A Place Your Ad Here
    python基础 异常与返回
    mongodb 删除
  • 原文地址:https://www.cnblogs.com/gonT-iL-evoL-I/p/12523347.html
Copyright © 2011-2022 走看看