Webアプリにありがちな状態遷移をまとめて状態遷移表でテスト観点とする


人生は楽したい

Webアプリケーションごとに仕様、入力項目、挙動が異なるのは百も承知ですが、
ある程度、パターン化されているものは、状態遷移表として画面(架空の画面)ごとにまとめておくと、
画面テストのテスト観点つくる時にテンプレとして使え、楽なんじゃない??という発想の基、作成。
当然、テスト対象に合わせて、抜いたり、引いたり、書き換えたりするのは前提。

画面ごとの状態遷移表テンプレート

「-」のアイコンはありえない場合

  • Top Page
【状態】
未Login
【状態】
Login済み
【イベント】
Top Pageへアクセス
Top Page画面へ My Page画面へ
【イベント】
LoginボタンClick
Login画面へ -
【イベント】
新規ユーザ登録ボタンClick
新規ユーザ登録画面へ -
【イベント】
LogoutボタンClick
- Logout画面へ

 
* Login画面

【状態】
未Login
未SNS連携
【状態】
Login済み
【イベント】
Login画面アクセス
Login画面へ My Pageへ
【イベント】
サイトLogoをClick
Top Pageへ -
【イベント】
ID & PASSWORD未入力で
LoginボタンをClick
Loginエラー表示 -
【イベント】
ID未入力で
LoginボタンをClick
Loginエラー表示 -
【イベント】
PASSWORD未入力で
LoginボタンをClick
Loginエラー表示 -
【イベント】
間違ったIDを入力し
LoginボタンをClick
Loginエラー表示 -
【イベント】
間違ったPASSWORDを入力し
LoginボタンをClick
Loginエラー表示 -
【イベント】
正しいID & PASSWORD未入力で
LoginボタンをClick
My Pageへ -
【イベント】
期限切れID & PASSWORD未入力で
LoginボタンをClick
再設定画面へ -
【イベント】
SNS連携(facebook,twitter....etc)
LoginボタンをClick
SNS連携確認画面へ -
【イベント】
「パスワードを忘れた場合」リンクをClick
パスワード再設定画面へ -
【イベント】
「新規登録」リンクをClick
新規ユーザ登録画面へ -

 
* 新規ユーザ登録画面

【状態】
未Login
【状態】
Login済み
【イベント】
新規ユーザ登録画面へアクセス
新規ユーザ登録画面へ My Pageへ
【イベント】
サイトLogoをClick
Top Page画面へ -
【イベント】
必須入力項目と任意項目を全て正しく入力し
登録ボタンをClick
My Pageへ
or メール認証ページへ
-
【イベント】
必須入力項目のみ正しく入力し
登録ボタンをClick
My Pageへ
or メール認証ページへ
-
【イベント】
必須入力項目に不正な値を入力し
登録ボタンをClick
登録エラー表示 -
【イベント】
任意項目のみ全て正しく入力し
登録ボタンをClick
登録エラー表示 -
【イベント】
全ての入力項目を未入力で
登録ボタンをClick
登録エラー表示 -
【イベント】
全ての入力項目を未入力で
登録ボタンをClick
登録エラー表示 -
【イベント】
登録済みのIDを入力し
登録ボタンをClick
登録エラー表示
【イベント】
SNS(facebook,twitter....etc)
連携ボタンをClick
該当のSNS連携確認画面へ -
【イベント】
「ログインはこちら」リンクをClick
Login画面へ -

 
* 認証コード入力画面

【状態】
未認証、有効期限内
【状態】
未認証、有効期限外
【イベント】
正しい認証コードを入力し
SubmitボタンをClick
認証が成功し、●●画面へ 認証エラー表示
【イベント】
不正な認証コードを入力し
SubmitボタンをClick
認証エラー表示 -
【イベント】
認証コードを未入力で
SubmitボタンをClick
認証エラー表示 -

 
* My page

