Slide 1

Slide 1 text

ソフトウェアテスト・品質勉強会 @nihonbuson 1

Slide 2

Slide 2 text

Agenda ● はじめに ● テストの立ち位置とは ● 何をテストすべきか ● どうやってテストケースを作るのか ● どうやってテストを実施すべきか ● おわりに 2

Slide 3

Slide 3 text

はじめに 3

Slide 4

Slide 4 text

いきなりですが質問です 品質とは何でしょうか? テストの目的は何でしょうか? 4

Slide 5

Slide 5 text

品質とは何か? 東京海上日動システムズ顧問 横塚 裕志氏 の講演内容より 【具体例2】 デジタルニュースの普及により、 ニュースは、確実な推敲・校正よりも、 「早く伝える」「修正」へ 【具体例1】 トラブルは0でも、 国民の5.8%にしか使われない住基ネットカード。 「ソフトウェアの品質(=      )としては失格」 ※ソフトウェア品質シンポジウム 2014の基調講演にて http://www.publickey1.jp/blog/14/_2014.html 5

Slide 6

Slide 6 text

テストの目的は何か? 以下のような目的があります。 ● 欠陥の ● 対象ソフトウェアの        であることの確認 ●      のための情報の提示 ● JSTQBシラバスより http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2011.J02.pdf#page=14      に行うこともある テストの7原則①テストは「欠陥がある」ことしか示せない 6

Slide 7

Slide 7 text

全体の開発サイクルの中での テストの立ち位置とは 7

Slide 8

Slide 8 text

Vモデル(一般的なSIの場合) 要求定義 要件定義 基本設計 詳細設計 コーディング 単体テスト 結合テスト システムテスト 受け入れテスト http://jasst.jp/symposium/jasst12tokyo/pdf/D4-1.pdf 8

Slide 9

Slide 9 text

Wモデル 要求定義 要件定義 基本設計 詳細設計 レビュー&受け入れ テストの設計 レビュー&システム テストの設計 レビュー& 結合テストの設計 レビュー& 単体テストの設計 受け入れテストの 実施 システムテストの 実施 結合テストの 実施 単体テストの 実施 コーディング デバッグ デバッグ デバッグ デバッグ 9

Slide 10

Slide 10 text

なぜ早期のテスト・レビューをするのか http://www.jaspic.org/event/2009/SPIJapan/keynote/SJ9keynote.pdf#page=31 10 要求仕様 設計段階 コーディング テスト 納入時点

Slide 11

Slide 11 text

何をテストすべきか 11

Slide 12

Slide 12 text

次の仕様に対してどんなテストをすれば良いか。 ● パスワードは4文字以上12文字以下の 英数字のみを許容する ● パスワードを3分以内に4回以上間違って入力すると アカウントを5分間ロックする http://www.slideshare.net/takashiyamasaki378/ss-55384920 例題 12

Slide 13

Slide 13 text

パスワードは4文字以上12文字以下の 英数字のみを許容する パスワードを3分以内に4回以上間違って入力すると アカウントを5分間ロックする 回答記入用 13

Slide 14

Slide 14 text

パスワードは4文字以上12文字以下の 英数字のみを許容する パスワードを3分以内に4回以上間違って入力すると アカウントを5分間ロックする 模範解答用 14

Slide 15

Slide 15 text

テストすべき内容(テスト観点)の見つけ方 http://jasst.jp/symposium/jasst13niigata/pdf/S2.pdf 15

Slide 16

Slide 16 text

視座 16

Slide 17

Slide 17 text

視野 17

Slide 18

Slide 18 text

視点 18

Slide 19

Slide 19 text

(参考)品質特性 http://www.atmarkit.co.jp/ait/articles/0905/13/news124_3.html 19

Slide 20

Slide 20 text

どうやって テストケースを作るのか 20

Slide 21

Slide 21 text

テストケースはいくつ? パスワードは4文字以上12文字以下 1文字、2文字、3文字…100文字 膨大な数の テストケース テストの7原則②全数テストは不可能 21

Slide 22

Slide 22 text

テストケース作成者「○○○のテストをします!」 司会者「ほぉ~、それはどうしてだい?」 テストケース作成者「 」 テストケース作成の心得 22

Slide 23

Slide 23 text

テスト設計技法 ~境界値分析~ テストの7原則④欠陥の偏在 12 4 パスワードは4文字以上12文字以下 23

Slide 24

Slide 24 text

テスト設計技法 ~状態遷移テスト~ https://goo.gl/iAvVm8 24

Slide 25

Slide 25 text

どうやって テストを実施するのか 25

Slide 26

Slide 26 text

テストは実施して終わりではない パスワードを「123」にして ログインしようとしたら、 ログインできなかった 26

Slide 27

Slide 27 text

テストレポート例 OK or NG パスワードが 3桁以下の時 ログイン失敗 ページに 遷移すること パスワード欄 に「123」 と入力する。 ログインボタン を 押す。 ログイン 失敗画面に 遷移する NG ログイン画面 から遷移せず、 「ログイン失敗」 と表示される 他の人や1年後の自分が見ても分かるように書く 27

Slide 28

Slide 28 text

おわりに 28

Slide 29

Slide 29 text

まとめ ● テストの目的は欠陥の検出以外に欠陥の     がある ● テストには      に行う活動もある ● 早期にテストやレビューをすることで      できる ● テストすべき内容には、仕様書から見つけられる内容以外に も、      から得られることや     などがある ● 全てを闇雲にテストすると膨大なケース数と時間が発生する が、その数を削減できる手法がある ● テストを実施するときは、           結果を書く 29

Slide 30

Slide 30 text

おまけ ● 開発チーム … ● QAチーム… ● 自動テスト … 30

Slide 31

Slide 31 text

参考資料1 テストの7原則 ①テストは「欠陥がある」ことしか示せない ②全数テストは不可能 ③初期テスト ④欠陥の偏在 ⑤殺虫剤のパラドックス ⑥テストは条件次第 ⑦「バグゼロ」の落とし穴 http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2011.J02.pdf#page=15 31

Slide 32

Slide 32 text

参考資料2 テスト自動化の8原則 ①手動テストはなくならない ②手動で行って効果の無いテストを自動化しても無駄である ③自動テストは書いたことしかテストしない ④テスト自動化の効用はコスト削減だけではない ⑤自動テストシステムの開発は継続的に行うものである ⑥自動化検討はプロジェクト初期から ⑦自動テストで新種のバグが見つかることは稀である ⑧テスト結果分析という新たなタスクが生まれる https://sites.google.com/site/testautomationresearch/test_automation_principle 32