zoukankan      html  css  js  c++  java
  • 软件开发中的白盒测试

        今天,我们来谈谈软件开发过程中的白盒测试。   

    一、白盒测试的概念

      白盒测试(White Box Testing),按照程序内部的结构、逻辑驱动测试程序,通过测试来检测产品内部动作是否按照设计说明书的规定正常进行,检验程序中的每条路径是否都能按预定要求正确工作。白盒测试的对象主要是源程序。是指用代码内部的分支、路径、条件,使程序设计的控制结构导出测试用例。白盒测试是一个与黑盒测试相对的概念,是指测试者针对可见代码进行的一种测试。白盒测试通常再划分为单元测试、集成测试两大类,但依据不同的流程,对白盒测试细分的标准也不尽一致,比如在IBM的IPD流程之下,白盒测试可能划分为如下几类:模块单元测试、模块集成测试、模块系统测试、渐增Build集成测试、系统集成测试等。而在XP实践中,单元测试与集成测试之间的界限并不明显,统称为渐增迭代测试。

    二、白盒测试的特点

      白盒法特点:以程序的内部逻辑为基础设计测试用例,所以又称为逻辑覆盖法。应用白盒法时,手头必须有程序的规格说明以及程序清单。白盒法考虑的是测试用例对程序内部逻辑的覆盖程度。最彻底的白盒法是覆盖程序中的每一条路径,但是由于程序中一般含有循环,所以路径的数目极大,要执行每一条路径是不可能的,只能希望覆盖的程度尽可能高些。

    三、白盒测试的目的
      1)保证一个模块中的所有独立路径至少被执行一次;
      2)对所有的逻辑值均需要测试真、假两个分支;
      3)在上下边界及可操作范围内运行所有循环;
      4)检查内部数据结构以确保其有效性。
      5)提高代码的质量达到软件产品中要求的可靠性、安全性

    四、白盒测试的策略

      1)测试中,尽量先用自动化工具来进行静态结构分析;  

      2)auJ试中建议先从静态测试开始,如:静态结构分析、代码走查和静态质量度量后进行动态测试,如:覆盖率测试;

      3)利用静态分析的结果作为依据,再使用代码检查和动态测试的方式对静态分析结果进行进一步确认,提高测试效率及准确性;

      4)覆盖率测试是白盒测试中的重要手段,在测试报告中可以作为量化指标的依据,对于软件的重点模块,应使用多种覆盖率标准衡量代码的覆盖率;

      5)在不同的测试阶段,测试的侧重点是不同的。其中主要包含:

        (1)桌前检查(Desk Check)
        (2)单元测试(Unit Testing
        (3)代码评审(Code Review
        (4)同行评审(Peer Review
        (5)代码走查(Walkthrough
        (6)静态分析(Static Analysis

  • 相关阅读:
    [JSOI2007][BZOJ1031] 字符加密Cipher|后缀数组
    leetcode Flatten Binary Tree to Linked List
    leetcode Pascal's Triangle
    leetcode Triangle
    leetcode Valid Palindrome
    leetcode Word Ladder
    leetcode Longest Consecutive Sequence
    leetcode Sum Root to Leaf Numbers
    leetcode Clone Graph
    leetcode Evaluate Reverse Polish Notation
  • 原文地址:https://www.cnblogs.com/caoyue/p/4440313.html
Copyright © 2011-2022 走看看