基于二分查找的Junit测试实验
来源:互联网 发布:淘宝佣金插件 编辑:程序博客网 时间:2024/05/17 04:24
1.二分查找函数
注:本测试中代码有Java语言编写,测试用Junit进行,Junit和CPPUNIT同为Xunit旗下的产品。
public int BinarySearch(int sorted[],int key){ int left = 0; int right = sorted.length - 1; // 这里必须是 <= while (left < right) { //计算中间位置 int mid = (left + right) / 2; if (sorted[mid] == key) { return mid; } else if (sorted[mid] < key) { left = mid + 1; } else { right = mid - 1; } } return -1; }
(BinarySearch函数)
2.流程控制图
3.控制流图
4.实际测试
@Testpublic void Test1(){ System.out.println("100%语句覆盖"); int sorted[]=new int[]{1,2,3}; int key1=0; int key2=1; int key3=3; BinarySearch(sorted,key1); BinarySearch(sorted,key2); BinarySearch(sorted,key3);}@Testpublic void Test2(){ System.out.println("完全分支覆盖"); int sorted[]=new int[]{1,2,3,4,5,6,7,8,9}; int key1=0; int key2=6; BinarySearch(sorted,key1); BinarySearch(sorted,key2);}@Testpublic void Test3(){ System.out.println("完全谓词覆盖"); int sorted[]=new int[]{1,2,3,4,5,6,7,8,9}; int key1=0; int key2=6; BinarySearch(sorted,key1); BinarySearch(sorted,key2);}(测试代码)
①路径谓词表达式: 1).left>right2). {left<=right,sorted[mid]!=key, sorted[mid]>key, left<=right ,sorted[mid]==key}3). {left<=right,sorted[mid]!=key, sorted[mid]<key, left<=right ,sorted[mid]==key}② 路径谓词表达式:1).left>right2). {left<=right,sorted[mid]!=key, sorted[mid]>key, left<=right ,sorted[mid]==key}3). {left<=right,sorted[mid]!=key, sorted[mid]<key, left<=right ,sorted[mid]==key}③ 路径谓词表达式:1).left>right2). {left<=right,sorted[mid]!=key, sorted[mid]>key, left<=right ,sorted[mid]==key}3). {left<=right,sorted[mid]!=key, sorted[mid]<key, left<=right ,sorted[mid]==key}不知道正确与否
4.引入缺陷 第15行left
@Testpublic void Test4(){ System.out.println("缺陷"); int sorted[]=new int[]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}; int key1=11; System.out.println(BinarySearch(sorted,key1));}
5.解决缺陷,查找缺陷
@Testpublic void Test5(){ System.out.println("缺陷"); int sorted[]=new int[]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18}; System.out.println(BinarySearch(sorted,0)); for (int i: sorted) { System.out.println(BinarySearch(sorted,i)); }}
阅读全文
0 0
- 基于二分查找的Junit测试实验
- 基于Spring的Junit测试
- Golang 的二分查找测试
- 一个基于JUnit的测试框架
- 基于spring 3 注解的junit测试
- 基于数组的二分查找算法
- 基于C++模板的二分查找
- 基于数组二分查找算法的实现
- 基于有序数组的二分查找
- 基于Java实现的二分查找算法
- JUnit+ANT自动测试实验
- 对二分查找程序的一次测试
- 基于二分查找法的数值区间查找
- 基于线性表的查找:二分查找-Binary Search
- 基于Spring的可复用的Junit测试类的设计
- 基于JUnit 3.8 的一个简单的测试程序
- JUnit基于注解的测试(Spring3.1以后)
- 数据结构实验之查找四:二分查找
- Centos定时启动和清除任务
- Kubernetes
- java基础--while循环实现A4纸折叠次数到珠穆朗玛峰高度
- 最全的C、C++算法集合
- PhpStorm2017 开发 ThinkPHP5 项目小记
- 基于二分查找的Junit测试实验
- 使用虚拟串口在一台电脑上模拟串口通讯
- IOS--分析耗时操作
- 找GF
- 理解事务的4种隔离级别
- 编写高质量的Objective-C代码
- Visualizing and Understanding Convolutional Networks-ZFNet
- jQuery学习笔记
- 用 WEKA 进行数据挖掘,第 2 部分: 分类和群集