没有网的日子不好过,Junit4下不下来,先用androidTestCase实现一个。

遇到了几个bug。

首先是除0问题。

public void testDivide(){

result=calculate.divide(5, 2);

if(calculate.getIsError()){

assertEquals(flag, true);

}else{

assertEquals(2.5, result);

}

double result1=calculate.divide(5, 0);

if((flag=calculate.getIsError())){

assertEquals(flag, true);

}else{

assertEquals(2.5, result1);

}

double result2=calculate.divide(0, 5);

if(calculate.getIsError()){

assertEquals(flag, true);

}else{

assertEquals(0, result2);

}

}

我这里是这样解决的。看某一个ifelse即可。

对于计算器来说,他应该是知道除法能不能被零,以及除完的后果的,所以我为Calculate多设置了一个变量 isError,是否出错。如果被零除,认为出错,进行setIsError操作。即先判定是否出错。是,则断言结果assertEquals(flag, true);成立。否则assertEquals(2.5, result1);得到对应结果。

Bug2

图一:一个好长的错误。

这个当时看了好几遍,都没觉得有啥问题,害的我把数值全都变成整形,后来发现没问题,但总觉得不舒服,于是 看到了这里,然后两个数值相减小于一个很小的数,就认为他们相等,于是:

public void testMinus(){

double result2=calculate.minus(5,8.3);

double expected=-3.3;

if((expected-result2)<0.0000001){

setIsEqual();

}

assertEquals(true, isEqual);

}

在乘法操作发现了这些:

图二:16跟16.0可不相等。

于是:

public void testMultiple(){

result=calculate.multiple(5, 3.2);

assertEquals(16.0, result);

}

然后问题就基本解决完了。

一个简单的加减乘除的测试就完成了。

之后找到了,junit4这个jar包,通过配置只要把下载好的类库导入到文件中就可以了。(依然可以通过留邮箱的方式来获得这些开源文件,如果你找不到,或者不太愿意花点时间找的话。)

这里就给出比较简单的加减乘除的实现方式:

所有测试数据都是最简单的。没有做任何防护措施。

https://github.com/bzdwdmzjsmff

可以到这个地址下寻找相应源代码。

the third assignment of software testing的更多相关文章

  1. the first assignment of software testing

    Github ID:  bzdwdmzjsmff Github address: https://github.com/bzdwdmzjsmff alternative article: Increa ...

  2. the forth assignment of software testing

    软件测试用到的 pict33.msi. 加载安装即可. 顺步安装 使用背景: 假如现在有一个网站后台需要测试工程师进行测试用例设计.用常规的方法将参数列出: 帐户名: 空,不存在,超长,超短,正常 密 ...

  3. the second assignment of software testing

    作业2期心得体会.第一期仍有未完成的项目,比如应该指定所读课题的范围,是关于哪个方面的. 作业项目一: 安装并使用CheckStyle/PMD与FindBug 现在网络上查找了一番发现checkSty ...

  4. 101+ Manual and Automation Software Testing Interview Questions and Answers

    101+ Manual and Automation Software Testing Interview Questions and Answers http://www.softwaretesti ...

  5. Exploratory Software Testing

    最近找到去年上半年看过一本关于测试方面书籍的总结笔记,一直放在我的个人U盘里,当时是用Xmind记录的,现在重新整理下分享给大家了! James A.Whittaker [美] 詹姆斯·惠特克(软件测 ...

  6. 软件测试software testing summarize

    软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性.完整性.安全性和质量的过程.软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对 ...

  7. 读书笔记-Software Testing(By Ron Patton)

    Software Testing Part I:The Big Picture 1.Software Testing Background Bug's formal definition 1.The ...

  8. software testing

    Software Testing Software testing is the process of evaluation a software item to detect differences ...

  9. Software Testing Techniques LAB 02: Selenium

    1. Installing 1. Install firefox 38.5.1 2. Install SeleniumIDE    After installing, I set the view o ...

随机推荐

  1. Java之关键字static和final的使用

    static 在Java中声明属性.方法时,可使用关键字static来修饰. 1.static变量       按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或 ...

  2. Oracle系列之异常处理

    涉及到表的处理请参看原表结构与数据  Oracle建表插数据等等 使用select into语句读取tb_Employee的一行,使用异常处理处理no_data_found和two_many_rows ...

  3. Android 应用启动渐变效果

    /** * 应用程序启动类:显示欢迎界面并跳转到主界面 * @author liux (http://my.oschina.net/liux) * @version 1.0 * @created 20 ...

  4. synchronize学习

    这个例子我们看到,java中将对象或者Class对象当做锁 package synchronized简单使用; public class Test7 extends Thread{ public st ...

  5. 从html5标准的正式发布到国内CMS的变革

    10月底万维网联盟(W3C)宣布,经过将近8年的艰辛努力,HTML5标准规范终于最终制定完成并正式发布. W3C的正式批准让人们对HTML5更有信心.“这是一个里程碑,标志着很多人员在长达七年时间内投 ...

  6. 让php永远后台运行

    ignore_user_abort(true); // 后台运行set_time_limit(0); // 取消脚本运行时间的超时上限

  7. 【原创】MapReduce编程系列之表连接

    问题描述 需要连接的表如下:其中左边是child,右边是parent,我们要做的是找出grandchild和grandparent的对应关系,为此需要进行表的连接. Tom Lucy Tom Jim ...

  8. c c++ 函数入口和出口的hook(gcc 编译选项),然后打印出函数调用关系的方法

    GCC Function instrumentation机制可以用来跟踪函数的调用关系,在gcc中对应的选项为“-finstrument-functions”.可查看gcc的man page来获取更详 ...

  9. WPF布局系统[转]

    转自:http://www.cnblogs.com/niyw/archive/2010/10/31/1863908.html前言 前段时间忙了一阵子Google Earth,这周又忙了一阵子架构师论文 ...

  10. Worker、Task、Executor三者之间的关系