ソフトウェアテストのレベル

ソフトウェアテストには、いくつかのレベルがあります。また、機能テストと非機能テストの二つに大きく分けられます。この二つは次の章で詳しく取り上げます。

ソフトウェアテストのレベルの概要

テストには次の四つのレベルがあります。

  • 単体テスト
  • 結合テスト
  • システムテスト
  • 受け入れテスト

Overview of Software Testing LevelsUnit TestTest an IndividualComponentIntegration TestTest ComponentGroupsSystem TestTest the IntegratedSystemAcceptance TestTest the FinalSystem
原寸大の図を開く

ソフトウェアテストのレベルの概要

単体テスト

単体とは、ソースコードのうち、独立してテストできる最小の部分です。単体テストは最初のテストレベルで、通常はソフトウェアテスターではなく、開発者や同じチームのメンバーが担当します。単体を組み合わせる前に、単体テストを完了させます。明確なテスト計画とテストケースが欠かせません。

個々の単体が正しく動くと確認できれば、安心して結合に進めます。開発と並行してテストを行うと、はじめは欠陥が見つかるたびにコードを直す必要があるため、作業が遅く感じられるかもしれません。しかし、次第にコードの質が上がり、欠陥が減ります。土台がしっかりすることで、その後の開発が速くなり、時間を節約できます。

Unit Testing FlowWrite or ModifyYour CodeCreate UnitTest CasesCompile and ExecuteTestsCollect TestResultsEncountereda Failure?YesNoTestsPass
原寸大の図を開く

単体テスト

効果的な単体テストはコストの削減にもつながります。一般に、開発の終盤で欠陥を修正する費用は、初期に修正する費用よりもはるかに高くなります。

単体テストの対象は小さなコンポーネントです。そのため、テストケースやデータでアプリケーション全体の機能や情報の流れに関するすべてのシナリオを確認することはできません。複数の単体をより大きなコンポーネントに組み合わせて初めて確認できるシナリオもあります。

結合テスト

単体テストの後に行う結合テストでは、二つ以上の単体がどのように連携し、さまざまなシナリオでどのような出力を生むかを確認します。ソフトウェアテストエンジニアが担当します。

結合テストでは、機能、要件への適合性、性能に関する欠陥が見つかります。単体テストは各コンポーネントが個別に動くことを、結合テストはそれらが期待どおりに連携することを確認します。主な方法は次のとおりです。

  1. ビッグバン
  2. トップダウン結合
  3. ボトムアップ結合
ビッグバン結合テストでは、すべてのモジュールを組み合わせてシステム全体を作り、その状態でテストして欠陥を探します。

Integration Testing ApproachesIntegration TestingTop DownIntegration TestingBottom UpIntegration Testing
原寸大の図を開く

結合テスト

トップダウン結合では、最上位のモジュールから始め、下位のモジュールを一つずつ追加してテストします。ボトムアップ結合では順序が逆になります。最下位のモジュールを先にテストし、その後、上位のモジュールを段階的に追加します。ボトムアップでテストを始め、その後トップダウンでテストする手順も一般的です。

Top Down and Bottom Up Integration12345678Level OneLevel TwoLevel ThreeLevel FourBottom UpTop Down
原寸大の図を開く

トップダウンとボトムアップの結合テスト

トップダウンテストでは、未完成または利用できない下位モジュールやサブプログラムをスタブで代用します。ボトムアップテストでは、必要な上位プログラムがまだ利用できない場合に、ドライバーが呼び出し元のプログラムの役割を果たします。

システムテスト

結合が成功した後は、すべてのコンポーネントが連携する状態で、システムテストによりシステム全体を検証します。性能、機能仕様、技術仕様、組織の品質基準を確認します。熟練したテストチームが、実際の運用環境に近い環境で実施することが望まれます。

System Testing through the Software Development Life CycleTestingStrategyUnitTestingIntegrationTestingSystemTestingUser AcceptanceTestingCompletion ofTestingTesting RequirementSoftwareDevelopmentLife CycleTest DependentSoftwareDevelopmentSoftwareChange ControlSoftware IsReady forImplementation
原寸大の図を開く

システムテスト

システムテストはすべてブラックボックステストです。利用者の視点から、アプリケーションの動作や設計、最終利用者の期待を含め、システムが要件を満たすかを確認します。アプリケーションのアーキテクチャと顧客の業務要件の両方を検証し、妥当性を確認します。

受け入れテスト

単体テスト、結合テスト、システムテストに続く受け入れテストでは、あらかじめ定めたシナリオとテストケースを使って、品質と正確性を確認します。品質保証チームは、外観や内部動作など、複数の視点からシステムを評価します。顧客が受け入れるかどうかは法律や契約上の要件にも左右されるため、重要な段階です。受け入れテストには次のものがあります。

  1. ユーザー受け入れテスト。実際の利用者が、ソフトウェアを受け入れる前に、自社の拠点または開発した組織でテストします。
  2. 運用受け入れテスト。システムの利用と保守に必要なプロセスや手順が整っていることを確認します。
  3. 契約・規制受け入れテスト。契約上の要件と、適用される行政、法令、安全性の基準への適合性を確認します。
  4. アルファテスト。システム全体をテストできる開発終盤に、製品全体の品質を確認し、ベータテストに備えます。テストエンジニアと他のチームメンバーが、顧客の視点で品質と技術面を検証します。かなりの時間がかかることもあります。
  5. ベータテスト。アルファテストの後に、実際の利用者が実環境で製品を試し、品質の向上と要件への適合確認につなげます。公開の数日から数週間前に行われ、数日間続くこともあります。この段階で欠陥が見つかる可能性は比較的低いため、アルファテストより短くなる場合があります。

User Acceptance Testing Process01PlanUAT02Identify TestingScenarios03ExecuteTests04Verify DefectsAfter Fixing05ReportResults06End ofUAT
原寸大の図を開く

受け入れテスト



無料オンライン研修でソフトウェアテスト認定試験に合格できることを保証します。

  1. 01

    オンラインで登録

    認定プログラムを選び、登録を完了してください。

  2. 02

    アクセスコードを受け取る

    試験用のアクセスコードがすぐにメールで届きます。

  3. 03

    準備して試験を受ける

    無料トレーニングで学び、オンラインで 50 問の選択式問題に答えます。

  4. 04

    生涯有効な認定資格を取得

    世界で有効な認定証と、検証可能なデジタルバッジを受け取ります。

Accredited Software Test Manager Certification™ の認定証サンプル
認定に申し込む

無料のプレミアムオンライン研修

Software Testing Revealed 第2版をご用意しました。

この研修は、主要な各業界の著名な経営者やチームリーダー、ソフトウェアテストのコーチ、メンター、専門家、第一人者と共同で開発しました。International Software Test Institute™ にアクセスするすべての方が利用できます。教材は、 無料のソフトウェアテスト書籍 および 無料プレミアムソフトウェアテスト研修 の項目から利用できます。どちらも画面上部のメニューにあります。

これらの教材は International Software Test Institute™ の知的財産で、著作権により保護されています。私たちの知見を共有することでソフトウェアテストの専門家を支援し、この分野の発展に貢献できると考え、すべての方に無料で公開しています。

認定試験は選択式です。オンライン研修で、試験に合格してソフトウェアテスト認定を取得するために必要な知識を身につけてください。

無料のプレミアムオンライン研修でソフトウェアテスト認定試験に合格できることを保証します。