OpenTextのホームページ。
技術トピックス

パフォーマンステストとは何か?

ノートPCを中心としたITアイテムの図解

概要

ソフトウェア性能テストは、アプリケーションの安定性、スピード、スケーラビリティ、および応答性が、与えられたワークロードの下でどのように維持されるかを判断する、非機能的なソフトウェアテスト手法です。ソフトウェアの品質を保証するための重要なステップだが、残念ながら、機能テストが完了してから、そしてほとんどの場合、コードがリリースできる状態になってから、後回しにされ、単独で始められると思われがちだ。

性能テストの目標には、アプリケーションの出力、処理速度、データ転送速度、ネットワーク帯域幅の使用状況、最大同時ユーザー数、メモリ使用率、ワークロード効率、コマンドの応答時間などを評価することが含まれる。

ソフトウェア・パフォーマンス・テストを実施するためのベストプラクティス

生産性の高いソフトウェア開発組織を構築するために、"shift left"と"shift right" パフォーマンスエンジニアリングのアプローチを組み合わせて採用する方法を学ぶ。

詳細情報

ソフトウェア・パフォーマンス・テスト

ソフトウェア・パフォーマンス・テストを行う理由

組織がパフォーマンス・テストを実施する理由は、少なくとも以下のいずれかである:

  • アプリケーションがパフォーマンス要件を満たしているかどうかを判断する(例えば、システムは最大 1,000 同時ユーザを処理する必要がある)。
  • アプリケーション内のコンピューティングのボトルネックを特定する。
  • ソフトウェアベンダーが主張するパフォーマンスレベルが本当に正しいかどうかを確認する。
  • 2つ以上のシステムを比較し、最も優れたパフォーマンスを発揮するシステムを特定すること。
  • トラフィックのピーク時の安定性を測定する。

パフォーマンス・テストの方法は?

パフォーマンス・テストの具体的な手順は、組織やアプリケーションによって異なる。それは、その企業がどのような業績評価指標を最も重要視しているかによる。とはいえ、パフォーマンス・テストの一般的なゴールはほぼ全体的に同じであるため、ほとんどのテスト計画は一定のワークフローに従うことになる。

テスト環境とツールの特定

本番環境、テスト環境、自由に使えるテストツールを特定する。テスト環境と本番環境の両方で、ハードウェア、ソフトウェア、インフラ仕様、構成を文書化し、一貫性を確保する。一部のパフォーマンス・テストは本番環境で行われるかもしれないが、テストが本番運用を中断させないよう、厳重な保護措置が必要である。

許容可能なパフォーマンス基準を定義する

テストの成功を示す制約、目標、しきい値を決定する。主要な基準はプロジェクトの仕様書から直接導き出されるが、テスターにはより広範なテストとベンチマークを設定する十分な権限が与えられるべきである。

テストの計画と設計

使用方法がどれだけ幅広く変化するかを考え、実現可能なすべてのユースケースに対応するテストシナリオを作成する。それに応じてテストを設計し、把握すべき測定基準を概説する。

テスト環境とツールの準備

パフォーマンス・テストを実行する前に、テスト環境を設定してください。テストツールを準備する。

パフォーマンス・テストの実行

テストを実行する。結果を把握し、モニターする。

解決と再テスト

テスト結果の統合と分析調査結果をプロジェクトチームと共有する。特定されたパフォーマンス上の欠点を解決することにより、アプリケーションを微調整する。テストを繰り返し、各問題が決定的に取り除かれたことを確認する。


パフォーマンス・テストのヒント

本番環境のエコシステムをできるだけ忠実に反映したテスト環境を構築する。それがなければ、テスト結果は、本番稼動時のアプリケーションのパフォーマンスを正確に表していないかもしれません。

  • パフォーマンス・テスト環境をUAT環境から分離する。
  • パフォーマンス・テスト計画を最適に自動化するテスト・ツールを特定する。
  • アプリケーションのパフォーマンスを正確に測定するために、テストを数回実行する。例えば、負荷テストを実行する場合、同じテストを複数回実行し、結果が一貫しているかどうかを判断してから、パフォーマンスを許容または許容できないとマークする。
  • テストの合間にテスト環境に変更を加えないでください。

パフォーマンス・テストとパフォーマンス・エンジニアリングの違いは?

パフォーマンス・テストとパフォーマンス・エンジニアリングは、密接に関連しながらも異なる2つの用語である。パフォーマンス・テストは、パフォーマンス・エンジニアリングのサブセットであり、特定の負荷の下でアプリケーションの現在のパフォーマンスを測定することを主な目的としている。

迅速なアプリケーション・デリバリーの要求に応えるため、最新のソフトウェア・チームには、従来のパフォーマンス・テストにとどまらず、エンドツーエンドの統合パフォーマンス・エンジニアリングを含む、より進化したアプローチが必要です。パフォーマンス・エンジニアリングとは、定義されたパフォーマンス目標を達成するためにソフトウェアのテストとチューニングを行うことである。パフォーマンス・エンジニアリングは、ソフトウェア開発プロセスのかなり早い段階で行われ、パフォーマンスの問題を未然に防ごうとするものである。


パフォーマンステストツールとは?

パフォーマンス・テストは、システムがさまざまな負荷にさらされたときにどれだけうまく動作するかを確認するものであるため、自動テスト・ツールを 使用せずにこのようなテストを効率的に実行するのは難しい。 テスト・ツールは、その機能、範囲、高度さ、自動化において様々である。OpenTextのパフォーマンスエンジニアリングソリューションが、パフォーマンステストの効果を次のレベルに引き上げる方法をご覧ください。

関連製品

OpenText™ Professional Performance Engineering

プロジェクトベースのテストで非の打ち所のないカスタマーエクスペリエンスを提供

OpenText™ Enterprise Performance Engineering

コラボレーションを促進し、テストによってアプリケーションの信頼性を向上

OpenText™ Core Performance Engineering

スケーラブルなクラウドベースのテストでアプリケーション品質を保証

OpenText™ Service Virtualization

現実的なAPIとシミュレーションでソフトウェアのテストを高速化

脚注