软件测试学习周记:从零开始的第一周

0 阅读7分钟

一、写在前面****

本周是我从计算机专业转向软件功能测试的第一周。我有C语言和Python基础,懂网络原理和SQL,也清楚程序的运行逻辑,但在软件测试专业领域完全零基础,从未编写过测试用例、提交过缺陷,也不了解标准化测试流程。

入门前我一直误以为软件测试只是简单的页面点点操作,经过一周系统化实操学习,我彻底颠覆了固有认知。软件测试拥有完整的方法论与规范体系,需要依托专业测试思路,站在用户视角覆盖各类正常场景与异常场景。本周我从完全不懂测试,成长为可以独立设计测试用例、精准发现缺陷并提交标准化缺陷报告,顺利完成从「具备计算机基础」到「初步拥有软件测试实操能力」的转变。本文适合和我一样有计算机基础、零测试经验的入门者,参考新手第一周的学习内容与实操方法。

二、Day1|建立认知:弄懂测试核心概念(黑盒/白盒)

第一天主要打基础,纠正自己对软件测试的错误认知。

黑盒测试:属于功能测试核心手段,无需关注程序底层源码、内部逻辑与实现细节,完全站在用户侧依据产品需求,校验页面输入、交互、输出、反馈是否符合预期,是企业手工测试最主流的测试方式。

白盒测试:又称结构测试、逻辑驱动测试,需要通读程序源码,校验代码分支、循环、逻辑覆盖率、接口调用与潜在漏洞,偏向开发侧质量保障,现阶段仅做概念认知,暂不深入实操。

通过第一天学习,我彻底明白:软件测试不是随便点点,是一套有方法、有逻辑、有规范的系统性工作

三、Day2|实战入门:掌握测试用例设计方法

第二天正式进入核心技能:测试用例设计。重点掌握两种最基础、最常用的方法:等价类划分法、边界值分析法

等价类划分法:将输入域划分为有效等价类无效等价类,分别抽取代表性用例,实现场景精简覆盖,规避用例冗余、重复,是功能测试最基础的设计思路。

边界值分析法:行业公认高缺陷率场景,重点校验输入域的临界值、极值、超限值,针对边界区间做精准覆盖,大幅提升测试覆盖率与缺陷检出率。

我以行业通用练习项目 saucedemo 商城登录模块为实战载体,围绕正常业务、非法输入、边界输入、安全校验、异常账号等维度,独立设计并编写8条测试用例,覆盖正常登录、错误密码、空用户名、边界值、异常账号等多类场景,完成模块基础功能覆盖测试。

下图是saucedemo登录功能的测试用例及执行结果: image.png

四、Day3|进阶用例设计:场景法、错误推测法

第三天继续拓展测试思维,学习工作中高频使用的两种用例设计方法:

场景法:基于用户真实业务链路,梳理主业务流、异常分支流、中断流,还原真实使用场景,适用于多步骤、多流程的业务模块测试,有效保障业务完整性覆盖。

错误推测法:依托测试经验预判高频缺陷场景,针对输入非法字符、首尾空格、重复高频点击、弱网络、空提交、超限输入等场景做针对性校验,属于经验性补充测试手段。

我以saucedemo商城的完整购物流程为场景载体,梳理了三条核心业务场景用例:

1. 完整正向流程:登录 → 加购 → 结算 → 下单

2. 异常分支流程:购物车空状态下直接进入结算

3. 中断流程:填写订单信息后取消支付,验证状态回退

五、Day4|首次独立发现Bug,完成标准Bug报告

本周最有收获、最有成就感的一天。我不再只被动执行用例,而是主动发现了一个真实的功能缺陷。

发现缺陷:在登录功能回归测试中,输入带首尾空格的合法用户名,系统未执行trim(去除首尾空格)处理,无法匹配后台用户数据,直接抛出“账号密码不匹配”提示,造成合法用户登录受阻。

我按照标准规范,完整编写了第一份Bug报告:

Bug标题:登录页面用户名首尾空格未自动过滤,导致合法账号登录失败

复现步骤

1. 打开saucedemo登录页面

2. 用户名输入:【空格】standard_user【空格】

3. 密码输入:secret_sauce

4. 点击登录按钮

实际结果:系统提示“用户名或密码不匹配”,登录失败

预期结果:系统自动trim去除首尾空格,校验正确账号密码,正常登录

缺陷级别:一般(不影响核心业务流程,但影响用户体验,属于边界处理缺失导致的交互缺陷)

附件:报错截图:输入含首尾空格的有效用户名后,系统提示“用户名或密码不匹配”

image.png

通过这次缺陷排查,我初步理解了测试的核心逻辑:测试的目的不是机械操作页面,而是通过比对预期结果与实际结果的偏差,精准定位逻辑缺陷与交互异常。

六、Day5-6|基础工具入门:Linux 命令 + SQL 查询

测试工作中经常需要查看服务器日志来定位问题,也需要查询数据库来验证数据是否正确写入。这周我用Git Bash练习了Linux常用命令(ls、cd、cat、tail -f、grep),在sqlbolt网站上练习了SQL基础查询(SELECT、WHERE、JOIN)。

下面是我练习的部分命令和查询语句,仅供展示学习过程。

image.png

image.png

目前已完成入门练习,后续在真实项目中反复使用就能逐步掌握。

七、本周整体收获与总结

已掌握能力:

1. 掌握黑盒测试核心体系,理解测试分层、测试覆盖、需求校验的核心逻辑

2. 熟练运用等价类、边界值、场景法、错误推测法完成多维度用例设计

3. 能独立编写规范、完整的测试用例

4. 具备主动缺陷识别能力,可独立完成标准化缺陷报告撰写,包含复现步骤、结果比对、缺陷定级、附件佐证

5. 掌握基础 Linux 日志排查命令、SQL 基础查询语句,具备初步的问题定位与数据校验能力

遇到的问题与解决:

初期设计用例时,存在测试点梳理不全面、覆盖度把控不准、场景遗漏的问题 → 通过学习标准化测试思路,围绕需求拆解测试点,优先覆盖核心场景、边界场景、异常场景,保证测试覆盖有效性

初期撰写缺陷报告结构不规范、逻辑不清晰 → 对标企业缺陷管理规范,固定「标题-复现步骤-实际结果-预期结果-缺陷级别-附件」标准化结构,保证缺陷可复现、可定位、可溯源。

本周最大感悟:

作为计算机专业学生,我拥有天然的技术理解优势,能够快速吃透测试底层逻辑,但也清晰认识到:通用计算机知识无法替代软件测试工程思维。测试工作更注重需求拆解、场景覆盖、风险预判、问题溯源与标准化交付。本周最大成长,是从零建立起严谨的测试思维,摆脱“凭感觉测试”,迈入规范化、流程化、体系化的测试学习阶段。

八、下周学习计划

下周我将重点攻坚Python 基础语法。Python 自动化语法、SQL 数据查询均是我全新深耕的测试进阶技能,也是后续学习接口测试、自动化测试、持续集成测试的核心基石。我将依托自身计算机专业优势,快速夯实代码能力,逐步摆脱纯手工测试模式,向自动化测试、高效测试方向进阶学习。

📎 本文涉及的所有测试用例、Bug报告及学习笔记均已整理至 GitHub: 👉 software-testing-notes