IT 系统与应用支持 | 软件测试与自动化

项目

这些项目展示我如何支持和诊断系统、测试陌生软件、处理数据,并构建实用应用。进行中的工作、计划中的部署,以及尚未开放的案例研究均会明确标注。

返回首页摘要

重点项目

代表项目

ServiceFlow - API 故障排查实验

基于 FastAPI 的应用支持项目,围绕订单业务练习 SQL 排查、支付异常处理和 API 回归测试。

已完成 公开仓库 · 附排查与修复记录
问题
订单报表存在重复查询;支付失败后,订单可能仍被标记为已支付;无效的订单明细也可能造成金额错误。
方法
我结合请求日志、服务层代码和 SQL 查询计划定位原因,改用带索引的聚合查询、修正支付和数据校验逻辑,并用 pytest 验证修复。
结果
在生成的 SQLite 数据集上,索引和聚合查询把本地服务层中位耗时由 90.26 ms 降至 2.11 ms(42.8 倍);数据包括 500 名客户、2,000 笔订单和 5,966 条明细。
  • Python
  • FastAPI
  • SQLAlchemy
  • SQLite
  • SQL diagnostics
  • pytest
  • GitHub Actions

本地生成数据 · 模拟故障 · 无在线演示。

DispatchGuard - 现场调度可靠性

围绕现场调度真正容易出错的环节来做,包括重复派单并发、资质校验、离线作业和安全的冲突处理。

已完成 v1.0 已完成 · v1.1 加固已验证 源码私有 · 案例与精选验证材料公开
问题
调度员看到任务仍可派发时,另一笔分配可能正在提交;技术人员重新联网时,也可能带回已经过期的离线操作。两种情况都会破坏看似普通的工作流。
方法
我把重叠分配限制放到数据库层,并为同步设计幂等处理和明确的冲突规则,再用并发、离线重试和新西兰夏令时边界场景验证。
结果
完成版保留了问题复现、修复、回归测试、ADR 和 RCA。部署只在私有 tailnet 中验证,不会被描述成公开生产服务。
  • TypeScript
  • PostgreSQL
  • Playwright
  • PWA / offline sync
  • Concurrency testing
  • NZ DST testing
  • GitHub Actions

源码私有;案例说明、缺陷记录和精选测试证据公开。

Saleor QA - 外部测试框架

通过 GraphQL API 和浏览器流程测试固定版本的 Saleor 3.23,全程不修改被测系统源码。

已完成 基于风险的 QA · 主分支 CI 通过 源码私有 · 案例与精选验证材料公开
问题
测试陌生系统时,需要把真实产品行为、测试框架自身问题、环境故障和经不起验证的假设区分开。
方法
我把 pytest、Playwright、axe 和 Allure 与风险测试计划、追踪关系、受控测试数据、跨层验证和独立视觉回归流程结合起来。
结果
功能测试集记录 30 项通过和 2 项 strict-xfail 回归标记。4 份报告仍清楚标为缺陷或候选问题,不会写成 Saleor 上游已确认缺陷。
  • Playwright
  • pytest
  • GraphQL
  • axe-core
  • Allure
  • Visual regression
  • Docker

源码私有;案例说明、测试计划和精选验证材料公开。

其他项目

Subscriptly - 周期付款管理

一款管理订阅、房租、保险等周期付款的 iOS 应用,重点把续费日期、汇率、金额舍入、备份和恢复这些细节处理正确。

进行中 内部 TestFlight · 持续开发中 源码私有 · 案例与精选验证材料公开

问题

周期付款看似简单,但跨月续费、汇率变化,以及备份恢复时不能悄悄改变金额或历史,都会很快变成真实的数据问题。

方法

我把 SwiftUI 产品层与共享 Kotlin 领域核心分开,金额使用最小货币单位,计费日期使用不带时区的日历日期,并显式设计备份、恢复和冲突路径。

结果

应用通过内部 TestFlight 分发,并有面向发布的 Swift 与 Kotlin 测试。公开发布和剩余真机验收不会被写成已经完成。

  • SwiftUI
  • SwiftData
  • CloudKit
  • Kotlin Multiplatform
  • Exact-money rules
  • Backup and recovery
  • TestFlight

源码私有;案例说明和精选发布验证材料公开。

PlanPilot - 先审阅再执行的 iOS 规划

一款把模糊目标整理成可执行计划的 iOS 应用,并在写入日历前检查步骤、时间和限制是否合理。

公开测试 外部 TestFlight 测试 · 持续开发中 源码私有 · 案例与精选验证材料公开

问题

规划助手不应该在用户看见推断结果、假设和潜在冲突之前,就直接创建日历事件或提醒。

方法

我实现了先审阅再保存的流程、计划验证、本地优先存储,以及可选的日历和通知写入;设备端、云端和离线规划方式共用同一套接口。

结果

iPhone 应用可通过公开 TestFlight 链接体验。它仍是测试版,不是 App Store 正式版本,也不声称已有用户采用或正式生产使用。

  • SwiftUI
  • SwiftData
  • EventKit
  • UserNotifications
  • App Intents
  • Local-first planning
  • TestFlight

源码私有;公开测试链接、案例说明和精选发布验证材料可查看。

正在开发

ReleaseLens - 可追踪 QA 工作台

进行中 源码仓库私有,项目仍在开发;当前架构与执行证据可预约查看。

当前版本把需求与测试用例连起来,并可从工作台触发 Playwright,同时保留状态、耗时、错误、截图和 trace。自建的 JobTrack 被测系统包含 5 个刻意设计的缺陷,由 6 项预期失败检查覆盖,并明确保留这些失败结果,不将其计作通过。

下一步是缺陷管理和发布就绪规则。AI 辅助分析、审计日志和云端部署仍在计划中,不会写成已经完成。

了解当前进展

补充技术说明

网站和公共 API 的架构说明单独列出,不与项目经历混在一起。