51Testing软件测试论坛

标题: 对白盒测试有些迷惑 [打印本页]

作者: dq_0413    时间: 2009-7-14 22:24
标题: 对白盒测试有些迷惑
白盒测试给我整的有点黑盒的感觉
不伦不类........
哎,严重偏离思想.!!!
假期过后回来反思反思.
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 = 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)<0 || Integer.parseInt(savemap)>6)
    fail("随机数范围错误!应在0-6之间");
  }
  
  //验证地图元素总数是否为9个。
  if(savemap.length!=9)
   fail("根据业务需求,应产生随机数个数9个");
}
作者: kuangquanshui    时间: 2009-8-15 16:35
有点迷糊了
作者: lanbiers    时间: 2009-8-18 11:12
可以这么简单的理解下

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

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

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




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2