51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3857|回复: 3
打印 上一主题 下一主题

对白盒测试有些迷惑

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-7-14 22:24:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
白盒测试给我整的有点黑盒的感觉
不伦不类........
哎,严重偏离思想.!!!
假期过后回来反思反思.
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个");
}
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-8-15 16:35:51 | 只看该作者
有点迷糊了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-8-18 11:12:01 | 只看该作者
可以这么简单的理解下

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

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

黑盒针对的是程序段的输入输出,不需要关心具体的代码实现
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-8-28 14:56:51 | 只看该作者

回复 1# 的帖子

我觉得你的getMapStr() 可以是static的
这样 你都不必new一个 ProductGeneralMapImpl了。
还有测试代码里
是不是也应该加入是否能把这个字符串拆成9个字符串的判断?
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-24 01:43 , Processed in 0.062285 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表