第三次作业+105032014037

 被测代码链接:http://www.cnblogs.com/ddanwu-blogs/p/6623048.html

 修正流程图:

测试用例设计:

单元测试框架:

 1 package one;
 2 
 3 import static org.junit.Assert.*;
 4 
 5 import org.junit.Before;
 6 import org.junit.Test;
 7 
 8 public class Case1 {
 9     
10     @Before
11     public void setUp() throws Exception {
12     }
13     
14     @Test
15     public void testCommission() {        
16         assertEquals(98.0, new TestPractice().Commission(10, 10, 10),0.0);
17         assertEquals(267.0, new TestPractice().Commission(20, 10, 10),0.0);
18         assertEquals(376.0, new TestPractice().Commission(20, 20, 10),0.0);
19     }
20 }

测试结果:

测试小结:

  1. 通过对白盒测试方法的学习,能够熟练运用语句覆盖、判定覆盖等白盒覆盖方法进行分析程序并写出测试用例。对于判定条件少的程序,个人认为先使用路径覆盖,然后进行条件判断,再结合组合覆盖,最后进行判定覆盖和语句覆盖检查,能够用更少更准确的用例就能覆盖越多越广的覆盖方式,这能减轻测试工作数据量。
  2. 运用JUnit是对方法的测试,必须基于测试用例正确,不然你把程序已经排除在外的数据给方法测,肯定不通过。JUnit能测试方法的正确性,减轻了开发人员一次又一次的跑main()方法,如果main()方法大且调用方法多,那跑一次就会产生很多中间数据,对于检查哪里出错很不容易。
  3. 调试要跑完整的程序代码,从main入口开始,一步一步执行,程序员需要一直盯着debug查看进行到哪里了。调试就是通过dubug进行编码错误检查。测试则是通过用例进行找茬,找出程序员功能或逻辑上的漏洞。我认为单元测试则居两者之中,通过Junit提取一个个小的程序方法,只进行一个个方法的测试,没有顺序,没有时间限制,哪里有问题就可以着重测试哪个方法,程序员通过单元测试保证程序局部的正确,但不能完全满足需求(例如逻辑上的错误)。而测试人员可以用之进行局部测试,但不能进行更完整、更具针对性的用例测试。
原文地址:https://www.cnblogs.com/WuYeqian/p/6646820.html