一、测试方法(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. ASP.NET中的Eval与DataBinder.Eval()方法

    1.bind是一种双向数据绑定,有数据源时才会有改变. 2..net1.x版本中有DataBinder(Container.DataItem,"数据项")  单向数据绑定 .net ...

  2. Nginx 日志按天分割

    #nginx日志切割脚本 #!/bin/bash #设置日志文件存放目录 logs_path="/home/www.xxx.com/wwwlogs/" #设置pid文件 pid_p ...

  3. 在.NET2.0中解析Json和Xml

    在.NET解析json有很多方法,这里介绍最简单也用的最多的一种. 一.添加引用 解析Json,先下载开源控件 Newtonsoft.Json.dll 下载地址:http://files.cnblog ...

  4. javaSE第二十六天

    第二十六天    414 1:网络编程(理解)    414 (1)网络编程:用Java语言实现计算机间数据的信息传递和资源共享    414 (2)网络编程模型    414 (3)网络编程的三要素 ...

  5. u-boot-1.1.6移植之dm9000

    网卡dm9000的执行过程(u-boot版本:u-boot-1.1.6): 在board.c里面有eth_initialize(gd->bd); eth_initialize的实现在eth.c里 ...

  6. JavaScript中this详解

    这里的主题是 this ,不扯远了.this 本身原本很简单,总是指向类的当前实例,this 不能赋值.这前提是说 this 不能脱离 类/对象 来说,也就是说 this 是面向对象语言里常见的一个关 ...

  7. Mysql连接测试代码

    <?php $link=mysql_connect('localhost','root','htuidc'); if($link) echo "success"; ?>

  8. jquery用ajax方式从后台获取json数据,将内容填充到下拉列表。

    从后台获取json数据,将内容填充到下拉列表. url:链接 par:ID sel:下拉列表选择器 //获取下拉列表 function BuildSelectBox(url, par, sel) { ...

  9. Hbase之shell操作

    一. 介绍 HBase是一个分布式的.面向列的 开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源 ...

  10. 前端javascript发送ajax请求、后台书写function小案例

    HTML端页面: <td> <input class="pp_text" type="text" name="" valu ...