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 ...
随机推荐
- UltraEdit (Ctrl + F) 查找、(Ctrl + R)替换功能失效
环境: Windows 7 Service Pack 1 X64 工具: UltraEdit Version 21 症状: UltraEdit (Ctrl + F) 查找.(Ctrl + R)替换功能 ...
- ccleaner的专业版和商业版的注册码
名称:Registered User 密钥:CBB4-FJN4-EPC6-G5P6-QT4C 断网注册
- cnb
<style type="text/css"> .fieldset_s{border: 1px #dedede solid;padding: 19px; color: ...
- 宣布正式发布 Azure 媒体服务内容保护服务
Mingfei Yan Azure媒体服务项目经理 我们非常高兴地宣布正式发布 Azure 媒体服务内容保护服务.这包括 Microsoft PlayReady许可服务和 AES明文密钥交付服务!此外 ...
- java中通过类名实例化类
String className ="test.Test1"; Class clazz; try { clazz = Class.forName(className); Test1 ...
- eight - zoj 1217 poj 1077
学习了多位大牛的方法,看看到底能把时耗降到多少? A* // zojfulltest: 30000ms # include <stdio.h> # include <ctype.h& ...
- C#.NET 打印连续纸高度动态变化(基于长江支流的金质打印通)
问题是这样的,打印机使用的是卷筒的连续纸,要打印的内容因为数据行数不同,高度会有变化.这时如果能在打印时动态改变纸张大小(其实只改变高度即可)当然是最好的选择. 我使用了网上久负盛名的[长江支流]的“ ...
- [Jacky] 解决Ext.Net GridPanel 选择的行数据刷新后不能获取最新值
选择GridPanel中一行数据,当变更数据时并重新刷新之后不能获取最新值,需通过如下方式获取: var internalId = gridPanel.getSelectionModel().getL ...
- 使用vxsim(一)
新建download工程 选择toolchain 这里选SIMNTgnu是为了在vxsim中能下载编译的.o文件 如果是为了下载到visualbox或者vmware中的vxworks,则toolcha ...
- 1到n数组,和为指定数所有序列问题
(1)方法一,背包问题解法 #include <iostream> using namespace std; #include <vector> #include <li ...