- なぜ自動テストを行います
- どのような自動テストに適したプロジェクト
- インターフェイスまたはUIオートメーションオートメーションを選択
- インターフェイスの自動化ツールの比較
- JMeterの+のAnt + jekinsフレーム構造
まず、なぜテストを自動化できますか?
また、古いテストを排除しながら半分の反復時間は、各反復は、75日である5つのテスト、人工回帰あなたのための自動化された600時間をなくし、一度確定一年五時間を必要とするが、必要であると仮定するとエラーが疲れたトラブルや人々を吐き出すための関数で発生しました。
少し:効率を向上させるために、品質
自動テスト:人工駆動試験機は、(手動基準で)の動作を変換する処理を実行します
第二に、何が自動テストに適した投写しますか?
1.プロジェクトとは?
需要は安定している、頻繁に変更されない(プロジェクトの安定性)
開発とテストサイクルが長く、頻繁に回帰テストを実行する必要があります
複数のプラットフォーム(互換性テスト)で繰り返される同じテストシナリオを実行します
いくつかの試験項目は、手動テスト、手動または高価すぎるを通じて達成することができません
より標準的なソフトウェア開発をテストし、システムがテスト容易性を確保することができます
2.自動化されたスクリプトを書くのは何段階?
プロジェクトが安定した後、自動化ユースケースを書くことは、より便利な、な理由:
プロジェクト(期待される結果には、手動テストに似アサーション)アサーションを書くことは基本的にはバグ、簡単に
テストスクリプトを自動化されている完全なマニュアルテストケースを記述する場合は手動テストに応じて達成することができます
3.自動テストのどの段階?
プロジェクトテストプロセス:スモークテスト - 新たなニーズテスト - 互換性テスト - 回帰テスト
スモークテスト:テストプロセスの重要な出発点
新たなニーズのテスト:学習のテストプロセス、最も集中テストを探索
互換性テスト
回帰テスト:それは新しい機能を受信したか否かを安定化機能の影響をテストします
自動テストのための回帰テストと互換性テスト、回帰テストケースを多数実行する必要前者、後者繰り返す必要
第三に、自動テストの種類を選択してください
自動テストカテゴリー:
UIオートメーション(低効率、高コスト、ユーザが強いの真偽を操作)
インタフェースオートメーション(ユーザ操作の信憑性が強くありません)
ユニットテスト
パフォーマンステスト
自動UIオートメーションインタフェースと相補的テストを生成することができる(方法)
第四に、インターフェース比較ツール
インタフェースツールは、のニーズを満たす必要があります。
インターフェースを書きやすいです
便利なデバッグインタフェース
サポート・データの初期化
テストレポートを生成します
パラメータ化をサポート
インターフェイスのテストツールの比較:
フィドラー:Etherealのアーティファクト、インターネットの間の通信のためのHTTPプロトコルを記録することができ、httpプロトコルデバッグプロキシツール、あなたはブレークポイントを設定することができ、(など、クッキー、HTML、JS、CSSファイル、など)フィドラーデータ「のうち、」すべてを表示
インタフェースのテストを行うことができる、と言うことはできません
ポストマン:
HTTPリクエストのいずれかのタイプ送信することができ、環境パラメータ管理がさらにユースケースの一括管理と操作であってもよい認証、変数の管理に応じてファイルをアップロードすることができ、(GET、HEAD、POSTを.. PUT)と輸出のユースケースをサポートし、導入であってもよいです自動テスト・インタフェース
欠点は、自動化が主張するのに十分な強度ではないことジェンキンス、コード管理リポジトリ継続的インテグレーションテストすることはできませんです
SOAPUI:
SOAP / HTTPを通じて確認するためのオープンソースのテストツールは、呼び出しは、Webサービスのインタフェースやパフォーマンステストを実施します。ツールは、Eclipse、maven2.X、NetbeansのIntelliJのと使用に統合することができるプラグを使用して、別々のソフトウェアのテストとして使用することができます。
JMeterの:
主にパフォーマンステストに使用し、100%Pure Javaの無料のオープンソースツール、ですが、またポストプロセッサと、インタフェースのテストを行うと、それはインターフェースのテストシナリオのほとんどを満たして主張することができ、JMeterはプログラミング能力のBeanShellを提供、あなたはJMeterの+ ANT +でジェンキンスは、インタフェースとパフォーマンス自動テストを実装することができ、より柔軟なテストスクリプトを書くことができます。
コードの実装
Javaコードは、インタフェーステストを実装:Javaパッケージは、このような要素のJUnitまたはTestNGのテストツール書かれた実施形態では、ジェンキンス連続統合テストと併せて実装されたインタフェースを使用してhttpclient.jarことができます。
Pythonのコードは、インターフェイスのテストを実装しています:Pythonは、サードパーティのライブラリへの強力なインタフェースを達成するために利用することができる結合ユニットテストフレームワークunittestの書かれたユースケース、テストレポートを生成して、ジェンキンスに統合テストを行うために続けることを要求します。
なぜインターフェイスを実装するためのコードをテストする必要がありますか?
リミテッドツールは、多くのツールは、テストシナリオ、シーンや複雑なデータ構造をシミュレートすることは困難で、コードがインタフェースを実装することができ、統計は柔軟性を示しています。独自のテストフレームワークやコードを記述します。
中小プロジェクトは、大規模なプロジェクトやコードを使用するため、郵便配達とJMeterの推奨しました。
五、JMeterの+のAnt +ジェンキンスフレーム構造
一般的な考え方:JMeterのストレステストを行うことができますインターフェイスのテストを、行う、およびオープンソースソフトウェアであることができ、AntはJavaベースのビルドツールで、携帯電話の完全なスクリプトの実行と結果をプラットフォーム間でレポートを生成し、Jekins継続的インテグレーションツール。これらの3つの勝利に基づいて、インタフェース自動テストを実施し、継続的なビルド環境のWebHTTPインタフェースのテストを構築するために組み合わせます
- インストールのJMeter
1.1インストールパッケージをダウンロードします
JMeterは、変数は、JDK環境をダウンロードして設定するには、Javaランタイム環境は、事前に依存しています
公式サイトのダウンロード:http://jmeter.apache.org/download_jmeter.cgi
ダウンロードが完了したら、直接抽出
1.2設定環境変数
JMETER_HOMEのインストールパスは、JMeterのです
CLASSPATH为%JMETER_HOME%\ libに。
PATHは%JMETER_HOMEの%の\ビンです。
1.3インストールの確認
JMeterの-vコマンドウィンドウを入力し、[バージョンはJMeterの成功を表示させます
あなたはJMeterのを開始するには、コマンドウィンドウに直接JMeterの後に改行を入力することができ、あなたがのJMeter jmeter.batファイルをクリックして起動することができます
JMeterの上のデバッグインタフェースを介して1.4(複数のインターフェースはメソッドのJMeterに応じて添加される場合)
- Antのインストール
2.1インストールパッケージのダウンロード
(ダウンロードする公式サイトhttp://ant.apache.org/bindownload.cgi)を、私は直接抽出し、ダウンロード、バージョン1.10.1を使用
2.2設定環境変数
ANT-抽出位置のためのANT_HOME
CLASSPATHは、%ANT_HOME%\ libです。
PATHは、%ANT_HOME%以下の\ビンです。
2.3据付時適格性評価
インストール、コマンド・ライン・アリ-vを確認し、バージョン情報は、インストールが成功した表示されます
- Antの設定のJMeter:Antビルドコマンド実行JMeterのインタフェースのテストを動員し、テストレポートを生成します
3.1設定ファイルライブラリー
このアリが実行されている「org.programmerplanet.ant.taskdefs.jmeter.JMeterTask」このクラスを見つけるために、アリインストールディレクトリのフォルダ内のlibファイルへのJMeterのextrasディレクトリの下にアリ-のJMeter-1.1.1.jarファイルをコピーし、成功したのJMeterスクリプトをトリガします
3.2 Antビルドファイルbuild.xmlの設定
スクリプトを作成し、レポートJMeterのルートフォルダに保存されているテストケース
新しいbuild.xmlファイルは、フォルダをテストケース、文書の内容を変更します
注:また、build.xmlファイルを持つファイル、変更するには、この文書を使用していないエキストラをJMeterの二つの異なるものです、彼らの新しい文書を構築するここにあります
Tabキーコードは、それ以外の場合は問題があるだろう、それが指定する必要があり、実行するスクリプトをコンパイルに失敗しますそうでない場合は存在することはできません
実際の状況に応じて次のドキュメントを変更します。
設定のbuild.xmlで複製することができhttps://www.cnblogs.com/autobyme/p/8387407.html---ブログ
3.3 jmeter.propertiseドキュメント
Jmeter.propertiesは、JMeterの/ binディレクトリ内のドキュメントを見つける編集する文書を開き、出力形式はXMLでのJMeterレポートを変更します
Jmeter.save.saveservice.output_format = CSV jmeter.save.saveservice.output_format = XMLを変更するには、フロントシンボル#ノートから削除
3.4テストビルドを実行し、設定を確認
次のようにJMeterのスクリプトの前に保存し、同じディレクトリテストスクリプトディレクトリ内のbuild.xml設定ファイル:
3.5テストの実行
コマンドウィンドウを開き、ant runと入力し、テストがbuild.xmlのと同じディレクトリに行われます
3.6ビューのテストレポート
また、構築し、HTMLとそこJTL結果をレポート出力ストレージ・パスで報告されているかどうかを確認し、パスがドキュメントに保存されています
オープンHTMLドキュメント、テスト結果は、ユースケースの実行の名前、成功率、ユースケースの実行時間およびその他のパラメータの結果を示し、
このような結果は、直感的ではありません
3.7最適化テストレポート
(1)のJMeterのエクストラディレクトリにコピー、ダウンロードテンプレートのJMeter-結果-shanhe-me.xslを最適化します
コンテンツは、(2)を出力するテスト出力レポートを配置し:jmeter.properties同様に、出力を設定する必要が真実であり、すべてのセットが真陽性保存する前にコメント記号#を削除
レポートテンプレートは、(3)最適化されたテンプレートのJMeter-結果-shanhe-me.xslとしてビルドファイルを設定します
(4)再度、Antビルドテストで、最適化を見た後にテストレポート
- インストールジェンキンス(二つの方法)
4.1抽出するために、インストールパッケージをダウンロードしてください
1. MSIファイルをダウンロードします(インストールしてダブルクリックします)
サーブレットコンテナ、Tomcatでjekinsを展開する2。
https://www.cnblogs.com/dreamyu/p/6480980.html
4.2スタート・ジェンキンス
ブラウザ入力のhttpをインストールした後:はlocalhost:8080
インストールディレクトリからジェンキンス\ sercrets initalAdminPasswordファイルを見つけ、パスワードを入力してください
オプションウィジェットをマウントし、推奨される方法をインストールすることを選択
最初の管理者アカウントを作成します。
または、このステップをスキップし、デフォルトのadmin管理者ログインを使用して
4.3設定ジェンキンス
1.これはアリプラグインたinvoke設定する必要があり、HTMLのテストレポートは、本当にプラグイン
(1)行政ジェンキンスにワークスペースでHTML運営者向けプラグインとAntをインストールします(デフォルトの先頭にプラグインがインストールANTをインストールすることをお勧めしている場合、Antはここでプラグインをダウンロードする必要はありません)を作成
(2)ジェンキンスシステム管理で - システムのセットアップ、構成、およびAntのJDK
2.プロジェクトを作成および構成します
注:スクリプトがワークスペースに存在しない場合アリは、プロジェクトをビルドし、デフォルトのスクリプトは、ワークスペースでジェンキンス下で実行されるエラーを構築し、スクリプトのbuild.xmlファイルは、ワークスペースディレクトリの下に置かれている(私はJMeterのを置きます)
注:インデックスページ[S]:値(TestReport.html)試験報告書で設定されたbuild.xml名と一致している、またはジェンキンスのテストレポートを表示することはできません
構成スクリプトが終了します
4.5プロジェクトのホームページには、テストを実行し、すぐに建物をクリックしてください
参考文献:
https://www.cnblogs.com/autobyme/p/8387407.html
https://www.cnblogs.com/wulixia/p/11011793.html
https://blog.csdn.net/XingLongSKY/article/details/91536924