动态白盒测试

动态白盒测试:即结构化测试,指在看到软件地工作方式时,根据获得的信息对软件进行测试

动态白盒测试方法:
一、数据覆盖
1.数据流覆盖:指在软件中完全跟踪一批数据
   效果:通过动态白盒测试,不仅可以知道变量开始和结束的值,还可以在程序运行期间检查变量的中间值,根据
      观察结果就可以决定更改某些测试用例,保证变量取得感兴趣的、甚至具有风险的中间值 
2.次边界:仔细检查代码,并建立能测试它们的测试用例
3.公式和等式:查看使用的变量,在程序正常输入和输出之外,为其建立测试用例和等价划分
4.错误强制:显示错误的代码
  条件:执行在调试器中测试的程序,不仅能够观察到变量的值,还可以强制改变变量的值
  方法:迫使软件中的所有错误提示信息显示出来
  例: 许多错误情况是难以建立的——如挂接2049台打印机,但是如果只是想测试错误提示信息是否正确(拼写、
     语言、格式等),就可以使用错误强制的查看方式
   注意:在使用错误强制时,不要设置现实世界中不可能出现的情况
二、代码覆盖(测试程序的状态以及程序流程)
使用工具:代码覆盖率分析器(监视作用)
1.语句覆盖(不能走遍软件的所有路径)
目标:保证程序中每一条语句最少执行一次
例 :
输入样例 age = 14 ,则会运行所有的代码,但没有测试所有的分支(else)
2.路径覆盖(没有测试所有的条件)
例 :
输入样例 age=13和sex=’m’,输入样例age=12和sex=’m’,运行之后测试了所有的分支但是没有得到完整的条件覆盖测试
3.条件覆盖
  例:以2中例子
    应输入4种样例:age = 13 和 sex = ‘m’
            age = 13 和 sex != ‘m’
            age != 13 和 sex = ‘m’
            age != 13 和 sex != ‘m’
 
补充:1.动态白盒测试和调试的区别:动态白盒测试的目的是为了发现软件缺陷,而调试的目的是为了修复软件缺陷
   两者在分离和查找软件缺陷原因时发生交叉
    2.测试桩和测试驱动的差别: 测试桩用于自顶向下的测试。它用自己替换低级模块。其对于要测试的高级代码,
   外表和行为就像低级模块一样
  测试驱动和测试桩相反,用于自底向上的测试。它是代替高级软件,更有效地运行
    低级模块地测试代码

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年7月25日
下一篇 2018年7月25日

相关推荐