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

Similar documents
Excelfl—‘ãŁª’Í-flO“Z

PowerPoint プレゼンテーション

CodeRecorderでカバレッジ

040402.ユニットテスト

外部からの脅威に対し ファジング の導入を! ~ さらなる脆弱性発見のためのセキュリティテスト ~ 2017 年 5 月 10 日独立行政法人情報処理推進機構技術本部セキュリティセンター小林桂 1

2015-s6-4g-pocket-guidebook_H1-4.indd



iR-ADV C2230/C2220 製品カタログ

,

Microsoft Word - lec_student-chp3_1-representative

はじめに 原因結果グラフ技法を学ぼう まずは 原因結果グラフ について解説します 例題を使って 原因結果グラフ を描いてみます 演習問題のグラフを作ってみよう まずは一人で描いてみよう 近くの人とグラフの違いを見比べてみよう ツールを使って使ってみよう 支援ツール CEGTest を使って 演習問題

10Pとちのき230

3章 度数分布とヒストグラム

Microsoft PowerPoint - Tsuzuki.ppt

人芯経営論 ・・・リーダーシップ考②

平成13年度 地域工業活性化支援事業報告書(多摩全域)

はたらく若者ハンドブック


国際会館ICC冊子2013.indd


key

5-1_a-kanaoka_JPNICSecSemi_Phish_Tech_ _3.PDF


「東京こどもネット・ケータイヘルプデスク(こたエール)」平成22年度相談実績の概要


<918D8D878CA48B86358D862E696E6462>

Microsoft PowerPoint ppt

m

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

リスク分析・シミュレーション

2002年度

Using VectorCAST/C++ with Test Driven Development

Contents 概要 利用イメージ 運用シーン 制限事項 / 補足事項 2

Microsoft PowerPoint - final_tamura.ppt

3章 度数分布とヒストグラム

Microsoft PowerPoint - Wmodel( ) - 配布用.pptx

セキュリティテスト手法 ファジング による脆弱性低減を! ~ 外部からの脅威に対し 製品出荷前に対策強化するために ~ 2016 年 5 月 12 日独立行政法人情報処理推進機構技術本部セキュリティセンター情報セキュリティ技術ラボラトリー鹿野一人 1

Microsoft Word - CygwinでPython.docx

メソッドのまとめ

untitled

Microsoft Visual Studio 2010 Professional Data Sheet

untitled

智美塾 ゆもつよメソッドのアーキテクチャ

Microsoft Word - appendix_b

InspectionXpert for SolidWorksのご紹介

J-SOX 自己点検評価プロセスの構築

Microsoft PowerPoint - GLMMexample_ver pptx

Excel基礎講座演習-表紙とはじめにv1.3.doc

Photo Report

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

PowerPoint プレゼンテーション

大域照明計算手法開発のためのレンダリングフレームワーク Lightmetrica: 拡張 検証に特化した研究開発のためレンダラ 図 1: Lightmetrica を用いてレンダリングした画像例 シーンは拡散反射面 光沢面を含み 複数の面光 源を用いて ピンホールカメラを用いてレンダリングを行った

SSKP

年計グラフ作成システム

dicutil1_5_2.book

Unit 3-1 目標 be going to V を理解する! date 月日 基本文 Point! ( 肯定文 ) 私は明日野球をするつもりです I'm going to play baseball tomorrow. ( 疑問文 ) あなたは明日野球をするつもりですか Are you goin

テスト要求分析チュートリアル テスト設計コンテスト実行委員

PowerPoint プレゼンテーション

stat-excel-12.tex ( ) 2 -countif Excel E4:E10 E4:E10 OK 4. E4:E10 E4:E /1

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

Microsoft PowerPoint - A1-2_株式会社ネクスト_藤澤正通_S _005.pptx

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

Microsoft Word - å“Ÿåłžå¸°173.docx

Episys301と見える化君の使用方法

次の病院 薬局欄は 氏名 欄に入力された値によって入力すべき値が変わります 太郎の行く病院と花子の行く病院が必ずしも同じではないからです このような違いを 設定 シートで定義しておきましょう 太郎の行く病院のリストを 太郎 花子の行く病院のリストを 花子 として 2 つのリストが定義されています こ

