エンジニアのためのお役立ち情報

システムテストとは!テストの種類やスキルをご紹介!

私たちが日常的に使用するスマートフォンのアプリをはじめ、公共交通機関や医療機器、企業の勤怠管理など、あらゆるところでITテクノロジーは使われています。これらのシステムがリリース後も問題なく動作できるよう、バグや不具合がないかテストし確認するのがテストエンジニアです。

テストエンジニアは単純なテスト実施だけでなく、バグや不具合を予測した効率のいいテスト設計の作成など、ソフトウェアの品質管理・向上に関わるさまざまな業務を行います。今回はテストエンジニアがかかわるテスト工程のなかから「システムテスト」にフォーカスし、解説いたします。

これからテストエンジニアを目指す人はもちろん、テスト工程が未経験のITエンジニアにとってもお役立ていただける内容ですので、ぜひ参考にしてみてください。

システムテストとは

システムテストとは、要件定義の内容が実現されているのか確認するテストのことです。ソフトウェアテスト技術者資格である「JSTQB」では、「統合されたシステムが、特定の要件を満たすことを実証するためのテストプロセス」と定義されています。プロジェクトによっては「統合テスト」と呼ばれることもあります。
システムテストでは、「開発したシステム全体が要件を満たして機能しているか」だけでなく、信頼性、効率性、使用性、保守性、移植性など、非機能要件となる属性についても確認をしていきます。

この項では、システムテストが行われるまでの流れについて紹介します。

システムテストの流れ~設計から運用テストまで~

一般的な開発の工程(V字モデル)を例に、まずはシステムテストがどの工程に位置するのかを確認しましょう。

① 要件定義
② 基本設計
③ 詳細設計
④ 製造(コーディング)・単体テスト
⑤ 結合テスト
⑥ システムテスト(総合テスト)
⑦ 受入テスト(UAT)

このように、ソフトウェアの開発工程は、①~⑦を経てからリリースされるのが一般的となります。
実装予定の機能はもちろん、システムテストでは想定外の動作も含めてバグや不具合がないかテストを実施する必要があります。

システムテスト実施における観点

次は、システムテストを実施するときの観点について紹介していきます。システムテストで重要となる観点は次の4点です。

・利便性
ユーザーがシステムを「ストレスなく快適に動作できているか」といった観点

・可用性
ユーザーがシステムを「継続・連続して機能できているか」といった観点

・安全性
ユーザーがシステムを使用したときに、「危険性はないか・情報漏洩はないか」といった観点

・正確性
システムを使用したときに「ユーザーの意図した動作を行うか」といった観点

記事の最初で述べたように、システムテストにおいては「要件定義書に記載されている要件を満たしているか」を確認することが主軸となります。
要件を満たしているか否かを確認するために、その製品に適したテスト観点を設定することが重要となることを覚えておきましょう。

システムテストの種類

システムテストで実施されるテスト手法は、用途や目的によって使い分ける必要があります。
ここでは、システムテストで使用されるテストの種類のうち、代表的な4つのテストについて解説いたします。

機能テスト

誤解されがちなのですが、機能テストの「機能」とは、「どのように動作するのか」を指しているわけではありません。
ソフトウェア開発における「機能」とは、そのソフトウェアが「求められている仕様(目的)を満たしているかどうか」という意味になります。要件を実現できるかどうかがポイントとなります。

この機能テストは、「単体テスト」「統合テスト」「システムテスト」など、どのテスト工程においても実施されます。しかし、ソフトウェアは要素レベルによって要件と機能が変わるので、それに合わせて機能テストも内容が変化することを覚えておきましょう。

性能テスト

続いて性能テストについて確認をしていきましょう。

性能テストとは、テスト対象の性能要件に基づき、システムの時間効率や作業効率のパフォーマンスを測定、評価するテストのことを指します。
たとえば、「対象システムの処理速度」や「一度に処理が可能なデータ量」を測定するなどが挙げられます。

よく機能テストと混在されがちですが、機能テストはあくまで仕様(目的)の確認であり、性能テストは文字通り「システムの性能」を確認するテストとなります。

ユーザビリティテスト

ユーザー視点で使用感を確認するのが、ユーザビリティテストです。

「使いやすさ」や「使い勝手の良さ」といった意味合いで使われることの多い「ユーザビリティ」という言葉ですが、システムテストにおいても同義です。
対象システムの操作性や視認性、わかりやすさに主観的満足度といった、ユーザーにとって親しみやすく魅力があるかどうかを確認するテストを行います。

