作成日 2010/10/24
最終更新日 2010/10/24

問題1.20(問題タイトル:静的テストとソフトウェアメトリクス)

オブジェクト指向設計についての問題(初級レベル)です。

問題タイトル:静的テストとソフトウェアメトリクス
重要度:★★☆☆☆(あまり重要でないかも・・・)
難易度:★★★★☆(やや難しい)


1.問題
2.解答・解説
3.参考文献


1.問題

問題タイトル:静的テストとソフトウェアメトリクス
重要度:★★☆☆☆(あまり重要でないかも・・・)
難易度:★★★★☆(やや難しい)

問題:
 オブジェクト指向設計開発、プログラミングにおいても静的テストやソフトウェアメトリクスは重要である。
静的テストやソフトウェアメトリクスの意味・定義や特徴として間違っているものをa〜dのうちから1つ選べ。

 a.静的テストとは、プログラムを実行させず、プログラムを解析して行うテストのことである
 b.代表的なソフトウェアメトリクスとしてメソッド行数、メソッド複雑度、凝集度、結合度がある
 c.静的テストやソフトウェアメトリクスの指摘を完全に対応する必要は必ずしも必要ない
 d.静的テストを行ったり、ソフトウェアメトリクスを測定・改善すれば、人の目視によるコードレビューは必要なくなる

問題文終わり

このページのトップへ












注意:これ以上、下にスクロールすると解答・解説が見えちゃいます。

2.解答・解説

解答:d(一応)
解説:
 これを理解していないとオブジェクト指向が理解出来ない訳ではないので、重要度を落としました。
ただ、実際にプロジェクトでプログラムを開発する場合は工数や品質と言う点から重要になる場合があります。

 a.正しい。ちなみに、プログラムを実行させて行うテストのことを動的テストと言う。動的テストとしては単体試験、結合試験などがある。
 b.正しい。
 c.正しい。実は、完全に対応させたいのだが、難しい(設計上出来ない場合があったり、費用対効果の点で必要ないと判断)ことがあるので、必ずしも全てを対応する必要はない。その都度状況に応じて、対応する・しないを決める必要があります。
 d.違うのだが、長いので後で説明します。

 さて、問題のdだが・・・。
 なぜか「一応」の文字が・・・。
 例えば、静的テストの実施やソフトウェエアメトリクスの測定を行っても、例えば、仕様というか作りたいものとぜんぜん違うようなコードを書いたとしても、発見できるわけがない。
 他にも、選択アルゴリズムやメソッドの間違いは発見できない。
 そう言う意味では人の目視によるコードレビューを実施する意味がある。
 ・・・じゃあ、「一応」って何だ。
 実は、プログラマーが優秀だと、上記の問題はレビューしてもほとんど出て来ないのですよ(レビューに工数をかけてもそれに見合う結果が出て来ない)。
 だから、一応なんです。
 他にもバグ修正後のレビューは行われない場合が多々ありますね(これも工数的な面から実施できないため)。

 プロジェクトマネージメントを勉強していないと本当に非常に難しいのですが、テストやチェックと言うのはやれば良いというものではないんですね。
 必ず費用対効果が出る様に行う必要があり、静的テストを行ったり、ソフトウェアメトリクスを測定・改善することによってコードレビューの費用対効果が取れなくなったら、それは実施できなくなるんです。

 最後にですが、dを正しくすると「静的テストを行ったり、ソフトウェアメトリクスを測定・改善すると、人の目視によるコードレビューが必要なくなる場合がある」となります。


このページのトップへ

3.参考文献

 このページを作成する際に参考にしたページや、もっと勉強したい人向けの資料です。

番号

リンク先の名称

リンク先の説明

リンクした日

1 ソフトウェアメトリクスを意識する - だるまのエクセルVBA ソフトメトリクスについて説明しています。 2010/10/24
2 静的テストを行う - だるまのエクセルVBA 静的テストについて説明しています。 2010/10/24


Prev Up Next  Top
このページのトップへ


このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方はメールをお願いします。

Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。

このホームページの作成者はこれらの会社とはいっさい関係がありません。