zoukankan      html  css  js  c++  java
  • 005-请说一说黑盒与白盒的测试方法

    黑盒测试:

    黑盒测试也称功能测试或数据驱动测试,它是在已知产品所应具有的功能,通过测试来检测每个功能是否都能正常使用。

    在测试时,把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数锯而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。

    “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。

    “黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况使用,才能以这种方法查出程序中所有的错误。

    实际上测试情况有无穷多个,因此不仅要测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。

    常用的黑盒测试方法有:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。

    白盒测试:

    白盒测试也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试。

    它根据程序的控制结构设计测试用例,主要用于软件或程序验证。

    白盒测试法检查程序内部逻辑结构,对所有的逻辑路径进行测试,是一种穷举路径的测试方法,但即使每条路径都测试过了,但仍然有可能存在错误。

    穷举路径测试无法检查出程序本身是否违反了设计规范,即程序是否是一个错误的程序;穷举路径测试不可能检查出程序因为遗漏路径而出错;穷举路径测试发现不了一些与数据相关的错误。

    白盒测试需要遵循的原则有:

    1. 保证一个模块中的所有独立路径至少被测试一次;

    2. 所有逻辑值均需要测试真(true)和假(false);两种情况;

    3. 检查程序的内部数据结构,保证其结构的有效性;

    4. 在上下边界及可操作范围内运行所有循环。

     

    常用白盒测试方法:

    静态测试:不用运行程序的测试,包括代码检查、静态结构分析、代码质量度量、文档测试等等,它可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具(Fxcop)自动进行。

    动态测试:需要执行代码,通过运行程序找到问题,包括功能确认与接口测试、覆盖率分析、性能分析、内存分析等。

    白盒测试中的逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

    六种覆盖标准发现错误的能力呈由弱到强的变化:

    1.语句覆盖每条语句至少执行一次。

    2.判定覆盖每个判定的每个分支至少执行一次。

    3.条件覆盖每个判定的每个条件应取到各种可能的值。

    4.判定/条件覆盖同时满足判定覆盖条件覆盖。

    5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

    6.路径覆盖使程序中每一条可能的路径至少执行一次。

  • 相关阅读:
    [NOI2014]起床困难综合症(贪心+位运算)(暑假ACM1 A)
    BZOJ 2456 mode(找众数)(暑假ACM1 F)
    [POI2000]病毒(补全AC自动机)
    [NOI2005]聪聪与可可
    BZOJ4500矩阵
    网络编程物理层
    当列表推导式遇到lambda(匿名函数)
    写学生管理系统后的一些感想
    深入学习python内存管理
    python基础详解
  • 原文地址:https://www.cnblogs.com/qiuniao/p/10925873.html
Copyright © 2011-2022 走看看