🐵指尖猴全新升级
第26课:测试与调试
🐛

测试与调试

Bug不可怕,可怕的是不知道怎么抓它

📖知识引入

🪲Bug一词的由来
1947年,科学家从电脑里抓出一只真蛾子——它卡在继电器里导致故障。从此「虫子」成了程序错误的代名词,抓虫(Debug)成了程序员日常。
🧪测试:主动找茬
测试不是等用户发现问题,而是自己先当「刁钻用户」:正常输入试一遍、空输入试一遍、乱输入试一遍。三条路都走通,才算过关。
🎯边界值最易藏虫
Bug最爱藏在「边儿上」:倒计时设0秒会怎样?设999999秒呢?密码生成1位长度?专挑这些极端值试,一抓一个准!
🔍调试三步法
抓Bug套路:①重现——让它再次发生;②定位——找出错的那几行;③修复——改掉再验证。像医生看病:先复现症状,再检查病因,最后对症下药。
🤖AI是找虫大师
把报错信息原样发给AI:「这里报错XXX,帮我找原因」——AI定位Bug又快又准。但描述要具体:贴完整报错+说明你想干什么,它才能药到虫除。
💡
调试三步法:重现→定位→修复,专治各种不服!

🔍一次真实的抓虫行动

# 有虫的代码(少走1秒)
total = 60
while total > 0:
    total = total - 1     # 🐛 先减了
    print(total)         # 59 58 ... 1
# 显示了59个数,用户感觉少了1秒

# 修复后(先显示再减)
total = 60
while total > 0:
    print(total)         # 60 59 ... 1
    total = total - 1    # ✔ 后减

倒计时器有虫!用户说设60秒实际只跑59秒。

第1步 重现:

自己设60秒实测→确实59秒结束 ❌

第2步 定位: 显示环节正常,问题在「开始的一瞬间」—— 程序在显示前就先减了1秒! (先减后显示 vs 先显示后减)

第3步 修复: 调整顺序:先显示再减1。 再测60秒:整整60秒 ✅ 虫子捉住!

调试心法:
┌────────────────────┐
│ 现象:用户看到什么  │
│ 重现:让错误再来   │
│ 定位:缩小包围圈    │
│ 修复:小刀改不大动  │
│ 验证:多测几遍     │
└────────────────────┘

把Bug发给AI的模板: 「我做了X,期望Y, 结果Z,报错信息如下」 四要素齐全,秒懂!

🎯小测验

第1题:「Bug」这个词的来历是?

第2题:哪类输入最容易测出Bug?

第3题:调试三步法的顺序是?

📝本课知识点

  • ✓Bug源于一只真蛾子的传说
  • ✓测试=主动当刁钻用户
  • ✓边界值是Bug的老巢
  • ✓调试三步:重现、定位、修复
  • ✓报错发给AI:四要素说清
第26课完成!继续探索下一课吧 🚀