システム開発のプロセスの一つである「トップダウンテスト」について、内容や目的、ポイントについて見ていきましょう。
トップダウンテストとは、システム開発における結合テストの内の一つです。一つ一つのモジュールをテストすることを「単体テスト」と呼びますが、複数のモジュールを組合わせたテストを「結合テスト」と呼びます。
テスト対象のモジュールを、上位モジュールから下位モジュールへとテストしていく流れのことが「トップダウンテスト」と呼ばれるのです。
上位から順番に結合テストを実施していく方法のため、上位モジュールが下位モジュールを呼び出す際のインターフェースなどをチェックできるのがトップダウンテストのねらいです。
機能を呼び出す重要な上位モジュールを何度も使用することによって、信頼性を高めることができるのも特徴の一つ。下位モジュールがまだ未開発の場合には「スタブ」と呼ばれる仮モジュールを作成しますが、検証中に問題が発生した場合には検証中のモジュールに問題があることがすぐに判明するのもメリットの一つです。
ソフトウェアテストの悩みは、そのほとんどが「品質・コスト・納期(QCD)」に関わる課題です。しかも早急に対応が必要なことが多いので、QCDの課題解決に長年携わってきた、実績の豊富な第三者検証会社に依頼するのがベター。このサイトでは、「テスト対象別」におすすめの3社を詳しく紹介しています。ぜひ以下のボタンからチェックしてみてください。
トップダウンテストを行うにあたって、以下のようなポイント・注意点があります。
下位モジュールが未完成であればスタブを作ってトップダウンテストを行いますが、下位モジュールの数が多い場合には、作成すべきスタブの数が膨大になります。複数の分岐したモジュールが必要な場合などにはスタブがさらに複雑になっていき、テスト毎に用意する際にはスタブの作成だけでかなりの工数が必要になってしまいます。
トップダウンテストは上位モジュールから本来の動作を確認するため、システムテストを行う前の段階で実施されます。テスト後には多くの不具合が出ることも予測しておかねばならず、その不具合の改修の余裕を持ったスケジュール管理が求められるでしょう。
システムの処理が複雑になればなるほどテスト範囲も広くなってしまいますから、生じる不具合も比例して多くなることが予測されます。また、スタブを使ったテストで上手くいっても、完成した下位モジュールが出揃ってからテストを行うと不具合が出る、と言う可能性もあります。
不具合が出ることとテストを行うことを繰り返すために、余裕を持ったスケジュール管理が大切です。
トップダウンテストをはじめとする各種ソフトウェアテストを実施するためには、テストの実行や作成に多くの工数が必要です。作業のために人材も必要になり、様々なリソースが枯渇してしまうのを防ぐために、外部リソースを活用してテストを行う方法もあります。
第三者検証を専門に行っているテスト会社であれば、テスト実施のためのスケジュール管理やテスト設計の専門なので、安定したテスト結果が得られるでしょう。作り手側からは見えない抜けや漏れにも対応し、客観的なテストを行ってもらえます。
経済を支え続ける産業製品や、IoTとして進化する家電・自動車。
ARやVRなど新たな技術でさらに加速していくエンタメ分野。
仮想通貨の登場や貯金→投資シフトで市場規模が拡大するFintechの3つから、
それぞれおすすめの検証会社をご紹介しています。
1995年の創業以来、1,200件以上のテスト実績を持ち、豊富な経験で製品の品質向上を支援。テストだけでなく、IoT機器の分野でも改善提案も対応。
医療機器/電子工学機器/スマートホームデバイス/自動車・車載ソフトウェア/OA機器/産業用ロボット
機能検証だけでなく、UIUX・キャラクター性能バランス・クエスト難易度・ランダム要素の公平性などユーザー視点でフィードバック。
ゲーム開発/マンガアプリ/ライブ配信サービス/VR/イラスト・アニメーション/WEBサイト
生保会社出身や損保系システム検証経験者など、同業界内の知識を持つエンジニアが多く在籍するほか、脆弱性診断やペネトレーションテストも依頼可能。
キャッシュレス決裁サービス/金融商品取引/会計ツール/不動産投資/金融システム開発・保守