某物流公司的货运收费标准如下: 收货地点在省内,则快件每公斤6元,慢件每公斤4元。 收货地点在省外,若重量小于或等于25公斤,则快件每公斤8元,慢件每公斤6元;若重量大于25公斤,则快件每公斤10元,慢件每公斤8元。 设计一个决策表
时间: 2024-06-13 10:08:44 浏览: 192
下面是物流公司货运收费标准的决策表:
| 条件 | 收货地点在省内 | 收货地点在省外且重量小于等于25公斤 | 收货地点在省外且重量大于25公斤 |
| --- | --- | --- | --- |
| 快件 | 每公斤6元 | 每公斤8元 | 每公斤10元 |
| 慢件 | 每公斤4元 | 每公斤6元 | 每公斤8元 |
其中,条件包括:收货地点(省内或省外)、快件或慢件、重量大小。根据不同的条件组合,可以得到相应的收费标准。
相关问题
某快递公司的的收费标准如下: (1)寄送快件的地点在本省,则在3公斤以内收费12元,慢件收费10元; (2)寄送快件的地点在外省,则在3公斤以内(含3公斤)快件以内13元,慢件11元。 请根据上述要求,绘制收费的决策表,并编写测试用例。(五个步骤)
五个步骤如下:
第一步:确定条件和结论
条件:
- 寄送快件的地点在本省或外省
- 快件重量在3公斤以内(含3公斤)
结论:
- 本省快件收费12元(慢件收费10元)
- 外省快件收费13元(慢件收费11元)
第二步:列出所有可能的条件组合
| 条件 | 本省 | 外省 |
| --- | --- | --- |
| 重量≤3公斤 | 12元 | 13元 |
| 重量≤3公斤、慢件 | 10元 | 11元 |
第三步:将条件组合转换成测试用例
| 场景 | 地点 | 重量 | 类型 | 预期结果 |
| --- | --- | --- | --- | --- |
| 场景1 | 本省 | 2.5公斤 | 快件 | 12元 |
| 场景2 | 本省 | 2.5公斤 | 慢件 | 10元 |
| 场景3 | 本省 | 3公斤 | 快件 | 12元 |
| 场景4 | 本省 | 3公斤 | 慢件 | 10元 |
| 场景5 | 外省 | 2.5公斤 | 快件 | 13元 |
| 场景6 | 外省 | 2.5公斤 | 慢件 | 11元 |
| 场景7 | 外省 | 3公斤 | 快件 | 13元 |
| 场景8 | 外省 | 3公斤 | 慢件 | 11元 |
第四步:执行测试用例并记录结果
| 场景 | 地点 | 重量 | 类型 | 预期结果 | 实际结果 |
| --- | --- | --- | --- | --- | --- |
| 场景1 | 本省 | 2.5公斤 | 快件 | 12元 | |
| 场景2 | 本省 | 2.5公斤 | 慢件 | 10元 | |
| 场景3 | 本省 | 3公斤 | 快件 | 12元 | |
| 场景4 | 本省 | 3公斤 | 慢件 | 10元 | |
| 场景5 | 外省 | 2.5公斤 | 快件 | 13元 | |
| 场景6 | 外省 | 2.5公斤 | 慢件 | 11元 | |
| 场景7 | 外省 | 3公斤 | 快件 | 13元 | |
| 场景8 | 外省 | 3公斤 | 慢件 | 11元 | |
第五步:分析结果并总结
根据测试用例执行的结果,填写实际结果列。比对预期结果和实际结果,检查是否有错误或遗漏。如果有错误或遗漏,则需要修复和补充测试用例。如果没有错误或遗漏,则测试用例设计完成。
某快递公司寄件规则为:若是同省配送,则在1公斤以内快件收费10元,慢件收费6元;若是外省配送,则在1公斤以内快件收费12元,慢件收费7元,。请基于判定表法设计一个验证寄件快递费计算功能的判定表。
**判定表**可以用来清晰地描述输入变量(例如:是否同省配送和包裹重量)与输出结果(快递费用)之间的对应关系。对于这个寄件规则,我们可以创建如下的判定表:
| 输入条件 | 同省配送 | 非同省配送 |
| -- | --- | --- |
| 包裹重量 | 1公斤以内 | 1公斤以内 |
| 快件选择 | | 快件费 | 慢件费 |
| --------------- | --------- | ------- | -------- |
| 快速 | 10元 | 12元 | - |
| 慢速 | 6元 | 7元 | - |
在这个表中,每一行代表一种特定的情况组合,第一列表示是否同省配送,第二列根据此信息判断是在省内还是省外,第三列和第四列则分别填写对应1公斤以内的快速和慢速快递费用。
如果需要编写函数来验证计算快递费用,可以用类似下面的伪代码表示:
```python
def calculate_shipping_fee(is_in_same_province, is_fast_delivery, weight):
if is_in_same_province:
if weight <= 1 and is_fast_delivery:
return 10
elif weight <= 1 and not is_fast_delivery:
return 6
else:
if weight <= 1 and is_fast_delivery:
return 12
elif weight <= 1 and not is_fast_delivery:
return 7
# 对于超过1公斤的快递费用处理...
```
阅读全文