B5 データ指向

Similar documents
PowerPoint プレゼンテーション

過去問セミナーTM

どのような便益があり得るか? より重要な ( ハイリスクの ) プロセス及びそれらのアウトプットに焦点が当たる 相互に依存するプロセスについての理解 定義及び統合が改善される プロセス及びマネジメントシステム全体の計画策定 実施 確認及び改善の体系的なマネジメント 資源の有効利用及び説明責任の強化

目次 1. 参加への思い 2. コース概要 3. 活動報告 4. アフター活動 5. メンバの成果発表 6. 今後について 7. 最後に 2

セミナータイトル    ~サブタイトル~

ソフトウェア開発データが語るメッセージ 2017 ~ 生産性 信頼性の経年推移の分析から ~ 2018 年 3 月 6 日 独立行政法人情報処理推進機構 (IPA) 技術本部ソフトウェア高信頼化センター (SEC)

テスト設計スキル評価方法の提案と実践事例

技術士総合監理部門.indd

HIGIS 3/プレゼンテーション資料/J_GrayA.ppt

宇宙機搭載ソフトウエア開発のアセスメント

AAプロセスアフローチについて_ テクノファーnews

ISO 9001:2015 改定セミナー (JIS Q 9001:2015 準拠 ) 第 4.2 版 株式会社 TBC ソリューションズ プログラム 年版改定の概要 年版の6 大重点ポイントと対策 年版と2008 年版の相違 年版への移行の実務

NEXCESS基礎コース01 組込みソフトウェア開発技術の基礎 ソフトウェア開発プロセス編

目次 ペトリネットの概要 適用事例

CodeRecorderでカバレッジ

Using VectorCAST/C++ with Test Driven Development

品質管理研究会成果発表資料

ソフトウェア開発における品質管理の理論と実践

ISO19011の概要について

第16部 ソフトウェア・プロセスの改善

プロダクトオーナー研修についてのご紹介

簿記教育における習熟度別クラス編成 簿記教育における習熟度別クラス編成 濱田峰子 要旨 近年 学生の多様化に伴い きめ細やかな個別対応や対話型授業が可能な少人数の習熟度別クラス編成の重要性が増している そのため 本学では入学時にプレイスメントテストを実施し 国語 数学 英語の 3 教科については習熟

プロジェクトマネジメント知識体系ガイド (PMBOK ガイド ) 第 6 版 訂正表 - 第 3 刷り 注 : 次の正誤表は PMBOK ガイド第 6 版 の第 1 刷りと第 2 刷りに関するものです 本 ( または PDF) の印刷部数を確認するには 著作権ページ ( 通知ページおよび目次の前 )

PowerPoint プレゼンテーション

生産ライン・設備機器メーカー双方の課題をIoTで解決!

PowerPoint プレゼンテーション

目次 取組み概要 取組みの背景 取組みの成果物 適用事例の特徴 適用分析の特徴 適用事例の分析結果から見えたこと JISAによる調査結果 どうやって 実践のヒント をみつけるか 書籍発行について紹介 今後に向けて 2


技術流出防止指針公表用.PDF

0ミ0、0・タ

目次 4. 組織 4.1 組織及びその状況の理解 利害関係者のニーズ 適用範囲 環境活動の仕組み 3 5. リーダーシップ 5.1 経営者の責務 環境方針 役割 責任及び権限 5 6. 計画 6.1 リスクへの取り組み 環境目標

Microsoft PowerPoint - 教材サンプル1&2.ppt

JICA 事業評価ガイドライン ( 第 2 版 ) 独立行政法人国際協力機構 評価部 2014 年 5 月 1

Microsoft Word - ISO 9001要求事項のエッセンス 改 国府保周


040402.ユニットテスト

効率の良いテストシナリオ? テストの進め方 テストプロセス テストの設計 より少ないテストケースで より多くのバグを見つける Mercury Interactive Japan KK all rights reserved. 2

