银行受害者补偿功能
2024.11 — 2025.02 JHC Japan
Java Apache Struts Oracle DB FinTech
背景
在日本遗留银行系统上独立完成全栈功能开发。5 人团队各自负责独立模块。我负责从前端到后端的完整功能——技术栈是 Apache Struts + Oracle DB,我之前完全没有接触过。
测试方法论
这个项目真正的贡献不在代码,而在测试框架。金融系统中混淆业务错误和系统错误可能导致真实损失。我形式化了二者的区分:
业务错误
- 金额超出限额
- 收款方信息不完整
- 状态不允许操作
处理: 拦截,向用户返回明确提示。
系统错误
- 数据库连接失败
- 写入超时
- 事务回滚失败
处理: 记录日志、回滚事务、通知管理员。
测试用例与设计文档一一映射
每个测试用例对应设计文档中的一条规格。覆盖正常路径、业务错误路径和系统错误路径。将映射关系与客户确认后才开始测试,确保对「正确行为」的定义没有歧义。
遗留系统开发
此前从未接触 Apache Struts。通过阅读既有代码学习,严格遵循命名、实现和注释规范,使新代码和原有系统风格一致。这种能力贯穿了我后续的每一个项目:先吸收规范,再像一直就在这里一样贡献。