一、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单元测试计划-四则运算-测试的更多相关文章

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

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

  2. 作业6小学生四则运算测试APP的NABCD模型

    小学生四则运算测试NABCD模型 组员:李新,朱浩龙,叶煜稳,陈俊金,林德麟 (1)  N (Need 需求) 需求分析: 四则运算是小学生学习数学的核心和基础,必须经过大量的练习才能熟练掌握,但是一 ...

  3. [Azure DevOps] 管理测试计划、测试套件和测试用例

    我喜欢测试计划,它能让团队清楚测试进度,还能妥善分配测试人员,更重要的是它能保证测试质量和效率.Azure DevOps 里提供了 Test Plans 这个模块用于管理测试计划. 1. Azure ...

  4. Maven单元测试报告及测试覆盖率

     对junit单元测试的报告:类似这样的结果 ------------------------------------------------------- T E S T S ----------- ...

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

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

  6. JUint4的下载、配置及对一个算法编写单元测试用例(测试多组数据每组多个参数)

    一.JUnit4 jar包下载 链接:https://pan.baidu.com/s/1AdeVGGikcY5dfL151ZnWHA 提取码:h1am 下载完成后,解压一下即可. 二.导入JUnit4 ...

  7. Python怎么去写单元测试用例去测试hello world呢

    逛着博客园,看到乙醇大佬的一篇随笔 https://www.cnblogs.com/nbkhic/p/9370446.html,于是就在想怎么测试这句hello world print('hello ...

  8. 20150421 作业5 四则运算 测试与封装 5.1 5.2(doing)

    结伴队友:王佳寧,他的博客地址:http://www.cnblogs.com/paopaotai/ 5.2 黑白盒測試 測試項目名稱 黑盒測試 測試人員 葉子鵬&王佳寧 測試編號 測試頁面 測 ...

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

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

随机推荐

  1. 六、Struts2的配置文件

    六.Struts2的配置文件 1.default.properties:在struts2-core-**.jar的org.apache.struts包中 关于Struts2一些常量配置(框架内部) s ...

  2. ios中,长按Webview中的图片

    我们所要解决的问题如题目所示:ios中,长按Webview中的图片,将图片保存到本地相册. 解决方案:对load的html网页,执行js注入,通过在webview中执行js代码,来响应点击事件,通过j ...

  3. [Cocos2d-x for WP8学习笔记] HelloWorld

    Cocos2d-x 是一个支持多平台的 2D 手机游戏引擎,使用 C++ 开发,基于OpenGL ES,基于Cocos2d-iphone,支持 WOPhone, iOS 4.1, Android 2. ...

  4. .NET Web开发总结

    在aspx文件中  创建控件 在右下角有控件信息 按类排序 会将控件信息安装类排序 点击控件 会增加属性页面的分页[事件]页面  可以增加其事件函数 字符串操作及其时间操作 fn_name.Inser ...

  5. C# @Page指令中的AutoEventWireup,CodeBehind,Inherits

    AutoEventWireup 如果 Page 指令的 AutoEventWireup 属性被设置为 true(或者如果缺少此属性,因为它默认为 true) ,该页框架将自动调用页事件,即 Page_ ...

  6. How to create Lookup Worker Filtered by Legal Entity[AX2012]

    1. Add a new method in hcmWorker table, and add this script : public static client void lookupWorker ...

  7. Windows 上如何安装Sqlite(转载)

    1.获得命令行程序 SQLite命令行程序(CLP)是开始使用SQLite的最好选择,按照如下步骤获取CLP: 1).打开浏览器进入SQLite主页,   www.sqlite.org. 2).单击页 ...

  8. 第七节:使用实现了dispose模式的类型

    知道类型如何实现dispose模式之后,接下来看一下开发人员怎样使用提供了dispose模式的类型.这里不再讨论前面的SafeHandle类,而是讨论更常用的FileStream类. 可以利用File ...

  9. 在newegg工作的这两个月

    6月11号,接到录用通知后的第二天,来到了Newegg . 作为开发,在本职工作上 1.入职Quick Start: 两周多的入职快速指引,以了解业务,架构为目的. 因为之前一直有用思维导图的习惯,所 ...

  10. [转]PROC简单使用用例--VC连接ORACLE

    [转]PROC简单使用用例--VC连接ORACLE 操作系统:windows 7 数据库版本:oracle 10g VS版本:VS2010 前言:连接ORACLE的方式有很多,此处仅以PROC为例,说 ...