测试内容

Right-BICEP原则
Right —— 结果是否正确
B ——是否所有的边界条件都是正确
I——可否检查反向关联
C——可否用其他手段交叉检查
E ——是否可以强制错误条件的发生
P ——是否满足性能要求
 
从文件中读取数据
 1 import junit.framework.*;
 2 import java.io.*;
 3 import java.util.ArrayList;
 4 import java.util.StringTokenizer;
 5 
 6 public class TestLargestDataFile extends TestCase{
 7     public TestLargestDataFile(String name){
 8         super(name);
 9     }
10     public void testFromFile() throws Exception{
11         String line;
12         BufferedReader rdr = new BufferedReader(
13             new FileReader("textdata.txt"));
14 
15         while((line = rdr.readLine()!= null){
16             if (line.startsWith("#")) {
17                 continue;
18             }
19             StringTokenizer st = new StringTokenizer(line);
20             if (!st.hasMoreTokens()) {
21                 continue;
22             }
23             String val = st.nextToken();
24             int expected = Integer.valueOf(val).intValue();
25 
26             ArrayList argument_list = new ArrayList();
27 
28             while(st.hasMoreTokens()){
29                 argument_list.add(Integer.valueOf(
30                                                 st.nextToken()));
31             }
32             int[] arguments = new int[arguments_list.size()];
33             for(int i = 0; i < argument_list.size(); i++){
34                 arguments[i] = ((Integer)argument_list.get(i)).intValue();
35             }
36             assertEquals(expected,Largest.largest(arguments));
37         }
38     }
39 }
边界条件
  • 需要考虑的条件:
  • 完全伪造或者不一致的输入数据
  • 格式错误的数据
  • 空值或者不完整的值
  • 一些与意料中合理值相去甚远的数值
  • 如果要求的是一个不允许出现重复数值的list,但是传入的为一个存在重复数值的list
  • 如果要求的为一个有序的list,但是传入的为一个无序的list
  • 事件到达顺序错误
检查反向关联
     例如
          可以利用对结果的平方来检查一个计算平方根的函数
          通过查询这条记录来验证某条记录是否成功地插入数据库
强制产生错误条件
   检查不良网站程序:
 1 public void testURLFilter(){
 2     Timer timer = new Timer();
 3     String naughty_url = "www.t66y.com";
 4     URLFilter filter = new URLFilter(small_list);
 5 
 6     timer.start();
 7     filter.check(naughty_url);
 8     timer.end();
 9     assertTrue(timer.elapsedTime() < 1.0);
10     URLFilter f = new URLFilter(big_list);
11     timer.start();
12     filter.check(naughty_url);
13     timer.end();
14     assertTrue(timer.elapsedTime() < 2.0);
15     URLFilter f = new URLFilter(huge_list);
16 
17     timer.start();
18     filter.check(naughty_url);
19     timer.end();
20 
21     assertTrue(timer.elapsedTime() < 3.0);
22 }

 

转载于:https://www.cnblogs.com/zhengyueling/p/5290165.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值