OmniTrust

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

JUSE-StatWorks/V5 活用ガイドブック

<4D F736F F F696E74202D DD8D8782ED82B98B5A8F7082F B582BD835C F E707074>

SEC セミナー (2012 年 12 月 21 日 ) 定量的品質管理 実践的取組み 定量的品質管理 手法の企業での取り組み事例 1 品質 生産性目標の設定方法 2 現場で定着させるテクニック ~ 品質管理を効果的に実践するには ~ 三菱電機インフォメーションシステムズ株式会社業務プロセス改善推進

Microsoft Word - 科目登録Webマニュアル doc

ホームページにパスワード認証を設定します 会員限定のページなどに利用できます 設定の手順 を設定するには 以下の手順で行います ユーザ登録 を設定したページにアクセスするためのユーザを登録します の設定 を設定するページ アクセスを許可するユーザを選択し 設定します 設定完了 を設定したページにアク

PowerPoint プレゼンテーション

消費 統計学基礎実習資料 2017/11/27 < 回帰分析 > 1. 準備 今回の実習では あらかじめ河田が作成した所得と消費のファイルを用いる 課題 19 統計学基礎の講義用 HP から 所得と消費のファイルをダウンロードしてみよう 手順 1 検索エンジンで 河田研究室 と入力し検索すると 河田

