IoTとAI、ビッグデータ時代のソフトウェアテスト(3)
ソフトウェアテストの手法と施策(前編) テストの分類(2/5 ページ)
ホワイトボックステストとは
ホワイトボックステストはプログラムコードなどの実装手段を見て、テストケースを作り、テストを実施する。入力はプログラムコードそのものか、それと同程度の情報を持つフローチャートや状態遷移表、データフロー図などとなる。これらのホワイトボックステストを表1にまとめる。
ホワイトボックステストでは実装方法は既知であるため、それを想像する必要も仮定する必要もなく、本物のプログラム実装を見て、テストケースを作ることができる。例えば制御パステストではプログラムが実行されるパス(経路)に注目して、機械的にテストケースを作れる。機械的な作成が可能なので、人工知能でも猿でも作れるだろう。
制御パステストは簡単!?
制御パステストでは、プログラムの制御パス(経路)に注目してテストケースを作っていく。自分がコンピュータになったつもりで、適当な入力データでプログラムコード上をウォークスルーして、どのルートを通ったかを見ていく。
例えば、以下のプログラムで考えてみる。図1にそのフローチャートを描く。
入力データとして x と y がともに0のときに考えると、if 文の条件節(x == 0 && y == 0)は真になり、bar()が実行される。この1個のデータ入力だけで「全てのプログラムコードを1回以上通るテストをした」ことになる。これは else 節にプログラムコードがないために、false になる場合のテストをしなくても上記のことがいえる。
制御パステストの網羅基準には、上記のように「全ての命令を1回以上網羅」するC0:命令網羅(Statement Coverage)がある。制御パステストでは一番緩い(弱い)網羅基準だが(*2)が、その分テストコストが小さいので多用されている。テストケースの網羅率を測定するカバレッジツールでも、このC0を測定するものが多くなっている。
テストの完了基準としては「C0網羅率が例外処理を除いて100%になる」という基準が考えられる。例外処理を例外にした理由は、例外処理のテストにはコストが掛かるためである。
*2 C0以外には、C1:分岐網羅(Branch Coverage)があり、これは全ての分岐を1回以上は通る網羅基準である。上記の例では x = 0 とy = 0では if 文の then節のパスしか通らないから、それに加えて x = 0, y = 1のテストをすると、if 文のelse節のパスも通り、C1を満たすことになる。この他に C2:条件網羅(Condition Coverage)、C1/C2網羅(C1とC2を同時に満たす)、C2:複数条件網羅(Multi-condition Coverage)がある。一般的にカバレッジの数値が上がるとテストケース数が増加する。
とあるテスト現場より(2)
A:「デフォルトはC0でしょうか」
B:「まぁデフォだよな、なんて言ったって一番軽いし」
A:「でも例外を全部舐めるのは面倒なので、システムテストのときでいいですか」
B:「まぁデフォだよな、例外は例外かな」
A:「あれ、先輩。カバレッジツールが赤いママ(*3)になっていますけど、大丈夫ですか」
B:「俺専用の赤いラインだ」
A:「先輩、古いです」
(*3) カバレッジツールで網羅率が閾値を下回ると赤い表示になり、上回ると緑色になるものが多い
ホワイトボックステストにはここで紹介した制御パステスト以外にも、データの流れに注目し、その経路を全てテストする「データフローパステスト」、プログラムの状態遷移に注目し、その遷移経路を全てテストする「状態遷移パステスト(マトリックステスト)」、メモリやディスク領域のようなリソースに注目して、アクセスをテストする「リソースパステスト」などがある(表1)。
Copyright © ITmedia, Inc. All Rights Reserved.
IoTとAI、ビッグデータ時代のソフトウェアテスト
言うまでもなくソフトウェアテストは重要だが、IoTやAIなどの新しい概念によってソフトウェア自体の在り方が変わりつつある中、旧来からのテストを踏襲するだけでは成果は得られない。新時代のソフトウェアテストについて、考察する。
この記事の著者
新着ホワイトペーパー PR
-
製品資料
[株式会社 Green AI] AIで脱炭素計画を最適化、初年度からエネルギーコストとCO2を削減する方法 -
市場調査・トレンド
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の普及戦略が公表 政府が目指すコスト・導入量のロードマップを解説 -
市場調査・トレンド
[スマートジャパン編集部] 導入が加速する再エネ・系統向け蓄電システム コスト・収益性の現状分析 -
技術文書・技術解説
[スマートジャパン編集部] いまさら聞けない「ペロブスカイト太陽電池」の基礎知識と政策動向 -
技術文書・技術解説
[スマートジャパン編集部] 「ペロブスカイト太陽電池」の開発動向、日本の投資戦略やコスト目標の見通しは?
関連記事
こんなメディアも見られています
TechFactoryに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
特集
- マテリアルズ・インフォマティクスの動向調査
- 研究・開発職のデジタル活用調査
- 設計・解析業務におけるAI活用
- 3Dプリンタ利用動向調査
- CAD利用動向調査
- つながる工場の現状と課題
- 製造業におけるAI開発および活用の実態
- 設計・製造現場における品質管理
ホワイトペーパーランキング PR
-
1
EE Times Japan×EDN Japan 統合電子版:フィジカルAIが生み出す新たな「設計思想」――電子版2026年8月号
-
2
半導体装置メーカー 業績まとめ【2027年3月期第1四半期】
-
3
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part4)
-
4
一時は時価総額トヨタ超え キオクシア2026年度の動向
-
5
微細配線間の絶縁劣化をどう捉える? 先端パッケージ評価の最前線
-
6
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part1)
-
7
EE Times Japan×EDN Japan 統合電子版:2026年上半期の半導体業界を振り返る――電子版2026年7月号
-
8
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part3)
-
9
CADツールの見直しは本当に必要? 切り替えの理由と効果を7つの質問で検証
-
10
新入社員に読んで欲しい鉄鋼材料の基礎知識まとめ(Part2)
TechFactory SNS
インフォメーション
注目情報をチェック
TechFactoryをフォロー