完璧な製品を作成したい場合は、あらゆる面で検査およびテストする必要があります。テストにはいくつかの種類があり、それぞれがアプリケーションの特定の側面を対象としています。
この記事では、単体テスト、データベーステスト、システムテスト、負荷テストについて紹介します。
1.単体テスト
単体テストは、アプリケーションのあらゆるステップをテストして、さまざまなコンポーネントが適切に機能していることを確認します。単体テストがなければ、アプリケーションの不正な動作の原因を見つけるのは一般に困難です。
単体テストでは通常、単体テスト フレームワークを使用します。これは、テストを作成して実行し、結果を出力するために必要な基本構造を提供します。
より一般的に使用される単体テスト フレームワークには次のようなものがあります:
PHPUnit: http://phpunit.de/
シンプルテスト: http://www.simpletest.org/
PHPT: http://qa.php.net/write-test.php
2. データベーステスト
PHPUnit データベース拡張機能は、事実上の Java 単体テスト フレームワークである JUnit の DbUnit 拡張機能をモデルにしています。 PHPUnit データベース拡張機能は、データベース、テーブル、またはユーザー資格情報の作成を処理しません。これらはすでに作成されているという前提で動作します。
PHPUnit データベース テスト リファレンス: http://phpunit.de/manual/current/en/database.html
3. システムテスト
システムのさまざまなコンポーネントと外部システムとの相互作用がテストされたら、次にアプリケーション全体をテストします。これがシステム テストになります。
Web アプリケーションの場合、これは多くの場合、実際のユーザーと同じ方法でブラウザと対話するための自動テストを作成することによって行われます。
この種のテストを作成および実行するための一般的なソフトウェア パッケージは、Selenium です。これは、クライアントを実行して接続し、ブラウザを起動して対話するコマンドを実行する Java ベースのサーバーです。このソフトウェアは、Web アプリケーション内で一連のアクションを実行し、最後にロードされたファイルの内容をアサーションして、期待どおりに機能することを確認するためによく使用されます。
セレン: http://seleniumhq.org/
PHPUnit には、これらの対話を実行できるようにする Selenium 拡張機能が含まれています。
4. 負荷テスト
アプリケーションが個々のコンポーネントと全体の両方で適切に動作したら、アプリケーションが全体としてどのように機能しているかを理解することが非常に必要になります。
負荷テストは、ユーザーのグループの動作をシミュレートし、負荷の下でアプリケーションがどのように動作するかを判断します。
次に、ab と siege の 2 つのテスト ツールを紹介します
1.腹筋テストツール
Apache HTTP サーバー プロジェクトの不可欠な部分として、ab は開発された比較的シンプルなベンチマーク ツールであり、Apache がインストールされているほとんどの環境に適しています。
多くのパラメーターがあり、テストのガイド方法をわずかに調整しました。よく使用されるパラメーターが 3 つあります:
1) -c #: 1 秒あたりの同時リクエスト数、またはアプリケーションに同時にアクセスするユーザーの数。
2)-n #: レターの送信をリクエストします。
3) -t #: -n 50000 と仮定した場合の、テストが継続する最大時間 (秒単位)。
たとえば、1 分間に 10 人の同時ユーザーの動作をシミュレートしたい場合は、次のコマンドを使用できます:
リーリー
ab の使用方法のリファレンス: http://httpd.apache.org/docs/2.0/programs/ab.html
2. 包囲テストツール
もう 1 つの一般的に使用される負荷テスト ツールは、Joe Dog Software によって開発された Siege です。 ab の負荷テストは特定の URL に限定されますが、Siege では URL に加えてアプリケーション全体の負荷テストも可能です。 Siege のマニュアルには、サポートされているオプションが記載されています。
包囲: http://www.joedog.org/siege-home/
包囲マニュアル: http://www.joedog.org/siege-manual/