当前位置:首页  >  IT问答库  >  零基础学软件测试

零基础学软件测试,先学手工还是直接学自动化?90%的人第一步就错了_千锋教育

发布:cli 2026-05-27 06:03

推荐答案

01 手工测试:必须死磕的3个月,少一天都不行

手工测试不是低端活,而是测试思维的“地基”。地基不稳,楼越高塌得越快。

目标:能独立设计测试用例、执行测试、提交缺陷报告,覆盖功能测试、边界值、等价类、场景法等核心方法。

时间:全职学习,2-3个月。

很多人一上来就学Selenium、Postman,结果连“什么是冒烟测试”都说不清。手工测试的核心不是“点鼠标”,而是测试思维。你要学会从用户视角、开发视角、业务视角去“找茬”。

第一周:软件测试基础

  • ►软件生命周期、测试流程、缺陷生命周期
  • ►测试分类:黑盒、白盒、灰盒;功能、性能、安全
  • ►经典案例:一个登录功能,你能设计出多少测试用例?

第二周-第四周:测试用例设计

  • ►等价类划分法:输入框1-100,有效等价类1-100,无效等价类<1和>100
  • ►边界值分析法:0、1、100、101
  • ►场景法:正常流程、异常流程、备选流程
  • ►正交试验法:减少冗余用例

代码示例(等价类划分):

python
# 模拟一个年龄输入框的测试用例
def test_age_input():
    # 有效等价类:1-100
    valid_cases = [1, 50, 100]
    # 无效等价类:0, -1, 101, "abc"
    invalid_cases = [0, -1, 101, "abc"]
    for case in valid_cases:
        assert validate_age(case) == True
    for case in invalid_cases:
        assert validate_age(case) == False

第五周-第八周:实战项目

  • ►找一个开源项目(如电商、博客系统)
  • ►独立编写测试计划、测试用例、执行测试、提交Bug
  • ►输出一份完整的测试报告

没有项目经验,你的简历就是一张废纸。自己动手跑一遍,比看100篇教程都管用。

第九周-第十二周:工具辅助

  • ►缺陷管理工具:Jira、禅道
  • ►抓包工具:Fiddler、Charles(理解前后端交互)
  • ►数据库基础:SQL查询(验证数据正确性)

手工测试阶段结束,你应该能回答这个问题:“一个购物车功能,你如何设计测试用例?” 说不出来,继续练。

02 自动化测试:不是学工具,而是学“框架思维”

自动化不是点按钮,而是写代码让机器替你“点按钮”。但前提是你得知道“按钮”在哪儿。

目标:能独立搭建自动化测试框架,编写可维护的测试脚本,覆盖UI自动化、接口自动化。

时间:全职学习,3-4个月。

自动化测试不是“学会Selenium就完事”。真正的分水岭是:你能不能让脚本稳定运行、快速定位失败原因、低成本维护。

第一个月:编程基础(Python/Java)

  • ►变量、数据类型、条件判断、循环
  • ►函数、类、模块化
  • ►文件操作、异常处理

代码示例(Python基础):

python
# 一个简单的自动化测试基类
class BaseTest:
    def setup(self):
        self.driver = webdriver.Chrome()
        self.driver.get("https://example.com")
    
    def teardown(self):
        self.driver.quit()
    
    def find_element(self, locator):
        try:
            return self.driver.find_element(*locator)
        except Exception as e:
            print(f"元素未找到: {locator}, 错误: {e}")
            return None

第二个月:Web自动化(Selenium)

  • ►元素定位:ID、XPath、CSS、LinkText
  • ►等待机制:显式等待、隐式等待、Fluent等待
  • ►页面对象模型(POM):把页面封装成类
  • ►数据驱动:从Excel/JSON读取测试数据

第三个月:接口自动化(Requests + Postman)

  • ►HTTP协议:GET、POST、PUT、DELETE
  • ►接口测试用例设计:参数校验、响应校验、状态码
  • ►断言库:pytest + allure(生成漂亮报告)
  • ►Mock服务:模拟第三方接口

代码示例(接口自动化):

python
import requests
import pytest

def test_login_success():
    url = "https://api.example.com/login"
    data = {"username": "admin", "password": "123456"}
    response = requests.post(url, json=data)
    assert response.status_code == 200
    assert response.json()["token"] is not None

