目录结构

一、案例描述

二、需求分析

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. 模拟银行存取款业务 简要代码

    本项目的主要功能是模拟银行的存取款业务,当用户登录时需判断银行卡号和银行卡密码,当输入的 卡号和密码都正确时,登录成功,提示当前登录的账户名,并进入下一步选择操作类型.操作类型包括四种(存款:1取款: ...

  2. c语言银行每月额外存款100,C语言课程设计_银行存取款业务.doc

    <C语言程序设计>课 程 设 计 报 告 题目:模拟银行存取款业务 学生姓名 学 号 专 业 班 级 学 部 计算机科学与电气工程学部 目 录 TOC \o "1-3" ...

  3. python代码去马赛克_十行python代码教你如何去除万恶的,如s一样的马赛克

    世界上有一种东西,叫作马赛克,不知道困扰了多少痴男怨女.小编新get到一个技能,忍不住拿出来秀一秀. 小编这几天的了解其实水印和马赛克的原理是一样的,都是覆盖.一般是去不了的,那么这个技术来了,请看~ ...

  4. 什么叫python代码的优化_优化Python代码

    如果你的问题是关于优化python代码(我认为应该是这样),那么你可以做各种各样的intesting的事情,但是首先: 你可能不应该痴迷于优化python代码!如果您正在使用最快的算法来解决问题,并且 ...

  5. python代码风格指南_记录Python代码:完整指南

    python代码风格指南 Welcome to your complete guide to documenting Python code. Whether you're documenting a ...

  6. python代码加密解密_在python中加密 – 在Javascript中解密

    您的Python代码和CryptoJS代码存在许多问题: >您使用随机IV加密Python中的一些明文.如果要检索该明文,则需要在解密期间使用相同的IV.没有IV,明文就无法恢复.通常,IV只是 ...

  7. python代码颜色搭配_修改Python IDLE代码配色及语法高亮主题

    文章1 原出处:http://wangye.org/blog/archives/634/ 文章2 原出处:http://huacnlee.com/blog/share-someting-python- ...

  8. python代码阅读器_用Python代码实现的RSS阅读器示例

    玩蛇网python之家这篇文章是关于如何使用Python代码实现RSS阅读器示例,如何用Tkinter等模块方法实现RSS订阅器的编写,参考学习过下面的正试代码后就会明白. 简单的说下RSS阅读器是什 ...

  9. python代码写名字_【python】【名字】是什么?,Pythonname

    前言 在我们浏览一下 python 文件或者自己写 python 代码的时候,时常会在代码的最后加上这样的一行代码 if __name__ == '__main__': func_name() 那么这 ...

最新文章

  1. Android采用Application总结一下
  2. 想知道垃圾回收暂停的过程中发生了什么吗?查查垃圾回收日志就知道了!
  3. python与excel做数据可视化-用Python进行数据可视化的10种方法
  4. 一周冲刺计划第七天11.21
  5. Debian8 安装wordpress博客
  6. 后端系统开发之白名单机制
  7. hibernate4调用mysql存储过程_hibernate调用存储过程
  8. Identifiers in Java(Java标识符)
  9. 山东管理学院计算机二级,山东管理学院有几个校区及校区地址 哪个校区最好...
  10. hibernate框架 最新_Java 15 个框架
  11. 关于php print_r
  12. 在chinapub上搜“搜索引擎”,按照销量排序《搜索引擎零距离》居然是第一
  13. html游戏开源代码是什么,怎么运行html5游戏的源代码
  14. 一盘商家一盘货,拼多多为什么比手淘便宜?
  15. 计算机系云,计算机与信息技术学院
  16. 使用卷积神经网络进行实时面部表情检测
  17. 稀疏矩阵的十字链表存储表示和实现(第五章 P104 算法5.4)
  18. 计算机专业名词TIME,date
  19. 如何去学习PMP考试的《PMBOK》
  20. windows10安装oracle数据库

热门文章

  1. Python_微信开发
  2. my stackoverflow
  3. 判断字符串是数字、字符、还是...
  4. 为防盗装自动门 不想也会影响生活
  5. 页面中动态画有超连接的图
  6. 46 - 算法 -Leetcode 168 -位运算 类型模拟倒序利用vector
  7. java字符类型的返回值,Java字符类isWhitespace()方法及示例
  8. 升级npm之后,保存的位置仍然在C盘,不在自己规定的盘下
  9. 微课|《Python编程基础与案例集锦(中学版)》第3章例题讲解(2)
  10. Python获取本机所有网卡的MAC地址