针对自动取款机优化需求的用例设计,应该挺全面了吧
案例设计需求
有一个 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 元的填补
无效场景
钱不够了,无论是哪一种不够,这时候会报错说取款机余额不足
用户输入金额不正确,即有个数,那么也会报错用户输入不正确
用户未输入,提示报错
最后: 可以在公众号:伤心的辣条 ! 自行领取一份 216 页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux 必备、Shell、互联网程序原理、Mysql 数据库、抓包工具专题、接口测试工具、测试进阶-Python 编程、Web 自动化测试、APP 自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。
学习技术千万不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。你可以加入我们的测试技术交流扣扣群:746506216(里面有各种软件测试资源和技术讨论)
喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
版权声明: 本文为 InfoQ 作者【伤心的辣条】的原创文章。
原文链接:【http://xie.infoq.cn/article/d7f0a45f861de789315976f1c】。未经作者许可,禁止转载。
评论