LoginSignup
3
2

More than 5 years have passed since last update.

Mindmapを利用するシナリオ洗い出し。

Last updated at Posted at 2015-07-22

こんにちは。
先の投稿にはシュード・コードでTCを設計する方法をしめしましたがそれはTDD(Test Driven Development)を狙って作ったものでした。

今度は開発者の観点ではなくて、上流工程のテスト設計をする方法の1つを紹介します。

上流工程なので、一応画面をみながらテスト設計を考えてみましょう。

c0081530_4f5ace2a9dde6.png

画面より考えられるテスト視点は二つです。
1. 環境と状況(Environment or Context)
2. Action

環境と状況(Environment or Context) Action
上の画面はモバイル・アプリなので、環境また状況は次のように想定しました。
1. ネットワーク切れ、また反応が弱いネットワーク
2. 言語環境:日本語、中国語、英語
対象はログイン画面です。
ログイン画面で洗い出されるActionは次のようです。
1. メール・アドレスを入力する(また空欄に残る)
2. メール・アドレス欄でメール形式ではない文字を入力する。
3. 未登録メール・アドレスを入力する。
4. 暗証番号を入力する(また空欄に残る)
5. 間違い暗証番号を入力する
6. 「パスワードをお忘れ方」をクリックする
7. 「会員登録」をクリックする。

今までの整理をマインド・マップでしてみました
ここで注意すべくのは

Actionは「Yes」,「No」で分けられるように書く

です。こう整理するのが文章を明確にします。

mindmap1.png

これから ActionItem間の従属関係を考えてみましょう。

一応

  • 「ログイン」ボタンをクリック
  • 「パスワードをお忘れ方」をクリック
  • 「会員登録」をクリック

の間は従属関係が見えません。2、3番目は下位で小枝がないのでそれ自体がチェック項目になります。

1番目の「ログイン。。。」の下位項目たちを見ましょう。

「メール・アドレス欄で入力」と「メール・アドレス欄でメール形式ではない文字を入力する」を比べると

「メール・アドレス欄で入力」:Yes

の場合「メール・アドレス欄でメール形式ではない文字を入力する」が成立します。なので、「メール・アドレス欄でメール形式ではない文字を入力する」は「メール・アドレス欄に入力」で従属されてます。

mindmap2.png

「未登録メール・アドレスを入力する」と「メール・アドレス欄でメール形式ではない文字を入力する」の関係も従属関係です。メールアドレスの形式のみ登録されたのかを確認できるからです。

全部整理すればこうなります。

mindmap3.png

マップの枝より「Yes」を含めているルーツを選んでみましょう。

Path+して「ログイン」ボタンをクリック
1 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(Yes)
2 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(No)
→未登録メール・アドレスを入力する→(Yes)
3 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(No)
→未登録メール・アドレスを入力する→(No)→暗証番号を入力する→(No)
4 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(No)
→未登録メール・アドレスを入力する→(No)→暗証番号を入力する→(Yes)→間違い暗証番号を入力する
→(Yes)
5 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(No)
→未登録メール・アドレスを入力する→(No)→暗証番号を入力する→(Yes)→間違い暗証番号を入力する
→(No)

各ケースを「ログイン1」〜「ログイン5」で名付けましょう。

Action、環境、状況はこれでまとめられます。

Action ログイン1〜ログイン5
「パスワードをお忘れ方。。」をクリックする
「会員登録」をクリックする。
環境 言語:日本語
言語:中国語
言語:英語
状況 ネットワーク:切られる
ネットワーク:弱い
ネットワーク:正常

最後のテストケースはこの3つの組み合わせで洗い出したす。

組み合わせはPICTMasterというツールを使いました。

PICTMaster1.png

ここでイシューが一つあります。
組み合わせのオプションの中て Number of Combined Parameterをいくらにすればいいかなんです。それは環境状況の軽さに従います。もし言語があんまりミッション・クリッチカルじゃない場合はこの値を1ですればいいです。でも、もし言語がクリッチカルな意味がある場合はこの値を2以上にして、網羅性を高める必要はあります。
PICTMasterSetting.png

これはparameter=1の結果です。
PICTMaster2.png

これはparameter=2の結果です。
PICTMaster3.png

僕はParameter=2の方が合理的に見えるのでそれでケースを整理します。
結果を環境をプライマリー・キーで、状況をセカンダリー・キーでソーティングして整理しました。

Action Scenario
ログイン1 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(Yes)
ログイン2 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(No)
→未登録メール・アドレスを入力する→(Yes)
ログイン3 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(No)
→未登録メール・アドレスを入力する→(No)→暗証番号を入力する→(No)
ログイン4 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(No)
→未登録メール・アドレスを入力する→(No)→暗証番号を入力する→(Yes)→間違い暗証番号を入力する
→(Yes)
ログイン5 メールアドレス欄で入力→(Yes)→メール・アドレス欄でメール形式ではない文字を入力する→(No)
→未登録メール・アドレスを入力する→(No)→暗証番号を入力する→(Yes)→間違い暗証番号を入力する
→(No)
No Action Scenario 状況(ネットワーク) 環境(言語)
1 ログイン5 弱い 中国語
2 ログイン1 弱い 中国語
3 ログイン3 切られる 中国語
4 ログイン2 正常 中国語
5 ログイン4 正常 中国語
6 ログイン3 弱い 英語
7 ログイン1 切られる 英語
8 ログイン2 切られる 英語
9 ログイン4 切られる 英語
10 ログイン5 正常 英語
11 ログイン2 弱い 日本語
12 ログイン4 弱い 日本語
13 ログイン5 切られる 日本語
14 ログイン3 正常 日本語
15 ログイン1 正常 日本語
3
2
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
3
2