[ 指針 ] 1. 組織体および組織体集団におけるガバナンス プロセスの改善に向けた評価組織体の機関設計については 株式会社にあっては株主総会の専決事項であり 業務運営組織の決定は 取締役会等の専決事項である また 組織体集団をどのように形成するかも親会社の取締役会等の専決事項である したがって こ

<4D F736F F D F193B994AD955C D9E82DD835C EC091D492B28DB8816A2E646F63>

Microsoft PowerPoint - R-stat-intro_04.ppt [互換モード]

個人依存開発から組織的開発への移行事例 ~ 要求モデル定義と開発プロセスの形式化 による高生産性 / 高信頼性化 ~ 三菱電機メカトロニクスソフトウエア ( 株 ) 和歌山支所岩橋正実 1

なぜバグ曲線は収束するのか

Microsoft PowerPoint - 【別紙1-2】メトリクスセットの利用ガイド.pptx

15288解説_D.pptx

PowerPoint Presentation

課題研究の進め方 これは,10 年経験者研修講座の各教科の課題研究の研修で使っている資料をまとめたものです 課題研究の進め方 と 課題研究報告書の書き方 について, 教科を限定せずに一般的に紹介してありますので, 校内研修などにご活用ください

はじめに 本ドキュメントは Redmine を使用して稼働する定量的プロジェクト管理ツール ( 以下 IPF と略します ) のヘルプです IPF の操作に関わる機能を解説しており Redmine 及び構成管理ツール (Subversion Git) の標準機能については 本ヘルプの記載対象外として

<4D F736F F F696E74202D A B837D836C CA48F435F >

~この方法で政策形成能力のレベルアップが図れます~

CAEシミュレーションツールを用いた統計の基礎教育 | (株)日科技研

<4D F736F F F696E74202D2091E6368FCD5F95F18D908B7982D D815B >

C3 データ可視化とツール

JISQ 原案(本体)

短納期開発現場への XDDP 導入手法

ソフトウェアの品質とは? 2

パラダイムシフトブック.indb


SGEC 附属文書 理事会 統合 CoC 管理事業体の要件 目次序文 1 適用範囲 2 定義 3 統合 CoC 管理事業体組織の適格基準 4 統合 CoC 管理事業体で実施される SGEC 文書 4 CoC 認証ガイドライン の要求事項に関わる責任の適用範囲 序文

ISO9001:2015規格要求事項解説テキスト(サンプル) 株式会社ハピネックス提供資料

