システム開発とは?企画から開発までの基本的な流れをわかりやすく解説 ~テスト

この記事はこんな人向け

  • システム開発とは何かを簡単に知りたい
  • システム開発のはじめ方について知りたい
  • システム開発の流れを知りたい
  • システム開発に必要な事を知りたい
  • システム開発についての注意点について知りたい

「システム開発とは?企画から開発までの基本的な流れをわかりやすく解説」、第5回目はシステム開発プロジェクトにおける「テスト」です。

システム開発プロジェクトでは、システム企画や設計などの様々な工程を経て、システムやアプリが開発されていくのですが、その中でも以外と軽視されがちだが非常に重要な工程が「テスト」です。

「テスト」は、開発を行った様々な機能が設計通りの動作を実現しているものなのか、性能を備えているかなどを確認する工程で、すべてのシステム開発プロジェクトで頻繁に行われているものです。

システム開発プロジェクトで行われている主な4つのテストは以下の4つのテストです。

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

単体テスト

単体テストとは、ソフトウエアを構成するモジュール(プログラム)単位で行うテストのことで、ユニットテストとも呼ばれます。DEV(開発者)が機能単位で開発したプログラムの動作の確認や不具合を見つける目的で単体テストが行われます。

開発の効率性を上げる為に、開発段階で単体テストを行わないプロジェクトなどもありますが、

  • 要件の欠陥
  • 設計の欠陥
  • コーディング標準の遵守
  • 開発するソフトウエアの品質向上
  • 開発作業の手戻りを発生させない

など観点からも単体テストの実施は必須とされ、多くのプロジェクトで実施されています。

結合テスト

結合テストとは、単体テストを終えた各モジュール(プログラム)を結合し、設計通りの仕様で正常に動作しているかを確認するテストのことです。専任のテスターまたはDEV(開発者)が担当し、開発工程の中で様々な組み合わせを検討し設計したテスト仕様書(テスト手順書)を元に複数回実施されます。

結合テストですが、システム開発プロジェクトの規模にもよりますが、システム内部の各モジュールを結合しテストを行う「内部結合テスト」の他、外部サービスとの連携部分を想定したテストを行う「外部接合テスト」に分けられます。

結合テストの種類

接合テストにはいくつかの結合テストの種類というものがあり、それぞれの目的に合わせて観点を変えてながらテスト内容を設計します。

  • インターフェーステスト
  • 業務シナリオテスト
  • ブラックボックステスト
  • 性能テスト

インターフェーステスト

インターフェーステストとは、個々のモジュールを連結させた時の動作・振る舞いを確認する為のテストで、結合テストにおいて最も基本となるテストです。

業務シナリオテスト

業務シナリオテスト(シナリオテスト)とは、システムを利用するユーザーの業務を想定し、業務の順序や動作を書き起こしたものをシナリオとしてまとめ、実際にユーザーが行う業務で開発したシステムが機能するか、開発したシステムを利用して業務が実現できているかを確認するテストのことです。

ブラックボックステスト

ブラックボックステストとは、システムの内部構造を考慮せずに仕様書にそったテストを実施するテスト手法です。システムの仕様・設計からテストケースを洗い出し、インプットしたデータに対し何をアウトプットするのか、仕様通りにアウトプットしているのかを確認することを目的としたテストです。

性能テスト

性能テストとは、システムの処理速度(処理能力)や画面の描画速度が要件の通りに実現できているかを確認する為のテストです。

描画速度のテストでは、FCPやLCP、TBT等といった様々な指標に関連する値を測定を実施し、システムの利用者が快適に使用できるユーザービリティに関する要件の確認を行います。

システムテスト

システムテストは、結合テストを通過した後、開発したシステムの他、連携するすべてのシステムを結合し、システム全体の振る舞いや処理が設計された仕様通りになっているかを確認します。システムテストは総合テストとも呼ばれ、システム開発プロジェクトの最終工程にスケジュールされる工程のひとつとなっています。

システムテストでも、結合テストと同様に「インターフェーステスト」「業務シナリオテスト」「ブラックボックステスト」などテストが行われますが、システムとしてのパフォーマンスを仕様通りに出せているか、負荷がかかり過ぎたときに負荷の分散ができているかなどを確認する為の「負荷テスト」など、すべてのシステム全体が連携した状態でテストを実施します。

受け入れテスト

受け入れテストとは、開発がすべて終了したシステムを発注側が発注した要件のすべてを開発できているかを確認する為のテストのことです。受け入れテストに合格したこともって、システム開発の発注側は検収をあげプロジェクトが終了となります。