ソフトウェア開発パラダイムの進化

開発とテストにおける慎重なオーケストレーションの重要性--ソフトウェア開発(3) - (page 3)

Atif Memon(メリーランド大学博士)

2017-05-24 07:30

モジュール分割および統合テスト

 ソフトウェアシステム (またはユニット)をより細かい部分に分解することで、その部分同士の相互作用をテストする必要性が生じる。最初に分解を実施した設計者が、最も統合テストのドキュメント化、記述に適している。

 これらテストの実際のコーディングは、分解が実施されるまで待つことができる。コーディングされると、これらの統合テストは、互換性のないインターフェースの発生によって生じたリグレッションを検出するために、CIサイクルにおいて重要な役割を果たす。

コーディングおよびユニットテスト

 おそらくソフトウェア開発業界において全員の意見が合致する唯一のことは、ユニットのコードを作成する開発者が、ユニットテストを記述するのに最も適しているということであろう。

 ユニットテストは、特定目的に使うコードの細かい部分をテストするために設計されているので、コードがどのように実装されたかに直結している。

デバッギングおよびフォールト位置特定

 テストに失敗、あるいはエンドユーザがバグを報告してきたら、 そのバグが修正を要するほどの重要性があるかについて、判断する。フォールト位置特定は、コード内にあるバグの正確な位置を特定する作業である。

 例えば、スタックトレース、コードカバレッジレポート、エラーメッセージなどのテストプロセスで生成された成果物は、フォールト位置特定を早めるのに役立つ。

 上述で明らかなように、 ソフトウェア開発活動をソフトウェアのテスト活動とともに、慎重にオーケストレーションする必要性がある。ソフトウェア開発(要件、設計) のテスト活動には最適な成果物が存在し、テストへの投資効果を最大にするためには、適切なフェーズで行わなければならない(例えば、システムテストの設計は要件抽出フェーズ、そしてユニットテストの開発はコーディングフェーズ)。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]