ソフトウェアテスト
[8] テストの評価と信頼性評価と信頼性と信頼性信頼性
Software Testing
[8] Evaluation of testing and reliability
あまん ひろひさ ひろひさ
阿萬 裕久 裕久( AMAN
Hirohisa )
(C) 2007-2022 Hirohisa AMAN
1
テストの評価と信頼性評価と信頼性
テストはソフトウェアの品質保証を行う活ソフトウェアの評価と信頼性品質保証を行う活を行う活行う活う活活
動
テストが必要完璧
⇒ 欠陥(フォールト)はソフトウェアの品質保証を行う活存在せず,障害は発生しない.せず,障害は発生しない.障害は発生しない.はソフトウェアの品質保証を行う活発生しない.しない.
いわゆる「バグ解決率」のはソフトウェアの品質保証を行う活無い.い.
「テストと信頼性いう活活動」のの評価と信頼性評価と信頼性が必要必要
網羅率に基づく評価基づく評価づく評価評価と信頼性
バグ解決率解決率に基づく評価基づく評価づく評価評価と信頼性
運用性に基づく評価基づく評価づく評価評価と信頼性
(C) 2007-2022 Hirohisa AMAN
2
テストの評価と信頼性評価と信頼性(1)
網羅率に基づく評価基づく評価づく評価評価と信頼性
テストケースが必要「どれだけ網羅したのか網羅したの評価と信頼性か」の
と信頼性いう活視点での評価での評価と信頼性評価と信頼性
状態遷移に基づく評価着目
仕様に従った動作・入出力に基づく評価従った動作・入出力った動作・入出力に基づく評価着目
※ ブラックボックステスト
プログ解決率ラムでの実行の流れでの評価と信頼性実行う活の評価と信頼性流れれに基づく評価着目
※ ホワイトボックステスト
(C) 2007-2022 Hirohisa AMAN
3
テストの評価と信頼性評価と信頼性(2)
バグ解決率解決率に基づく評価基づく評価づく評価評価と信頼性
テストを行う活実施することでバグが見つかり,すること信頼性でバグ解決率が必要見つかり,つかり,障害は発生しない.
それが必要修正されていくされていく評価
もしもバグ解決率の評価と信頼性総数が必要分かっていれば,そのかっていれば,障害は発生しない.その評価と信頼性
中での解決数からテスト活動の評価ができでの評価と信頼性解決数からテスト活動の評価ができテスト活動の評価と信頼性評価と信頼性が必要でき
る
バグ解決率の評価と信頼性
解決率
=
解決したバグ解決率数
バグ解決率の評価と信頼性総数
※ バグ解決率と信頼性いう活用語は正確でないことに注意; はソフトウェアの品質保証を行う活正されていく確でないことに注意; でないこと信頼性に基づく評価注意;
正されていくしく評価動作しない現象(「障害は発生しない.,障害は発生しない.不具合」の)が必要テストで見つかり,つかり,障害は発生しない.その評価と信頼性源であであ
る「欠陥」の(フォールト)あるいはソフトウェアの品質保証を行う活それを行う活作り出した「エラー」のを行う活解決するこ
と信頼性が必要「解決」のに基づく評価あたる.
(C) 2007-2022 Hirohisa AMAN
4
どう活やって「バグ解決率総数」のを行う活知るのかるの評価と信頼性か
結論からいえば,からテスト活動の評価ができいえば,障害は発生しない.真の個数は分からないの評価と信頼性個数はソフトウェアの品質保証を行う活分かっていれば,そのからテスト活動の評価ができない
人間をシステムに例えるならば,一生のうちを行う活システムでの実行の流れに基づく評価例えるならば,一生のうちえるならテスト活動の評価ができば,障害は発生しない.一生しない.の評価と信頼性う活ち
何回病気になるのかに基づく評価なるの評価と信頼性かを行う活知るのかろう活と信頼性するの評価と信頼性に基づく評価似てて
いる
「不具合の評価と信頼性発生しない.≒病気の症状が出る」と考える病気になるのかの評価と信頼性症状が必要出る」のと信頼性考えるえる
と信頼性,障害は発生しない.フォールトはソフトウェアの品質保証を行う活その評価と信頼性源であと信頼性なった細菌やウイやウイ
ルスであり,障害は発生しない.エラーはソフトウェアの品質保証を行う活それに基づく評価感染するに至っするに基づく評価至っっ
た行う活為ともとれる.と信頼性もと信頼性れる.
(統計的に)に基づく評価)バグ解決率総数を行う活推定するしかない
(C) 2007-2022 Hirohisa AMAN
5
バグ解決率数推定法① 捕獲・再捕獲法(1/ 捕獲・再捕獲法(1/
4)
【例えるならば,一生のうち】
琵琶湖にブラックバスが何匹いるのかを調に基づく評価ブラックバスが必要何匹いるのかを調いるの評価と信頼性かを行う活調
べたい.
※ 琵琶湖にブラックバスが何匹いるのかを調に基づく評価いるすべての評価と信頼性魚を捕獲できればを行う活捕獲できれば
よいが必要,障害は発生しない.それはソフトウェアの品質保証を行う活現実的に)に基づく評価不可能である.である.
(C) 2007-2022 Hirohisa AMAN
6
バグ解決率数推定法① 捕獲・再捕獲法(1/ 捕獲・再捕獲法 (2/
4)
1. いったん ひろひさ適当な数のブラックバスを捕獲すな数の評価と信頼性ブラックバスを行う活捕獲す
る.
2. そして,障害は発生しない.その評価と信頼性ブラックバスに基づく評価マーキング解決率を行う活
して,障害は発生しない.逃がすが必要す.
3. しばらテスト活動の評価ができく評価した後,障害は発生しない.再びブラックバスを捕獲ブラックバスを行う活捕獲
する.その評価と信頼性中での解決数からテスト活動の評価ができに基づく評価マーキング解決率されたもの評価と信頼性が必要何
匹いるのかを調含まれているかまれているかで総数を行う活推定する.
(C) 2007-2022 Hirohisa AMAN
7
バグ解決率数推定法① 捕獲・再捕獲法(1/ 捕獲・再捕獲法 (3/
4)
この評価と信頼性よう活なイメージ
1 回目
10 匹いるのかを調に基づく評価
マーキング解決率
2 回目
10 匹いるのかを調中での解決数からテスト活動の評価ができ 2 匹いるのかを調
に基づく評価マーキング解決率
を行う活確でないことに注意; 認
その評価と信頼性後
再捕獲
全体における割合の推定に基づく評価おけ網羅したのかる割合の評価と信頼性推定
= 2 : 8
:
この評価と信頼性イメージ図だとだと信頼性
10 : ? = 2 : 8
なの評価と信頼性で残りは りはソフトウェアの品質保証を行う活 40 匹いるのかを調
(C) 2007-2022 Hirohisa AMAN
8
バグ解決率数推定法① 捕獲・再捕獲法(1/ 捕獲・再捕獲法 (4/
4)
これを行う活ソフトウェアに基づく評価適用すると信頼性
1. 人工的に)なバグ解決率を行う活 個用意しておく評価(マーキン
グ解決率)
2. その評価と信頼性後,障害は発生しない.テストで人工的に)なバグ解決率が必要 個,障害は発生しない.そう活で
ない本物のバグが 個の評価と信頼性バグ解決率が必要 個見つかり,つかったと信頼性する
3. 本物のバグが 個の評価と信頼性バグ解決率の評価と信頼性総数はソフトウェアの品質保証を行う活次式で推定される.で推定される.
より
𝑛𝑦
𝑥
(C) 2007-2022 Hirohisa AMAN
9
捕獲・再捕獲法の評価と信頼性欠点での評価
リアルな人工バグ解決率を行う活作るの評価と信頼性はソフトウェアの品質保証を行う活難しいしい
どう活してもわざと信頼性らテスト活動の評価ができしいバグ解決率に基づく評価なってしまい
,障害は発生しない.すぐに基づく評価見つかり,つかってしまう活
エンジニアの評価と信頼性心理として「バグを作る」ことと信頼性して「バグ解決率を行う活作る」のこと信頼性
に基づく評価はソフトウェアの品質保証を行う活抵抗がある (現場の声)が必要ある (現場の声)の評価と信頼性声)
いわば「捕まりやすい」の魚を捕獲できればを行う活放つつこと信頼性に基づく評価
なって,障害は発生しない.推定数が必要実際よりも小さくなってよりも小さくなってさく評価なって
しまう活
𝑛𝑦
𝑥
※ 本来よりも が小さく, が大きくなるよりも が必要小さくなってさく評価,障害は発生しない. が必要大きくなるきく評価なる
(C) 2007-2022 Hirohisa AMAN
10
バグ解決率数推定法②
2段階エディット法(1/3)エディット法(1/3)
人工バグ解決率を行う活使わないかたちに捕獲・再捕獲わないかたちに基づく評価捕獲・再捕獲
法を行う活改良
1. 2つの評価と信頼性テストグ解決率ループ A, B B を行う活用意
2. グ解決率ループ A が必要テストを行う活行う活い,障害は発生しない.見つかり,つかった
バグ解決率を行う活記録( B に基づく評価はソフトウェアの品質保証を行う活秘密に基づく評価する)
3. グ解決率ループ B が必要テストを行う活行う活い,障害は発生しない.見つかり,つかった
バグ解決率の評価と信頼性中での解決数からテスト活動の評価ができで何個が必要 A と信頼性同じだったのかじだったの評価と信頼性かに基づく評価
よって残りは っているバグ解決率数を行う活推定
(C) 2007-2022 Hirohisa AMAN
11
バグ解決率数推定法②
2段階エディット法(1/3)エディット法(2/3)
捕獲・再捕獲法と信頼性同じだったのか様に従った動作・入出力に基づく評価考えるえる
グ解決率ループ A
が必要 10 件
見つかり,つけ網羅したのかた
グ解決率ループ B
で見つかり,つけ網羅したのかた
10 件中での解決数からテスト活動の評価ができ 2
件に基づく評価 A で見つかり,
つけ網羅したのかたもの評価と信頼性が必要
含まれているかまれていた
全体における割合の推定に基づく評価おけ網羅したのかる割合の評価と信頼性推定
= 2 : 8
:
10 : ? = 2 : 8
なの評価と信頼性でAで見つかってで見つかり,つかって
いないバグ解決率はソフトウェアの品質保証を行う活 40 件
(C) 2007-2022 Hirohisa AMAN
12
バグ解決率数推定法②
2段階エディット法(1/3)エディット法(3/3)
グ解決率ループ A が必要見つかり,つけ網羅したのかたバグ解決率数 =
グ解決率ループ B が必要見つかり,つけ網羅したのかたバグ解決率数 =
両方で見つけたバグ数 で見つかり,つけ網羅したのかたバグ解決率数 =
より
𝒂(𝒃 − 𝒄)
A が必要見つかり,つけ網羅したのかていないバグ解決率数 = 𝒄
(見つかり,つけ網羅したのかたもの評価と信頼性も含まれているかめた)総バグ解決率数はソフトウェアの品質保証を行う活
𝒂 (𝒃 − 𝒄)
𝒂𝒃 𝒂𝒄
𝒂𝒃
+ 𝒂=
−
+𝒂=
𝒄
𝒄
𝒄
𝒄
(C) 2007-2022 Hirohisa AMAN
13
2段階エディット法(1/3)エディット法の評価と信頼性特徴
人工バグ解決率を行う活用意する必要が必要ない
(本物のバグが 個の評価と信頼性バグ解決率だけ網羅したのかで推定が必要できる)
2チームでの実行の流れが必要別々にテストする必要があるのに基づく評価テストする必要が必要あるの評価と信頼性
で,障害は発生しない.それだけ網羅したのか時間をシステムに例えるならば,一生のうちやコストが必要かかる
実際よりも小さくなってよりも推定値が小さいが必要小さくなってさい傾向にあるに基づく評価ある
(C) 2007-2022 Hirohisa AMAN
14
【演習1】
① 捕獲・再捕獲法(1/ バグ解決率総数の評価と信頼性推定値が小さいを行う活求めよめよ
グ解決率ループ A が必要 10 個の評価と信頼性バグ解決率を行う活見つかり,つけ網羅したのか,障害は発生しない.
グ解決率ループ B が必要 50 個の評価と信頼性バグ解決率を行う活見つかり,つけ網羅したのかた.
ただし,障害は発生しない. 5 個はソフトウェアの品質保証を行う活両方で見つけたバグ数 の評価と信頼性グ解決率ループで見つかり,つ
かった.
② (まだ見つかり,つかっていない)残りは 存バグ解決率数の評価と信頼性推
定値が小さいを行う活求めよめよ
グ解決率ループ A が必要 100 個の評価と信頼性バグ解決率を行う活見つかり,つけ網羅したのか,障害は発生しない.
グ解決率ループ B が必要 80 個の評価と信頼性バグ解決率を行う活見つかり,つけ網羅したのかた.
ただし,障害は発生しない. 20 個はソフトウェアの品質保証を行う活両方で見つけたバグ数 の評価と信頼性グ解決率ループで見つかり,つ
(C) 2007-2022 Hirohisa AMAN
15
【演習1】 解答
① 捕獲・再捕獲法(1/ より
バグ解決率総数 = = 10×50/5 = 100
② より
バグ解決率総数 = = 100×80/20 = 400
両方で見つけたバグ数 で見つかり,つかっ
したが必要って,障害は発生しない.
たもの評価と信頼性が必要二重にに基づく評価
残りは 存バグ解決率数 = 400
引かれるためかれるため
= 400 – 100 – 80 + 20 = 240
(C) 2007-2022 Hirohisa AMAN
16
バグ解決率数推定法③
ゴンペルツ( Gompertz )曲線モデルモデル
(1/4)
ゴンペルツ曲線モデルモデルと信頼性はソフトウェアの品質保証を行う活
成長曲線モデルモデルの評価と信頼性一種で,さまざまな事象の始まで,障害は発生しない.さまざまな事象の評価と信頼性始まま
りからテスト活動の評価ができ成長,障害は発生しない.収束へ至る過程を表すへ至る過程を表す至っる過程を表すを行う活表すす
事象生しない.起
の評価と信頼性累積数
準備
段階エディット法(1/3)
収束へ至る過程を表す
段階エディット法(1/3)
成長
段階エディット法(1/3)
経過時間をシステムに例えるならば,一生のうち
(C) 2007-2022 Hirohisa AMAN
17
バグ解決率数推定法③
ゴンペルツ( Gompertz )曲線モデルモデル
(2/4)
バグ解決率累積数の評価と信頼性成長モデルに基づく評価用いらテスト活動の評価ができれる
やが必要て
いろいろ見つかり,つかる
バグ解決率
累積数
すぐに基づく評価はソフトウェアの品質保証を行う活
あまり
見つかり,つからテスト活動の評価ができない
準備
段階エディット法(1/3)
収束へ至る過程を表す
段階エディット法(1/3)
その評価と信頼性う活ち
見つかり,つからテスト活動の評価ができなく評価なる
成長
段階エディット法(1/3)
テスト時間をシステムに例えるならば,一生のうち
(C) 2007-2022 Hirohisa AMAN
18
バグ解決率数推定法③
ゴンペルツ( Gompertz )曲線モデルモデル
(3/4)
数学的に)に基づく評価はソフトウェアの品質保証を行う活
𝐸(𝑡 )
𝐸 ( 𝑡 ) =𝐾 𝑎
𝑡
𝑏
𝐾
はソフトウェアの品質保証を行う活曲線モデルの評価と信頼性形状を行う活
決めるパラメータ
𝑡
※ この評価と信頼性曲線モデルはソフトウェアの品質保証を行う活,障害は発生しない.経験的に)な傾向にあるを行う活示すものであるすもの評価と信頼性である
(C) 2007-2022 Hirohisa AMAN
19
バグ解決率数推定法③
ゴンペルツ( Gompertz )曲線モデルモデル
(4/4)
特定時点での評価での評価と信頼性信頼度や目標の信頼度を得るや目標の信頼度を得るの評価と信頼性信頼度や目標の信頼度を得るを行う活得るる
までに基づく評価かかるテスト時間をシステムに例えるならば,一生のうちを行う活推定(予測)で
きる
𝐸(𝑡 )
( 例えるならば,一生のうち)
最終値が小さい
の評価と信頼性 95% 点での評価
𝐾
0.95 𝐾
それに基づく評価対応するする
想定時刻
𝑡
(C) 2007-2022 Hirohisa AMAN
20