システムテスト定義・種類・テスターのシステムテスト種類の選択基準
testing

システムテスト定義・種類・テスターのシステムテスト種類の選択基準

はじめに今回は「システムテスト(ST:System Testing) とは何でしょうか」、「システムテストにはどんな分野がありますか」、「システムテストにはどんな手法がありますか」、「テスターになるにはどんな準備が必要ですか」といった質問にそれぞれ回答していきたいと思います。では、一緒に見ていきましょう。 システムテストとは 定義システムテスト(ST: System Testing) は、「総合テスト」又は「システム試験」とも呼ばれています。システムテストとは、顧客要求と期待に沿って統合後のソフトウェア製品の機能をすべて動作するかどうかを確認する技法です。 現在のソフトウェア検証工程によると、システムテストは単体テストと結合テストを実施した後に行うことになっています。 システムテストの主な分野システムテストの対象となる分野は一般的には以下のとおりです。 ●パフォーマンス:エラーが発生せずにシステムがユーザー要求に従って動作することを確認します。 ●セキュリティー:コンピュータのデータ、アプリケーション、ネットワーク、デバイスへの不正アクセスなどのセキュリティー違反の対策を行います。 ●回復性:もしシステムがクラッシュした場合、期待どおり速やかにシステムが回復できるかどうかを確認します。 ●インタフェース:システムテストの工程にもソフトウェア製品のインタフェースが検証されます。インタフェースであろうと機能であろうと顧客要求通りソフトウェア製品の動作を確認します。 ●可用性:システムが継続して稼働し、安定して利用できることを確認します。 ●構成可能性:開発環境から本番環境に移動する際、故障が発生していないようにソフトウェア製品をインストールできるかを確認します。 ●持続可能性(サステナビリティ):大容量と高負荷を処理する際にシステムが問題なく動作することを確認します。 ●ドキュメント:

システムテストとは何か? なぜシステムテストが必要なのか
testing

システムテストとは何か? なぜシステムテストが必要なのか

はじめにソフトウェアの開発では、完璧なプログラム・アプリケーションを完成させるために欠かせない工程が数多く存在します。そのうちの不可欠な工程のひとつとして、システムテストがあります。システムテストというのは、プログラマーまたは開発者にとってよく知られている用語ですが、IT業界とは関係ない多くの人にとってはあまり馴染みがないものです。そこで今回は、システムテストについて一緒にみていきましょう。 システムテストとは 定義システムテスト(ST: System Testing) は、「総合テスト」または「システム試験」とも呼ばれており、全ての機能が統合した状態で、ソフトウェアまたはシステム全体の全てのコンポーネントと機能が要求と仕様書に沿って動作するかどうかを確認する工程です。そして、さまざまなハードウェアとソフトウェアに統合した場合にも仕様書どおりに安定した動作を確保することが求められます。 アプローチ方法現在のソフトウェア開発モデルでは、高品質のソフトウェアを作成するために通常、単体テストと結合テストが完了した後にシステムテストを実施します。また、テストのアプローチ方法はブラックボックステストの技法に基づいて行われることが一般的です。すなわち、コーディング、プログラミングなどのシステムの内部動作に関する知識を必要とせずに、ソフトウェアの外部性能のみを確認する手法で実施されます。 システムテストのメリットテクノロジー製品の開発プロセスにおいてはソフトウェア検証の工程が非常に重要です。「なぜシステムテストが必要なのか」という質問に答えるために、以下にシステムテストのメリットを簡単にまとめましたので、ご覧ください。 ●国際標準(ISO/IEC)を満たした製品・アプリケーションの品質確保が可能 ●顧客要求または仕様書の記載に沿ってソフトウェア製品の性能・機能の動作を確保することが可能 ●ソフトウェア製品のシステム全体の検証を実施することで本番環境で発生し得るエラーと不具合を最小限に抑えることが可能 ●顧客から製品・アプリケーションに対する信頼と満足を獲得することが可能 ●製品に発生しているエラーと不具合を何度も繰り返して検証する必要がなくなり、作業効率の向上が可能

ホワイトボックステストとは
testing

ホワイトボックステストとは

ソフトウェアやシステムは人間が開発する以上、不具合などが発生することはどうしても避けられません。こうした不具合を防ぐためにはソフトウェア製品の品質と適切な機能を保証することが欠かせませんが、その上で主要な役割を果たすのがソフトウェアテストです。ソフトウェアテストにはいくつかの手法がありますが、今回は「ホワイトボックステスト」というテスト技法について、詳しくご説明します。 1. ホワイトボックステストとはホワイトボックステストとは、どのコードの行がエラーを引き起こしているかをテストすることでプログラムのソースコードと内部構造を評価するテスト技法です。つまり、システムの内部構造がクリア(ホワイト)な状態を前提としたテストということです。 この技法はオープンボックステスト、クリアボックステスト、コードベーステスト、単純なボックステスト、ガラスボックステストとも呼ばれ、テスト対象は機能、機能モジュールなどのソフトウェアコンポーネントです。ホワイトボックステストは、ソフトウェア開発の初期でエラーを検出する上では最も効果的な手法です。 2. ホワイトボックステストのメリットとデメリット仮にGUI(Graphical User Interface、グラフィカル・ユーザ・インターフェース)が使用できなくてもテスト自体は早めに開始することが可能です。 開発者は、単体テストの作成中にホワイトボックステストを使用しますが、Junit (Java フレームワーク)、 PHPUnit (PHPフレームワーク)、NUnit (.Net フレームワーク) などの単体テスト補助ツールを利用することで品質保証における客観性を保証することができます。ただし、ホワイトボックステストを実行するテスターはコードを詳しく理解できる知識を持っている必要があります。また、コード構造によりテストケースの再利用はほとんど不可能です。 3.

ブラックボックステストとは
testing

ブラックボックステストとは

ソフトウェアの品質を高める上で欠かせないテスト工程では、いくつかの主要なテスト技法が存在します。今回はその中のひとつであるブラックボックステストについてご紹介します。 ブラックボックステストとはブラックボックステストとは、システムの内部構造を考慮せずプログラムが仕様通り設計されるかを検証するテスト方法です。システムの内部構造を直接確認することはできないシステムをブラックボックス(中身が見えない箱)に見立ててテストを実行するため、このように呼ばれています。ブラックボックステストはシステムの内部構造を理解していない場合でも、仕様書があればテストを実施できるというメリットがあり、主に機能テストとシステムテストで行われるほか、機能以外のユーザビリティなどのテスト(非機能テスト)でも実施されます。 ブラックボックステストのテスト技法としては主に以下の5種類があります。 1. 同値分割法 同値分割法とは入力条件を類似と見なすことができるグループ(同値クラス)に分割し、テストを実行する技法です。同値クラス分は、出力、内部変数、時間に依存する値(例えば、イベ ントの前後)のほか、インターフェースパラメータにも存在し、テスト実行においては各クラスから代表的な値を使って分析します。同値分割法は単体テスト、統合テスト、システムテストなどのすべてのレベルのテストに適用できます。 2. 境界値分析(限界値分析) 境界値分析とは、仕様条件の境界となる値(境界値)とその隣の値に対してテストする技法のことです。境界値とは、ある範囲の最小値または最大値などの同値分割した領域の端に当たる値です。具体的には「未満」や「以下」などが該当し、こういった境界部分は間違いを引き起こしやすく、