def test_login_failed():
    url = "https://api.example.com/login"
    data = {"username": "admin", "password": "wrong"}
    response = requests.post(url, json=data)
    assert response.status_code == 401
    assert "Invalid credentials" in response.text

第四个月:持续集成(CI/CD)

  • ►Git版本控制:分支管理、合并冲突
  • ►Jenkins/GitHub Actions:自动拉取代码、执行测试、发送报告
  • ►Docker:容器化测试环境

自动化测试的终极形态是:代码提交后,机器自动跑完所有测试,5分钟给你一份报告。

03 性能与安全:从“找Bug”升级到“找系统极限”

手工测试找功能Bug,自动化测试找回归Bug,性能测试找系统极限——这是从“合格”到“优秀”的跨越。

目标:能设计性能测试方案,分析瓶颈;能发现常见安全漏洞。

时间:全职学习,1-2个月(作为进阶方向)。

性能测试(2周)

  • ►工具:JMeter(主流)、LoadRunner(企业级)
  • ►核心指标:TPS、响应时间、并发用户数、错误率
  • ►场景设计:基准测试、负载测试、压力测试、稳定性测试

代码示例(JMeter脚本片段):

xml
<ThreadGroup>
    <num_threads>100</num_threads>
    <ramp_time>10</ramp_time>
    <HttpSampler>
        <domain>api.example.com</domain>
        <path>/search</path>
        <method>GET</method>
    </HttpSampler>
    <ConstantTimer>
        <delay>1000</delay>
    </ConstantTimer>
</ThreadGroup>

安全测试(2周)

  • ►OWASP Top 10:SQL注入、XSS、CSRF、越权
  • ►工具:Burp Suite(抓包改包)、ZAP(自动化扫描)
  • ►实战案例:一个未授权的API接口,直接返回所有用户数据

性能和安全是测试的“天花板”。能解决这两个问题,你的薪资直接翻倍。

04 从学习到就业:最后1个月的“临门一脚”

学完所有技术,不等于找到工作。面试官要的不是“你学过什么”,而是“你做过什么”。

目标:3份高质量项目经验 + 面试话术打磨。

时间:1个月。

第一周:包装项目经验

  • ►选3个不同类型项目:电商(功能复杂)、金融(安全要求高)、社交(性能要求高)
  • ►每个项目写清楚:测试范围、测试方法、发现的关键Bug、优化建议
  • ►准备一个“最亮眼”的Bug:比如“一个并发问题导致数据库死锁”

第二周:面试题突击

  • ►手工类:等价类划分、边界值、场景法(现场写用例)
  • ►自动化类:POM模式、等待机制、数据驱动
  • ►性能类:TPS上不去怎么排查、内存泄漏怎么定位
  • ►场景题:“开发说这不是Bug,你怎么怼回去?”

第三周:模拟面试

  • ►找朋友或线上群组,模拟真实面试
  • ►记录被卡住的问题,复盘优化
  • ►重点练习:自我介绍(30秒)、项目介绍(2分钟)、技术深度(5分钟)

第四周:投递+复盘

  • ►每天投递20-30份简历
  • ►面完立即记录:问了哪些问题、哪里答得不好
  • ►调整方向:如果全是手工岗,说明自动化没包装好;如果全没回应,简历有问题

面试不是考试,是“销售”。你的产品是“解决问题的能力”,不是“技术的堆砌”。

---

总结:手工是根,自动化是叶,项目是果

零基础学软件测试,最怕的不是慢,而是方向错。

  • ►先学3个月手工,打好测试思维的地基
  • ►再学3-4个月自动化,掌握框架思维
  • ►最后1个月冲刺就业,把项目包装成“你的作品”

手工测试决定你能不能入门,自动化测试决定你能走多远,项目经验决定你能拿多少钱。

现在,关掉这篇文章,打开一个开源项目,开始写你的第一个测试用例。90天后,你会感谢今天的选择。

相关问题

零基础学软件测试,先学手工还是直接学自动化?90%的人第一步就错了_千锋教育

零基础学软件测试,90%的人死在了第一步_千锋教育

零基础学软件测试,90%的人败在这一点:只看理论不做案例_千锋教育

零基础学测试?先撕掉“点点点”的标签,否则你永远是个“工具人”_千锋教育

零基础学软件测试:3个月构建你的技能树,从菜鸟到高薪只差这一步_千锋教育

课后服务才是培训机构真正的分水岭:千锋教育重庆校区深度拆解_千锋教育