IoTとAI、ビッグデータ時代のソフトウェアテスト(5)
ソフトウェアテストの手法と施策(後編)「テストの施策」を反省する(3/7 ページ)
疑心暗鬼とアサーション
結合テストで見つかるバグの原因の多くは、インタフェースミスマッチである。結合テストはこのインタフェースミスマッチを発見するためのテストと言っても過言ではない(実際は過言)。インタフェースミスマッチが起こる原因は、仕様の抽象化された部分や曖昧さが残るところを自分勝手に解釈することにある。
インタフェースミスマッチを防ぐには自分以外の他人を疑うことである。他人は間違っていると疑う心が必要で、結合テストをしているとどんなに人でも他人を疑うようになり、その心は疑心暗鬼になる。しかしこれこそが結合テストで生き残る道である。
ここで武器として使えるのがアサーション(主張)である。アサーションとは「関数のここの引数はこうあるべきだ、それ以外は受け入れられない」「関数から返される値はこうだ」「for文などの繰り返しから出たときはこの変数はこうなっているべき」のように主張することである。
これで少なくとも自分の主張に合わないことがあれば、「あいつは間違っている」と危険人物の警告をしてくれる。ただし、自分の主張が他人の同意を得られるとは限らない。アサーションの機能は多くのプログラミング言語でサポートされていて、またテストツールでもサポートされている。
結合テストや単体テストの施策としてアサーションの運用を決めていく。アサーションは自分のプログラムを防御するだけでなく、他人のアサーションを認めることで、プログラムのコミュニケーションが正しく行える。図2にこれから紹介するオキテも含む結合テストのオキテを示す。
とあるテスト現場より(3)
A:「先輩、他人を疑うって大事ですよね」
B:「自分も疑えよ」
A:「先輩はもっと自分にやさしい言葉を掛けるべきだとアサーションします」
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をフォロー