软件设计 2017-03-28
201421123022 王若凡 201421123026 欧阳勇
详细代码
a.需求分析:
a. 加减乘除功能测试
b.输入非法字符测试
c.数值超出范围测试
d.结果除0测试
b.设计测试框架,模拟测试数据(view code)
1. 加减乘除功能测试
@Test
public void testAdd() {
calc.add(5,8);
assertEquals(13, Integer.parseInt(calc.getResult()));
}
@Test
public void testSubstract() {
calc.substract(5,8);
assertEquals(-3, Integer.parseInt(calc.getResult()));
}
@Test
public void testMultiply() {
calc.multiply(5,8);
assertEquals(40, Integer.parseInt(calc.getResult()));
}
@Test
public void testDivide() {
calc.divide(5,8);
assertEquals(String.valueOf("5/8"), calc.getResult());
}
@Test
public void testAdd2() {
calc.add2(2,4,2,3);
assertEquals(String.valueOf("7/6"), calc.getResult());
}
@Test
public void testSubstract2() {
calc.substract2(2,4,2,3);
assertEquals(String.valueOf("1/-6"), calc.getResult());
}
@Test
public void testMultiply2() {
calc.multiply2(2,4,2,3);
assertEquals(String.valueOf("1/3"), calc.getResult());
}
@Test
public void testDivide2() {
calc.divide2(2,4,2,3);
assertEquals(String.valueOf("3/4"), calc.getResult());
} 该部分功能代码较长不贴出,将在coding中。
2.输入非法字符测试
@Test
public void testPanduanzifu() {
//String s=calc.getResult();
calc.panduanzifu("4/7!#@$");
assertEquals("input error", calc.getResult());
}
public void panduanzifu(String s) //判断输入字符,
{
char arr[]= s.toCharArray();
for (int i = 0; i < s.length(); i++)
{
if ((arr[i]<45) || (arr[i] > 58))
{
sum1="input error";
}
}
} 3.数值超出范围测试
@Test
public void testRange() {
calc.range(11,3);
assertEquals("outrange", calc.getResult());
}
public void range(int x, int y)//范围判断
{
if((x<0 || x>10)||(y<0 || y>10))
sum1="outrange";
}
4.结果除0测试
@Test
public void testZero() {
calc.zero("4/0");
assertEquals("zero error", calc.getResult());
}
public void zero(String s) {//结果除0错误
s = s.substring(s.length()-2,s.length());
if(s.equals("/0"))
{
sum1="zero error";
}
} 结果截图
当测试数据返回结果sum1与预先设定的结果相同则运行正确。
小结与感受
此次结对编程2-单元测试,总觉得什么都不会,就好像进入了知识盲区。一开始一头雾水,甚至都不知道要干什么,只能通过队友的言传身教以及网上搜索知识,才慢慢将此次任务完成。测试是很重要的对于一个程序来说,一个系统的测试,会让程序的运行更加安全,减少BUG的出现。经过此次作业,也是发现自己编程水平的不足,知识不全面,还需多多完善。
汉堡包评价
先放上一片面包:两个人的共同点在上一次已经说过,这是第二次合作,两个人更加默契了;
放上肉与佐料:队友的知识体系是比较完善的,在这次我不知所措的时候予以了很大的帮助,虽然此次两个人的角色互换,但更多的是若凡的奉献;
最后放上面包:第二次的合作更加默契,效率自然而然也提高了,为两个人的进步喝彩!

PSP
| PSP2.1 | Personal Software Process Stages | Estimated time(h) | actual time(h) |