python代码设计测试用例_[CP_01] Python循环结构案例:模拟银行存取款业务,设计执行测试用例...
目录结构
一、案例描述
二、需求分析
1. 业务流程图
2. 业务项&测试场景
三、代码实现
四、用例设计&执行(简化模式)
1. 登录业务
2. 存款业务
3. 取款业务
4. 退卡业务
5. 存款、取款、退卡-交叉业务
案例:利用循环结构语法,实现模拟银行存款&取款业务
一、案例描述
模拟3张银行卡,卡号分别为:1001、1002、1003,分别设置有密码、初始余额
提示用户输入卡号和密码
银行卡登录场景
(1)若用户输入正确,则提示让用户选择具体的操作业务(取款|存款|退出),并提示当前余额数目
(2)若用户输入错误,则提示重新输入卡号密码
(3)若连续3次输入错误的账号密码,则提示银行卡已被锁定,不能继续交易
登录后的业务操作场景
(1)取款业务:提示输入取款额度。若输入超出余额,则提示余额不足;否则,在余额上减掉输入的取款金额
(2)存款业务:提示输入存款金额。余额加上存款金额,提示当前余额的数目
(3)退出操作:提示重新输入卡号和密码
二、需求分析
1. 业务流程图
2. 业务项&测试场景
1. 登录验证业务
1)正确匹配,登录成功
①首次输入即正确匹配
②输入错误1次,再次输入正确
③连续输入错误2次,再次输入正确
2)输入错误超出次数限制,登录失败(退出程序)
①连续输入错误3次
2. 存款业务
1)存款成功
①输入非0的正整数
2)存款失败
①输入非数字
②输入负数
③输入0
④不输入,直接提交
3. 取款业务
1)取款成功
①输入非0的正整数,且输入的数字=账户余额
②输入非0的正整数,且输入的数字<账户余额
2)取款失败
①输入非数字
②输入负数
③输入0
④不输入,直接提交
⑤取款金额>账户余额
4. 退卡业务
①登录成功后,业务选择“退卡”,不作其他交易
5. 存款、取款、退卡-交叉业务
①存款,退卡
②存款,存款,退卡
③存款,取款,退卡
④存款,存款,取款,取款,存款,退卡
⑤取款,退卡
⑥取款,取款,退卡
⑦取款,取款,存款,存款,取款,退卡
三、代码实现
bankTest.py
# 定义3张银行卡,分别设置密码、初始余额
card1="1001"
pwd1="111"
bal1=100
card2="1002"
pwd2="222"
bal2=200
card3="1003"
pwd3="333"
bal3=300
# 开启登录、存取款业务
print("------Welcome to Python Bank------")
times=0 # 控制输错的连续次数
while True: # while永久循环
# 提示用户输入卡号和密码
card=input("请输入银行卡号:")
pwd=input("请输入密码:")
bal=0 # 余额
# 对卡号密码匹配判断-登录业务
if card==card1 and pwd==pwd1: # 将卡号密码-余额进行关联
bal=bal1
print("Welcome User:",card)
elif card==card2 and pwd==pwd2:
bal=bal2
print("Welcome User:",card)
elif card==card3 and pwd==pwd3:
bal=bal3
print("Welcome User:",card)
else: # 卡号密码不匹配的处理
times=times+1
if times<3:
print("卡号or密码输入错误,请重新输入!")
continue # 跳出当前循环,继续下一次循环:输入卡号密码
else:
print("已连续3次输入错误,请联系银行柜台解锁")
break
# 登录银行账户后,进行存取款业务
while True:
num=input("请选择办理的业务[1-存款 2-取款 3-退卡]:")
# 存款业务
if num=="1":
while True:
# 与整数比较,变量需要为int类型;强转int只对数字型字符串有效
# 输入可能有整数、小数、字母字符等
deposit=input("请输入存款金额:")
if deposit.isnumeric() and int(deposit)>0:
bal=bal+int(deposit)
print("存款成功!\n存入:",deposit,"\t账户余额:",bal)
break # 终止当前while循环,进入上一层循环(若有):选择业务
else:
print("存款金额必须为正整数,请重新输入!")
continue # 跳出本次循环,进入下一次循环:继续输入存款金额
# 取款业务
elif num=="2":
while True:
withdraw=input("请输入取款金额:")
if withdraw.isnumeric():
if int(withdraw)>0 and int(withdraw)<=bal:
bal=bal-int(withdraw)
print("取款成功!\n取出:",withdraw,"\t账户余额:",bal)
break
elif int(withdraw)>bal:
print("余额不足,请重新输入!")
continue
else:
print("取款金额必须为正整数,请重新输入!")
continue
else:
print("取款金额必须为正整数,请重新输入!")
continue
# 退卡业务
elif num=="3":
print("退卡成功!")
exit() # 退出程序
else:
print("输入有误,请重新选择!")
continue # 跳出本次循环,进行下一次循环:选择业务
四、用例设计&执行(简化模式)
1. 登录业务
编号
用例描述
预期结果
01
首次输入卡号密码正确
登录成功,出现对应卡号的欢迎信息
02
输入错误1次,再次输入正确
输入错误:登录失败,系统提示“卡号or密码输入错误,请重新输入!”
输入正确:登录成功,出现对应卡号的欢迎信息
03
连续输入错误2次,再次输入正确
输入错误:登录失败,系统提示“卡号or密码输入错误,请重新输入!”
输入正确:登录成功,出现对应卡号的欢迎信息
04
连续输入错误3次
连续第1/2次输入错误:登录失败,系统提示“卡号or密码输入错误,请重新输入!”
连续第3次输入错误:登录失败,系统提示“已连续3次输入错误,请联系银行柜台解锁”
执行结果:
2. 存款业务
预置条件:使用银行卡1001,初始账户余额=100
编号
用例描述
预期结果
01
输入非0的正整数:1000
系统提示“存款成功! 存入:1000 账户余额:1100”
02
输入非数字:abc100
系统提示“存款金额必须为正整数,请重新输入!”
03
输入负数:-200
系统提示“存款金额必须为正整数,请重新输入!”
04
输入0
系统提示“存款金额必须为正整数,请重新输入!”
05
不输入,直接提交
系统提示“存款金额必须为正整数,请重新输入!”
执行结果:
3. 取款业务
预置条件:使用银行卡1002,初始账户余额=200
编号
用例描述
预期结果
01
输入非0的正整数,且输入的数字(150)<账户余额
取款成功,系统提示“取款成功! 取出:150 账户余额:50”
02
输入非0的正整数,且输入的数字(50)=账户余额
取款成功,系统提示“取款成功! 取出:50 账户余额:0”
03
输入非数字:aaabbb
取款失败,系统提示“取款金额必须为正整数,请重新输入!”
04
输入负数:-100
取款失败,系统提示“取款金额必须为正整数,请重新输入!”
05
输入0
取款失败,系统提示“取款金额必须为正整数,请重新输入!”
06
不输入,直接提交
取款失败,系统提示“取款金额必须为正整数,请重新输入!”
07
取款金额(300)>账户余额
取款失败,系统提示“余额不足,请重新输入!”
执行结果:
4. 退卡业务
编号
用例描述
预期结果
01
登录成功后,业务选择“退卡”,不作其他交易
系统提示“退卡成功!”,并退出程序
执行结果:
5. 存款、取款、退卡-交叉业务
预置条件:使用银行卡1003,初始账户余额=300
编号
用例描述
预期结果
01
存款,退卡
存款:存款成功,并显示存入金额、账户余额
退卡:系统提示“退卡成功!”,并退出程序
02
存款,存款,退卡
<描述省略>
03
存款,取款,退卡
<描述省略>
04
存款,存款,取款,取款,存款,退卡
<描述省略>
05
取款,退卡
取款:取款成功,并显示取出金额、账户余额
退卡:系统提示“退卡成功!”,并退出程序
06
取款,取款,退卡
<描述省略>
07
取款,取款,存款,存款,取款,退卡
<描述省略>
执行结果:
python代码设计测试用例_[CP_01] Python循环结构案例:模拟银行存取款业务,设计执行测试用例...相关推荐
- 模拟银行存取款业务 简要代码
本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的 卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型.操作类型包括四种(存款:1取款: ...
- c语言银行每月额外存款100,C语言课程设计_银行存取款业务.doc
<C语言程序设计>课 程 设 计 报 告 题目:模拟银行存取款业务 学生姓名 学 号 专 业 班 级 学 部 计算机科学与电气工程学部 目 录 TOC \o "1-3" ...
- python代码去马赛克_十行python代码教你如何去除万恶的,如s一样的马赛克
世界上有一种东西,叫作马赛克,不知道困扰了多少痴男怨女.小编新get到一个技能,忍不住拿出来秀一秀. 小编这几天的了解其实水印和马赛克的原理是一样的,都是覆盖.一般是去不了的,那么这个技术来了,请看~ ...
- 什么叫python代码的优化_优化Python代码
如果你的问题是关于优化python代码(我认为应该是这样),那么你可以做各种各样的intesting的事情,但是首先: 你可能不应该痴迷于优化python代码!如果您正在使用最快的算法来解决问题,并且 ...
- python代码风格指南_记录Python代码:完整指南
python代码风格指南 Welcome to your complete guide to documenting Python code. Whether you're documenting a ...
- python代码加密解密_在python中加密 – 在Javascript中解密
您的Python代码和CryptoJS代码存在许多问题: >您使用随机IV加密Python中的一些明文.如果要检索该明文,则需要在解密期间使用相同的IV.没有IV,明文就无法恢复.通常,IV只是 ...
- python代码颜色搭配_修改Python IDLE代码配色及语法高亮主题
文章1 原出处:http://wangye.org/blog/archives/634/ 文章2 原出处:http://huacnlee.com/blog/share-someting-python- ...
- python代码阅读器_用Python代码实现的RSS阅读器示例
玩蛇网python之家这篇文章是关于如何使用Python代码实现RSS阅读器示例,如何用Tkinter等模块方法实现RSS订阅器的编写,参考学习过下面的正试代码后就会明白. 简单的说下RSS阅读器是什 ...
- python代码写名字_【python】【名字】是什么?,Pythonname
前言 在我们浏览一下 python 文件或者自己写 python 代码的时候,时常会在代码的最后加上这样的一行代码 if __name__ == '__main__': func_name() 那么这 ...
最新文章
- Android采用Application总结一下
- 想知道垃圾回收暂停的过程中发生了什么吗?查查垃圾回收日志就知道了!
- python与excel做数据可视化-用Python进行数据可视化的10种方法
- 一周冲刺计划第七天11.21
- Debian8 安装wordpress博客
- 后端系统开发之白名单机制
- hibernate4调用mysql存储过程_hibernate调用存储过程
- Identifiers in Java(Java标识符)
- 山东管理学院计算机二级,山东管理学院有几个校区及校区地址 哪个校区最好...
- hibernate框架 最新_Java 15 个框架
- 关于php print_r
- 在chinapub上搜“搜索引擎”,按照销量排序《搜索引擎零距离》居然是第一
- html游戏开源代码是什么,怎么运行html5游戏的源代码
- 一盘商家一盘货,拼多多为什么比手淘便宜?
- 计算机系云,计算机与信息技术学院
- 使用卷积神经网络进行实时面部表情检测
- 稀疏矩阵的十字链表存储表示和实现(第五章 P104 算法5.4)
- 计算机专业名词TIME,date
- 如何去学习PMP考试的《PMBOK》
- windows10安装oracle数据库