首页 > 代码库 > 结对编程2——单元测试
结对编程2——单元测试
结对成员:201421123079 肖荣森 201421123081 苏上鑫
Coding地址:https://coding.net/u/theouts/p/javaUnit/git
- 需求分析:测试上有哪些详细的需求?
a) 把计算模块提取出来,单独创建一个类。
b) 针对提取出来的计算类的接口函数做单元测试。
- 设计测试框架, 模拟测试数据:
A.测试环境:项目以java语言进行开发,使用junit4进行测试
B.测试数据
1.整数的加减乘除
2.输入符号错误
3.数据溢出(没有溢出)
4.除数为零(12/0)
5.结果为-1
C.calc代码
public class CalcFunction { String result="there is something wrong!-1"; public void calc(int a, int b, char c) { if(c==‘+‘) add(a,b); else if(c==‘-‘) substract(a,b); else if (c==‘*‘)multiply(a,b); else if (c==‘/‘)divide(a,b); else System.out.println("please input correct symbol!"); } public void add(int a,int b) { result =a + b +""; } public void substract(int a,int b) { result =a - b + ""; } public void multiply(int a,int b) { result =a * b + ""; } public void divide(int a,int b) { if(b!=0) result =a / b + ""; else System.out.println("error!Divisor cannot be zero!"); } public String getResult() { return result; } }
- 小结与感受:通过测试,是否有效发现了程序计算模块的问题,并给予改进?
1.由于函数定义的calc(int,int,char),所以不存在输入为++的情况
2.虽然定义的是int型,但是不明白为什么输入为add(10000,32768)时居然没有溢出
3.由于函数定义原因,如果输入类似于add(a,b),则测试出现错误
- 在隔了一周之后再看之前的代码,是否更能体会到下面这些东西
(1) 良好的设计
之前的代码模块设计很不好,想到哪写到哪,很多东西参杂在一起,应该明确分出各个模块功能
(2) 编码规范
明明不规范,格式在eclipse中可以直接用快键键对齐,所以写的过程中没有注意
(3) 必要的注释
没有写注释的习惯。。。这个应该改成
- 提供此次结对作业的PSP。
PSP2.1 |
Personal Software Process Stages |
Estimated Time(hour) |
Actual Time (hour) |
Planning |
计划 |
0.5 |
0.5 |
Estimate |
估计这个任务需要多少时间 |
0.5 |
0.5 |
Development |
开发 |
5 |
5 |
Analysis |
需求分析 (包括学习新技术) |
0.2 |
0.2 |
Design Spec |
生成设计文档 |
0.3 |
0.2 |
Design Review |
设计复审 |
0.3 |
0.3 |
Coding Standard |
代码规范 |
0.1 |
0.1 |
Design |
具体设计 |
1 |
1 |
Coding |
具体编码 |
2 |
2 |
Code Review |
代码复审 |
0.1 |
0.1 |
Test |
测试(自我测试,修改代码,提交修改) |
1 |
1 |
Reporting |
报告 |
0.5 |
0.5 |
· |
测试报告 |
0.1 |
0.1 |
· |
计算工作量 |
0.1 |
0.1 |
· |
并提出过程改进计划 |
0.3 |
0.3 |
结对编程2——单元测试