针对自动取款机优化需求的用例设计,应该挺全面了吧

122 阅读2分钟

案例设计需求

有一个 ATM 取款系统,现对于取款功能进行了需求变更:只能取面额是 100 元(如取 500,输出 5 张 100 元)。

现在功能修改为,可以取面额是 10 元、50 元和 100 元的,其余功能不变,用户界面也没有任何变化,取款原则为“最优吐钞法”,有大额先吐大额,请根据需求变更进行案例设计。

参考测试用例

大额优先

  • 刚好整百的金额,吐出 N 张 100 元的

  • 刚好为 50 元,吐出 1 张 50 元

  • 刚好是 50 以内的整 10 元,吐出 N 张 10 元

  • 取款金额是 N 百,超过 50 元,吐出 N 张 100 元,1 张 50 元,(M-5)张 10 元(例如 380 元,会吐出 3 张 100 元,1 张 50 元,8-5 张 10 元)

  • 如果是几十元,同时超过 50 元。那么会吐出 1 张 50 元,M-5 张 10 元

  • 取款金额是 N 百几十元,不超过 50 的,那么会吐出 N 张 100 元,M 张 10 元

没有大额了

  • 如果没有 50 元了,那么会吐出 N 张 100 元,M 张 10 元

  • 如果没有 100 元,有 50 元,那会出吐出 2N 张 50 元,十位部分。如果十位部分不足 50 元,则会吐出 M 张 10 元。如果超过 50 元,则会吐出 2N+1 张 50 元,M-5 张 10 元

  • 如果 100 元和 50 元的都没有了,那么会吐出全额的 10 元

  • 如果 100 元的不够用,会优先吐出全部的 100 元,再用 50 元进行折算

  • 如果 100 元和 50 元都不够用了,会优先吐出全部的 100 元和 50 元,最后用 10 元的填补

无效场景

  • 钱不够了,无论是哪一种不够,这时候会报错说取款机余额不足

  • 用户输入金额不正确,即有个数,那么也会报错用户输入不正确

  • 用户未输入,提示报错

如果对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以 点这自行获取…

[喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!]