Microsoft PowerPoint - 統計科学研究所_R_重回帰分析_変数選択_2.ppt

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 利害関係者の特定 QMS 適用範囲 3. ISO 9001:2015への移行 リーダーシップ パフォーマンス 組織の知識 その他 ( 考慮する 必要に応

Microsoft Word - lec_student-chp3_1-representative

説明項目 1. 審査で注目すべき要求事項の変化点 2. 変化点に対応した審査はどうあるべきか 文書化した情報 外部 内部の課題の特定 リスク 機会 関連する利害関係者の特定 プロセスの計画 実施 3. ISO 14001:2015への移行 EMS 適用範囲 リーダーシップ パフォーマンス その他 (

スキル領域 職種 : ソフトウェアデベロップメント スキル領域と SWD 経済産業省, 独立行政法人情報処理推進機構

Transcription:

B5) テストマネジメント ~ 確実に間違うよりも漠然と正しく ~ データ指向のソフトウェア品質マネジメント ーテスト編ー 東洋大学野中誠 ヤマハ株式会社小池利和 2014 年 3 月 8 日 JaSST 14 Tokyo

所属 背景 東洋大学経営学部経営学科准教授 工業経営 / 経営システム工学, ソフトウェア工学, 品質マネジメント 主な学外活動 JaSST 14 Tokyo 実行委員 日本科学技術連盟 SQiPソフトウェア品質委員会運営委員長 IPA/SEC 高信頼化定量管理部会主査 ( ソフトウェア開発データ白書 など) 日本 SPIコンソーシアム外部理事 組込みシステム技術協会実装品質強化 WG メンバー 国立情報学研究所特任准教授 ( トップエスイー講座, メトリクス講義担当 ) 主な著書 野中 誠 野中 小池 小室著 データ指向のソフトウェア品質マネジメント 日科技連出版社 (2012) (2013 年度日経品質管理文献賞受賞 ) 野中 鷲崎訳 演習で学ぶソフトウェアメトリクスの基礎 日経 BP 社 (2009) SQuBOK 策定部会編著 ソフトウェア品質知識体系ガイド-SQuBOK Guide- オーム社 (2007) 研究教育 ソフトウェア品質マネジメント ( メトリクスを中心に ) 経営と情報システムとの関わり 2014/2/14 Makoto Nonaka, Toyo University 2

データ指向のソフトウェア品質マネジメント ( デート本 ) メトリクス分析による 事実にもとづく管理 の実践 2013 年度日経品質管理文献賞受賞 2012 年 11 月 8 日号 p.125 書評 ソフトウエア品質メトリクスで 日本における気鋭の研究者である野中誠氏による解説書 ソフトウエアの品質データ ( メトリクス ) は その収集自体が目的化してはならないが その分析は開発現場ではなくてはならないものである 本書はその収集 分析方法 用いるべきモデルなどを 統計学の初歩的解説とともに述べている良書である 2012 年 11 月号 p.110 書評 ソフトウエアの品質を高めるには 開発の過程で問題をいち早く把握し 適切な対策を打つことが不可欠である それには 問題を可視化することが大事だ 本書は 事例を基に 品質データの測定項目や分析手法を解説している ソフトウエア品質に関わる多様なデータを測定し 分析を繰り返すことは容易ではないが 分析手順を詳しく説明している 事例を読者自身の開発に当てはめて実践してみれば 必要な知識やスキルを身に付けやすいだろう 品質メトリクス分析の実践的入門書 11 の分析事例 データと分析手順の解説をダウロードできる ( 同じ分析手順を手元で行える ) 主要目次第 1 章品質データ分析の基本第 2 章品質状況の把握第 3 章影響要因の把握第 4 章静的予測モデルの構築第 5 章動的予測モデルの構築第 6 章測定方法付録 野中誠 ( 東洋大学 ) 小池利和 ( ヤマハ ) 小室睦 ( 元日立ソリューションズ 現富士フイルムソフトウエア ) 2012 年 9 月 19 日発行 定価 3,780 円 ( 税込 ) ISBN978-4-8171-9447-3 3

講演概要 テストに 事実に基づく管理 を導入し 継続的に改善していくには テスト状況をデータで把握したり 改善の着眼点をデータで示したりすることが求められます しかし このようなデータの活用は必ずしも容易ではありません 本セッションでは データ指向のソフトウェア品質マネジメント の著者である2 人が 事実に基づく管理 をテストに持ち込もうとして試行錯誤をした過程の一端をご紹介します 具体的には バグの収束状況をデータで判断するにはどうすればよいか 適正なテストリソース計画立案とコントロールのためにデータを如何に活用するか 単体テストでの欠陥見逃しの傾向をどのようにデータで示せばよいか 第三者テストで検出される欠陥数に影響している要因は何か 野中 小池 という問題について 2 人が取り組んだデータ分析 活用事例をお話しいただきます 本セッションが 事実に基づくテストマネジメント を実践する上でのヒントになれば幸いです 4

野中がお話しする内容の元ネタ 単体テストでの欠陥見逃しの傾向をどのように示せばよいか 下村 森 (NEC) 野中( 東洋大 ) ソフトウェア単体テストの十分性評価基準に関する考察 ウィンターワークショップ2013 イン 那須講演論文集 情報処理学会 (2013) 下村 森 佐藤 (NEC) 野中( 東洋大 ) ソフトウェアメトリクスを用いた単体テストの品質リスク評価 ソフトウェア品質シンポジウム2013(SQiP2013) 報文集 (2013) 第三者テストで検出される欠陥数に影響している要因は何か 野中 小池 小室 データ指向のソフトウェア品質マネジメント 日科技連出版 (2012) 4.2 節 いずれも 品質管理や技術支援という立場からの分析事例です プロジェクトに対してプロセス監査を行うときの評価基準を定める 開発の現場で適用可能な評価基準を定める 5

単体テストでの欠陥見逃しの傾向をどのように データで示せばよいか 第三者テストで検出される欠陥数に影響して いる要因は何か バグの収束状況をデータで判断するには どのようにすればよいか 適正なテストリソース計画立案とコントロールの ためにデータを如何に活用するか 6

なぜ単体テストでの欠陥見逃しに着目したのか 単体テストでの欠陥見逃しに関わる手戻り工数がそれなりに多いため 欠陥見逃しを減らしたい 重点指向 ツールで測定可能なデータが比較的容易に利用できる 事実に基づく管理 ソースコード 有効行数 重み付きサイクロマチック数 分岐条件数 最大ネスト深さ数を測定 カバレッジ ステートメント (C0) / デシジョン (C1) を測定 テスト項目数 テストコードのテストメソッド数を測定 見逃し欠陥数 BTS をもとに測定 ( 混入工程も測定 ) 現場で使える単体テストの十分性評価基準を得たい 標準化 usable かつ useful な基準としたい 7

単体テストでの欠陥見逃し状況をデータで把握するには 1 2 3 15 詳細設計詳細設計レビュー 13 4 5 2 コーディングコードレビュー 単体テスト 135 4 3 教科書的な 単体テストの欠陥除去比率 (DRE; Defect Removal Efficiency) 単体テスト開始時に存在した欠陥のうちどれだけの欠陥を除去できたのかを測定 3 135 =0.33 1 は 単体テストで除去すべき欠陥か? 今回の分析対象とした見逃し欠陥 : 5 欠陥見逃し率は 5 35 =0.50 教科書的な定義に囚われることなく 目的に合った 運用可能な測定方法を適用しよう 8

単体テストの欠陥見逃し状況 UT 見逃し欠陥数が n 件以上 ( 品質が良くない ) UT 見逃し欠陥数が 1 件以上 n 件未満 ( 品質が少し良くない ) UT 見逃し欠陥数が 0 件 ( 品質が良い ) 下村 森 (NEC) 野中 ( 東洋大 ) ソフトウェア単体テストの十分性評価基準に関する考察 ウィンターワークショップ 2013 イン 那須講演論文集 情報処理学会 (2013) 下村 森 佐藤 (NEC) 野中 ( 東洋大 ) ソフトウェアメトリクスを用いた単体テストの品質リスク評価 ソフトウェア品質シンポジウム 2013(SQiP2013) 報文集 (2013) 少数の品質不良の要因を統計解析手法で抽出するのは一般に難しいでも 安易にあきらめずに データから読み取れることを考えてみよう 9

考えられる仮説 規模の大きいモジュールは 見逃し欠陥数が多くなる 複雑度の高いモジュールは 見逃し欠陥数が多くなる 分岐条件数の多いモジュールは 見逃し欠陥数が多くなる 最大ネスト深さ数の多いモジュールは 見逃し欠陥数が多くなる テスト項目数の少ないモジュールは 見逃し欠陥数が多くなる テスト項目密度の低いモジュールは 見逃し欠陥数が多くなる カバレッジの低いモジュールは 見逃し欠陥数が多くなる 当たり前じゃない? と思えることも含めて まずは 広く浅く 仮説候補を挙げてみましょうただし アクションにつながらない ( つなげても意味のない ) 仮説は挙げないようにしましょう 10

散布図行列で全体を俯瞰する 見逃し欠陥数に外れ値候補あり 除外して分析した方がよい 規模大のモジュールは要注意 有効行数重み付きサイクロマチック数分岐条件数 互いに強い正の相関 見逃し欠陥数との関係が類似 有効行数だけ見ておけば十分 単体テスト項目数ステートメントカバレッジ (C0) デシジョンカバレッジ (C1) 見逃し欠陥数との相関がない! 単体テスト項目が少なくても カバレッジが低くても 見逃し欠陥数が少なかったりする 仮説と違うことはよくある R の psych ライブラリの pairs.panels 関数で作図 11

見逃し欠陥数で 3 水準に分けた 有効行数の箱ひげ図 有効行数 基準 2 基準 1 なし 1~2 件 3 件以上 見逃し欠陥数 基準 2について 見逃し3 件以上のモジュールは 基準 2を超えたものが75% 見逃しなしのモジュールは ほとんどが基準 2を下回った 基準 1について 見逃し1~2 件のモジュールは 基準 1を超えたものが50% 見逃しなしのモジュールは 基準 1を下回ったものが75% 結論としては面白くないが (?) 有効行数は 欠陥見逃しの可能性を説明する有用な変数である 12

規模の大小で分けた テスト項目密度とカバレッジの散布図行列 規模小 相対値 =1 相対値 =1/7 規模大 テスト項目密度が低く カバレッジが低くても コードの見通しが得られているのでテスト項目を積み上げておらず 見逃し欠陥数も少ない モジュールのタイプ別に対応を考えたらどうか 規模小のデータに比べて テスト項目密度が低いところに分布している テスト項目密度の底上げが必要 見逃し欠陥の分析に基づくテスト設計が必要 13

見逃し欠陥の修正内容に応じた対策 2014/1/31 http://www.juse.or.jp/sqip sympo/2013/program/files/happyou_shiryou_a3 2.pdf Makoto Nonaka, Toyo University 14

品質管理の基本を適用しよう プロセスと結果を監視し プロセスに対して処置する 結果は好ましい状態にあるか? 結果をデータで把握することから始めよう プロセスは維持された状態にあるか? 結果に影響する要因を考えてみよう 入力 プロセス 結果 重点指向で 必要に応じてプロセスの粒度を細かく管理する 単体テストに着目 それぞれのプロセスについて PDCA サイクルを回す Planには2つの意味がある (1) 目的 目標を決める (2) 目的 目標を達成する方法を決める ( 標準など ) 標準の正しい意味を知り 正しい標準を定めよう経験の再利用, 技術 改善 独創性の基盤 Act Check Plan Do 15

単体テストでの欠陥見逃しの傾向をどのように データで示せばよいか 第三者テストで検出される欠陥数に影響して いる要因は何か バグの収束状況をデータで判断するには どのようにすればよいか 適正なテストリソース計画立案とコントロールの ためにデータを如何に活用するか 16

分析対象のデータ 定量データ ソフトウェア規模 (KLOC) 工数 ( 上流工程 ~ 結合テスト ) 欠陥数 ( 開発終了後の独立テストで発見された機能欠陥 ) 定性データ ~ それぞれの要因についての 5 段階評価 (VL ~ VH) S: 要求定義プロセス S1: 当該工程に関するメンバーの経験 S2: ユーザ要求文書の品質 S3: 要求 仕様 テスト仕様レビューの充足度 S4: 要求レビュープロセスの効率性 S5: 要求レビューの有効性 S6: 仕様レビュー指摘欠陥の多さ S7: 要求の安定性 F: 新規開発機能 F1: 新規開発機能の複雑度 F2: 新規開発機能の規模 F3: ベース規模に対する新規規模の大きさ D: 開発プロセス D1: 当該工程に関するメンバーの経験 D2: プログラマの能力 D3: 設計レビュープロセスの効率性 D4: 開発メンバーのモチベーション T: テスト 手戻り T1: テストプロセスの効率性 T2: 結合テストに関するメンバーの経験 T3: 統合テストに関するメンバーの経験 T4: テストケースの質 P: プロジェクト管理 P1: 開発メンバーのトレーニングの質 P2: 構成管理プロセスの効率性 P3: プロジェクト計画の適切さ P4: 開発拠点 / グループの多さ P5: 主要なステークホルダの関与度 P6: 顧客の関与度 P7: 協力会社マネジメントの有効性 P8: チーム内コミュニケーション P9: プロセス成熟度 Fenton, N., et al. Project Data Incorporating Qualitative Facts for Improved Software Defect Prediction. in Predictor Models in Software Engineering, 2007. PROMISE'07: ICSE Workshops 2007. International Workshop on. 2007. 2014/3/31 17

データの傾向を把握する : まずはヒストグラムと散布図 2500 2000 y = 11.416x + 9.4969 R² = 0.7798 回帰直線によって 欠陥数のばらつきの 78% を説明できている? ほかの定性的なデータも使って 予測精度を高めたい できれば 少ない変数で欠陥数を予測したい Defects 1500 1000 500 小難しいことを何も考えなくても回帰直線を引くことができる 頻度 16 14 12 10 8 6 4 それなりに整形した Excel のヒストグラム ( データ分析機能を使用 ) 0 0 50 100 150 200 2 0 <200 <400 <600 <800 <1000 <1200 <1400 <1600 <1800 <2000 KLOC 欠陥数 頻度 20 18 16 14 12 10 8 6 4 2 何も考えずに作図した Excel のヒストグラム ( データ分析機能を使用 ) Frequency 0 2 4 6 8 10 14 R で作図したヒストグラム 0 5 385.2 765.4 1145.6 1525.8 次の級データ区間 0 500 1000 1500 2000 Defects 2014/3/31 18

そのほかの定性的なデータも使って予測精度を高めたい 相関係数を使って 有用そうな変数にあたりをつける データ項目 欠陥密度 不具合数 D1: 開発スタッフ経験 -0.693-0.408 P5: ステークホルダ関与度 -0.435-0.254 P6: 顧客関与度 -0.374-0.137 スピアマンの順位相関係数を使っています 箱ひげ図を描いて 欠陥数 ( 欠陥密度 ) に影響する要因を探るもちろん 要因と効果の因果関係も検討しなければならない Defects/KLOC 5 10 15 20 25 30 D1 P5 P6 Defects/KLOC 5 10 15 20 25 30 Defects/KLOC 5 10 15 20 25 30 1_VL 2_L 3_M 4_H 5_VH 3_M 4_H 5_VH 3_M 4_H 5_VH Development Staff Experience Stakeholder involvement Customer involvement 2014/3/31 19

実績値と予測値の散布図 欠陥数の予測値 2500 Defects = f (KLOC) 単回帰モデル 2000 1500 1000 500 0 0 500 1000 1500 2000 2500 欠陥数の実績値 重相関係数 = 0.854 不具合検出数の実績値 ( 件 ) 0 500 1000 1500 2000 Defects = f (KLOC, D1.new) 重回帰モデル 重相関係数 = 0.887 0 500 1000 1500 変数を少し増やしたことにより 僅かだか予測精度の高いモデルが得られた 不具合検出数の予測値 ( 件 ) 2014/3/31 20

実績値と予測値の散布図 欠陥数の予測値 2500 Defects = f (KLOC) 単回帰モデル 2000 1500 1000 500 0 0 500 1000 1500 2000 2500 欠陥数の実績値 重相関係数 = 0.854 欠陥数の予測値 ポアソン回帰モデルという手法を用いたことで 予測精度を高めることができた 2500 2000 1500 1000 500 0 Defects = f (KLOC, D1, P5, P6) ポアソン回帰モデル 0 500 1000 1500 2000 2500 欠陥数の実績値 重相関係数 = 0.957 2014/3/31 21

品質データ分析は改善の推進力 事実に基づく管理 は品質管理の基本原則である ソフトウェア開発における 事実にもとづく管理 は容易でない データの測定 収集プロセスが 人に大きく依存している 目的と整合性のあるメトリクス分析をし続けることが難しい ソフトウェア開発において 事実に基づく管理 を進めることが 中 長期的には品質向上の有効な施策である 品質向上 ( または悪化 ) のメカニズムを解明する データが示す客観的事実の力を活用し 改善の推進力とする データを手がかりに原因を特定し アクションをとり 効果を確認するそして 再発防止のためにプロセスを改善し 失敗プロジェクトを撲滅する 顧客価値の向上につながる活動に注力し 顧客の満足度を高める 22

I d rather be vaguely right than precisely wrong. 精密に誤るよりも 漠然と正しくありたい John Maynard Keynes 23