我不是理论派,那就从实践中成长吧 微博:http://www.weibo.com/willsfanw

摸着石头过河——从黑盒到灰盒003篇(对最小单元函数做灰盒测试)

上一篇 / 下一篇  2011-09-21 01:07:44

  由于灰盒测试不需要像白盒测试一样写代码,故针对最小单元函数的灰盒测试,可以理解成“使用黑盒的手段来驱动,同时用白盒测试的方法来测试,再以白盒或者黑盒的方式来检查结果”;
  这里有一个前提,就是需要保证本次提测的这个功能模块逻辑上没有大问题,这个流程可以走通,且待测试的函数可以被执行到,不然的话,本次灰盒测试根本就没有办法做。(这里也可以借助类似windbg等调试工具来辅助测试,后面的文章再讲讲)
  可以先选择一下将采用的白盒的测试方法(eg:逻辑覆盖,语句覆盖,条件覆盖,组合覆盖==),在开始做灰盒测试之前,拜读过一篇白盒测试的文章,里面提到过一个简单路径覆盖的方法,我觉得挺简单的,就直接借用了。
  eg:拿一个简单的python demo函数来说明下分析方法,demo如下:
#----------------------------------------------------------------------
def Demo(testStr):
    """
    This is a Demo
    """
    testResult = None
    
    if (testStr == ""):
        return testResult
    elif("a" in testStr):
        testResult = 1
    else:
        testResult = 0
        
    return testResult  
=========================================================================
  首先,对这个函数做一个简单的逻辑流程图(不见得一定要画出来),图如下:

  有这么一个用于计算当前逻辑,至少需要多少个案例才可以覆盖的公式:
   圈复杂度V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量
   故:圈复杂度=8-7+2=3
   也就是说,当前至少需要3个案例才可以完成简单路径覆盖
   案例:
    case no.1 :   begin 1-> if 2-> return 7
    case no.2 :   begin 2-> if 2-> elif 3->xxxxx 4 -> else 5 -> xxxxx 6 -> return 7
    case no.3:    begin 3-> if 2-> elif 3->else 5 -> xxxxx 6 -> return 7
  
   但是单单只对 最小单元函数做简单路径覆盖,是远远不够的,今天要睡觉了,下篇继续分享

TAG:

凡No.13的自留地 引用 删除 jqwhwf   /   2011-09-23 14:52:02
多谢
原帖由xin_晴于2011-09-23 10:54:27发表
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www..
盛夏光年的个人空间 引用 删除 盛夏光年   /   2011-09-23 11:09:58
我觉得很好啊
xin_晴的个人空间 引用 删除 xin_晴   /   2011-09-23 10:54:27
您好,我是51Testing软件测试网的编辑,您的本篇博文被推荐至51Testing软件测试网首页发表:http://www.51testing.com/html/36/n-246036.html
感谢您关注并支持51Testing博客,期待您更多的优秀原创博文。
凡No.13的自留地 引用 删除 jqwhwf   /   2011-09-22 23:25:59
恩是的
原帖由wanghuiwan于2011-09-21 10:40:32发表
其实没必要这个复杂的计算8-7+2
   其实 就是数出有多少个单独的闭合圈加1就可以了   无需8-7


我们.
凡No.13的自留地 引用 删除 jqwhwf   /   2011-09-22 23:23:04
这几天工作任务忙,闲下来就继续更新,预计可以更新到20+篇
原帖由zhaoyinghui98于2011-09-22 13:51:18发表
可不可以快一点
Day day up 的个人空间 引用 删除 zhaoyinghui98   /   2011-09-22 13:51:18
可不可以快一点
Day day up 的个人空间 引用 删除 zhaoyinghui98   /   2011-09-22 13:50:45
5
Day day up 的个人空间 引用 删除 zhaoyinghui98   /   2011-09-22 13:50:38
恩,感觉很容易理解了
谢谢
gqy0923的个人空间 引用 删除 gqy0923   /   2011-09-22 13:44:40
3
软件测试工程师 引用 删除 wanghuiwan   /   2011-09-21 10:40:32
其实没必要这个复杂的计算8-7+2
   其实 就是数出有多少个单独的闭合圈加1就可以了   无需8-7


我们以前上课就是这么算的
软件测试工程师 引用 删除 wanghuiwan   /   2011-09-21 10:39:02
5
 

评分:0

我来说两句

日历

« 2024-04-25  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 18083
  • 日志数: 22
  • 建立时间: 2009-12-07
  • 更新时间: 2011-09-26

RSS订阅

Open Toolbar