システムデバッグ・検証

従来型のテスト工程
CONVENTIONAL PRACTICE


ソフトウェアに限らず、製品の検証・テストと言うと開発の工程が終了し、実際の物が出来上がった時点から始めるものであると考えられる方が多いのではないかと思います。出来ていないものに対してどうやって検証を行うのか?というお考えもあるでしょうし、各工程を順を追って行っていくという考え方も、開発プロジェクトを進める確かな方法の一つだと思います。 しかし、この方法では多くの問題が発生します。


スケジュール
スケジュールの問題
仕様変更が発生し、予定していた期日になってもテストを開始出来なかった事はないでしょうか?スケジュールに遅延が発生しても、プロジェクトの終了期日が決まっているためにテストを行う時間が取れなくなってしまった事はないでしょうか?
短納期が求められる開発現場
テストによって問題が発覚し、修正のためにプログラムの設計、さらには仕様段階まで見直す必要があり、膨大な手戻り作業が発生した事はないでしょうか?
高品質が求められる製品
現状のテストだけで十分な品質は確保出来ているでしょうか?
増大を続ける開発規模
複雑で大規模な製品を検証しようとした場合に、人海戦術に頼ったテスト方法によってコストオーバー・キャパオーバーを起こしていないでしょうか?

我々の提案
OUR PROPOSAL


我々は、開発初期段階からの検証作業者・検証工程の導入を提案します。ただし、各工程において適切な検証作業を行う必要があり、その内容・必要なスキルはそれぞれ異なったものとなります。 よって、弊社では各検証作業のスペシャリストを3パートに分けて実務にあたらせて頂きます。

Test engineer
テストエンジニア

プロジェクトの検証・テストに関するすべてを取り仕切ります。 プロジェクトに必要な業務知識、使用するプログラムの言語知識を持ち合わせたスペシャリストが以下の作業を行います。
・テスト計画(テスト工数の見積もり)・・・「要件定義工程」
・プログラムの設計検証(仕様書等ドキュメント検証)・・・「設計工程」
・実機テスト設計(テストケースの作成)・・・「設計工程」
・実機テスト監修・・・「実機テスト工程」

Tester
テスター

チェック、テストの経験豊かな専門家が、テストエンジニアの監修、指示の元、以下の作業を行います。
・実機動作テスト・・・「実機テスト工程」
・実機評価作業・・・「実機テスト工程」
弊社の提案するソフトウェア検証は、3工程3部門で構成されています。検証作業をトータルでサポートさせて頂く事でより効果を発揮する事が出来ますが、それぞれの開発現場では、検証作業において不足する人材・工程等は様々だと思います。御社の開発現場にマッチした、部分的なサポートももちろん可能ですのでお気軽にご相談下さい。

Program analysis engineer
プログラム解析エンジニア

プロジェクトの検証・テストに関するすべてを取り仕切ります。
使用するプログラムの言語知識、開発経験を持ち合わせたソフトウェア専門のエンジニアが以下の作業を行います。
・プログラムの静的解析・・・「実装工程」
・プログラムエミュレータによる動作検証・・・「実装工程」

※静的解析とは・・・プログラムを動作させる事なく、専用のツールやエンジニアによる検査によって、プログラムに不具合、問題等が無いかを検査する検証手法の一つです。
プログラムを動作させる必要が無いため、プログラム開発途中でも検証作業を行う事が出来、また実機テストでは発見が困難な不具合も早期に発見する事が出来ます。

※エミュレータによる動作検証とは・・・開発中、または完成後のプログラムをPC上で疑似的に動作させて検証を行います。実機テストでは実施不可能な、大量の試行回数を要するテストを疑似的に行う事で、通常では発見が不可能な不具合を発見する事が出来ます。(様々な組み合わせパターンを発生させるソフトウェアや、確率を発生させるソフトウェアに特に有効な検証手法です。)