102301338郭砚康的软件工程课程总结
102301338郭砚康的软件工程课程总结
一、学期回顾
1.1 回顾你对于软件工程课程的想象
在课程开始前,我认为软件工程是一门高度贴近工业实践的课程,核心在于学习如何将个人编程能力融入系统化的工程流程中。我期待通过团队合作,完整经历一个产品的诞生过程,并特别希望挑战自己,在编码能力之外,建立起产品质量保证(测试)的意识与实践能力。
- 已达到的期待与目标:课程实践远超预期。我不仅深入参与了前端开发的全过程,从零构建了用户界面,更承担了关键的接口与功能测试职责。我深刻理解了前端不仅是“画界面”,更是用户体验和系统稳定性的第一道关口;测试也绝非“找bug”,而是保障产品质量、明确功能契约的系统性工程活动。我成功完成了从界面设计、交互实现到质量验证的完整链条。
- 存在的不足:初期对前端工程化(如状态管理、组件化设计)理解不深,导致部分代码结构不够优化。在测试方面,初期编写的测试用例覆盖度不够全面,更多聚焦在“快乐路径”,对异常和边界情况的考虑不足。前后端联调时,因接口文档的即时性不足,偶有返工,这让我意识到“契约先行”的重要性。
1.2 回顾你在这门课程中的投入与产出
在本课程中,我个人累计编写了约1800行前端代码(Vue.js + JavaScript/TypeScript),并编写了超过50个接口测试用例和关键用户流程的功能测试用例。在团队项目“智能课堂笔记助手”中,我的核心角色是前端开发者 & 质量保障工程师。
我的主要职责包括:
- 前端开发:使用Vue 3框架搭建项目基础架构,开发了笔记列表、编辑、详情展示等核心页面,实现页面路由与组件间通信。
- 质量保障:
- 接口测试:使用Postman、Axios配合测试脚本,对所有关键后端API进行验证,确保接口响应、数据格式、错误码符合约定。
- 功能测试:制定核心功能(如笔记创建、保存、搜索)的测试用例,并进行手动与半自动化测试,撰写测试报告。
各阶段时间投入概览:
| 作业阶段 | 主要工作内容 | 花费时间 (约) |
|---|---|---|
| 需求分析与原型设计 | 参与功能讨论,理解交互逻辑 | 5h |
| 前端环境搭建与基础开发 | 初始化Vue项目,配置开发环境,实现基础组件 | 15h |
| Alpha阶段功能开发与联调 | 实现核心页面,完成首轮接口对接与自测 | 30h |
| Beta阶段测试与优化 | 主导接口测试,完善前端交互,修复边界case | 25h |
| 最终发布与总结 | 回归测试,优化用户体验,准备演示材料 | 15h |
在整个课程期间,总投入时间约为 100 小时,周均约 6.5 小时。实践开发与测试阶段投入最为密集。
1.3 印象最深刻的答辩
令我印象最深的是Beta阶段评审答辩。当时,我们演示了产品核心流程后,有评审同学直接提问:“前端是如何保证从后端获取的数据异常时(比如网络超时或数据格式错误),页面不会崩溃并能有友好的用户提示?”这个问题正中我之前工作的盲点。我意识到,作为一名合格的前端开发者,不能只处理正常情况,必须系统性地考虑各种异常流和边界条件。这次答辩后,我立即补充和完善了前端的全局错误捕获与用户提示机制,并为此新增了专门的测试用例。这让我对“鲁棒性”和“用户体验”有了更实战化的理解。
二、总结收获
2.1 展开说说你的软工实践故事
我们的项目始于“AI赋能学习”的构想,最终落地为“智能课堂笔记助手”。作为团队唯一的前端并兼顾测试,我的故事是一条“从界面到契约”的双线叙事。
开发线:从在Vue官方文档中摸索开始,到第一个.vue组件成功渲染的喜悦,再到为复杂的笔记编辑器状态管理而焦头烂额。最艰难的挑战是实现实时保存与提示功能,需要精细控制请求节流、乐观UI更新和错误回滚。当看到界面流畅响应、数据持久化成功时,那种攻克难题的满足感无以复加。
测试线:这个故事始于一次痛苦的联调。因为一个接口字段名前后端理解不一致,导致页面显示异常。这件事让我主动扛起了接口测试的职责。我利用Postman建立了完整的接口集合和环境变量,为每个接口编写了正向、反向测试用例。当后端同学重构某个接口时,我的测试集第一时间报错,成为了可靠的“契约守护者”。从“被bug追赶”到“主动发现bug”,这种角色的转变让我充满成就感。
2.2 介绍学习到的新技术或生产力工具以及它们给你带来了哪方面的帮助?
- Vue 3框架 (Composition API):它让我学会了用更函数式、更灵活的方式组织前端逻辑,特别是对于复杂组件的状态管理和逻辑复用,代码清晰度大幅提升。
- Postman & Newman:从简单的接口调试工具,到用它搭建完整的自动化测试流程(集合运行、环境变量、数据驱动),它是我保障接口质量的“瑞士军刀”,极大提升了测试效率和可重复性。
- Jest / Vue Test Utils:(如果用到可保留)初步接触了前端单元测试,学习了如何为Vue组件编写测试,理解了对纯函数和组件渲染行为的测试方法,增强了代码的信心。
- Chrome DevTools (Performance & Network):深入使用性能面板和网络面板分析页面加载性能与请求瀑布图,学会了从数据层面优化用户体验。
2.3 技术之外,这门课程还给你带来了哪些方面的提升?
- “用户视角”与“工程视角”的双重思维:做前端时,我时刻思考用户是否用得顺手;做测试时,我则切换为“挑剔的破坏者”和“契约监督者”。这让我能更全面地评估一个功能的价值与风险。
- 沟通驱动开发:我深刻体会到,清晰的技术沟通(特别是前后端接口约定)是项目进度的倍增器。我学会了主动发起沟通,使用工具(如共享的Postman集合、Markdown接口文档)来固化共识,减少误解。
- 质量内建意识:我不再认为测试是开发完成后的一道独立工序,而是尝试在编写前端代码时,就思考它可能如何被测试、可能出现什么异常,将质量保证活动左移。
2.4 还想记录的
这门课给我的最大财富,是让我亲身体验了一个功能从设计、编码到最终被可靠交付的完整闭环。我不仅学会了如何“建造”,更学会了如何“检验”自己的建造成果。这种兼具创造与审视的能力,我相信是成为一名优秀工程师的重要基石。虽然项目已结束,但我建立的Postman测试集和养成的测试习惯,将会一直伴随我未来的开发生涯。
三、致谢
衷心感谢我们的队长,感谢他的信任,让我能同时承担前端和测试这两个关键角色,获得了独一无二的成长体验。感谢后端伙伴们的耐心协作,在无数次的接口联调与问题排查中,我们共同打磨了产品的细节。也感谢所有团队成员在项目过程中的互相扶持与激励。最后,感谢老师和助教提供的实践框架和及时反馈,让我们的探索始终沿着正确的方向前进。能与各位共同完成这段充满挑战与收获的旅程,是我的荣幸。
浙公网安备 33010602011771号