黑盒子技术

  特点:

  完全不考虑程序内部结构,只检测程序功能是不是正常,是否适当地接受输入数据并产生正确的输出信息,运行时是不是能保持外部信息的完整性

  力图发现的错误类型:

  ● 功能不正确或遗漏功能

  ● 界面错误

  ● 数据结构错误或外部数据库访问错误

  ● 性能错误

  ● 初始化和终止错误

  设计黑盒子方案时应该考虑的问题:

  ● 怎样测试功能有效性

  ● 哪些类型的输入可构成好的测试用例

  ● 系统是否对特定的输入值特别敏感

  ● 怎样划定数据类的边界

  ● 系统能承受什么样的数据率和数据量

  ● 数据的特定组合将对系统运行产生什么影响

  黑盒子技术测试的标准:

  ● 测试用例要少但合理测试所需要设计的测试用例数

  ● 测试用例能指出某些类型的错误,而不是单单指出与特定测试相关的错误是否存在

  等价划分:

  ● 解释:

    ● 把程序的输入域划分成若干个数据类

  ● 等价划分的六条经验:

    ● 如果规定了输入值范围,可分输入在范围类,和输入值小于范围或大于范围

    ● 如果规定了输入数据的个数,分输入个数在个数内,在个数外,和等于个数

    ● 如果如果规定了输入数据的一组值,而程序对不同输入值做不同处理,则每个允许的输入值是一个划分,不输入是一个划分

    ● 如果规定输入数据必须遵循规则,则分为符合规则输入与各种不同角度不符合规则的无效输入

    ● 如果输入为整形,可分为正整数,零,负整数

    ● 如果程序的处理对象是表格,则分为用空表格,含一项或多项的表格

  ● 等价设计方案的主要两步骤:

    ● 尽可能多覆盖未覆盖的等价有效输入值,重复到有效等价输入值都被覆盖

    ● 尽可能多覆盖未覆盖的等价无效输入值,重复到无效等价输入值都被覆盖

  边界值分析:经验表明,处理边界情况时程序容易发生错误

    ● 使输出刚好等于有效范围的小值

    ● 使输出刚好等于有效范围的大值

    ● 使输出刚好小于有效范围的小值

    ● 使输出刚好大于有效范围的大值

  在改正错误前软件工程师应该仔细考虑的问题

  ● 是否相同错误在程序其他什么地方?

  ● 修改后是否会引入新的错误?

  ● 为防止以后这类错误该如何做?