Fintech / 加密貨幣 QA — 高風險高薪資產業的測試特性
「我們 QA 跑錯一個小數點、客戶帳戶少 $10000」 — Fintech QA 的日常焦慮。Fintech 是 QA 薪資 + 30-50%、加密 + 50-100% 的領域,但門檻高、責任重。這篇給你完整入行 + 工作 framework。
為什麼 Fintech QA 特別難
mindmap
root((Fintech QA<br>特殊難點))
精度地獄
Float vs Decimal
四捨五入 vs 無條件捨去
多幣種匯率
利率計算
法遵高壓
KYC / AML
個資法
金管會 / SEC
審計痕跡
24x7 服務
不能停機升級
跨時區交易
Maintenance window 受限
不可逆操作
已扣款不易退
鏈上交易 final
國際匯款 SWIFT
對手是錢
Bug 直接 = 損失
訴訟風險高
品牌損失大
系統複雜
多服務協同
狀態機複雜
Audit trail
8 個 Fintech QA 必測情境
1. Decimal 精度
# ❌ 用 float
balance = 0.1 + 0.2 # = 0.30000000000000004
# 客戶餘額 0.30 vs 0.300...4 → 對帳爆
# ✅ 用 Decimal
from decimal import Decimal
balance = Decimal('0.1') + Decimal('0.2') # Decimal('0.3')
QA 必測: - 0.1 + 0.2 對帳結果 - 多幣種轉換來回(USD → TWD → USD 是否守恆) - 利息日複利精度 - 折扣 + 折扣(5% off + 10% off)
2. 雙重支付(Double Spending)
sequenceDiagram
participant U as User
participant S1 as Server 1
participant S2 as Server 2
participant DB
U->>S1: 提款 $100(餘額 $150)
U->>S2: 同時提款 $100(餘額 $150)
S1->>DB: 讀餘額 $150
S2->>DB: 讀餘額 $150
S1->>DB: 寫餘額 $50
S2->>DB: 寫餘額 $50 (理論上應該 -$50)
Note over DB: 💥 客戶提了 $200、帳上只少 $100
QA 必測: - Concurrent 同帳號 N 個請求 - 樂觀鎖 / 悲觀鎖測試 - 分散式 lock 機制
3. 訂單簿(Order Book)
加密貨幣交易所特有:
Buy orders | Sell orders
$50,000 × 1.5 BTC | $50,100 × 2 BTC
$49,950 × 3 BTC | $50,200 × 0.5 BTC
$49,900 × 0.8 BTC | $50,500 × 1 BTC
QA 必測: - 市價單吃進深度(吃光 best price 後跳價) - 限價單部分成交 - 價格優先 + 時間優先撮合 - 自我撮合(self-trade prevention)
4. 鏈上交易測試(加密)
flowchart LR
UI[User 按提款] --> Sign[簽名 transaction]
Sign --> Mempool[進 mempool]
Mempool --> Mined[被打包進塊]
Mined --> Conf{確認數?}
Conf -->|< 6| Wait[等]
Conf -->|>= 6| Final[標記完成]
Wait --> Risk[Reorg risk]
Risk --> Mined
style Mempool fill:#a855f7,color:#fff
style Final fill:#10b981,color:#fff
QA 必測: - TxHash 對得上鏈上 - 確認數達標才計入 - Gas 不足時錯誤處理 - Nonce 重複 / 跳號 - Reorg 處理(區塊重組) - ERC-20 / BEP-20 / TRC-20 跨鏈差異 - Wallet address 驗證(checksum / 跨鏈不能混)
5. KYC / AML
- 身份證 / 護照 OCR 準確度
- Liveness check(活體偵測)
- 製裁名單比對(OFAC)
- 大額交易 alert
- Pattern 異常偵測(短時間多筆小額)
6. 提領 / 入金限額
單筆限額 / 日限額 / 月限額
KYC Level 1 / 2 / 3 不同上限
跨境匯款 vs 國內
法幣 vs 加密
QA 必測:邊界值(剛好 / 多 1 / 少 1)、限額重置時機、跨日 UTC vs 本地時區。
7. Audit Trail
所有金融操作必須有不可篡改 log: - Who(user ID + IP + UA) - What(操作類型 + 金額 + 對方) - When(毫秒級 timestamp + UTC) - 之前狀態 → 之後狀態 - 操作結果(成功 / 失敗 + 原因)
QA 必測:log 完整性、保留期(至少 5 年)、不可改 / 不可刪。
8. Disaster Recovery
✓ Hot backup 即時同步
✓ Failover 在 5 分鐘內
✓ 跨 region replication
✓ Point-in-time recovery
✓ 演練年至少 2 次
加密貨幣 QA 工具地圖
mindmap
root((Crypto QA<br>工具))
Block Explorer
Etherscan
BscScan
Solscan
Mempool.space
Wallet
MetaMask
Trust Wallet
Hardware Ledger
Test wallets
Test Net
Ethereum Sepolia
Polygon Mumbai
BSC Testnet
Solana Devnet
Faucet
免費領 test ETH
Sepolia faucet
Tools
Web3.js
Ethers.js
Hardhat node
Anvil local chain
Monitor
Tenderly
Alchemy
QuickNode
Test 環境設置(加密)
# Local Anvil chain
foundryup
anvil --port 8545
# 接 wallet 到 localhost
# MetaMask → Add network → RPC: http://localhost:8545
# 發測試 token
cast send --rpc-url http://localhost:8545 \
--private-key 0x... \
$TOKEN_CONTRACT \
"transfer(address,uint256)" $RECIPIENT 1000000
CI 整合 — 智能合約測試
name: Smart Contract Test
on: [pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: foundry-rs/foundry-toolchain@v1
- run: forge build
- run: forge test -vvv
# Coverage
- run: forge coverage --report summary
# Gas report
- run: forge test --gas-report
# Slither security
- uses: crytic/[email protected]
Fintech / Crypto 法遵清單
台灣金管會:
✓ 虛擬通貨平台業者納管(2024-07 上路)
✓ Travel Rule 跨平台轉帳資訊揭露
✓ AML / KYC
歐盟 MiCA:
✓ 加密資產 service provider 註冊
✓ Stablecoin 強制透明
✓ Market abuse 防範
美國:
✓ SEC 證券性判定
✓ FinCEN AML
✓ NY State BitLicense
薪資對標(2026 台北)
| Role | 一般 SaaS | Fintech | Crypto |
|---|---|---|---|
| Junior QA | 38K | 50K | 60K |
| Mid QA | 60K | 80K | 100K |
| Senior QA | 90K | 120K | 150K |
| QA Lead | 130K | 170K | 200K+ |
Premium 來源: - Domain 學習門檻(金融 + 法遵 + 數學) - 24x7 on-call 責任 - 法遵壓力(出事個人責任) - 業界稀缺
入行 Fintech QA 的 6 步
flowchart TD
S1[1) 學 Decimal / 精度] --> S2[2) 學銀行 API<br>Stripe / Plaid]
S2 --> S3[3) 學 KYC / AML 流程]
S3 --> S4[4) Side project<br>(寫個 P2P 支付 mock)]
S4 --> S5[5) 投 fintech 新創 junior]
S5 --> S6[6) 1-2 年後跳交易所 / 銀行]
style S6 fill:#10b981,color:#fff
加密貨幣 QA 額外要學
✓ 區塊鏈基礎(Block / Tx / Hash / Address)
✓ 主流鏈差異(ETH / BSC / Polygon / Solana / TRON)
✓ ERC-20 / BEP-20 標準
✓ Wallet 安裝 + 簽名
✓ Etherscan 看 Tx
✓ Gas 機制
✓ Confirm 數
✓ Bridge / Cross-chain 風險
QA Lead 在 Fintech 該推的 process
- 4-Eye Principle — 任何 prod 金錢操作 ≥ 2 人 review + approve
- Canary Release — 1% 用戶 / 3 天 / 監控異常
- Maintenance Window — 提前 48 小時通知、UTC 凌晨
- Incident Response — < 5 分鐘響應、< 30 分鐘止血、< 24 小時 RCA
- Annual DR Drill — 全公司演練 production 全掛
- Audit Log Review — 月 review 異常操作
常見 incident pattern
mindmap
root((Fintech Incidents))
精度
Decimal vs Float
四捨五入累積
並發
Double spending
Race condition
第三方
Stripe API down
Bank ACH 延遲
安全
錢包 private key 外洩
Smart contract 漏洞
Front-end injection
人為
Migration 寫錯
Config 部署錯
手動操作失誤
區塊鏈
Gas 價暴漲
Reorg
Slippage
反模式
flowchart TD
Anti[Fintech QA 反模式] --> A1["Float 算錢"]
Anti --> A2["沒 audit log 改 prod"]
Anti --> A3["KYC 跳過測試"]
Anti --> A4["並發只測 1 個 user"]
Anti --> A5["上線後才測 reconciliation"]
Anti --> A6["災難復原不演練"]
Anti --> A7["智能合約沒 audit"]
style A1 fill:#ef4444,color:#fff
style A2 fill:#ef4444,color:#fff
style A3 fill:#ef4444,color:#fff
style A4 fill:#ef4444,color:#fff
style A5 fill:#ef4444,color:#fff
style A6 fill:#ef4444,color:#fff
style A7 fill:#ef4444,color:#fff
給 Fintech QA 的 5 句
- 錢算錯比 bug 嚴重 100 倍
- 每個操作都該能 audit
- 並發測試是必修、不是選修
- 加密貨幣是不可逆的、Test net 跑 100 遍再上
- 法遵不是 NG to have、是 must have
最後
Fintech / Crypto QA 是 2026 薪資 Top 3 的 QA 細分領域。門檻高 = 競爭少。從學 Decimal + Stripe sandbox + 用 MetaMask 玩 Sepolia testnet 起步、半年後跳 fintech 加薪 30%、再一年跳 crypto 加薪 50%。
延伸: - QA 職涯路線圖 - API 測試實戰 - Security Testing — OWASP Top 10