you never doubt youself,I belive!

对白盒测试有些迷惑

上一篇 / 下一篇  2009-07-14 22:24:50 / 个人分类:测试驱动开发(TDD) & 极限编程 (XP)

查看( 420 ) / 评论( 3 )

白盒测试给我整的有点黑盒的感觉

不伦不类........

哎,严重偏离思想.!!!

假期过后回来反思反思.

TDD的核心思想不就是测试先行吗?

最近整的单元测试是算法测试

我是先调用程序最终输出的结果字符串拆分成所需要的各个部分

然后根据业务需求来编写Junit脚本进行验证。

public String getMapStr() {
  // 地图组成字符串
  String mapStr = "";
  // 存放随机数字
  int x = -1;
  // 循环3*3,随机产生9个元素
  for (int i = 0; i < 9; i++) {
   // 产生元素编号1-12
   x = random.nextInt(7);
   // 存放到数组中
   map[i] = x;
   // 组合结果字符串
   mapStr += x + "#";
  }
  // 返回结果字符串
  return mapStr;
 }

Junit测试代码

 public void testGetMapStr(){
  
  String [] savemap=new String[9];
  //将输出的地图结果拆分出来
  savemap=new ProductGeneralMapImpl().getMapStr().split("#");
  //将程序输出结果拆分成数组,验证业务需求
  for(int i=0;i<9;i++){
   //验证随机数是否0-6之间。
   if(Integer.parseInt(savemap[i])<0 || Integer.parseInt(savemap[i])>6)
    fail("随机数范围错误!应在0-6之间");
  }
  
  //验证地图元素总数是否为9个。
  if(savemap.length!=9)
   fail("根据业务需求,应产生随机数个数9个");
 }

 


TAG:

kuangquanshui发布于2009-08-15 16:35:51
有点迷糊了
lanbiers发布于2009-08-18 11:12:01
可以这么简单的理解下

一个程序段由输入输出和代码实现逻辑构成

白盒针对的是代码实现逻辑做类似路径覆盖之类的测试,需要关心具体代码实现

黑盒针对的是程序段的输入输出,不需要关心具体的代码实现
dogman zlfoxy 发布于2009-08-28 14:56:51
回复 1# 的帖子
我觉得你的getMapStr() 可以是static的
这样 你都不必new一个 ProductGeneralMapImpl了。
还有测试代码里
是不是也应该加入是否能把这个字符串拆成9个字符串的判断?
我来说两句

(可选)

Open Toolbar