第3次作业+105032014070
被测代码链接:http://www.cnblogs.com/HSing1225/p/6628307.html
1、修正流程图:
2、测试用例设计:
3、单元测试框架:
import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; public class CommissionTest { Commission com = new Commission(); @Before public void setUp() throws Exception { } @After public void tearDown() throws Exception { } @Test public void testCommission() { assertEquals(9.8,Commission.commission(1, 1, 1),0.001); assertEquals(105.7, com.commission(10, 19, 6),0.001); assertEquals(393.6, com.commission(32, 10, 1),0.001); } @Test public void testTu() { assertEquals(-1, com.tu("3.62")); assertEquals(6, com.tu("6")); assertEquals(-1, com.tu("asd")); } }
4、测试结果:
5、测试小结:
- 本次程序分成main函数和合法性验证函数和佣金计算函数,所以三组路径覆盖也同时是语句覆盖等其它覆盖,因为存在两个条件的判定只有一个,所以条件覆盖比较简单。
- 单元测试对各个函数的测试非常方便,但是不知道私有函数能不能被测试?
- 调试简单多了,但也是因为程序猿本身不用想太多,而且哪里有错编译软件会提示,而测试需要绞尽脑汁根据各种覆盖编写用例。