IoT時代の組み込み系ソフトウェア品質(5)
ソフトウェア品質のためにテストが「できること」「できないこと」(2/5 ページ)
ソフトウェアテストの問題点
ソフトウェアテストの対象は機能要件のみであることが多い。単にテストと言えば、機能テストを指し、他の品質特性のテストはパフォーマンステストなどの別名が与えられている。この機能テストは「機能が正しく動作するか」をテストするもので、性能や使用性(ユーザビリティ、使いやすさ)などは蚊帳の外である。蚊帳の外なので虫(バグ)刺されになるかもしれないが。
機能テストに費用は必要だが、機能テスト以外のテストはさらにコストがかかる。
最初から費用面を含めた計画をしていないと、性能テストはどこをどのように計測すればいいか分からなくなり、使用性テストに至っては客観性のない主観テストになる可能性すらある。
本来はそれぞれの品質要件に対応するテストを実施すべきだが、これもコストを考えると現実的ではない。このためテストで対象にする品質要件を絞り込むことになり、最悪、機能テストしか実施しないことになる。そして機能テストが肥大化していくことになる。
テストは客観的に行われるべきである。機能テストであれば、誰がテストをしても同じ結果が得られるはずだが、残念ながらこうならない。機能テストでさえ、「誰が」「いつ」「どこで」「何のために」実施するかによって結果は左右されてしまい、客観性を失う。テストは機械的に行えず、ヒトに依存するからである。
テストをする人が変われば、テストケースもテストの実施方法も対象も厳しさも結果の評価も全部変わってしまう。この意味では、殺虫剤のパラドックス(*)を防ぐのはヒトを変えるだけで十分である。歓迎すべき事態ではないがこれが現実であり、この現状をベースにして、「テストと品質」を考えなければならない。
(*) 殺虫剤のパラドックス 殺虫剤のパラドックスとは、いつも同じテスト(殺虫剤)を使っていると、バグ(虫)がテスト(殺虫剤)に耐性がついてしまって、そのテストではバグを発見し殺すことができなくなる。このため、テスト(殺虫剤)を定期的に変える必要がある。もちろん耐性がつくのはバグではなくて、バグを作ったプログラマーである。プログラマーがどんなテストをされるかを知ってしまえば、そのテストだけはパスするようにプログラミングしてしまう。なんてずる賢いプログラマーであることか!
テスト問題の解決方針
テストはヒトに依存し、多くは機能適合性しかテストされない。この2つを前提条件としてテストと品質を考えなければならない。この問題を解決する1つの方法は、なるべくテストがヒトに依存しないように、テスト方法などを仕様書に記載することだ。機械的なツールを使ってテストの周辺情報を記録し、それを共有するのが良い。
しかし、これはツールを使っても面倒な作業であり、天才的テスターが1人でテストするより効率は落ちるかもしれない。だが、平均的なテスターでも実施可能な方法として大きな効果があるだろう。
機能適合性以外の品質要件も客観的でなるべく機械的なテストで確認したい。性能テストも要求分析で目標を決め、設計でどこをどのように計測するかを決め、実装段階では計測しながら、性能を作りこむ。再利用性のテストもスタイルチェッカやコードメトリクスツールなどを使って、なるべく客観的にテストをする。セキュリティテストも最低でもチェックリストによるチェックを行う。最低限の仕事として、これだけはしたい。
こうしたテストが難しい場合、「使用性の主観評価をする場合は、その定型的な手順を決めておく」などといった、定型的な手順でヒトに依存しないテスト方法を確立したい。しかし、セキュリティについては難しいかもしれない。定型的なチェックリストだけでなく、専門家のレビューで製品ごとのセキュリティを確認する必要があるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.
IoT時代の組み込み系ソフトウェア品質
組み込みソフトウェアにおける「品質」とは、一体、何者であろうか。多用されている言葉であるがその実態はようとしてしれない。この連載ではIoT時代の組み込み系ソフトウェアの品質」をテーマに開発現場の目線で見ていく。出演者は情報系に籍を置く大学1年生の紅美 香美(くみ こうみ)と品質 寛容(しなしち ひろい)。
この記事の著者
新着ホワイトペーパー 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をフォロー