题目(2):下表为某商场每日营业额与应收税率的对照表,请编写一小程序根据该商场每日营业额计算其实际应缴纳税费。
营业额X (¥) 1000≤X<5000 5000 ≤X<10000 X≥10000
税率 5% 8% 10%
对题目的分析
这是分阶缴纳税款的应用题,采用判断分支结构设计。税款计算用函数来实现,便于单元测试。详细代码请看这。核心代码如下
double counter(double X)
{
double b = 0.08, c = 0.10, Y, a = 0.05;
if (X<1000)
{
Y = 0.0;
}
else
{
if (1000 <= X < 5000)
{
Y = (X - 1000)*a;
}
else
{
if (5000 <= X < 10000)
Y = 4000 * a + (X - 5000)*b;
else
Y = 4000 * a + 5000 * b + (X - 10000)*c;
}
}
return Y;
}
为什么进行单元测试
- 确定自己的代码功能和逻辑是否正确;
- 发现问题并及早地改进一些不当的设计;
- 对于一些被依赖信很强的代码作修改时,确保逻辑的正确才能不影响其它模块的功能;
- 更好地管理和保存测试代码,以便下次代码修改后可方便地进行Debugging;
编写自动测试代码如下图,为了实现测试覆盖选择四组数据进行条件/判断语句全覆盖和组合条件覆盖。测试组为(500,0)和(2000,50)和(7000,360)和(12000,800)
测试结果如下图
总结体会
这次作业选了第二题相对容易能对测试条件考虑周全,测试用例都能覆盖全部语句和条件。对测试有了一个新的了解。