三菱東京UFJ銀行のテストケースを軽く計算してみた。

三菱東京UFJ銀の一部障害、直接の原因は文字コードの設定誤り:ITpro

取引ができなかったのは、取引対象が旧東京三菱銀の店舗の口座で、かつ通帳に未記入の明細が10件以上あるときに限られる。この条件を満たす場合、三菱東京UFJ銀のシステムは、通帳記帳を促す案内文を取引結果データに加えて、セブン銀に送信する。この案内文はカタカナだけを使用すると両行で取り決めていた。

各新聞では"単純ミス","凡ミス"で片付けられてますが、この障害を防ぐためにどれだけのテストケースをこなせばいいか計算してみました。

今回の場合

  1. 三菱東京UFJ⇔セブン銀行間
  2. 通調未記入の明細が10件以上
  3. (スーパー普通預金口座ではなく)普通預金口座(新聞情報より)

の3つの条件を満たす場合に発生するらしいんですが、ピンポイントでこの条件をテストすることはできないと仮定して、この条件を含むような網羅性のあるブラックボックステストをすることになります。

■まず提携銀行のリストアップ

日本の銀行一覧 – Wikipediaによると日本の銀行は約150ほどあるようです。

■口座の種類

口座開設|口座をひらく:三菱東京UFJ銀行によると

  • 優遇口座(スーパー普通預金口座)
  • ICカード(クレジットカードも一緒に使えちゃう)
  • 普通預金
  • 総合口座(定期預金や自動借り入れもセット)

の4種類。

■口座ステータス

今回の場合、通帳未記入が10件以上あった場合にエラーとのこと。では

  1. 通帳未記入が0件
  2. 通帳未記入が1件~9件
  3. 通帳未記入が10件~99件
  4. 通帳未記入が100件以上

って感じですか。4パターン。

■処理パターン(自行内取引の場合)

単純に自口座だけで完結する場合、預け入れ、引き出し、残高照会のの3種類(本当はもっとあるだろうけど割愛)。この3種類について

  1. 預け入れ
    1. 正常系
      1. 1000円札の預け入れが出来る
      2. 2000円札の預け入れが出来る
      3. 5000円札の預け入れが出来る
      4. 10000円札の預け入れが出来る
    2. 異常系
      1. わざと紙幣を入れない
      2. 一部紙幣読み取り不可
      3. 全部紙幣読み取り不可
      4. 偽札が混ざってたら警報出す?
  2. 引き出し
    1. 正常系
      1. 1000円札の引き出しができる
      2. 2000円札の引き出しができる
      3. 5000円札の引き出しができる
      4. 10000円札の引き出しができる
      5. 16000円って入力したら10000円と5000円と1000円が出てくる
    2. 異常系
      1. 残高不足

くらいかな…。異常系の計算が甘い気がするけど正常系8+異常系6=14パターン。

■処理パターン(他行取引の場合)

とりあえず振込みだけを考えても

  1. 振込み
    1. 正常系
      1. 振込みが出来る
    2. 異常系
      1. こちらの口座の残高不足
      2. 振込先金融機関入力ミス
      3. 振込先口座番号入力ミス
      4. 振込先口座名入力ミス
      5. 単なるネットワークエラー

などなど。まぁ他行取引はいろいろヤバそうですね。例えば他行の特殊な口座に振込みした場合のみ、特殊な制約がつくとかありそう…。ここでは目をつぶって正常系2パターン+異常系4パターンの6種類。

■テストパターン算出

日本の銀行の数は150。このうち三菱東京UFJ銀行のカードを使える提携金融機関を半分とすると…

・自行内取引の場合
75×4(口座種類)×4(口座ステータス)×14(処理パターン)=16800パターン

他行取引は全ての銀行と接続できなければいけないので

他行取引の場合
150×4(口座種類)×4(口座ステータス)×6(処理パターン)=14400パターン。

合計30000パターン超えました。


■その他考えられる検証パターン

・手数料系
時間帯(昼/夜/深夜)×引き出し×75行=225パターン
時間帯(昼/夜/深夜)×振込み×150行=450パターン

625パターンに16(4(口座種類)×4(口座ステータス))かけて10000パターン。けどこれが一番チェックしなきゃですね。無料の時間帯or提携銀行なのに誤って手数料取られたりとかヤバい。auやdocomoでも誤課金って結構あるし…。あと○回までは振り込み無料!とかなら規定回数越えた後にちゃんと課金されることもチェックしなきゃ。

・自動引き落とし
みずほでも問題になったアレ。電気・ガス・水道会社のシステムと連携取れてないとヤバい。

・証券系
よく考えたら各証券会社も三菱東京UFJ銀行と提携して入金、出金処理してるんですよね。

証券会社 – Wikipedia

によると日本の証券会社は50社くらいなんで、50社との接続確認、入金出金テストしなきゃ。

・法人系
きっと法人向けにいろんなシステムが動いてるはずなんでそっちのチェックもしなきゃですね。

・引き出しできるけど手数料引くと足りない
残高1010円の口座から深夜に1000円を引き出そうとしたけど、手数料315円分足りないパターンとかどうするの?

■結論

子一時間でこれだけリストアップできたってことは、実際にはもっとテストをやってるんでしょうねー。40000件のテストケース×10回はやってるだろうから40万回か。ITproの報道で100万件のテストをこなしたって書いてたのはあながち嘘じゃなさそうだな。。。

こう見ると障害が1件だけでよかった…というより、他にトラブル発生してるけど隠蔽してることを疑ったほうがいい気がしますねww 取りあえず三菱東京UFJ使ってる人は手数料が案内通りの料金かどうか確認したほうがいいと思うよ!!

ニュースリリース:三菱東京UFJ銀行