软件设计 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) |