【状態】
Login済み
【イベント】
LogoutボタンClick
ログアウト画面へ
【イベント】
AccountアイコンClick
設定メニューが開く

 
* ●●登録/編集画面

【状態】
登録/編集権限があるユーザでログイン
【状態】
登録/編集権限がないユーザでログイン
【状態】
未ログイン
【イベント】
●●登録/編集画面へアクセス
●●登録/編集画面へ ●●画面へリダイレクト
or エラー表示
Top Pageへリダイレクト
or エラー表示
【イベント】
サイトLogoをClick
Top Page画面へ - -
【イベント】
必須入力項目と任意項目を全て正しく入力し
登録ボタンをClick
登録内容確認画面へ - -
【イベント】
必須入力項目のみ正しく入力し
登録ボタンをClick
登録内容確認画面へ - -
【イベント】
必須入力項目に不正な値を入力し
登録ボタンをClick
入力エラー表示 - -
【イベント】
任意項目のみ全て正しく入力し
登録ボタンをClick
入力エラー表示 - -
【イベント】
全ての入力項目を未入力で
登録ボタンをClick
入力エラー表示 - -

 
* ●●登録/編集確認画面

【状態】
登録/編集権限があるユーザでログインし、
●●登録/編集画面を経由
【状態】
登録/編集権限があるユーザでログインし、
●●登録/編集確認画面を直アクセス
【状態】
登録/編集権限がないユーザでログインし、
●●登録/編集確認画面を直アクセス
【状態】
未ログイン
【イベント】
●●登録/編集確認画面へアクセス
●●登録/編集確認画面表示 ●●画面へリダイレクト
or エラー表示
●●画面へリダイレクト
or エラー表示
Top Pageへリダイレクト
or エラー表示
【イベント】
登録ボタンをClick
登録/編集完了画面へ - - -
【イベント】
戻るボタンをClick
●●登録/編集画面へ - - -

 
* ●●登録/編集完了画面

【状態】
登録/編集権限があるユーザでログインし、
●●登録/編集確認画面を経由
【状態】
登録/編集権限があるユーザでログインし、
●●登録/編集完了画面を直アクセス
【状態】
登録権限がないユーザでログインし、
●●登録/編集完了画面を直アクセス
【状態】
未ログイン
【イベント】
●●登録/編集完了画面へアクセス
●●登録完了画面表示 ●●画面へリダイレクト
or エラー表示
●●画面へリダイレクト
or エラー表示
Top Pageへリダイレクト
or エラー表示
【イベント】
サイトLogoをClick
Top Pageへ - - -
【イベント】
My PageリンクをClick
My Pageへ - - -

 
* ●●検索画面

【状態】
検索実行前
【状態】
検索実行後(検索結果あり)
【状態】
検索実行後(検索結果なし)
【イベント】
完全一致の条件で検索実行
完全一致の検索結果が表示 再建策され、完全一致の検索結果が表示 再建策され、完全一致の検索結果が表示
【イベント】
部分一致の条件で検索実行
部分一致の検索結果が表示 再建策され、部分一致の検索結果が表示 再建策され、部分一致の検索結果が表示
【イベント】
AND検索の条件で検索実行
ANDの条件に一致した検索結果が表示 再建策され、ANDの条件に一致した検索結果が表示 再建策され、ANDの条件に一致した検索結果が表示
【イベント】
OR検索の条件で検索実行
ORの条件に一致した検索結果が表示 再建策され、ORの条件に一致した検索結果が表示 再建策され、ORの条件に一致した検索結果が表示
【イベント】
検索キーワード入力フィールドに任意の値を入力
キーワード候補が表示 キーワード候補が表示 キーワード候補が表示
【イベント】
検索がヒットしない条件で検索実行
検索結果がない旨が表示 検索結果がない旨が表示 検索結果がない旨が表示
【イベント】
リセットボタンをClick
検索対象一覧が表示 検索結果が消え、検索対象一覧が表示 検索対象一覧が表示

参考文献