BICEP单元测试计划-四则运算-测试
一、6个值得测试的具体部位,他们能够提高你的测试技巧
- Right-结果是否正确?
- B-是否所有的边界条件都是正确的?
- I-能查一下反向关联吗?
- C-能用其他手段交叉检查一下结果吗?
- E-你是否可以强制错误条件发生?
- P-是否满足性能要求
二、测试模块
测试在出现乘除法和加减法的过程中,是否会出现不符合运算规则的数据,比如出现除数为0的状况,判断程序运行数据的在其他模块中,在本模块的测试中,使用的数据为其他模块中确定好的数据范围(0-1000),并在测试过程中,强制出现除数为0 的错误条件,并使被减数大于减数,被除数大于除数,测试差出现负数以及商出现假分数是否正确
三、测试计划
R、通过输入代表性数据测试该模块运行结果是否正确
B、引用了外部条件,随机数生成划定范围,可以避免出现原始数据不在范围内的情况
I、通过对生成结果数据的检查判断是否对原始数据进行了处理
C、通过修改程序参数满足测试需求,检查结果
E、通过强制发生错误条件,测试该模块会出现什么样的结果
P、更改判断条件,检查结果是否满足要求
四、测试代码
// 测试.cpp : Defines the entry point for the console application.
//
/*有乘除法,对加减有负数模块进行测试*/
#include "stdafx.h"
#include"stdlib.h"
#include"iomanip.h"
#include"iostream.h"
#include"string"
using namespace std;
int main()
{
int a,b,c,d;
string judge1="Y";
string judge2="Y";
cout<<"允许加减结果出现负数,允许乘除法出现结果是假分数"<<endl;
cout<<"请随机输入两个数:空格键隔开"<<endl;
cin>>a>>b;
cout<<"请输入要测试的运算( 0:加法 1:减法 2:乘法 3:除法)"<<endl;
cin>>c;
/*设置右对齐*/
cout.flags(ios::right);
if((judge1=="Y"||judge1=="y")) //允许假分数
{
switch(c) //随机产生运算符
{
:
cout<<setw()<<a<<'+'<<b<<'=';
break;
:
if(judge2=="Y"||judge2=="y") //允许负数结果出现
{
cout<<setw()<<a<<'-'<<b<<'=';
}
else
{
if(a>=b)
cout<<setw()<<a<<'-'<<b<<'=';
else
cout<<setw()<<b<<'-'<<a<<'=';
}
break;
:
cout<<setw()<<a<<'*'<<b<<'=';
break;
: //判断生成除法的条件,除数不能为零
&&b==)
cout<<setw()<<b<<'/'<<a<<'=';
&&b!=)
cout<<setw()<<a<<'/'<<b<<'=';
&&b==)
cout<<setw()<<a<<<<'=';
else
cout<<setw()<<a<<'/'<<b<<'=';
break;
}
}
else //不允许假分数出现
{
switch(c)
{
:
cout<<setw()<<a<<'+'<<b<<'=';
break;
:
if(judge2=="Y"||judge2=="y") //允许负数结果出现
{
cout<<setw()<<a<<'-'<<b<<'=';
}
else
{
if(a>=b)
cout<<setw()<<a<<'-'<<b<<'=';
else
cout<<setw()<<b<<'-'<<a<<'=';
}
break;
:
cout<<setw()<<a<<'*'<<b<<'=';
break;
: //真分数判断
)
cout<<setw()<<a<<'/'<<b<<'=';
else
cout<<setw()<<b<<'/'<<a<<'=';
break;
}
}
cout<<endl;
cout<<"是否继续 是(1)否(0)"<<endl;
cin>>d;
)
main();
else
;
}
五、测试结果
加法测试结果

减法测试结果

乘法测试结果

除法测试结果

