プログラマー回顧録(20)

~ エンデベッドシステム開発経験を回顧する ~

バグ流出を防ぐ3つのテスト

バグを作り込む。

システム設計をするうえで避けては通れない問題だろう。

そこでV字モデルによる開発ではバグ流出を3つのテストで防ぐこととなる。

コーディングによるバグは単体試験で流出を防ぐ。

詳細設計によるバグは結合試験で流出を防ぐ。

基本設計によるバグは総合試験で流出を防ぐ。

開発フローが開発と検証(試験)で相対しあうようになっており、そこがV字と言われるゆえんでもある。

ちなみに各試験ではどのような試験を行うのか?

単体試験ではカバレッジを考慮した関数、メソッド単位でのIN/OUTの確認を行う。

SDKで動作確認を行い、コーディング時のタイピングミスや処理フローの見落としなどを防ぐ。

結合試験では改修ロジックをシステムに反映させ、システムを操作して確認を行う。

試験内容は、指定の条件、操作に対して改修機能が想定通りに動作するか、また、改修機能の関連機能がデグレードしていないかの確認がメインとなる。

総合試験では全ての機能を盛り込み、システム全体を操作して確認を行う。

試験内容は、要求仕様を満たしていることの確認や基本機能に対するデグレード確認などである。

それでは、今回の問題はどの試験で防げたのか?

詳細設計フェーズにおいてバグの作り込みを行っているため、

流出を防ぐとすれば結合試験だろう。

では、結合試験の試験内容はどのようになっていたのだろうか。

これは個人的体験談を元にした回顧録です。企業名、人名などは架空の名称です。
毎週日曜日更新。
随時、加筆、修正を行います。

投稿日2022.06.26更新日0000.00.00

プログラマー回顧録