TOPICS

TOP

>

TOPICS

>

システム統合

システム統合テストとは?種類・違い・手順・注意点を詳しく解説

更新日: 2024年11月14日

プロダクト開発を行う際は、いくつかのテストを行います。ただし、テストの名称が似ていることもあり、テストの内容や違いで混乱しやすいので注意が必要です。この記事では、テストの種類や各テストの違いについて紹介し、特に重要なシステムテストと統合テストの種類や手順について詳しく解説します。ぜひ参考にしてください。

【PR】システム統合後のセキュリティ対策はお済みですか?
Sun Asteriskの脆弱性診断サービスでは、エシカルハッカー*がリスクを未然に防ぎます。
→ 詳細はこちら

※ エシカルハッカー:高い倫理観と道徳心を兼ね備え、コンピュータやネットワークに関する高度な技術や知識を用いて悪意を持つハッカーからの攻撃を防ぐ活動等を行う技術者。

システム統合テストとは?

SITとも呼ばれるシステム統合テストは、プロダクト開発におけるテスト手法の1つです。テストの種類については後で詳しく解説しますが、一般的にテストは以下の4つに分類できます。システム統合テストとは、3番目のシステムテスト(総合テスト)と4番目の受け入れテストの間に行われるテストです。単体のテストとして、システム統合テストが行われないケースもあります。

1.単体テスト(コンポーネントテスト)
2.統合テスト(結合テスト)
3.システムテスト(総合テスト)
4.受け入れテスト

システム統合テストは、システムテストや受け入れテストの工程の一部と考えられたり、システムテストや統合テストの最終工程の一部と考えられたりすることもあります。

プロダクト開発におけるテストの種類

先に解説したとおり、プロダクト開発のテストは4つに分類されます。各テストの特徴や詳細は以下のとおりです。各テストは別名で呼ばれることも多いため、かっこ内は別名を示しています。

単体テスト(コンポーネントテスト)

単体テスト(コンポーネントテスト)は、プロダクト開発の初期段階で行うテストです。単体テストでは、モジュールや個々のコンポーネントが正しく機能するかを確認します。開発全体の効率や品質を向上させる目的をもったテストです。

統合テスト(結合テスト)

統合テスト(結合テスト)は、単体テストの次に行うテストです。インターフェースの動作やコンポーネント同士の相互処理が仕様どおりかなど、基本設計の仕様どおりに進んでいるかを確認します。総合テストを行うことで、コンポーネント同士のデータの受け渡しに問題がないかを発見できます。

システムテスト(総合テスト)

システムテスト(総合テスト)は、統合テスト(結合テスト)の次に行われるテストで、要件を満たしシステム全体が正しく動作するかなどを確認します。機能性はもちろん性能、互換性、セキュリティ、利用可能性などシステムのさまざまな側面から評価することが特徴です。また、エンドユーザーの視点からもシステムが適切に動作しているかを確認します。

受け入れテスト

受け入れテストとは、システムテスト(総合テスト)の次に行うテストであり、プロダクト開発の最終段階で行います。受け入れテストは開発者ではなく発注者が行うテストです。実際の業務プロセスを想定してシステムが正確に動作するかを確認します。

システムテスト(総合テスト)と統合テスト(結合テスト)の違い

システムテスト(総合テスト)と統合テスト(結合テスト)については、名称が似ていることもあり、混同されやすいので注意しましょう。明確な違いは、何に沿ってテストを行うのかという点とテスト環境の2点です。

まず、何に沿ってテストを行うのかという違いについては、統合テスト(結合テスト)は基本設計書の内容に沿っていること、システムテスト(総合テスト)は要件定義の内容に沿っていることを確認する点で大きく異なります。

次に、テスト環境の違いについては、統合テスト(結合テスト)は開発環境でテスト用のデータを使用しますが、システムテスト(総合テスト)では使用機材や通信回線などを含めた本番同様の環境で行うという違いがあります。

統合テスト(結合テスト)の種類

統合テスト(結合テスト)は、検証する内容・目的によっていくつかの種類に分類されます。以下は代表的な統合テスト(結合テスト)です。

・インターフェーステスト:個々のプログラムやモジュールなどを連携させたときの動作を確認する
・負荷テスト:システムに限界まで負荷をかけたときに不具合が発生しないか確認する
・ブラックボックステスト:インプットに対しアウトプットが正しく行われるかを確認する
・業務シナリオテスト:実際の業務を想定し、動作・挙動を確認する

統合テスト(結合テスト)の実施方法

統合テスト(結合テスト)の実施方法は、2種類に分類できます。それぞれの特徴をチェックしてみましょう。

トップダウンテスト

トップダウンテストは、プログラム上位の階層から下位の階層へのモジュールへと順番にテストを行う手法です。重要度の高い上位モジュールからテストを行うため、不具合を早期に発見できます。埋もれている欠陥に気づきやすい点がメリットといえるでしょう。

ボトムアップテスト

ボトムアップテストは、下位の階層から上位の階層へのモジュールに向けて行う手法です。開発とテストが並行でき、モジュールの機能が調整しやすいことやモジュール単位で機能を細かくチェックできることがメリットといえるでしょう。

統合テスト(結合テスト)の注意点