六、测试结果分析
在程序编写过程中,每个模块要有相应的测试模块,才能避免整个程序完成后,发生出现问题很难找到或者找不到出现错误的地方,另外,编写测试模块,可以帮助完善整个程序,是一种很好的编程习惯
BICEP单元测试计划-四则运算-测试的更多相关文章
- BICEP单元测试计划——四则运算Ⅱ
一.测试方法(Right-BICEP) 6个值得测试的具体部位: Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你 ...
- 作业6小学生四则运算测试APP的NABCD模型
小学生四则运算测试NABCD模型 组员:李新,朱浩龙,叶煜稳,陈俊金,林德麟 (1) N (Need 需求) 需求分析: 四则运算是小学生学习数学的核心和基础,必须经过大量的练习才能熟练掌握,但是一 ...
- [Azure DevOps] 管理测试计划、测试套件和测试用例
我喜欢测试计划,它能让团队清楚测试进度,还能妥善分配测试人员,更重要的是它能保证测试质量和效率.Azure DevOps 里提供了 Test Plans 这个模块用于管理测试计划. 1. Azure ...
- Maven单元测试报告及测试覆盖率
对junit单元测试的报告:类似这样的结果 ------------------------------------------------------- T E S T S ----------- ...
- BICEP单元测试——随机四则运算升级版
一.测试方法 6个值得测试的具体部位: Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你是否可以强制错误条件发生? ...
- JUint4的下载、配置及对一个算法编写单元测试用例(测试多组数据每组多个参数)
一.JUnit4 jar包下载 链接:https://pan.baidu.com/s/1AdeVGGikcY5dfL151ZnWHA 提取码:h1am 下载完成后,解压一下即可. 二.导入JUnit4 ...
- Python怎么去写单元测试用例去测试hello world呢
逛着博客园,看到乙醇大佬的一篇随笔 https://www.cnblogs.com/nbkhic/p/9370446.html,于是就在想怎么测试这句hello world print('hello ...
- 20150421 作业5 四则运算 测试与封装 5.1 5.2(doing)
结伴队友:王佳寧,他的博客地址:http://www.cnblogs.com/paopaotai/ 5.2 黑白盒測試 測試項目名稱 黑盒測試 測試人員 葉子鵬&王佳寧 測試編號 測試頁面 測 ...
- 软件测试——Peer Review(简介)
1. 同行评审的种类和对象 同行评审活动的关注点应该是工作产品中的缺陷,而不应该是工作产品的作者或者生产者,管理者也不应使用同行评审的结果去评价个人的行为. 同行评审的分类有很多种,自从IBM的Fag ...
随机推荐
- hdu2053
查找1-n中能整除n的数的个数. 如果是偶数的话,结果为0 奇数的话,结果为1 #include <stdio.h> int main(){ int i,cnt,n; while(~sca ...
- thinkphp数据库添加表单提交的数据
$data['catename'] = I('catename'); 获取表单的数据 $cate=D('cate'); 实例化cat ...
- Android IOS WebRTC 音视频开发总结(六)-- iOS开发之含泪经验
前段时间在搞webrtc iOS开发,所以将标题改为了Android IOS WebRTC 音视频开发总结, 下面都是开发过程中的经验总结,转载请说明出处(博客园RTC.Blacker): 1. IO ...
- 条款19 command 模式与好莱坞法则
当一个函数对象被当做回调时候,就是一个command模式的实例 什么是回调? 回调就是框架知道什么时候干一些事情,但是具体干什么,或许框架一无所知(因为回调函数不是他设计的),而用户则知道发生一个特定 ...
- java编程的78条黄金法则
创建和销毁对象 1.考虑用静态工厂方法(返回类的实例的静态方法)代替构造器2.遇到多个构造器参数时要考虑用构造器3.用私有构造器或者枚举类型强化Singleton属性4.通过私有构造器强化不可实例化的 ...
- 建立交叉编译环境(arm-linux-gcc)
linux系统内核版本:2.6.32-358.el6.x86_64(在64位系统上安装32位程序需要另外安装一些库) arm-linux-gcc版本:本文安装的是友善之臂tiny6410光盘中自带的a ...
- 【转】准确理解CSS clear:left/right的含义及实际用途
零.说点什么 好久没更新了.并不是在折腾什么大作,而是广度学习与实践中,加上婚礼等诸多大事,所以产出较少. 今天这篇也只是小作,博客是自己很好的学习工具,只要我学习不止,博客也会不断更新的. 我们平时 ...
- 日期转换(用DateTime的ParseExact方法解析特殊的日期时间)
今天遇到一个特别的需求,需要从下面的字符串中转换成一个DateTime对象: [07-13 15:50:42] 主要问题是这个时间不是标准的时间,而是自定义的格式,即开头是月-日,然后是时间. 使用最 ...
- 深入PHP empty(),isset(),is_null()
PHP empty(),isset(),is_null()的实例测试. 有关 PHP编程 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资 ...
- 1)C++对象大小计算
C++对象的大小不同的编译器的实现是不一样的,以下仅讨论.net2003,其他编译的可能出现的结果以下也做了分析和猜测.在反推不同编译器实现的C++对象的大小时.对齐是一个很重要也容易被遗 ...