the third assignment of software testing
没有网的日子不好过,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的更多相关文章
- the first assignment of software testing
Github ID: bzdwdmzjsmff Github address: https://github.com/bzdwdmzjsmff alternative article: Increa ...
- the forth assignment of software testing
软件测试用到的 pict33.msi. 加载安装即可. 顺步安装 使用背景: 假如现在有一个网站后台需要测试工程师进行测试用例设计.用常规的方法将参数列出: 帐户名: 空,不存在,超长,超短,正常 密 ...
- the second assignment of software testing
作业2期心得体会.第一期仍有未完成的项目,比如应该指定所读课题的范围,是关于哪个方面的. 作业项目一: 安装并使用CheckStyle/PMD与FindBug 现在网络上查找了一番发现checkSty ...
- 101+ Manual and Automation Software Testing Interview Questions and Answers
101+ Manual and Automation Software Testing Interview Questions and Answers http://www.softwaretesti ...
- Exploratory Software Testing
最近找到去年上半年看过一本关于测试方面书籍的总结笔记,一直放在我的个人U盘里,当时是用Xmind记录的,现在重新整理下分享给大家了! James A.Whittaker [美] 詹姆斯·惠特克(软件测 ...
- 软件测试software testing summarize
软件测试(英语:software testing),描述一种用来促进鉴定软件的正确性.完整性.安全性和质量的过程.软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对 ...
- 读书笔记-Software Testing(By Ron Patton)
Software Testing Part I:The Big Picture 1.Software Testing Background Bug's formal definition 1.The ...
- software testing
Software Testing Software testing is the process of evaluation a software item to detect differences ...
- Software Testing Techniques LAB 02: Selenium
1. Installing 1. Install firefox 38.5.1 2. Install SeleniumIDE After installing, I set the view o ...
随机推荐
- tlplayer for ios V1.1(附上截图)
此程序UI修改于虎跃在线课堂.所以极其相似. 可以播放网络视频与本地视频,不知道怎么拷贝本地视频到Ipad或iphone上看的朋友,请自己到网上看教程. 支持mms,file,rtsp,rtmp,ht ...
- 【C++】计算所有小于N的勾股数组合,可以写入txt文件保存,每组占一行。
#ifndef PYTHAGOREAN_H_ #define PYTHAGOREAN_H_ #include <iostream> class Pythagorean { public: ...
- Bootstrap插件的使用
昨天,我偶然间发现了它——BootStrap插件,它是一一套功能强大的前端组件.说起来,我跟这插件还真算得上有缘,我本来并不是去找这个插件的,我本来是找BootStarp Paginator这个分页插 ...
- mysql 查看死锁和去除死锁
1.查询是否锁表show OPEN TABLES where In_use > 0; 2.查询进程 show processlist 3. 查询到相对应的进程,然后 kill id 验证(ki ...
- PHP获取上个月、下个月、本月的日期
获取本月日期: 代码如下: function getMonth($date){ $firstday = date("Y-m-01",strtotime($date)); $la ...
- 【HTML】Advanced3:Tables: Columns, Headers, and Footers
1. <table> <colgroup> <col> <col class="alternative"> <col> ...
- nyoj开心的小明
这个问题是01背包,而对于编程之美那道是完全背包问题,在编程之美中也有一个0,1背包问题. 而且是容量是小于等于,不是等于,对于是否等于,在初始化参数时候不一样,不小于全部初始化为0,恰好等于,初始化 ...
- oracle to_date函数(转载)
TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 ...
- HW1.6
public class Solution { public static void main(String[] args) { System.out.println("1 + 2 + 3 ...
- CentOS设置在同一窗口打开文件夹
默认情况下,CentOS双击文件夹会打开一个新窗口.这对于习惯Windows的用户会感觉非常别扭.其实,如果用鼠标中键双击文件夹,就不会打开新窗口了.当然,也可以按照如下设置: 1. 打开任意一个文 ...