主题:“列表是测试工程师的百宝箱,元组是需求文档的棺材板”
幽默定义:
列表就像测试工程师的桌面——什么都能往里扔,且永远在找东西!
基本操作:
# 创建测试用例收纳箱
test_cases = ["登录测试", "支付测试", "并发测试"]
# 增:需求又双叒叕变更了!
test_cases.append("防秃头压力测试")
# 删:PM说这个需求不做了
removed_case = test_cases.pop(1) # 删除"支付测试"
# 改:修复用例名称
test_cases[0] = "新用户登录测试"
# 查:找用例(永远在翻箱倒柜)
if "并发测试" in test_cases:
print("并发测试还在!")
程序员冷知识:
元组一旦创建无法修改——就像老板承诺的“这次需求绝对不改了”
测试场景:
# 定义测试环境配置(谁敢动就报错)
test_env = ("测试服务器", "192.168.1.101", 8080)
# 试图修改(小心触发警报!)
test_env[2] = 9090 # 报错:TypeError
import random
# 原材料池(可扩展)
verbs = ["重启", "注释", "删库"]
nouns = ["电脑", "代码", "产品经理"]
adverbs = ["虔诚地", "用力地", "边哭边"]
# 列表推导式生成建议
bad_advices = [
f"遇到BUG就{random.choice(verbs)}{random.choice(nouns)}"
for _ in range(10)
]
# 添加测试工程师专属建议
bad_advices.extend([
"所有报错都try-except掉",
"测试环境直接切生产"
])
# 随机展示
print("《让代码下地狱的十大建议》")
for i, advice in enumerate(bad_advices[:10], 1):
print(f"{i}. {adverse}{random.choice(adverbs)}执行:{advice}")
运行示例:
《让代码下地狱的十大建议》
1. 请用力地执行:遇到BUG就删库产品经理
2. 请边哭边执行:测试环境直接切生产
...
# 从文件读取用例(示例)
with open("test_cases.txt") as f:
cases = [line.strip() for line in f]
# 批量添加新需求
new_cases = ["性能测试", "安全测试"]
cases.extend(new_cases)
# 过滤无效用例
cases = [c for c in cases if "测试" in c]
# 生成测试计划
print(f"今日待测:{len(cases)}个用例")
2. 元组应用:环境配置管理
# 定义不同环境配置
ENV_PROD = ("生产服务器", "10.0.0.1", 80) # 谁敢动?
ENV_TEST = ("测试服务器", "192.168.1.2", 8080)
# 快速切换环境
current_env = ENV_TEST
print(f"当前环境:{current_env[0]}({current_env[1]}:{current_env[2]})")
# 错误示范(改一个全改)
test_data = * 3
test_data[0][0] = 1 # 输出:[[1], [1], [1]]
# 正确操作
test_data = [[0] for _ in range(3)]
# 你以为不能改?
fake_tuple = ([1,2], 3)
fake_tuple[0].append(3) # 成功!输出:([1,2,3], 3)
课后任务提交格式:
# 你的天才建议
bad_advices.append("紧急需求请直接rm -rf /*")
知识扩展:
列表推导式
快速生成测试数据namedtuple
可为元组字段命名(适合测试配置)from collections import namedtuple
EnvConfig = namedtuple('EnvConfig', ['name', 'ip', 'port'])
test_env = EnvConfig('测试环境', '192.168.1.101', 8080)
print(test_env.ip) # 输出:192.168.1.101