01 第一个坑:把“点点点”当成全部工作
新人最大的幻觉:测试就是打开页面,这里点一下,那里点一下,发现bug就截图提交。
真相:点鼠标只占测试工作的20%。剩下80%是设计用例、分析需求、定位问题、沟通协作。
我见过一个新人,入职第一周,领导让他测一个登录功能。他花了3天,点了200多次“登录按钮”,发现3个bug。同事花了2小时,写了30个用例,发现7个bug,还找到了一个隐藏的并发问题。
测试不是点鼠标,是思考怎么点鼠标。
怎么做:
- ►拿到需求,先写测试用例,再执行
- ►每个功能点,至少设计5个不同场景
- ►学会用等价类、边界值、因果图这些设计方法
代码示例(一个简单的登录测试用例设计):
python
# 登录功能测试用例设计
test_cases = [
{"场景": "正常登录", "用户名": "admin", "密码": "123456", "预期": "成功"},
{"场景": "空用户名", "用户名": "", "密码": "123456", "预期": "提示用户名不能为空"},
{"场景": "空密码", "用户名": "admin", "密码": "", "预期": "提示密码不能为空"},
{"场景": "错误密码", "用户名": "admin", "密码": "wrong", "预期": "提示用户名或密码错误"},
{"场景": "边界值-用户名最大长度", "用户名": "a"*50, "密码": "123456", "预期": "成功"},
{"场景": "SQL注入", "用户名": "' OR 1=1 --", "密码": "123456", "预期": "提示非法输入"},
]
02 第二个坑:不读需求文档直接上手
新人最喜欢说:“需求文档太长,不想看,直接测吧。”
后果:测了一周,发现功能跟需求对不上。开发说“需求就是这么写的”,你傻眼了。
不看需求就测试,等于闭着眼睛开车。
数据:70%的测试缺陷,根源是需求理解偏差。不是代码写错了,是你理解错了。
行动清单:
1. 拿到需求,先花30分钟通读一遍
2. 标记所有不明确的地方,列成问题清单
3. 找产品经理、开发开“需求澄清会”
4. 把需求转成测试点,画成思维导图
模板:
text
需求澄清问题清单
1. 登录失败次数限制是多少?
2. 密码重置后,旧密码是否立即失效?
3. 多设备登录是否允许?
4. 超时时间设置是多少?
5. 错误提示文案是否有规范?
03 第三个坑:只测“正常流程”,忽略“异常场景”
新人测试习惯:打开页面,输入正确数据,点击提交,看到成功提示,结束。
问题:用户不会按你剧本走。用户会输入emoji、会断网、会疯狂点击、会输入1万个字符。
正常流程是及格线,异常场景才是分水岭。
典型案例:某电商支付功能,新人只测了正常付款流程。上线第一天,有用户用“-1元”购买商品,系统直接送了1000件。损失30万。
异常场景清单:
- ►网络:断网、弱网、切换到飞行模式
- ►输入:空值、超长值、特殊字符、emoji
- ►操作:快速双击、撤销重做、同时操作
- ►数据:重复提交、并发请求、过期数据
代码示例(测试异常场景的自动化脚本):
python
import requests
# 测试异常场景:提交订单时超长备注
def test_order_remark_overflow():
url = "http://api.example.com/order/create"
data = {
"user_id": 1001,
"product_id": 2001,
"remark": "a" * 10000 # 超长备注
}
response = requests.post(url, json=data)
assert response.status_code == 400
assert "备注长度超限" in response.text
04 第四个坑:发现问题不追到底
新人发现bug,截图、提交、完事。开发说“这不是bug,是需求”,新人就信了。
真相:开发说“不是bug”,90%的情况是bug。只是开发不想改。
测试的尊严,不是发现bug,是让bug被修复。
实战经验:我遇到过开发说“这个性能问题不影响”,我直接拉上产品经理,现场演示100个用户并发,系统直接崩溃。产品经理当场拍板:必须修。
策略:
1. 每次提交bug,附上证据:截图、日志、复现步骤
2. 开发说“不是bug”,要求给出书面理由
3. 重大问题,拉群讨论,@产品经理、项目经理
4. 建立bug评审机制,每周过一遍未关闭bug
05 第五个坑:不学自动化,觉得手工就够了
新人逻辑:我只会手工,也能找到bug,为什么要学自动化?
数据:一个手工测试,一天最多执行200个用例。一个自动化脚本,1分钟跑完1000个用例。
手工测试养活现在,自动化测试养活未来。
学习路径(3个月计划):
第1个月:Python基础
- ►变量、数据类型、流程控制
- ►函数、类、文件操作
- ►每天1小时,周末3小时
第2个月:Selenium入门
- ►元素定位(8种方式)
- ►浏览器操作、等待机制
- ►写第一个自动化脚本
第3个月:框架实战
- ►unittest/pytest框架
- ►数据驱动、关键字驱动
- ►集成CI/CD
代码示例(一个完整的自动化测试脚本):
python
from selenium import webdriver
from selenium.webdriver.common.by import By
import unittest
class TestLogin(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Chrome()
self.driver.get("http://example.com/login")
def test_login_success(self):
driver = self.driver
driver.find_element(By.ID, "username").send_keys("admin")
driver.find_element(By.ID, "password").send_keys("123456")
driver.find_element(By.ID, "login_btn").click()
# 验证登录成功
welcome_text = driver.find_element(By.CLASS_NAME, "welcome").text
self.assertIn("欢迎", welcome_text)
def tearDown(self):
self.driver.quit()
06 第六个坑:不关注业务,只关注技术
新人最喜欢问:“这个技术栈是什么?”而不是问:“这个业务解决什么问题?”
后果:你测了一个月,不知道这个系统是干嘛的。开发改个字段,你不知道影响多大。
不懂业务的测试,就是高级点鼠标的机器。
业务学习法:
1. 第一天:画出业务流程图
2. 第一周:搞清楚所有角色和权限
3. 第一个月:理解核心业务流程
4. 前三个月:能画出整个系统的数据流转图
实战技巧:
- ►参加产品评审会,听产品经理讲业务
- ►阅读产品文档、用户手册
- ►问“为什么”:为什么要有这个功能?为什么这么设计?
- ►把自己当用户,从用户角度思考
07 第七个坑:不写文档,全靠脑子记
新人状态:今天测了什么?不记得。昨天发现了什么bug?想不起来。
数据:一个不写文档的测试,3个月后,自己都看不懂自己写的用例。
好记性不如烂笔头,好脑子不如好文档。
文档清单:
1. 测试计划:范围、策略、资源、时间
2. 测试用例:每个功能点,详细步骤和预期
3. bug报告:复现步骤、日志、截图、环境
4. 测试报告:执行情况、覆盖率、风险评估
5. 知识库:常见问题、解决方案、学习笔记
工具推荐:
- ►用例管理:TestRail、Xmind
- ►bug管理:Jira、禅道
- ►文档协作:Confluence、语雀
- ►笔记工具:Notion、Obsidian
08 第八个坑:不沟通,闷头干活
新人最怕:问问题显得自己蠢。于是遇到问题,自己查半天,浪费2小时。
真相:老测试问问题,新人憋问题。老测试3分钟解决,新人3小时还在查。
测试不是孤岛,沟通是核心能力。
沟通技巧:
1. 遇到问题,先自己查10分钟
2. 查不到,立刻问同事
3. 问问题要具体:我在测XX功能,遇到XX问题,我试了XX,还是不行
4. 每天下班前,发一条进度同步消息
模板(每日同步消息):
text
今日进度:
- 完成了登录模块测试,发现3个bug
- 正在测注册模块,遇到一个问题:邮箱验证码收不到
- 明天计划:完成注册模块,开始测密码找回
需要帮助:邮箱验证码问题,开发说后端没问题,需要配合排查
09 第九个坑:不总结不复盘,同一个坑踩两次
新人状态:今天发现一个bug,修了,过了。下周同样类型bug,又出现了。
数据:测试新人70%的bug是重复类型。不是不会测,是不会总结。
不总结的测试,1年经验等于1个月经验重复12次。
复盘方法:
1. 每周五下午,花1小时复盘本周工作
2. 记录:本周发现了多少bug?什么类型?什么原因?
3. 分析:哪些bug可以提前发现?哪些用例可以优化?
4. 输出:一份《本周测试总结与改进计划》
模板:
text
本周测试总结
时间:2024年X月X日 - X月X日
测试模块:用户管理、订单管理
发现bug:15个(功能bug 10个,UI bug 3个,性能bug 2个)
主要问题:边界值测试覆盖不足,导致3个bug漏测
改进计划:下周补充边界值测试用例,每模块至少覆盖5个边界点
10 第十个坑:不学习不成长,停在舒适区
新人状态:学会了手工测试,就再也不学新东西。AI来了,不知道;接口测试,不会;性能测试,没听过。
数据:2024年,AI测试工具已经能自动生成测试用例、自动定位bug。不会用AI的测试,3年内被淘汰。
测试行业的淘汰速度,比你学新技术的速度还快。
3年成长路线:
第1年:打好基础
- ►手工测试:用例设计、bug管理、测试流程
- ►自动化测试:Python + Selenium
- ►接口测试:Postman + Python requests
第2年:专项突破
- ►性能测试:JMeter、Locust
- ►安全测试:OWASP Top 10、Burp Suite
- ►移动测试:Appium、ADB
第3年:架构思维
- ►测试框架设计:从0搭建自动化框架
- ►CI/CD集成:Jenkins、GitLab CI
- ►AI测试:ChatGPT辅助测试、智能测试生成
学习资源:
- ►书籍:《软件测试的艺术》、《Python核心编程》
- ►课程:千锋教育测试全栈课程、慕课网
- ►社区:TesterHome、思否测试板块
- ►工具:ChatGPT辅助写测试用例、分析日志
---
测试不是终点,是起点。今天不踩坑,明天就被坑。
声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。