Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ソフトウェアテストと品質(発表資料)/Software test and quality study (Presentation)_20180925

nihonbuson
September 27, 2018

ソフトウェアテストと品質(発表資料)/Software test and quality study (Presentation)_20180925

D3:グルメなテスト テスト設計 - レビュースペシャル - での発表資料です。
https://d-cube.connpass.com/event/101281/

nihonbuson

September 27, 2018
Tweet

More Decks by nihonbuson

Other Decks in Technology

Transcript

  1. Agenda • はじめに • テストの7原則 • テストの立ち位置とは • 何をテストすべきか •

    どうやってテストケースを作るのか • どうやってテストを実施すべきか • おわりに P2
  2. 品質とは何か? 東京海上日動システムズ顧問 横塚 裕志氏 の講演内容より 【具体例2】 デジタルニュースの普及により、 ニュースは、確実な推敲・校正よりも、 「早く伝える」「修正」へ 【具体例1】

    トラブルは0でも、 国民の5.8%にしか使われない住基ネットカード。 「ソフトウェアの品質(=存在意義)としては失格」 ※ソフトウェア品質シンポジウム 2014の基調講演にて http://www.publickey1.jp/blog/14/_2014.html P5
  3. テストの目的は何か? 以下のような目的があります。 • 欠陥の検出 • 対象ソフトウェアの品質レベルが十分であることの確認 • 意思決定のための情報の提示 • 欠陥の作りこみの防止

    JSTQBシラバスより http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2011.J02.pdf#page=14 実装前に行うこともある テストの7原則①テストは「欠陥がある」ことしか示せない P6
  4. テストの7原則 1. テストは「欠陥がある」ことしか示せない 2. 全数テストは不可能 3. 初期テスト 4. 欠陥の偏在 5.

    殺虫剤のパラドックス 6. テストは条件次第 7. 「バグゼロ」の落とし穴 http://jstqb.jp/dl/JSTQB-SyllabusFoundation_Version2011.J02.pdf#page=15 P8
  5. Wモデル 要求定義 要件定義 基本設計 詳細設計 レビュー&受け入れ テストの設計 レビュー&システム テストの設計 レビュー&

    結合テストの設計 レビュー& 単体テストの設計 受け入れテストの 実施 システムテストの 実施 結合テストの 実施 単体テストの 実施 コーディング デバッグ デバッグ デバッグ デバッグ P12
  6. テストケースはいくつ? • テストケースは時間とあれば無限にできます。 • サンプリング方法としてテスト設計技法があります。 – テストケースを合理的に少なくするための技法 • 同値分割法、 All Pair法

    – 多くの欠陥が見つかるようにするための技法 • 境界値分析、 エラー推測、 探索的テスト – テスト対象を(ある観点で)漏れなくテストするための技法 • カバレッジ、デシジョンテーブル、状態遷移、ユースケーステスト http://aster.or.jp/business/seminar_text.html
  7. テスト設計技法 ~境界値分析~ • 「パスワードが4文字以上12文字以下」で なぜ3,4,12,13をテストするのか? if( x < 3 ){ return

    “入力したパスワードが短いです”; } • 上記の例で、不等号のミスによる不具合を 発見できるのは、3の時だけ!
  8. テスト設計技法 ~状態遷移テスト~ P26 待機中 計測中 一時停止中 スタート/ストップ リセット スタート/ ストップ スタート/

    ストップ リセット リセット 開発者は上記の矢印6か所を 最低限実施する必要がある。
  9. テストレポート例 テスト目的 再現手順 期待値 OK or NG 実際の結果 パスワードが 3桁以下の時

    ログイン失敗 ページに 遷移すること パスワード欄に「123」 と入力する。 ログインボタンを 押す。 ログイン 失敗画面に 遷移する NG ログイン画面 から遷移せず、 「ログイン失敗」と表 示される 他の人や1年後の自分が見ても分かるように書く P29
  10. P11 1. 評価チームは システムテストレベルを見たい! • 単体テスト(モジュールテスト) – 商品の個数欄にマイナスの数値を入力できない。 • 結合テスト

    – カートに3個入っていて、2個追加したら、 確認ページで5個になった。 • システムテスト – 会員登録→商品購入→商品キャンセル→退会の 一連の流れ。 評価チームは ここをやりたい!
  11. P11 1. 評価チームは システムテストレベルを見たい! • 単体テスト(モジュールテスト) – 商品の個数欄にマイナスの数値を入力できない。 • 結合テスト

    – カートに3個入っていて、2個追加したら、 確認ページで5個になった。 • システムテスト – 会員登録→商品購入→商品キャンセル→退会の 一連の流れ。 開発者は ここをやりきれ!
  12. テストの勉強は「習うより慣れよ」 • 1泊2日のワークショップ形式のイベント • 半年に1度開催(6月と12月)。 • 次回は12月15日、16日 • 10周年を迎えました! •

    新卒1年目の開発やQAも多く参加 • 参加費は24000円(35歳以上は27000円) • ほとんどが宿泊費・経費で利益は無し http://wacate.jp