出租车计费软件测试用例设计

我接触测试,是因为公司测试人员集体跳槽,我从一个开发小白摇身一变成为了测试小白。虽然看过书籍、追过博客、听过公开课,但是由于没有经过系统学习,看到各种笔试题,比如在刚看到柠檬班微信公众号看到的这个关于出租车计费软件的笔试题,第一眼就有点闷逼。我发现无论使用等价类边界值,还是因果图,亦或是场景法其中的一种,都不能快速的写出用例。公开课里老师说过,每个人设计用例的思维都是不一样的。如果只按照学过的套路来设计用例,在工作中很可能就会遇到无法下手的场景。于是我就在这个题目上神游两小时,最终得出以下成果。欢迎各位老师、前辈前来点评。

image.png

题目 1:

  1. 在时间上,没有说明 5:00、23:00 包含在租车过程内,5:00、23:00 前后各个收费项如何计费,按照我的理解,包含 5:00、23:00 的所有收费项目一个最小单位内按整点前价格计算,之后的价格全部按整点过后的价格计算
  2. 没有说明路程价格和等待价格是按照阶梯计价,还是全部路程价格发生变化,按照我的理解,是全部采用阶梯计价
  3. 没有说明,路程和等待时间不是整数,是按照比例计价,还是按照补满一个最小计价单位计价,按照我的理解,全部按照不足部分按最小单位补满计算
  4. 起步价所在单元格换行导致界面不美观
  5. 在起步价 3 公里内等待是否收费,按照我的理解起步价应该放在 10 公里内下方,3 公里内等待时间同 10 公里。
  6. 没有说明空驶费采用哪个价格,以及如何计算,按照我的理解,空驶费是在原本价格的基础上按照 10 公里以外的价格额外增加的费用。
  7. 如果在 10 公里内外分别等待了一段时间,等待价格是单独分开计算,还是按照哪个价格统一计算,我的理解是单独分开计算

题目 2:

根据题目,列出测试点

image.png

路程是从零开始连续增加的,时间因素看起来好像有点复杂,等待是随时可能发生并且多次发生的。所以这里我使用时间来作为测试用例分类标准,路程通过测试数据(边界值)的方式来实现全覆盖,后面再补充有‘等待‘的用例。

为了便于查看,这里我只列出 5 列

出租车计费软件测试用例

用例编号 用例标题 测试数据 测试步骤 预期结果
1 过程发生在时间 5-23 内 路程:2,3,4,9,10,11,34,35,36 1.控制时间在 5-23 内
2.从 0 增加路程到 50
3.记录路程分别在 2,3,4,9,10,11,34,35,36 计费软件显示的价格
2 过程发生在时间 23-5 内 路程:2,3,4,9,10,11,34,35,36 1.控制时间在 23-次日 5 内
2.从 0 增加路程到 40
3.记录路程分别在 2,3,4,9,10,11,34,35,36 计费软件显示的价格
3 时间达到 23 时,路程为 3 公里内 路程:2,3,4,9,10,11,34,35,36 1.控制路程在 23 点时未达到 3 公里
2.23 点后继续增加路程到 36 公里
3.记录路程分别在 2,3,4,9,10,11,34,35,36 时计价软件显示的价格
4 时间达到 23 时,路程处于 3-10 公里内 路程:9,10,11,34,35,36 1.控制路程在 23 点时在 7 公里计价范围内
2.23 点后继续增加路程到 37 公里
3.记录路程分别在 9,10,11,34,35,36 时计价软件显示的价格
5 时间处于 23 时,路程处于 10-35 公里内 路程:34,35,36 1.控制路程在 23 时在 25 公里计价范围内
2.23 点后继续增加路程到 40 公里
3.记录路程分别在 34,35,36 时计价软件显示的价格
6 时间处于 23 时,路程大于 35 公里 路程:2,3,4,9,10,11,34,35,36 1.控制路程在时间达到 23 时,路程在 38 公里处
2.23 点后继续增加路程到 45 公里
3.记录路程在 45 公里处计价器显示的价格
7 时间跨越 5 点处按类似跨越 23 点处理 ... ...
... ..
11 时间 5-23 内,发生等待 在 10 公里处等待 6 分钟,在 11 公里处等待 11 分钟 1.控制时间在 5-23 内
2.增加路程,在 10 公里处等待 6 分钟
3.继续增加路程,在 11 公里处等待 11 分钟
4.分别记录在 10 公里处等待 5、6 分钟,在 11 公里等待 10 分钟、11 分钟时计价器显示的价格
12 时间 23-次日 5 点,发生等待 在 10 公里处等待 6 分钟,在 11 公里处等待 11 分钟 1.控制时间在 23-次日 5 点
2.增加路程,在 10 公里处等待 6 分钟
3.继续增加路程,在 11 公里处等待 11 分钟
4.分别记录在 10 公里处等待 5、6 分钟,在 11 公里处等待 10、11 分钟时计价器显示价格
13 23 点时路程小于 10 公里发生等待 在 23 点前等待 6 分钟,在 23 点后路程达到 10 公里前等待 11 分钟,在路程达到 11 公里时等待 16 分钟 1.在 23 点前,路程为 4 公里处等待 6 分钟
2.增加路程到 8 公里处且时间在 23 点后等待 11 分钟
3.增加路程到 11 公里处等待 16 分钟
4.分别记录 4 公里处等待 5、6 分钟,在 8 公里处等待 10、11 分钟,在 11 公里处等待 15、16 分钟时计价器显示的价格
14 23 时路程大于 10 公里发生等待 在 23 点前路程 10 公里处等待 6 分钟,路程 11 公里处等待 11 分钟,在 23 点后路程达到 35 公里处等待 11 分钟,在路程达到 36 公里时等待 16 分钟 1.在 23 点前路程为 8 公里处等待 6 分钟
2.增加路程在 35 公里且在 23 点前等待 11
3.增加路程在 40 公里且在 23 点后等待 16 分钟
4.分别记录 8 公里处等待 5、6 分钟,35 公里处等待 10、11,40 公里处等待 15、16 分钟,计价器显示价格
15 5 时路程小于 10 公里发生等待 在 5 点前等待 6 分钟,在 5 点后路程达到 10 公里前等待 11 分钟,在路程达到 11 公里时等待 16 分钟 ...
16 5 时路程大于 10 公里发生等待 在 5 点前路程 10 公里处等待 6 分钟,路程 11 公里处等待 11 分钟,在 5 点后路程达到 35 公里处等待 11 分钟,在路程达到 36 公里时等待 16 分钟 ...

夜深了,预期结果没有写 😄 ,另外写到最后才想明白每条用例只需要记录最后计价器显示价格,因为最后价格正确代表前面每个步骤价格都正确。

不知道我这样写用例是不是可行,有没有需要补充的地方?@各路大神 🙏

大神们,请告诉我这么写用例能不能行?

单选 不公开 永不结束
不行
0 票
可以
0 票
不知道
0 票

1 回帖
请输入回帖内容 ...
  • tricy

    这个题目其实最好的方式是用场景法,因为它有不同的判断条件得出不同的计费规则,用场景法画出流程图,再去覆盖每一个分支的场景;这样思路会清晰很多,而且也能避免漏掉某些场景;然后设计数据再用等价类和边界值法来选取代表性的数据测试,可以节省一些时间。