第一次作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/13546 |
| 这个作业的目标 | 了解并使用git操作,熟悉并使用Markdown语法,了解软工课程的教学与思想,了解团队增进协作 |
| 学号 | 102301318 |
团队网站
https://github.com/Boshsama/IG-theshyBigHorseHead
个人资料截图

技能树与技术偏好
一、理论基础(底层支撑)
- 数学类:
- 高等数学:多元微积分、线性代数(矩阵运算、特征值);
- 离散数学:逻辑推理、集合与关系、图论基础(存储/遍历)。
- 专业通识:
- 计算机系统分层(硬件→OS→编程语言→应用);
- 网络基础(TCP/IP四层模型、TCP/UDP区别、HTTP/DNS);
- 操作系统核心:进程/线程、内存分页、文件系统。
二、编程与工具(核心技能)
- 语言能力:
- 熟练:C/C++(指针、内存管理、类与多态);
- 会用:SQL(增删改查、多表连接、分组排序)。
- 数据结构与算法:
- 掌握:线性结构(数组/链表/栈/队列)、二叉树(遍历/增删);
- 必会:基础排序(快排、归并)、时间/空间复杂度分析(O(n²)/O(nlogn))。
- 开发工具:
- IDE:VS Code;
- 版本控制:Git基础(commit/push/pull/branch);
- 环境:Linux命令行(cd/ls/gcc)。
三、实践能力(落地验证)
- 课程级项目:
- C++:图书管理系统(存储+查询+借阅;
- 数据库:校园社团系统(表设计+SQL操作)。
- 基础工程思维:
- 能拆解需求(如“图书管理”拆为数据存储+功能模块);
- 会用函数/类划分代码模块,避免冗余。
代码量
目前代码量在10k+,学习软件工程之后,希望代码量达到20k+。
期望的课程收获
希望通过这门课,我能够了解软件开发的准备工作、整体流程以及大模型,学习前端后端的知识与实际运用,通过团队合作来开发出自己想做的软件。
软件工程学习指南
一、基础认知:明确测试核心
先理解“为什么测”“测什么”,避免盲目学习工具。
- 核心概念:清楚测试目标(发现bug、验证需求、降低上线风险),区分核心术语(如功能测试/性能测试、黑盒测试/白盒测试、回归测试/冒烟测试)。
- 测试流程:掌握“需求分析→测试计划→用例设计→执行测试→缺陷管理→测试报告”的完整流程,理解每个环节的产出物(如测试用例、缺陷报告)。
- 质量标准:明确“好测试”的判断维度(用例覆盖率、缺陷遗漏率、测试效率),建立“质量优先”的思维。
二、核心技能:掌握必备工具与方法
这是测试入门的关键,聚焦“能落地、高频用”的技能。
1. 基础测试能力
- 用例设计:掌握等价类划分(如手机号测试分“有效号段”“无效号段”)、边界值分析(如输入长度“最小1位/最大10位”)、场景法(如“用户下单”全流程场景),用Excel或TestRail管理用例。
- 缺陷管理:会用Jira、禅道等工具提交缺陷,需包含“缺陷标题、复现步骤、预期结果、实际结果、严重程度(致命/严重/一般/轻微)”。
- 文档解读:能看懂需求文档(PRD)、设计文档,从文档中提炼测试点(如“登录功能需支持手机号/邮箱,忘记密码需发短信验证码”)。
2. 工具实操(分场景掌握)
| 工具类型 | 核心工具 | 学习重点 | 应用场景 |
|---|---|---|---|
| 功能测试辅助 | Postman、Charles | Postman接口测试(传参、断言)、Charles抓包(分析接口请求/响应) | 接口测试、定位前后端问题 |
| 自动化测试 | Selenium、Playwright | 元素定位(ID/XPath/CSS)、脚本编写(Python/Java)、断言逻辑 | 回归测试(替代重复人工操作) |
| 性能测试 | JMeter | 线程组配置、接口压测、结果分析(响应时间、QPS、错误率) | 验证系统并发能力(如秒杀场景) |
| 缺陷管理 | Jira、禅道 | 缺陷创建、状态流转(新建→修复→验证→关闭) | 团队协作跟踪缺陷 |
三、实战进阶:从“会操作”到“能解决问题”
通过项目积累经验,重点提升“问题定位”和“测试设计”能力。
1. 项目选择(分阶段)
- 入门级(1-2周):单功能测试,如“电商登录模块”,覆盖手机号/邮箱登录、验证码错误、密码找回等场景,用Postman测接口,Jira提缺陷。
- 进阶级(1-2个月):完整项目测试,如“外卖小程序”,覆盖下单、支付、骑手接单全流程,需做功能测试+接口测试+简单性能测试(用JMeter压“下单接口”,验证并发100用户是否稳定)。
- 高级级(2-3个月):复杂系统测试,如“金融APP”,需关注安全性(密码加密、接口防篡改)、数据一致性(订单金额与支付金额匹配)、兼容性(iOS/Android不同版本)。
2. 实战关键:学会“定位问题”
- 遇到bug不慌,先排查“是前端还是后端问题”:用Charles看接口响应是否正确(响应正确→前端问题,响应错误→后端问题)。
- 复现bug时,记录“最小复现步骤”(如“用手机号138xxxx8888,输入错误密码3次,未触发账号锁定”),便于开发快速定位。
四、方向深化:选择细分领域
软件测试细分方向明确,可根据兴趣深耕:
- 自动化测试工程师:深化代码能力(Python/Java),学习自动化框架(如Selenium+Pytest、Appium测APP),掌握CI/CD(用Jenkins实现自动化脚本定时执行)。
- 性能测试工程师:深入JMeter/LoadRunner,学习性能瓶颈分析(如CPU过高、数据库慢查询),理解系统架构(如分布式系统性能测试要点)。
- 安全测试工程师:学习常见安全漏洞(SQL注入、XSS攻击),用工具(Burp Suite、Nessus)做渗透测试,了解OWASP Top 10安全风险。
- 测试开发工程师:偏向“开发测试工具/平台”,需具备后端开发能力(如用Python+Flask开发测试平台),设计自动化测试框架。
五、资源与学习建议
- 入门资源:
- 书籍:《软件测试(第2版)》(基础概念)、《Selenium自动化测试实战》(工具实操)。
- 课程:B站“黑马程序员软件测试全套教程”(零基础友好)、极客时间《软件测试52讲》(体系化)。
- 学习建议:
- 先“手动测试”再“自动化”:不要一开始就死磕代码,先掌握手动测试逻辑,再学自动化(避免“会写脚本,但不懂测试点”)。
- 多练“真实项目”:在GitHub找开源项目(如电商系统),模拟真实测试场景,输出测试报告。
- 重视“沟通能力”:测试需频繁与产品、开发沟通,清晰表达“缺陷影响”和“测试结论”,这是职业进阶的关键。
学习指南分析
- 合理性:按“基础认知→核心技能→实战进阶→方向深化”路径展开,符合测试学习从“懂概念”到“会实操”再到“精领域”的规律;覆盖手动测试、工具使用、项目实战等核心模块,结合行业高频工具(Postman、JMeter等)与细分方向,贴合岗位实际需求,无明显逻辑或内容偏差,合理性强。
- 帮助性:对零基础或转型者有明确指引,工具实操、分阶段项目案例可直接落地,能帮学习者避开“只学工具不懂测试逻辑”的误区,同时强化“问题定位”“质量思维”等核心能力,对快速入门测试岗位、规划职业方向有直接帮助。
后台编辑截图


浙公网安备 33010602011771号