.net column

.NET開発者のためのブログメディア
検索・抽出

STとはどんなテスト?手順4つとテストにおける注意点を紹介

2020年06月30日

SE
STテストとは、どのようなテストですか?

PM
システムの品質について、評価・確認したり負荷のかかり具合を検証するテストです。

STは何をテストする?

ST(SystemTest)は、開発したシステムが発注者の希望した機能や能力を満たしているか検証するためのテストです。

ST(SystemTest)は、観点によって異なる手法やテストの種類があり、システムの品質を担保するために行います。総合テストとも呼ばれます。

ST・UT・IT・UATとの違いは?

ST(SystemTest)は、対象となるシステムに対して、異なる2つの視点からテストを行います。

UT(Unit Test)やIT(Integration Test)は、開発者側の視点でテストを行い、UAT(User Acceptance Test)は、ユーザー側の視点でテストを行います。

STのテストの種類3つ

STのテストの種類を3つ紹介していきます。

評価テスト・確認テスト・負荷テストがあり、各テストの中でさらにいくつかの手法に分類されています。それぞれのテストについて解説していきます。

テストの種類1:評価テスト

性能の評価をするST(SystemTest)を評価テストと言います。

評価テストは、3つの手法があります。

1つ目は、セキュリティに関する評価を行うセキュリティテストです。2つ目は、ユーザーの視点で、見やすさや使いやすさを評価するユーザビリティテストです。そして3つ目は、障害が発生した際に、最低限の機能が維持され、動作できるかを評価する障害許要性テストがあります。

テストの種類2:確認テスト

プログラム変更をした際に起きる挙動や不具合を検証するST(SystemTest)を確認テストと言います。

確認テストには、2つの手法があります。

1つ目は、プログラムの変更によって起きる、他の部分への不具合の検証をするリグレッションテストです。

2つ目は、プログラム変更によって、修正済みの部分に不具合が再発生したり、実装できていた機能が失われたりなど、デグレーションが起きていないかを検証するデグレードチェックテストです。

テストの種類3:負荷テスト

敢えてシステムへ負荷をかけ、処理能力や耐久性を検証するST(SystemTest)を負荷テストと言います。

負荷テストには、観点によっていくつかの種類があります。要件定義の仕様書通りに処理能力が満されているかを検証する性能テストや、長時間の稼働に対する処理能力を確認するロングランテストがあります。

他にも、想定以上の負荷をかけた際の挙動を確認するストレステストやロードテスト、キャパシティテストなどのテストがあります。

STのテストの手順4つ

ST(SystemTest)は、要件定義、基本設計、詳細設計、要求分析の各工程に応じたテスト工程で、検証を実施します。

ウォーターフォールモデルの場合、V字モデルと呼ばれる手順で検証を行うことが多いです。
では、ST(SystemTest)の4つの手順と特徴について、ご説明いたします。

テストの手順1:単体テスト

単体テストとは、個々のモジュールが要求通りに動作するかを検証するテストです。

ST(SystemTest)の中で最初に行うテストで、ut(Unit Test)とも呼ばれます。開発環境でテストを行い、詳細設計の内容が満たされているかを確認します。

テストの手順2:結合テスト

結合テストとは、複数のモジュールを組み合わせて検証するテストです。

単体テストの次に行うテストで、ct(Combined Test)とも呼ばれます。結合したモジュールを動作した際に、不具合が発生しないか、データの受け渡しが正しくできているかなどを検証します。

テストの手順3:システムテスト

ST(SystemTest)は、要件定義で決めた必要な機能が全て含まれているか、処理速度が適正であるかなど、システム全体の機能と能力を検証するテストです。

pt(Product Test)や総合テストとも呼ばれます。結合テストを行った後、データ量やアクセス数など、実際に運用する際と同様の負荷をかけることで、動作に問題が発生しないかなども検証します。

テストの手順4:ユーザーテスト

開発されたシステムが要件通りの機能や能力を満たし、正しく動作するかを、発注者が判断するためのテストです。

ST(SystemTest)後に行うテストで、ut(User Test)とも呼ばれます。実際の運用と同様の条件でシステムを使用し、使用方法や利便性、品質基準を満たしているかなどを検証します。

STにおける結合テストの概要

ST(SystemTest)の1つである結合テストは、開発したモジュールを組み合わせて行うテストですが、検証方法には内部結合テストと外部結合テストの2つの種類があります。

2つの方法に分けてテストを行う場合、内部結合テストをITa(Integration Test A)、外部結合テストをITb(Integration Test B)とも呼びます。では2つの違いについて見ていきましょう。

内部結合テスト

内部結合テストは、サブシステム内部で機能を結合させ検証するテストです。システム内の機能間で処理に不具合が生じないかを検証します。

また、開発が発注元と発注先に分かれており、テストを実施する主体が違う場合に、発注元が行うテストを内部結合テストと言います。

外部結合テスト

外部結合テストは、サブシステム間や他のシステムの機能と連携させ検証するテストです。機能の連携によって処理に不具合が生じないかを検証します。

また、開発が発注元と発注先に分かれており、テストを実施する主体が違う場合に、発注先が行うテストを外部結合テストと言います。

テストにおける注意点

ST(SystemTest)を実施する上で大切なことは、事前の計画と準備です。

事前準備として、テスト駆動開発という手法を使ったテストコードの作成や、テストケース、テストデータの作成があります。検証を行うにあたって、スタブやドライバから構成されるテストハーネスなど、ツールの準備も必要になります。

また、ST(SystemTest)で生じたバグの発生原因と対策を、台帳などで管理していくことも品質の担保のために大切です。

SE
お客様が利用するシステムが正しく動作するか手順をふんで進め、記録を残す大切なテストだとわかりました。

PM
発注者の要望通りのシステムを実現するのに欠かせないテストです。

STを知ってシステム開発の知識を深めよう

ご覧いただいたようにST(SystemTest)には様々に種類や方法があります。テストを実施後、各テスト工程の概要や、テストケース数と不具合が発生した件数など、テスト結果をお客様へ報告することになります。

ST(SystemTest)について、テスト工程やテスト内容を正しく理解することで、要件を満たし、より品質の高いシステム開発を実現していきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)