どのようなプロダクトにも適した完璧な統合テスト(結合テスト)はありません。ただし、以下の注意点はどのテストにもある程度共通しています。

重要な機能を優先する

システム統合テストでは、さまざまな種類のテストを行いますが、プロダクト開発の予算や時間は限られています。効率的に開発を進めるためにも、より重要な機能から順にテストを行うことがポイントです。

範囲は徐々に広げていく

テスト範囲が広い場合は、問題が発生したときに原因を探り出すことが難しくなります。テスト範囲は少しずつ広げていくことがポイントです。狭い範囲でテストし、問題が解決されたら広い範囲のテストを行うと不具合の検出がしやすくなるでしょう。

本番環境に近い環境を用意する

同じ環境でしか発見できない問題もあります。実際に運用する本番環境に近い環境をできる限り用意しましょう。端末・周辺機器・スケジュール・時間帯・ブラウザ・データも本番環境に近づけてテストを実施します。

【PR】システム統合後のセキュリティ対策はお済みですか?
Sun Asteriskの脆弱性診断サービスでは、エシカルハッカー*がリスクを未然に防ぎます。
→ 詳細はこちら

※ エシカルハッカー:高い倫理観と道徳心を兼ね備え、コンピュータやネットワークに関する高度な技術や知識を用いて悪意を持つハッカーからの攻撃を防ぐ活動等を行う技術者。

システムテスト(総合テスト)の主な種類

システムテスト(総合テスト)には、以下のような種類があります。

・機能テスト:機能要件を満たしているかを確認する
・構成テスト(機種テスト):推奨している環境設定で性能面が問題なく実施できるかを確認する
・リグレッションテスト: プログラムの追加・変更・削除などで未変更部分に欠陥がないかを確認する
・シナリオテスト:業務を想定したシナリオに基づいて滞りがないかを確認する
・性能テスト:繰り返し長時間の要求された処理を行った場合でも正しく動作するかを確認する
・ロングランテスト:性能要件が充足しているかを確認する

システムテスト(総合テスト)の手順

システムテスト(総合テスト)を実行するには、一般的に以下のような手順で行います。

1.テスト計画を立てる

はじめに、システムテスト(総合テスト)を計画書としてまとめていきます。要件定義書を参考にして、全体の方針をまとめていきましょう。計画書には、テストの対象範囲(スコープ)、テスト全体の方向性、スケジュール、リスク管理、対処策などの概要を記載します。

2.テストを設計する

概要が決まったら内容に基づいて、「システムテスト仕様書」を作成します。具体的な項目をはじめ、必要な環境、担当者、使用ツール、テスト結果の判定基準などを記載しましょう。仕様書を作った後は、テスト条件や手順などをまとめて「システムテスト手順書」を作成します。

3.テスト環境やデータを準備する

仕様書や手順書が完成しても、いきなりテストを実施してはなりません。テストを行う前には環境やデータの準備が必要です。テスト時の使用機材、付属ハードウェア、OSなどは、本番を想定した環境で準備します。本番に近い環境でテストを行うことで、想定外の動作やトラブルを回避できるでしょう。

4.テストを実行し進捗管理を行う

テスト環境やデータの準備が整ったら、仕様書や手順書に従ってテストを行います。もし不具合が出た場合は、原因を突き止めましょう。不具合を修正したら、原因を正しく取り除けているかどうかをチェックするために、もう一度テストを行います。

テストの進捗管理や不具合管理をはじめ、変更点があった場合は関係者への報告も必要です。関係者は報告に基づいて、不具合改修やリリース可否の判断などプロジェクトの方向性を検討します。

5.テスト分析する

テストが完了したら定義書や仕様書の内容と照らし合わせ、検証結果や改善点をまとめるテスト分析を行いましょう。テスト結果、不具合の改善案などが整理できたら、テスト終了報告書を作成し、関係者と共有します。関係者間で共有することで、今後の開発やほかのプロジェクトの品質向上に役立てられるでしょう。

まとめ

プロダクト開発におけるテストの種類や各テストの違いについて解説しました。特に重要なシステムテストと統合テストの種類・実施方法・手順についても紹介したので参考にしてください。

株式会社Sun Asteriskは、850を超える開発実績と1,500人規模の開発体制で、DXコンサル、設計から本格的な開発まで一気通貫でサポートできるケイパビリティの広さと圧倒的に柔軟な開発リソースで評価を得ています。開発に関する相談や見積りも可能です。ぜひお気軽にお問い合わせください。

【PR】システム統合後のセキュリティ対策はお済みですか?
Sun Asteriskの脆弱性診断サービスでは、エシカルハッカー*がリスクを未然に防ぎます。
→ 詳細はこちら

※ エシカルハッカー:高い倫理観と道徳心を兼ね備え、コンピュータやネットワークに関する高度な技術や知識を用いて悪意を持つハッカーからの攻撃を防ぐ活動等を行う技術者。

Team CTA Image

貴社のシステム統合を伴走、支援します。システム統合のご相談やお見積りのご依頼は、お気軽にお問い合わせください。

Works CTA Image

Sun*のシステム統合のソリューションやこれまでの開発実績をまとめた資料のダウンロードはこちらから。

Sun*をパートナーとしてご検討される方へ、サービスや実績、Sun*の強みやこだわりなどをまとめた資料です。

資料ダウンロード