zoukankan      html  css  js  c++  java
  • 黑盒测试与白盒测试

    软件测试定义:

    “测试是为发现错误而执行程序的过程。”(具有破坏性的过程)

    为了应对测试经济学的挑战,应该建立某些策略,黑盒测试和白盒测试是两种最普遍的策略。

    黑盒测试:

    不需要去了解程序的内部结构,是数据驱动的测试或者输入/输出驱动的测试。使用这种测试方法时,将程序视为一个黑盒子。测试目标与程序的内部机制和结构完全无关,而是将重点集中放在发现程序不按其规范正确运行的环境条件。

    在黑盒测试中,测试数据完全来源于软件规范。如果想用这种方法来发现程序的所有错误,判定的标准就是“穷举输入测试”,将所有可能的输入条件都作为测试用例。由于程序是个黑盒子,因此能够确定此条语句存在的唯一方法,就是试验所有的输入情况。

    然而,穷举输入测试是无法实现的。第一,我们无法测试一个程序以确保它是无错的,第二,需要考虑到软件测试的经济学,也就是说,测试投入的目标在于通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。

    白盒测试:

    白盒测试是逻辑驱动的测试策略,允许我们检查程序的内部结构。这种测试策略对程序的逻辑结构进行检查,从中获取测试数据。

    我们的目标是针对这种测试策略,建立起与黑盒测试中穷举输入测试相似的测试方法。有一个解决的方法,即将程序中的每条语句至少执行一次,这种方法通常称为穷举路径测试。

    所谓穷举路径测试,即如果使用测试用例执行了程序中所有可能的控制流路径,那么程序有可能得到了完全测试。但是穷举路径测试如同穷举输入测试,是不可能的。

    穷举路径测试的缺点如下;
    1.无法保证程序符合其设计规范;
    2.无法发现缺少哪些必须路径;
    3.可能不会暴露数据敏感错误。

    尽管穷举输入测试要强于穷举路径测试,但是两者都不是有效的方法,因为两者都不可行。应该讲黑盒测试和白盒测试的要素结合起来,形成一个合理的策略。

  • 相关阅读:
    Eclipse安装Hadoop插件
    (转)Ubuntu14.0.4中hadoop2.4.0伪分布模式配置
    Hadoop--DataNode无法启动
    启动与关闭hadoop
    hadoop中执行命令时发生错误
    strings命令
    Deriving data from ElasticSearch Engine
    elasticsearch data importing
    reading words in your computer and changing to female voice, linux festival text2wave saving wav files
    DDNS client on a Linux machine
  • 原文地址:https://www.cnblogs.com/jitipaper/p/12337329.html
Copyright © 2011-2022 走看看