ソフトウェアテスト
[7] ホワイトボックステス
ト演習
Software Testing
[7] White Box Testing Exercise & Seminar
あまん ひろひさ ひろひさ
阿萬 裕久 裕久( AMAN
Hirohisa )
(C) 2007-2022 Hirohisa AMAN
1
演習の目的目的
プログラムのの目的ホワイトボックステストを
行い,ブラックボックステストとあわせい,ブラックボックステストとあわせブラックボックステストとあわせ
てソフトウェアテストの重要性を体験・ソフトウェアテストの目的重要性を体験・を体験・
学習する
主な内容な内容内容
ツールを使った命令網羅の確認を使った命令網羅の確認った命令網羅の確認命令網羅の確認の目的確認
仕様に従ったプログラムの作成に従ったプログラムの作成従ったプログラムの作成った命令網羅の確認プログラムのの目的作成
他人によるテストの実施に従ったプログラムの作成よるテストの目的実施
(不具合が見つかった場合は)プログラムのが見つかった場合は)プログラムの見つかった場合は)プログラムのつかった命令網羅の確認場合が見つかった場合は)プログラムのは)プログラムのの目的
修正
(C) 2007-2022 Hirohisa AMAN
2
演習の目的内容
課題1
与えられたプログラム(バグあり)に対してえられた命令網羅の確認プログラムの(バグあり)に従ったプログラムの作成対してしてソフトウェアテストの重要性を体験・テス
トケースを考えてえてソフトウェアテストの重要性を体験・命令網羅の確認の目的確認を行い,ブラックボックステストとあわせう(ツールを使った命令網羅の確認
を利用)
課題2
与えられたプログラム(バグあり)に対してえられた命令網羅の確認仕様に従ったプログラムの作成に従ったプログラムの作成従ったプログラムの作成ってソフトウェアテストの重要性を体験・プログラムのを作成する
そしてソフトウェアテストの重要性を体験・,ブラックボックステストとあわせ
作成した命令網羅の確認プログラムのを他人によるテストの実施に従ったプログラムの作成テストしてソフトウェアテストの重要性を体験・もらう
不具合が見つかった場合は)プログラムのが見つかった場合は)プログラムの見つかった場合は)プログラムのつかった命令網羅の確認場合が見つかった場合は)プログラムのはプログラムのの目的修正も行い,ブラックボックステストとあわせう
(C) 2007-2022 Hirohisa AMAN
3
第 5 回の演習の目的演習
( [5] Exercise )
で作った使った命令網羅の確認った命令網羅の確認もの目的と同
じ
Teams から
ダウンロードすす
る
課題1
【テスト対して象】 】 sample0501.c
① [5] Exercise-1 Exercise-1 で作った作った命令網羅の確認テストケース
( test-report0501.xlsx )を実行い,ブラックボックステストとあわせし
てソフトウェアテストの重要性を体験・命令網羅の確認率をツールで調べ,をツールを使った命令網羅の確認で作った調べ,べ,ブラックボックステストとあわせ test-rep
ort0701.xlsx
に従ったプログラムの作成記入しな内容さい
② テストケースをすべてソフトウェアテストの重要性を体験・実行い,ブラックボックステストとあわせしてソフトウェアテストの重要性を体験・も命令網羅の確認
率をツールで調べ,が見つかった場合は)プログラムの100%に従ったプログラムの作成な内容らな内容い場合が見つかった場合は)プログラムのは,ブラックボックステストとあわせテスト
ケースを追加しな内容さい( test-report07
01.xlsx に従ったプログラムの作成追加しな内容さい)
(C) 2007-2022 Hirohisa AMAN
4
課題1で作った使った命令網羅の確認うツールを使った命令網羅の確認
gcov というツールを使った命令網羅の確認(プログラムの)を使った命令網羅の確認用
する
これは通常,ブラックボックステストとあわせ gcc と一緒にインストールされに従ったプログラムの作成インストールを使った命令網羅の確認され
てソフトウェアテストの重要性を体験・いる
この目的ツールを使った命令網羅の確認は gcc で作ったコンパイルを使った命令網羅の確認された命令網羅の確認ソース
ファイルを使った命令網羅の確認と実行い,ブラックボックステストとあわせファイルを使った命令網羅の確認を調べ,べ,ブラックボックステストとあわせ各命令が見つかった場合は)プログラムの何
回の演習実行い,ブラックボックステストとあわせされた命令網羅の確認の目的かを記録で作ったきる
(C) 2007-2022 Hirohisa AMAN
5
gcov 利用の目的流れ(1/7)れ(1/7)
① まずはプログラムのを gcc で作ったコンパイルを使った命令網羅の確認す
る
た命令網羅の確認だし,ブラックボックステストとあわせ -coverage というオプションを
付けるける
gcc –coverage sample0501.c
例えばえば
② そしてソフトウェアテストの重要性を体験・,ブラックボックステストとあわせ
プ
ログラムのを実行い,ブラックボックステストとあわせ
し
てソフトウェアテストの重要性を体験・
,ブラックボックステストとあわせ
ま
ずは
1
• 10 分駐車 ( ( parking time = 10 )
• 買い物額 い物額 0 円( つ
つ目の目的テストケースに従ったプログラムの作成
いてソフトウェアテストの重要性を体験・=テ0ストを行い,ブラックボックステストとあわせ
う
purchase
)
の目的場合が見つかった場合は)プログラムのを実行い,ブラックボックステストとあわせ
(C) 2007-2022 Hirohisa AMAN
6
Mac 環境の目的人によるテストの実施は gcov で作った出
力される命令網羅率が説明で使される命令網羅の確認率をツールで調べ,が見つかった場合は)プログラムの説明で使で作った使った命令網羅の確認
ってソフトウェアテストの重要性を体験・いる例えばと少し異なる場合がし異なる場合がな内容る場合が見つかった場合は)プログラムのが見つかった場合は)プログラムの
あるようで作ったす(命令としてソフトウェアテストの重要性を体験・カウ
ントするもの目的の目的定義が少し異なが見つかった場合は)プログラムの少し異なる場合がし異なる場合がな内容
るた命令網羅の確認め).
gcov 利用の目的流れ(1/7)れ(2/7)
③ 次に に従ったプログラムの作成 gcov コマンドすで作った実行い,ブラックボックステストとあわせ結果の解析との目的解析とと
ソースプログラムのとの目的対して応付けるけを行い,ブラックボックステストとあわせう
gcov sample0501.c
File 'sample0501.c'
Lines executed:73.53% of
34
Creating
'sample0501.c.gcov'
詳細を記録したを記録した命令網羅の確認
この目的行い,ブラックボックステストとあわせに従ったプログラムの作成
命令網羅の確認率をツールで調べ,が見つかった場合は)プログラムの
表示されるされる
(73.53%)
sample0501.c.gcov
というファイルを使った命令網羅の確認が見つかった場合は)プログラムの作られる
(C) 2007-2022 Hirohisa AMAN
7
Mac 環境の目的場合が見つかった場合は)プログラムのは以下の目的
例えばとは表示されるが見つかった場合は)プログラムの少し異なる場合がし異なる場合がな内容ってソフトウェアテストの重要性を体験・
いる可能性を体験・が見つかった場合は)プログラムのあります
gcov 利用の目的流れ(1/7)れ(3/7)
④ sample0501.c.gcov の目的内容を見つかった場合は)プログラムのてソフトウェアテストの重要性を体験・みる
実行い,ブラックボックステストとあわせ回の演習数
この目的部分
に従ったプログラムの作成注目
ここから下
が見つかった場合は)プログラムのプログラムの
の目的内容
(C) 2007-2022 Hirohisa AMAN
8
Mac 環境の目的場合が見つかった場合は)プログラムのは以下の目的
例えばとは表示されるが見つかった場合は)プログラムの少し異なる場合がし異なる場合がな内容ってソフトウェアテストの重要性を体験・
いる可能性を体験・が見つかった場合は)プログラムのあります
gcov 利用の目的流れ(1/7)れ(4/7)
命令網羅の確認の目的情報
記号
-
意味
命令としてソフトウェアテストの重要性を体験・は数えな内容い
数字 その目的行い,ブラックボックステストとあわせの目的総実行い,ブラックボックステストとあわせ回の演習数
##### その目的行い,ブラックボックステストとあわせを実行い,ブラックボックステストとあわせしてソフトウェアテストの重要性を体験・いな内容
い
(C) 2007-2022 Hirohisa AMAN
9
Mac 環境の目的場合が見つかった場合は)プログラムのは以下の目的
例えばとは表示されるが見つかった場合は)プログラムの少し異なる場合がし異なる場合がな内容ってソフトウェアテストの重要性を体験・
いる可能性を体験・が見つかった場合は)プログラムのあります
gcov 利用の目的流れ(1/7)れ(5/7)
⑤ 次に に従ったプログラムの作成 2 番目の目的テストケースで作った実行い,ブラックボックステストとあわせを行い,ブラックボックステストとあわせう
例えばえば
-10 分駐車 (( parking time = -10 )で作ったエラーに従ったプログラムの作成する
⑥ 再び び gcov で作ったチェック
gcov sample0501.c
命令網羅の確認率をツールで調べ,が見つかった場合は)プログラムの増えてえてソフトウェアテストの重要性を体験・いる
(73.53% → 79.41%) 79.41%)
File 'sample0501.c'
Lines executed:79.41% of
34
Creating
(C) 2007-2022 Hirohisa AMAN
'sample0501.c.gcov'
10
Mac 環境の目的場合が見つかった場合は)プログラムのは以下の目的
例えばとは表示されるが見つかった場合は)プログラムの少し異なる場合がし異なる場合がな内容ってソフトウェアテストの重要性を体験・
いる可能性を体験・が見つかった場合は)プログラムのあります
gcov 利用の目的流れ(1/7)れ(6/7)
⑦ もう一度 sample0501.c.gcov の目的内容を
見つかった場合は)プログラムのる
この目的部分
も変化しし
てソフトウェアテストの重要性を体験・いる
実行い,ブラックボックステストとあわせ回の演習数が見つかった場合は)プログラムの
2 に従ったプログラムの作成増えてえてソフトウェアテストの重要性を体験・いる
(C) 2007-2022 Hirohisa AMAN
11
gcov 利用の目的流れ(1/7)れ(7/7)
⑤ ~⑦を繰り返すことでり返すことですことで作った徐々に命令網羅率に従ったプログラムの作成命令網羅の確認率をツールで調べ,
が見つかった場合は)プログラムの上がっていくが見つかった場合は)プログラムのってソフトウェアテストの重要性を体験・いく(累積になっているに従ったプログラムの作成な内容ってソフトウェアテストの重要性を体験・いることに従ったプログラムの作成
注意)
た命令網羅の確認だし,ブラックボックステストとあわせテストケースに従ったプログラムの作成よってソフトウェアテストの重要性を体験・命令網羅の確認率をツールで調べ,の目的
上がっていく昇の様子は異なるの目的様に従ったプログラムの作成子は異なるは異なる場合がな内容る
【注意!】
gcc で作ったの目的コンパイルを使った命令網羅の確認をやり直すすと,ブラックボックステストとあわせ実行い,ブラックボックステストとあわせ回の演習数の目的カウ
ントはリセットされてソフトウェアテストの重要性を体験・しまうの目的で作ったくれぐれも注意す
ること
(C) 2007-2022 Hirohisa AMAN
12
test-report0701.xlsx
課題1で作った提出するテスト結果の解析と
第 5 回の演習の目的課題1の目的シートに従ったプログラムの作成「 statement coverage 」の目的列がが見つかった場合は)プログラムの
追加してソフトウェアテストの重要性を体験・ある.
まずは第 5 回の演習の目的演習で作った作った命令網羅の確認内容( test-report0501.xlsx )
をコピーしてソフトウェアテストの重要性を体験・,ブラックボックステストとあわせ命令網羅の確認率をツールで調べ,を上がっていくから順に埋めていきなさい.に従ったプログラムの作成埋めていきなさい.めてソフトウェアテストの重要性を体験・いきな内容さい.
もしも100%に従ったプログラムの作成な内容らな内容い場合が見つかった場合は)プログラムのはテストケースを追加
すること(追加した命令網羅の確認行い,ブラックボックステストとあわせが見つかった場合は)プログラムの分かるよう色を変えること)を変えること)
(C) 2007-2022 Hirohisa AMAN
13
課題 1 の目的提出
Teams から
test-report0701.xlsx
を提出しな内容さい
[7] Exercise-1 (white box testing)
提出〆切:本日 (Apr.4) Apr.4) )
15:00 (ベトナムの時間)
(C) 2007-2022 Hirohisa AMAN
14
Teams から
ダウンロードすす
る
課題2
ex0702.c を完成させな内容さい
(プログラムのの目的仕様に従ったプログラムの作成 spec0702.pdf )
そしてソフトウェアテストの重要性を体験・,ブラックボックステストとあわせ自分が見つかった場合は)プログラムの作った命令網羅の確認プログラムのを他の目的人によるテストの実施
に従ったプログラムの作成テストしてソフトウェアテストの重要性を体験・もらいな内容さい
C
番目の目的学生は 番目
の目的学生に従ったプログラムの作成テストしてソフトウェアテストの重要性を体験・もらいな内容さい
(た命令網羅の確認だし,ブラックボックステストとあわせ 1 番目の目的学生は,ブラックボックステストとあわせ最後のの目的
学生に従ったプログラムの作成テストしてソフトウェアテストの重要性を体験・もらいな内容さい)
ex0702.c
プログラムの
学生 A
テスト結果の解析と
学生 B
test-report0702.xlsx
(C) 2007-2022 Hirohisa AMAN
15
test-report0702.xlsx
課題2で作った使った命令網羅の確認用するテスト報告シートシート
テストをした命令網羅の確認人によるテストの実施は,ブラックボックステストとあわせテストの目的結果の解析とを
例えばに従ったプログラムの作成な内容らってソフトウェアテストの重要性を体験・埋めていきなさい.めてソフトウェアテストの重要性を体験・いきな内容さい.
(C) 2007-2022 Hirohisa AMAN
プログラムのの目的作者
は,ブラックボックステストとあわせ
バグを修正した命令網羅の確認後の
16
に従ったプログラムの作成再び テストしな内容さ
い
自分
課題 2 の目的提出
C
ex0702.c
プログラムの
学生 A
テスト結果の解析と
学生 B
test-report0702.xlsx
Teams から
自分の目的作った命令網羅の確認 ex0702.c (最終版)
自分が見つかった場合は)プログラムの受け取ったけ取ったった命令網羅の確認 test-report0702.xlsx
を提出しな内容さい
[7] Exercise-2 (white box testing)
提出〆切: Apr.11, 13:00 (ベトナムの
時間)
(C) 2007-2022 Hirohisa AMAN
17