结对作业2-单元测试
成员:陈鑫龙(201421123078)、何跃斌(201421123082)
码市地址:https://coding.net/u/ybsnn/p/union_test/git
一、需求分析
1.绝大部分软件都是多人合作完成的,自己写的模块会被其他人调用,因而需要单元测试,让自己负责的模块功能定义尽量明确。
2.这次是将上次结对作业四则运算的计算模块进行提取,以供测试使用。
二、抽出上次作业的计算模块
原来的计算方法
1.创建Calc类,有属性num1,num2
2.构造处理字符串型的运算数静态函数splitnum
3.构造自动生成测试函数
4.构造手动输入测试函数
三、测试过程
JUnit测试结果
1.加法测试:
最后两个有报错提示:运算符只能有一个,在{+,-,×,÷}中选择。
2.减法测试
同样:最后两个有报错提示:运算符只能有一个,在{+,-,×,÷}中选择。
3.乘法测试
同样:最后两个有报错提示:运算符只能有一个,在{+,-,×,÷}中选择。
4.除法测试
最后一项有提示
5.其他测试
有一个输入有误就提示,两个数都有误的话,将这两个数都设为1,参与运算。
6.自动生成测试
结果:
覆盖率测试
四、遇到的问题
1.设计计算类的时候考虑不周,传递的参数只能是自己构造的分数类对象,测试的时候得再写方法改变传参对象为字符串,在这个方法里调用原先的方法,效率太低。
2.先前定义运算数为int型,把可算范围圈小了;还有只定义两个运算数,限制了程序的可拓展性。
五、小结
写程序不会是一劳永逸,但是不能为了当前的便利,不顾及改进,随意定义,限定程序的发展空间。
六、PSP
PSP2.1 | Personal Software Process Stages | Time Senior Student | Time |
---|---|---|---|
Planning | 计划 | ||
· Estimate | 估计这个任务需要多少时间 | 10h | 11h |
Development | 开发 | ||
· Analysis | 需求分析 (包括学习新技术) | 1h | 2h |
Design Spec | 生成设计文档 | ||
· Design Review | 设计复审 | ||
· Coding Standard | 代码规范 | 2h | 1h |
· Design | 具体设计 | ||
· Coding | 具体编码 | 1h | 2h |
· Code Review | 代码复审 | 0.6h | 1h |
· Test | 测试(自我测试,修改代码,提交修改) | 2.5h | 1.5h |
Reporting | 报告 | 2h | 2.5h |
· | 测试报告 | ||
· | 计算工作量 | ||
· | 并提出过程改进计划 |