一、测试方法(Right-BICEP
6个值得测试的具体部位:
Right-结果是否正确?
B-是否所有的边界条件都是正确的?
I-能查一下反向关联吗?
C-能用其他手段交叉检查一下结果吗?
E-你是否可以强制错误条件发生?
P-是否满足性能要求?
二、测试部分
判断题目是否已出过。若出过,返回1,否则返回0。
 //******判断题目存在******
int ExistQues(LinkC C,Caculation Q)
{
LinkC temp;
temp=C->next;
while(temp)
{
if((temp->ques.num1==Q.num1)&&(temp->ques.num2==Q.num2)&&(temp->ques.sign==Q.sign))
return ; //当两个数字和算符与链表中的一样,则存在
else
temp=temp->next;
}
return ;
}

三、测试计划

R-通过改变一些题目难度(如数字范围)的参数,不停出题并记录出过的题目,看是否重复。

B-把数字控制在非常小的范围内,看是否还能运行正确。

I-运行后保存出题记录,去文件中查看。

C-控制出题范围,看出的题目数是否正确。如0~1,没有乘除,没有余数和负数的情况,应有7个题。

E-故意输入错误参数,看是否正常运行。

P-把参数(如出题数量)改成比较大的数,观察运行时的情况。

四、测试步骤

(1)R【30个,3列,0行,无乘除,0,5,无余数,无负数】

清空出题记录question.txt

运行程序,并更改参数,最后出题。

继续出题...直到题目都出完

 

经过观察,的确没有重复的题目。

(2)B【30个,3列,0行,无乘除,0,1,无余数,无负数】

改变出题范围,出题。

由于刚才出的题目是0~3的包括0~1,所以已无题可出。

(3)I【30个,3列,0行,无乘除,0,1,无余数,无负数】

现在退出系统,并保存出题记录。打开question.txt看是否记录下来了。

(4)C【30个,3列,0行,无乘除,0,1,无余数,无负数】

由于之前已经出过0~1之内的题目了,现在先清除记录,再出题。

(5)E【个,列,行,无乘除,0,5,无余数,无负数】

输入数值范围时,故意输入下限比上限大的数,系统会主动提示出错。

(6)P【999..个,3列,0行,无乘除,0,100,无余数,无负数】

改变出题数量

由于我设置的题目数量太大,我已经等了10分钟,题还没有出完。 说明出题数量是可以保证的,但是出题时间过长。

考虑到前面没有出负数的题,下面补充一下。

【30个,3列,0行,无乘除,-1,0,无余数,无负数】

BICEP单元测试计划——四则运算Ⅱ的更多相关文章

  1. BICEP单元测试计划-四则运算-测试

    一.6个值得测试的具体部位,他们能够提高你的测试技巧 Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你是否可以强制 ...

  2. BICEP单元测试——随机四则运算升级版

    一.测试方法 6个值得测试的具体部位: Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你是否可以强制错误条件发生? ...

  3. 初探YAML

    YAML何许物也?在XML泛滥的情况下,YAML的出现的确让人眼前一亮,在初步学习了YAML以后,粗略的总结了一下,拿出来和大家分享.[MindMap][参考文档]YAML Specification ...

  4. YAML初探

    http://www.cnblogs.com/chwkai/archive/2009/03/01/249924.html 1 概念YAML是一种人们可以轻松阅读的数据序列化格式,并且它非常适合对动态编 ...

  5. 记npm包开发全过程

    概述 为什么开发npm包? 如何开发? 如何写单元测试? package.json 如何发布模块? 如何使用? 为什么开发npm模块? NPM的全称是Node Package Manager,是一个N ...

  6. 如何成为一个优秀的java程序员

    Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果. 1. 为代码添加注释(Add comments to your ...

  7. 【Yaml】Yaml学习笔记

    转载:https://blog.csdn.net/moshenglv/article/details/52084899 YAML何许物也?在XML泛滥的情况下,YAML的出现的确让人眼前一亮,在初步学 ...

  8. 软件测试——Peer Review(简介)

    1. 同行评审的种类和对象 同行评审活动的关注点应该是工作产品中的缺陷,而不应该是工作产品的作者或者生产者,管理者也不应使用同行评审的结果去评价个人的行为. 同行评审的分类有很多种,自从IBM的Fag ...

  9. [转]成为优秀Java程序员的10大技巧

    转自:http://www.codeceo.com/article/10-good-java-programmer-tips.html Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开 ...

随机推荐

  1. Unieap3.5-需要用到window.setTimeout的地方

    1.js大数据量操作且需要显示进度条 unieap.showLoading(true);//进度条 window.setTimeout(function(){ checkUtils.setAllRow ...

  2. 用绝对路径引用JS、CSS

    项目中,最好使用绝对路径引用JS和CSS文件,详情如下: 1.vm文件中: <link rel="stylesheet" href="$!{request.cont ...

  3. [leetcode]_Search Insert Position

    题目:查找元素target插入一个数组中的位置. 代码: public int searchInsert(int[] A, int target) { int len = A.length; int ...

  4. 使用notiy和wait模拟阻塞队列

    public class MyQueue { //定义一个存储数据的容器 private LinkedList<Object> list = new LinkedList<Objec ...

  5. DevExpress之ASPxGridView笔记(1)

    1.设置Row(某列)输出格式,例如,在数字前加美元符.每3位以逗号隔开及设置小数点后两位: <dx:GridViewDataTextColumn FieldName="SHOUHUI ...

  6. LotusPhp起步:经典的HelloWorld

    写了几篇LotusPhp,一直没有跑个程序,感觉好像步骤有点错,所以先上个经典的Demo,HelloWorld吧 先按推荐目录建好文件夹,如果懒的建,下面有下载的Demo包,解压就可以用,因为简单,也 ...

  7. 010-python基础-数据类型-字符串操作

    1.移除空白 username.strip() 2.分割 names = "alex,jack,rain" names_1 = names.split(",") ...

  8. C语言实现冒泡排序法和选择排序法代码参考

    为了易用,我编写排序函数,这和直接在主调函数中用是差不多的. 我认为选择排序法更好理解!请注意 i 和 j ,在写代码时别弄错了,不然很难找到错误! 冒泡排序法 void sort(int * ar, ...

  9. Concurrency Series 1

    Difference between Processes and Threads Processes A process has a self-contained execution environm ...

  10. 说明一下JNI 与AIDL

    代码在评论中. JNI: 为什么需要JNI: 因为android是由[JAVA & C/C++]组成.Java运行在Dalvik虚拟机中. 没有办法直接访问底层硬件.底层HW相关目前技术一般都 ...