第一次作业

这个作业属于哪个课程 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

个人资料截图

个人资料截图yy

技能树与技术偏好

一、理论基础(底层支撑)

  1. 数学类
    • 高等数学:多元微积分、线性代数(矩阵运算、特征值);
    • 离散数学:逻辑推理、集合与关系、图论基础(存储/遍历)。
  2. 专业通识
    • 计算机系统分层(硬件→OS→编程语言→应用);
    • 网络基础(TCP/IP四层模型、TCP/UDP区别、HTTP/DNS);
    • 操作系统核心:进程/线程、内存分页、文件系统。

二、编程与工具(核心技能)

  1. 语言能力
    • 熟练:C/C++(指针、内存管理、类与多态);
    • 会用:SQL(增删改查、多表连接、分组排序)。
  2. 数据结构与算法
    • 掌握:线性结构(数组/链表/栈/队列)、二叉树(遍历/增删);
    • 必会:基础排序(快排、归并)、时间/空间复杂度分析(O(n²)/O(nlogn))。
  3. 开发工具
    • IDE:VS Code;
    • 版本控制:Git基础(commit/push/pull/branch);
    • 环境:Linux命令行(cd/ls/gcc)。

三、实践能力(落地验证)

  1. 课程级项目
    • C++:图书管理系统(存储+查询+借阅;
    • 数据库:校园社团系统(表设计+SQL操作)。
  2. 基础工程思维
    • 能拆解需求(如“图书管理”拆为数据存储+功能模块);
    • 会用函数/类划分代码模块,避免冗余。

代码量

目前代码量在10k+,学习软件工程之后,希望代码量达到20k+。

期望的课程收获

希望通过这门课,我能够了解软件开发的准备工作、整体流程以及大模型,学习前端后端的知识与实际运用,通过团队合作来开发出自己想做的软件。

软件工程学习指南

一、基础认知:明确测试核心

先理解“为什么测”“测什么”,避免盲目学习工具。

  1. 核心概念:清楚测试目标(发现bug、验证需求、降低上线风险),区分核心术语(如功能测试/性能测试、黑盒测试/白盒测试、回归测试/冒烟测试)。
  2. 测试流程:掌握“需求分析→测试计划→用例设计→执行测试→缺陷管理→测试报告”的完整流程,理解每个环节的产出物(如测试用例、缺陷报告)。
  3. 质量标准:明确“好测试”的判断维度(用例覆盖率、缺陷遗漏率、测试效率),建立“质量优先”的思维。

二、核心技能:掌握必备工具与方法

这是测试入门的关键,聚焦“能落地、高频用”的技能。

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次,未触发账号锁定”),便于开发快速定位。

四、方向深化:选择细分领域

软件测试细分方向明确,可根据兴趣深耕:

  1. 自动化测试工程师:深化代码能力(Python/Java),学习自动化框架(如Selenium+Pytest、Appium测APP),掌握CI/CD(用Jenkins实现自动化脚本定时执行)。
  2. 性能测试工程师:深入JMeter/LoadRunner,学习性能瓶颈分析(如CPU过高、数据库慢查询),理解系统架构(如分布式系统性能测试要点)。
  3. 安全测试工程师:学习常见安全漏洞(SQL注入、XSS攻击),用工具(Burp Suite、Nessus)做渗透测试,了解OWASP Top 10安全风险。
  4. 测试开发工程师:偏向“开发测试工具/平台”,需具备后端开发能力(如用Python+Flask开发测试平台),设计自动化测试框架。

五、资源与学习建议

  1. 入门资源
    • 书籍:《软件测试(第2版)》(基础概念)、《Selenium自动化测试实战》(工具实操)。
    • 课程:B站“黑马程序员软件测试全套教程”(零基础友好)、极客时间《软件测试52讲》(体系化)。
  2. 学习建议
    • 先“手动测试”再“自动化”:不要一开始就死磕代码,先掌握手动测试逻辑,再学自动化(避免“会写脚本,但不懂测试点”)。
    • 多练“真实项目”:在GitHub找开源项目(如电商系统),模拟真实测试场景,输出测试报告。
    • 重视“沟通能力”:测试需频繁与产品、开发沟通,清晰表达“缺陷影响”和“测试结论”,这是职业进阶的关键。

学习指南分析

  1. 合理性:按“基础认知→核心技能→实战进阶→方向深化”路径展开,符合测试学习从“懂概念”到“会实操”再到“精领域”的规律;覆盖手动测试、工具使用、项目实战等核心模块,结合行业高频工具(Postman、JMeter等)与细分方向,贴合岗位实际需求,无明显逻辑或内容偏差,合理性强。
  2. 帮助性:对零基础或转型者有明确指引,工具实操、分阶段项目案例可直接落地,能帮学习者避开“只学工具不懂测试逻辑”的误区,同时强化“问题定位”“质量思维”等核心能力,对快速入门测试岗位、规划职业方向有直接帮助。

后台编辑截图

后台编辑截图yy

posted @ 2025-10-06 19:15  eecom  阅读(26)  评论(0)    收藏  举报