0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

QA学園: 授業 観測点を二つ持て

Last updated at Posted at 2025-12-22

授業 観測点を二つ持て(UIだけで合否を言わない)

言坂先生『“たまに起きる”の正体はね、
観測点が一つしかないことが多い。
今日は、受入基準(AC)を 観測点2つで固定する』


0) 今日の題材:ログイン/セッション「UIはログイン中に見えるのに、裏で401」

現象(ありがち):

  • 画面上はログイン状態っぽい
  • でもAPIは401(未認証)
  • 「たまに勝手にログアウト」扱いで揉める

言坂先生『この手の事故は、UIだけ見てる限り “雰囲気” になる。
中級者は、観測点を二つ持って合否を固定する』


1) 観測点とは何か(中級の定義)

観測点(Observation Point):合否判定に使う「証拠の出どころ」。

  • 観測点A:ユーザに見えるもの(画面、遷移、トースト、ボタン状態)
  • 観測点B:システムが返すもの(API応答、ステータスコード、トークン、サーバログ)

合否は「Aだけ」では決めない。AとBが一致して合格


2) なぜ“二つ”必要か:UIは嘘をつく(というより遅れる)

UIが「ログイン中」に見えても、裏でこういうズレが起きる:

  • トークン期限切れ(UIは古い状態を保持)
  • リフレッシュ失敗(UI側の更新が止まる)
  • 時刻ズレ(端末時計とサーバ判定が不一致)
  • 複数タブ/複数端末で状態が競合
  • キャッシュで画面だけ残る(戻るで見える)

言坂先生『だから、UI(見た目)とAPI(真実)をセットで観測する』


3) 観測点2つを設計する「観測マトリクス」

まず、題材に対して観測点を定義しておく。

事象 観測点A(UI) 観測点B(API/ログ) 合格判定
ログイン成功 トップ遷移/ユーザ名表示 認証必須APIが200/トークン発行 AもBも成功
セッション継続 画面操作が継続できる 認証必須APIが200 AとBが一致
セッション失効 再ログイン導線表示 認証必須APIが401(理由=timeout等) AとBが一致
例外(発行失敗等) 失敗表示+復帰導線 ログに失敗理由/APIは明示的エラー 例外として仕様化

言坂先生『観測マトリクスを先に作ると、
“たまに”が どのズレなのか切り分けできる』


4) 受入基準(AC)は「観測点A×B」を1セットで書く

4.1) ログイン成功(基本)

AC-AUTH-01

  • When 正しいID/パスワードでログインする
  • Then 観測点A:トップへ遷移し、ログイン状態が表示される
  • And 観測点B:認証必須APIが200で応答する(401にならない)

4.2) 無操作失効(境界×観測点)

失効時間 T=30分(例)で、境界値を仕様化しておく(中級)。

AC-AUTH-02(t=T-1秒:継続)

  • Then A:操作が継続できる
  • And B:認証必須APIが200

AC-AUTH-03(t=T:境界点は仕様固定)

  • Then “継続/失効” を仕様でどちらかに固定
  • And ABが必ず整合する(UIだけ継続、APIだけ失効を禁止)

AC-AUTH-04(t=T+1秒:失効)

  • Then A:再ログイン導線を出す
  • And B:認証必須APIが401(理由が判別できる)

5) 中級技法としての位置づけ:境界値分析/状態遷移は「観測点2つ」を強くする

言坂先生『技法は単体で使わない。“観測点2つ”と組み合わせると効く』

  • 境界値分析:t=T周辺でズレが出る(UI更新とAPI判定のズレが露呈する)
  • 状態遷移:S0未認証→S1認証→S2失効→S3再認証要求
    • “勝手にログアウト”を S1→S2 の遷移として言い換えできる

「現象」→「状態×遷移」→「A/B観測点で合否固定」
ここまでが中級の型。


6) よくある“ズレ”パターン(この授業の狙い)

観測点が1つだと、以下が全部「たまに」になる。

  • UIはログイン中APIは401(UIが古い)
  • UIは未ログインAPIは200(UIが先に落ちた)
  • UIは失効表示APIは200(失効判定がクライアント依存)
  • タブAはログインタブBは未ログイン(状態競合)

言坂先生『“たまに”を分類できれば、修正方針が決まる。
分類のカギが 観測点2つだよ』


7) まとめ(今日の1枚)

  • 受入基準(AC)は 観測点A(UI)×観測点B(API/ログ) のセットで書く
  • 境界(t=T)と状態(S1→S2)を技法で言い換えると、未確定要件が確定する
  • “たまに”はバグの性格じゃない。観測の不足で増える

(後ろの席)

キョウスケ「……ロールバック」
テラ「今日は“観測点2つ”が主役だ」
美桜「でも締めのロールバックは気持ちいい」
アヤ「空気、締まった」
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?