セキュリティテスト

システムのセキュリティを確認するためのテストです。システムテストでは以下の2点に注目して行われます。

① システムにおける脆弱性の確認
② セキュリティ対策の有効性を確認

対象システムが不特定多数のユーザーが利用することを想定する場合、「セキュリティに関する機能が開発仕様書通りに動作できているか」を確認します。

たとえばWEBサービスのような、不特定多数のユーザーからアクセスが見込まれるものであれば、登録・蓄積される個人情報などが「第三者から見ることができないか」といったテストも、このセキュリティテストに含まれます。

システムテストで求められるスキル

システムテストを実施するうえで求められるスキルをご紹介します。

マネジメント能力

システムテストを実施する際に求められるスキルは、大きく3つに分かれます。

・最適なテスト計画を立案する能力
・効率的に作業を進める能力
・テスト目的を正しく理解し、達成させる能力

システムテストは開発工程において「最終的な確認」を行う工程です。前述したように、「要件定義書の要件を満たしているかどうか」というテストを実施していくこととなるので、テスト計画においては、抜け漏れがないようチェック項目を網羅する必要があります。その際には、想定外な不具合を予想できる能力も必要になるでしょう。

また、網羅的にテストを実施するので、そのスケジュールはタイトになりがちです。納期に間に合わせるためには、効率的なテスト計画を練る必要があります。
事前にしっかりとしたテスト計画を立てることができれば、想定外のバグや不具合が発生した際でも、プロジェクトを軌道修正する時間を確保することができるでしょう。修正の精度が上がれば、繰り返しテストを行う回数も少なります。

つまり、プロジェクトの成功に向け、様々なケースに対応できるマネジメント能力が求められるのです。

 

まとめ

今回はシステムテストについての概要や、テスト観点と方法、テストに必要なスキルなどについて解説しました。
システムテストはソフトウェア開発におけるテスト工程の中でも最終工程となるため、非常に重要です。
要件の確認だけでなく、非機能要件に関するチェックやテスト観点など、テストエンジニアとして幅広い知識が求められる工程だといえるでしょう。

関連記事

2019.04.02

お役立ち情報

テストエンジニアの6つのキャリアパスをご紹介!

2019.03.25

お役立ち情報

高収入も夢じゃない!フリーランスエンジニアの平均年収って?

2019.09.04

お役立ち情報

ソフトウェアの信頼性とは?

2020.01.22

お役立ち情報

ITエンジニアの服装はスーツいらず?服装が自由でも注意すべきこととは

2019.04.10

お役立ち情報

フリーランスのシステムエンジニア(SE)になると年収は上がる!失敗しない独立方法

2019.12.20

お役立ち情報

グローバル化が加速するIT業界!ITエンジニアの英語力

現在登録者数
6676
ポジションの選択/変更

テスト

開発

単価の選択/変更
業界の変更/選択
技術・言語の選択/変更
参画地
フリーワード

閉じる

ページの先頭へ

就業中の方も安心して次のキャリアが事前に相談可能

専任コーディネーターがご案内いたします。

案件探しは私たちにお任せください!プロとして、ご希望の案件をご提案します!

お電話でも受け付けています 9:00 18:00

東日本エリア 0120-133-005

日本エリア 0120-299-200

ソフトウェアジョブズテスト・検証会社のバルテスが運営するテスト・品質の上流案件に強いフリーランス・派遣ITエンジニアのための案件紹介サイト

皆さんが身近に使用しているアプリや業務系のシステム、テレビや複合機などを第3者の目線でテスト項目を作成したり、実際に項目通りに動くかを検証するテスターのお仕事をご紹介するサービスです。
就業先は大手電機メーカーや大手ソフト会社。数日からの超短期案件や、数年にわたる長期案件まで、ソフトウェアの品質に携わるお仕事が豊富にございます。
働きやすい環境で受け入れ態勢が整っており、大手企業でお仕事ができるチャンスが豊富です。高単価、高条件なお仕事も豊富にございます。
技術を向上されたい方、開発現場への復職を希望される方、予定している前後の案件に空きができてしまった方、フリーランスの方など、きっとあなたのご希望に合うお仕事がございます。
開発経験のあるITエンジニアやテストエンジニアの方で、ぜひ転職をお考えの方や派遣のお仕事をお探しなら「ソフトウェアジョブズ」をご利用ください。