品質 生産性目標の測定量 品質 生産性の測定量は何があるの? 点検のタイミンク 種類 要件定義 設計 製作 試験 全体 見積り 概算 正式 生産性 規模に対する工数実績 (Hr/KL) 規模に対する工期実績 ( 日 /KL) 規模に対する工数実績 (Hr/KL) 規模に対する工期実績 ( 日 /KL

PowerPoint プレゼンテーション

PPTVIEW

スライド 1

Microsoft PowerPoint - kougi2.ppt

WEB規格書システムへの アップロード⇒登録の手順について

WEB規格書システムへの アップロード⇒登録の手順について

数学の学び方のヒント

Microsoft Word - NumericalComputation.docx

その人工知能は本当に信頼できるのか? 人工知能の性能を正確に評価する方法を開発 概要人工知能 (AI) によるビッグデータ解析は 医療現場や市場分析など社会のさまざまな分野での活用が進み 今後さらなる普及が予想されています また 創薬研究などで分子モデルの有効性を予測する場合にも AI は主要な検証

saihata.doc


1

千葉大学 ゲーム論II

Microsoft PowerPoint SIGAL.ppt

第2分科会(第2グループ:PM7グループ)

PowerPoint プレゼンテーション

ANOVA

平成22年度「技報」原稿の執筆について

スライド 1

Microsoft Word - 11 進化ゲーム

スライド 1

FP 作業工数管理操作説明書 Ver1.0 版 問い合わせ先 TEL FAX E Mail: eng.co.jp

Microsoft PowerPoint - 08LR-conflicts.ppt [互換モード]

Microsoft PowerPoint ppt

Transcription:

なぜバグ曲線は収束するのか ~Microsoft Excel を使って考えてみる ~ JaSST 13 Tokyo 2013 年 1 月 31 日 丹羽岳雄 株式会社日本総合研究所

バグ曲線は ソフトウェア開発の品質管理ツール の 1 つとして広く活用されている

バグ曲線で よく 議論されていること より良いモデルの構築? 曲線収束の判定方法? 最適なモデルの選択方法? 横軸は 時間? 工数? テストケース数? なにか足りない

バグ曲線で よく 議論されていること あまり議論されている感じがしないこと バグ曲線は なぜ 寝るの?

本セッションの構成 0. はじめに 1. バグ曲線収束理由の検討 2. 収束理由を踏まえたバグ曲線の活用 3. おわりに

バグ曲線収束理由の検討 バグ曲線が収束するとは 結果論として バグがテスト期間の始めの方でたくさん見つかっている ということ ならばそれを考えてみよう

バグ曲線収束理由の検討 検討する収束理由 1 テストケースの成り立ち上必然的に生ずるもの ある項目をテストしようとすると 他の項目もテストしてしまう 2テスト実施者の意図に由来するもの 意図の例 バグ原因となる箇所を予測したテスト 恣意的な実施順の決定

テストケースの成り立ち上必然的に生ずるもの TestCaseNo. 確認したい項目 1 い 2 ろ 3 は 4 に 5 ほ 6 へ いろ はに ほへと 7 と 8 A A B C 9 B 10 C

テストケースの成り立ち上必然的に生ずるもの いろはに A A は No.8 の前に No.1~4 の 4 つのテストケースで事前に確認されてしまう TestCaseNo. 確認したい項目 1 い 2 ろ 3 は 4 に 5 ほ 6 へ 7 と 8 A 9 B 10 C

テストケースの成り立ち上必然的に生ずるもの A を確認するための No.8 のテストケース実行前に No.1~4 の 4 つのテストケースで A について事前に確認されてしまう 個々のバグを発見できるのは その部分の確認を意図するテストケースだけとは限らない 個々のバグを発見できるテストケース数が多ければバグ発見が早くなる ( のでは?)

個々のバグを発見できるテストケース数が多ければバグ発見が早くなる ( のでは?) テストケーススイート 1" - テストケース 10000 件 - バグ 200 件 条件 1 各バグは1つのテストケースのみで発見 重複無 条件 2 各バグは3つのテストケースで発見 3 件重複 条件 3 各バグは5つのテストケースで発見 5 件重複

個々のバグを発見できるテストケース数が多ければバグ発見が早くなる ( のでは?) あるバグを発見可能なテストケースが 何番目のテストケースで実行されるかは 乱数を生じさせるエクセル関数を使い RANDBETWEEN (1,10000) と表すことができる 3 件重複であれば バグを最初に発見できるテストケースの実施順は MIN ( RANDBETWEEN (1,10000), RANDBETWEEN (1,10000), RANDBETWEEN (1,10000) ) と表すことができる ( 厳密には 3 つの乱数がそれぞれ異なるような処理が必要 )

個々のバグを発見できるテストケース数が多ければバグ発見が早くなる ( のでは?) - テストケース 10000 件 - バグ 200 件は それぞれの関数を 200 回実施して得られる値を昇順に並べて累積的にグラフを描けばバグ曲線が得られる 条件 1 各バグは 1 つのテストケースのみで発見 重複無 RANDBETWEEN (1,10000) 条件 2 各バグは 3 つのテストケースで発見 3 件重複 MIN ( RANDBETWEEN(1,10000), RANDBETWEEN(1,10000), RANDBETWEEN(1,10000)) 条件 3 各バグは 5 つのテストケースで発見 5 件重複 MIN ( RANDBETWEEN(1,10000), RANDBETWEEN(1,10000), RANDBETWEEN(1,10000), RANDBETWEEN(1,10000), RANDBETWEEN(1,10000))

個々のバグを発見できるテストケース数が多ければバグ発見が早くなる 条件 1 : 各エラーは 1 つのテストケースのみで発見 条件 2 : 各エラーは 3 つのテストケースで発見 線形寝てきた? 条件 3 : 各エラーは 5 つのテストケースで発見 収束でしょう テストケーススイート内に 同一バグを発見できるテストケースが多いほどバグ発見は早くなる

テストケースの成り立ち上必然的に生ずるもの 三段論法 あるテストケースが 他の項目もテストしてしまう 重複は 収束理由になる バグ発見は早くなる バグ曲線は収束しやすくなる

バグ曲線収束理由の検討 検討する収束理由 1 テストケースの成り立ち上必然的に生ずるもの ある項目をテストしようとすると 他の項目もテストしてしまう 2テスト実施者の意図に由来するもの 意図の例 バグ原因となる箇所を予測したテスト 恣意的な実施順の決定

テスト実施者の意図に由来するもの バグを早く発見したいというテスト実施者の意図 バグ原因となる箇所を予測したテスト 恣意的な実施順の決定 etc これらが上手くいけば バグ発見は早くなる バグ曲線収束に貢献!

テスト実施者の意図に由来するものでバグ発見が早くなる ( とバグ曲線は収束するのでは?) テストの早い段階ほど発見できるテストケースが 多いことは 例えば以下のように表すことができる テストケース区間. 発見障害件数 ( 重複無しとする ) 1, 2000 90 2001, 4000 40 4001,10000 20 6001,10000 8 RANDBETWEEN (1,2000) が 90 個 RANDBETWEEN (2001,4000) が 40 個 RANDBETWEEN (4001,10000) が 20 個 RANDBETWEEN (6001,10000) が 8 個

テスト実施者の意図に由来するものでバグ発見が早くなりバグ曲線は収束に向かう ( かな?) RANDBETWEEN (1,2000) が 90 個 RANDBETWEEN (2001,4000) が 40 個 RANDBETWEEN (4001,10000) が 20 個 RANDBETWEEN (6001,10000) が 8 個 まあ 収束していく形に見えるように値を選んだのだから 自演と言えば自演

バグ曲線収束理由の検討 検討する収束理由 1 テストケースの成り立ち上必然的に生ずるもの ある項目をテストしようとすると 他の項目もテストしてしまう 2 テスト実施者の意図に由来するもの 意図の例 バグ原因となる箇所を予測したテスト 恣意的な実施順の決定 31 と 2 の複合形

テストケースの成り立ち上必然的に生ずるものとテスト実施者の意図に由来するものの複合形 テストケース区間. 発見障害件数 n=1 n=2 n=3 n=4 n=5 1, 3000 15 15 15 15 30 3001, 6000 0 6 6 12 12 6001,10000 8 8 8 0 0 n : 重複の数 累積発見バグ数 ( 個 ) 160 140 120 100 80 60 40 20 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 実施テストケース数 ( 件 )

本セッションの構成 0. はじめに 1. バグ曲線収束理由の検討 2. 収束理由を踏まえたバグ曲線の活用 3. おわりに

収束理由を踏まえたバグ曲線の活用 ここまでで確認したこと次の2つはバグ曲線収束の原因となりうる 1テストケースの成り立ち上必然的に生ずるもの 重複 2テスト実施者の意図に由来するもの 意図 原因は他にもあるかもしれないしかしバグ曲線を活用するテスト管理において 少なくとも2つの意識すべきポイントを得た

収束理由を踏まえたバグ曲線の活用 過去のバグ曲線の傾向や信頼度成長曲線を用いた分析を行う際には以下の注意が必要 重複 テストケーススイートの網羅性が不十分でも 重複していれば収束に向かう 意図 テスト実施者や実施環境によって テスト実施順が変わり 異なるバグ曲線となる可能性がある

本セッションの構成 0. はじめに 1. バグ曲線収束理由の検討 2. 収束理由を踏まえたバグ曲線の活用 3. おわりに

おわりに 本セッションでは テストケーススイートが存在する場合のバグ曲線について検討した 先の繰り返し 過去のバグ曲線の傾向や信頼度成長曲線を用いた分析を行う際には テストケース作成やテスト実施順に注意が必要

おわりに 本セッションでは テストケーススイートが存在する場合のバグ曲線について検討した では ベータテストや運用テストのような個々のテストケーススイートを前提としないテストの場合はどうだろうか? テストケースとか恣意とかあまり意識しない

おわりに ベータテストや運用テスト テストケースとか恣意とか意識せず どれだけの期間やるかがポイント 横軸はテストケースでなく時間でよい 普通の信頼度成長モデルが使えるのでは?

おわりに ( おまけ ) 今回 Excel 関数で検討したのは バグ曲線での管理を指示する方々の PC には Excel が必ず入っている だから一緒にその特性を考えて欲しいのです

ということで 最初に帰って

バグ曲線は どうして 寝るのでしょうか? Thank You! E-mail: niwa.takeo@jri.co.jp The opinions expressed in this presentation are solely those of the presenter and do not necessarily reflect the opinions of any organization.