【问题标题】:Whitebox and Blackbox testing白盒和黑盒测试
【发布时间】:2014-02-28 16:16:44
【问题描述】:

我一直在阅读白盒和黑盒测试。

如果我没有错:

白盒测试软件程序的实现,而黑盒测试输入和输出。

谁能给我一个关于这两种情况的简单代码示例?

提前谢谢你。

所以,这里的代码是一个黑盒测试?

  class Schalter
  {
     private boolean
     {
       private boolean _istAn;
       public Schalter(boolean anfangsAn)
       {
          _istAn = anfangsAn;        
       }       
       public boolean istAn()
       {
          return _istAn;
       }   
       public void umschalten()
       {
         _istAn = !_istAn;
       }
  }

【问题讨论】:

    标签: java testing black-box-testing white-box-testing


    【解决方案1】:

    Blackbox -> 您实际上只是在检查您为程序提供的输入是否得到了正确的输出。

    假设您有一个提示,要求您输入 2 位数字以获得数字的总和。

    输入 2 个数字:2 5 输出:2 + 5 = 7

    这就是黑盒的全部内容。


    您想检查一下白框,看看它是如何发生的。

    你可以做正常的事情,就像

    int adder(int firstNum, int secondNum)
    { 
        return firstNum + secondNum;
    }
    

    这比这样说更有效:

    int adder(int firstNum, int secondNum)
    {
        int temp;
        for(int i = 0; i < (firstNum + secondNum + 1); i++)
            temp = i;
        return temp;
    }
    

    在白盒测试中,您会查看您的代码并找出哪个更高效和/或更易于阅读。显然第一个是因为:

    1. 代码更简单易懂
    2. 第一个不涉及寻找答案的循环,这比第一个占用更多的处理时间
    3. 第一个不会创建不需要的额外变量。这意味着跟踪数据所需的内存更少。

    这是一个简单而随意的示例,但是当您进入较大的项目时,您将进行大量的白盒测试,当您进行单元测试以确定您的代码的较小部分是否有效时,您通常会进行黑盒测试当您开始将较小的代码段集成到较大的项目中以检查您是否仍然获得给定输入的正确输出时。

    查看它的另一种方法是,您可以使用黑盒测试来查看您是否得到了错误的输出,如果是,那么您可以进行白盒测试,看看您在代码中做错了什么。

    【讨论】:

      【解决方案2】:

      黑盒测试是一种您不关心程序如何操作输入的测试方法;您只是检查输出是否对指定的输入有效。

      白盒测试是一种在您关心程序如何处理输入以及以及输出时进行测试的方法。

      我想一个例子是如果你正在编写一个排序算法的测试。黑盒测试将简单地检查输出是否根据您的期望进行排序。白盒测试可能会检查排序是否为stable,因为这取决于排序算法的实现。例如,Merge Sort 是稳定的,而 Quicksort 的典型就地版本则不稳定(尽管确实存在稳定版本)。

      【讨论】:

      • @sy7 请在您的问题中发布您的代码;作为评论发布时很难阅读。
      【解决方案3】:

      简而言之,白盒测试是您了解软件或任何应用程序的内部路径和编码的测试。在白盒测试中设计测试用例需要编程技能。白盒测试可以在单元测试、集成测试和系统测试中进行。

      在 黑盒 测试中,您只需要 SRS(软件需求规范)即可了解系统的功能以及客户的需求。这里不测试测试人员的编程技能。通常在手动测试中遵循黑盒方法。黑盒测试几乎在所有级别进行,即单元测试、集成测试、系统测试和验收测试。

      【讨论】:

        【解决方案4】:

        在黑盒测试中不考虑程序的结构。测试用例仅根据程序或模块的要求或规范来决定,在选择测试用例时不考虑程序的内部结构。黑盒测试与程序的功能有关。

        从https://in.answers.yahoo.com/question/index?qid=20101031090207AAbYHrB提升

        【讨论】:

          【解决方案5】:

          白盒测试是对代码内部逻辑和结构的详细调查。白盒测试也称为玻璃测试或开箱测试。为了对应用程序执行白盒测试,测试人员需要了解代码的内部工作原理。

          从http://www.tutorialspoint.com/software_testing/testing_methods.htm提升

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多