陣形で学ぶテスト

4,717 views

Published on

チーム内勉強会で使ったソフトウェアテストの資料

Published in: Technology
0 Comments
26 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,717
On SlideShare
0
From Embeds
0
Number of Embeds
1,214
Actions
Shares
0
Downloads
34
Comments
0
Likes
26
Embeds 0
No embeds

No notes for slide

陣形で学ぶテスト

  1. 1. 藤原 大 @daipresents•プロジェクトファシリテー ター、トレーナー•好きな武将は石田三成•http://daipresents.com/
  2. 2. この資料の目的• ソフトウェアテストを学ぶため• ソフトウェアテストに対する復習のため• ソフトウェアテスト技法ドリルが面白かっ たから• 若者に歴史に興味を持ってもらうため
  3. 3. 刺激を受けた 書籍 手法を細かく学ぶなら 読むことをおすすめします楽天ブックス: ソフトウェアテスト技法ドリル - テスト設計の 考え方と実際 - 秋山浩一 : 本 : http://http://goo.gl/hQGwm
  4. 4. 刺激を受けた 発表テストを育てる。テストを支える http://www.slideshare.net/goyoki/ultimate-agilist-tokyo
  5. 5. 私のコンテキスト•Webサービス向けとして•若者向けガイドラインとして•まずはざっくり
  6. 6. テストケースの単位•クリックして、リクエストが飛んでレスポンスが帰ってくる•それを1単位とすればわかりやすいんじゃないかなぁ
  7. 7. 全体的な視点•動作の確認•デザインの確認•JSエラー確認• リンク切れ確認
  8. 8. 上手なテスト• 網羅性を持ったテストを作成 し、実施できるかどうか• ピンポイントで狙っていける かどうか楽天ブックス: ソフトウェアテスト技法ドリル - テスト設計の考え方と実際 - 秋山浩一 : 本 : http://http://goo.gl/hQGwm
  9. 9. 無限にあるテストケース 凸 有限のリソース
  10. 10. 壮大に広がるテストにどの陣形で向かっていくか を考えてみた
  11. 11. 凸凸凸凸凸凸凸 点線面 立時多Photo : 百楽兎 http://goo.gl/0aFpK 凸凸凸凸凸凸凸
  12. 12. 凸凸凸凸凸凸点 凸 凸凸 凸凸 凸 凸 大将が先頭となって敵に切り込むため士気も高偃月ノ陣 く、また馬回りの精鋭が開幕から戦うので攻撃力も 高い。しかしそれだけ大将が戦死する可能性も高 い。また大将の付近が常に戦闘中になるため両翼へ 指示を出す余裕がなくなることも多い。 陣形 - Wikipedia : http://ja.wikipedia.org/wiki/%E9%99%A3%E5%BD%A2
  13. 13. 点のテスト• ピンポイントでテストする• 機能・仕様・アクションを洗い出す• 仕様から重要、普通、怪しい箇所を見つける• 入力があるなら、間(正常な範囲内とか)、 対称(5と-5とか)、類推(似ている値と か)、外側(範囲外とか)をケースに加える• いじわる条件をケースに加える• ミスの多いところをケースに加える
  14. 14. 凸凸凸凸凸凸線横陣 凸凸 凸凸凸 凸 もっとも基本的な陣形。大陸平野での横陣同士の会戦は もっとも遊軍が少ないが、縦隊で戦線突破されれば左右の 伝令が分断され個別撃破されやすい。陣形 - Wikipedia : http://ja.wikipedia.org/wiki/%E9%99%A3%E5%BD%A2
  15. 15. 線のテスト• 同値分割と境界値分析のケースを増やす• 異常系ごとにケースを増やす• XSS対策確認といったセキュリティ系 ケースを増やす• 増えていくものを探してその分、ケースを 増やす 異常系ケースが他のケースに影響が出る時があるので、まとめてやらず別々でやったほうがいい
  16. 16. 凸凸凸凸凸凸面鶴翼ノ陣 凸 凸 凸 中心に大将を配置し、敵が両翼の間に入ってくると 同時にそれを閉じることで包囲・殲滅するのが目的。 ただし、敵にとっては中心に守備が少なく大将を攻め やすいため、両翼の部隊が包囲するまで中軍が持ち堪 凸 凸 凸 凸 えなくてはならないというリスクも孕んでいる。 陣形 - Wikipedia : http://ja.wikipedia.org/wiki/%E9%99%A3%E5%BD%A2
  17. 17. 面のテストケース• 入力の組み合わせごとにケースを増やす• 機能が複数画面にあるケースを増やす• クロスブラウザのケースを増やす• クロスデバイス(PC・スマフォなど)の ケースを増やす• 指標取得(GAやログ集計)の動きを チェックするケースを増やす
  18. 18. 面のテストケース 入力A 入力B 入力Cよく使われる 機能A ○ ● ●たまに使われる 機能B - ○ ● よく使われる たまに使われる 画面A 画面B 画面C 機能A ○ ● ●• 横に分けると長くなるからわけてもいいかも• ○がよく使われるケース、●が○のちょっと違う版とわけると 「 ○だけ自動化しようっと」とかの判断材料になる• X軸・Y軸に優先度をつけることで、優先度高いものからテスト しやすくなるし「優先度高2つだけ自動化しようっと」とかの判 断材料になる
  19. 19. 凸凸凸凸凸凸立魚鱗ノ陣 凸 凸 凸 凸 凸 凸 多くの兵が散らずに局部の戦闘に参加し、また一陣が 壊滅しても次陣がすぐに繰り出せるため消耗戦に強 い。一方で横隊を要素とした集合のため、両側面や後 方から攻撃を受けると混乱が生じやすく弱い。また包 囲されやすく、複数の敵に囲まれた状態のときには用 いない。特に敵より少数兵力の場合正面突破に有効で ある。 陣形 - Wikipedia : http://ja.wikipedia.org/wiki/%E9%99%A3%E5%BD%A2
  20. 20. 立体のテストケース• 機能・要因の組み合わせごとにケースを増 やす• 要因を選ぶ目線=6W2H• 設定や権限に影響がでるケースを増やす
  21. 21. 立体のテストケース 機能A 機能B 要因A ○ ● 機能A 要因B - ○ 要因A ○ ● 機能B 要因C - ○• 3次元で表を書くのはつらいので、階層的に書く方法で表現する ことができる• あまりにも複雑なら、シナリを形式で書くのも手
  22. 22. 凸凸凸凸凸凸時 凸 凸凸 凸 凸 凸 先に出撃した部隊が後退し、替わりに新手が出撃す車掛ノ陣 るという、次々に部隊ごとに攻めては退く戦法ない し陣形。大将を中心に、その周囲を各部隊が円陣を 組み、車輪が回転するように入れ代わり立ち代わり 各部隊が攻めては退く、というのが有力説。陣形 - Wikipedia : http://ja.wikipedia.org/wiki/%E9%99%A3%E5%BD%A2
  23. 23. 時間のテストケース• ログイン時・非ログイン時のテストケース を追加する• 同時動作(並列処理)したときケースを追 加する• ありえない状態にならないことを確認する ケースを追加する
  24. 24. 凸凸凸凸凸凸 多 八卦ノ陣 「八卦の陣」とは、「八門金鎖の陣」「八荒の陣」 ともいい、休・生・傷・杜・景・死・驚・開の八門 からなる陣とされます。生・景・開門は吉なれど、 傷・休・驚門は痛手を負い、杜・死門は滅亡すると 言われています。△[中国史]-八卦の陣の歴史を知りたい - Yahoo!知恵袋 : http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1126474576 ミニ八卦炉 / MUSKA さんのイラスト - ニコニコ静画 : http://seiga.nicovideo.jp/seiga/im759341
  25. 25. 多次元のテストケース• 想定される一般的なユーザの動線(シナリ オ)に基づいたテストケースを増やす• 受け入れはPOのような人のピンポイント チェックでいいかなぁ• QAはQAで
  26. 26. 凸凸凸凸凸凸他 凸 凸 凸 凸 凸 凸 凸 凸 強力な突破力を持つ反面、一度側面に回られ、包囲鋒矢ノ陣 されると非常に脆い。縦横あらゆる偵察から兵を多 く見せることができ、敵より寡兵である場合、正面 突破に有効である。陣形 - Wikipedia : http://ja.wikipedia.org/wiki/%E9%99%A3%E5%BD%A2
  27. 27. 他のテスト•負荷テストでJMeter使うみた いな、ツールを使うテスト
  28. 28. ユーザ指向++
  29. 29. 凸凸凸凸凸凸 ゲ 凸 凸 凸 凸 凸 凸 凸 凸 ゲリラ戦とは、予め攻撃する敵を定めず、戦線外にお ゲリラ戦 いて小規模な部隊を運用して、臨機に奇襲・待ち伏 せ・後方支援破壊等の攪乱や攻撃を行う戦法、また はその戦法が用いられた戦闘を指す。ゲリラ - Wikipedia : http://ja.wikipedia.org/wiki/%E3%82%B2%E3%83%AA%E3%83%A9
  30. 30. ゲリラのテストケース• 実機で、機能毎の画面操作を確認する• 実機で、画面毎・機能毎のデザインを確認 する• 実機を使う場合は機能一覧や画面一覧があ ればいいと思う
  31. 31. 凸凸凸凸凸凸凸 まとめPhoto : 百楽兎 http://goo.gl/0aFpK 凸凸凸凸凸凸凸
  32. 32. 観点・視点 機能・アクションごとにケースを作る点 間・対称・類似・外側をケースに加える UTレベル・自動 いじわる条件をケースに加える 過去のミスをケースに加える 境界値分析をケースに加える線 異常系をケースに加える UTレベル・自動 セキュリティ系をケースに加える(XSS対策など) 増えていくもののテストをケースに加える 入力の組み合わせごとにケースを加える 機能が複数画面にある場合のケースに加える面 ブラウザごとのチェックをケースに加える デバイス対応(PC、スマフォなど)をケースに加える UATのレベル・自動 指標(GAやログ集計)のケースを加える立 機能の組み合わせごとにケースを加える(権限や設定) UATで可能・できれば自 デグレード防止 動多 UATで可能・できれば自 利用者視点のシナリオをケースに加える 動ゲ 実機で手動テスト 手動 ぐりぐりいじりまくるテスト
  33. 33. テスト要求•何を => 機能やアクション•いつ => テスト計画•どう => UT、UAT、手作業• どこまで => POと相談 参考:テストを育てる。テストを支える(Ultimate Agilist Tokyo) http://www.slideshare.net/goyoki/ultimate-agilist-tokyo
  34. 34. 流れ 凸凸凸凸凸凸• ケース作成 凸• ざっくり見積り 凸• ざっくり計画 凸• 調整・リスク共有 凸• 実行 凸 雁行ノ陣
  35. 35. やりかた• UT、UAT、手作業の役割分担を意識する• 自動化できないなら、全部手&Excel管理 でやればいい• テストを増やしたり減らしたりする
  36. 36. リスクの管理• 予期せぬことが起きるとびっくりするの で、びっくりしないように、テストしない 範囲も理解しておく• リスクはBiz・Dev両方で理解する• 「なんか変」なときは、大抵変だから遠慮 無く気づきを共有する
  37. 37. 自信を持ってリリースできることを目指す
  38. 38. 切り札でも、そうなるまでに時間がかかる時ってあるよね そういうときは・・・
  39. 39. 凸凸凸凸凸凸背背水ノ陣 凸凸 凸凸凸 凸 即ち『兵は死地において初めて生きる(「之れを往く所無きに投 ずれば、諸・歳の勇なり〔兵士たちをどこにも行き場のない窮地に 置けば、おのずと専諸や曹 のように勇戦力闘する〕 井陘の戦い - Wikipedia http://goo.gl/5gekD
  40. 40. 使用上の注意をよく読み、用法・用量を守って正しくお使い下さい 効果には個人差があります

×