自動テストの概要/自動化ツール

自動テスト

◆自動テストは、手動テストを、マシン、ソフトウェア、およびプログラムを備えたテスト製品に変換するプロセスです。
ここに画像の説明を挿入
自動テストのユースケースは、多くの場合、機能テストの一部としての機能テストから、多くの場合は煙テストから、煙テストからテストスクリプトを生成して発生します。

自動テストでは、手作業ではなくコードを使用します。

自動テストの重要性
1. ソフトウェアの開発とテストのサイクルを短縮し、製品をより早く市場に投入できるようにします。テスト効率が高く、ハードウェアリソースを最大限に活用します。(アジャイルでの自動テストの重要性は異常です。彼はソフトウェアテストをより速く完了することができます。テストを完了するために夜間に自動回帰を実行できます。)
2. 人的資源を節約し、テストコストを削減します。
3. テストの安定性と信頼性を強化します。(人々の緩みまたは不注意が原因である可能性があります
テストは安定しておらず、信頼性が高くありません)4. ソフトウェアテストの精度と精度を向上させ、ソフトウェアの信頼を高めます。
5. ソフトウェアテストツールは、テストを比較的簡単にしますが、より高品質のテスト結果を生成できます。

自動テストのアプリケーションシナリオの分析
◆最初に検討すべきことは、どのようなプロジェクトが自動化に適している
かということです ◆プロジェクトが自動テストを使用しているかどうかを判断します。通常、次の点に注意してください。

1. 需求变更有计划性,并且频率不高。
要件はあまり変更できないため、自動テストを維持する時間はありません
。2。たとえば项目周期长, 资源丰富。
、Alipayの機能は複雑で自動化に適していますが、このプロジェクトが数日しか続かない場合は、自動化する必要はありません
3 脚本重复利用率。
代码规范。

◆どのようなプロジェクトで自動化を使用できるかを考えると、次に理解する必要があるのは、プロジェクトでは、自動化に適した部分も区別する必要があるということです
◆共通の見解:
自動テストは回帰テストとAPI(インターフェース)テスト、手動テストは受け入れテストおよびGUIテストにより適しています。大多数人认为带页面的用手工,带接口的用自动化,但是这个观点是不对的

◆正しい見方:
手動テストと自動テストを区別するものは、実際にはAPIまたはGUI、回帰、または関数とは関係ありません。应该从代码是业务逻辑相关还是基础性代码出发

业务逻辑代码对应终端用户使用的那些功能、作業は実際に完了しています。

◆基本コード确保业务逻辑代码运行在合适的环境中起支撑作用而彼此之间相对独立,并不存在业务关系的

上記のコードは両方ともテストする必要がありますが、手工测试更适合测业务逻辑,因为这部分人来学习起来要比交给自动化容易。

理由:
基本的なコードは、Yu'ebaoを介した購入や購入、銀行とのドッキング、および請求書が届いたかどうかを知るための私たちに頼るなど、自動テストの方が効率的かもしれません。 、手動テストに適しています。

シーン分析:

テストを行うとき。プロジェクトには長いビジネスサイクルがあり、それが巨大になる可能性があることがわかりました。自動テストを導入してから、プロジェクトの構造を確認できます。ログインや注文など、いくつかの基本的な機能は自動化に引き継がれ、残りの複雑なビジネスロジックは手動でテストされます

一般的なWEB自動テストツール:

ここに画像の説明を挿入
主流の自動テストツール-QTP
◆QTPは、機能に重点置い回帰自動テストツールであり、多くのプラグインが提供されています。
◆QTPでサポートされているスクリプト言語はVBScriptであり、テスターに​​とってはるかに快適ですが、結局のところ、VBScriptは緩く、厳密でなく、広く普及している言語です。

◆QTPの高可用性:
1.記録と再生の
サポート2.低レベルモードのサポート(クリック、ピクセルクリックの
サポート3. QTPエディターは、キーワードモードとエキスパートモードの2つのビューをサポートします(独自のエディターがあります) 、主に使用されるキーワードモード)

QTPはC / SおよびB / Sをサポートし、ステートメントは比較的単純です

スクリプトの記録プロセス:
ここに画像の説明を挿入ここに画像の説明を挿入ここに画像の説明を挿入

ここに画像の説明を挿入

セレン(WebDriver)
QTPと比較して、2つの特性と利点および欠点を理解してください。

価格:
Seleniumはオープンソースの自動テストツールですが、QTPは商用バージョンであり、高価です。

アプリケーション領域:
SeleniumはWebページのテストのみをサポートしていますが、QTPはWebインターフェイスのテストだけでなく、クライアント側のテストもサポートしています。

機能:
QTPがサポートする録音機能。QTPの記録と再生の成功率は非常に高く、セレンの成功率は非常に低くなっています。

スクリプト編集機能:
セレンなどのjava、pythonなどに精通し、VBScriptに精通している人は、QTPが好きかもしれません。

フレームワーク処理機能:
QTPサポートは、データ駆動に関して非常に柔軟です。
データ駆動型の自動化スクリプトセレンは、簡単な設定で完了できます(Seは自分でプログラミングすることにより、このフレームワークをよりよく構築できます)

一般的な自動テストツール-UFT(新しいものはありません)
◆UFT(統合機能テスト)
◆UFTとは
◆UFTはQTPの新しい名前で、統合機能テストフレームワークと呼ばれます。新機能は次のとおりです。

  1. インサイトインテリジェント画像認識
    画像認識は、常に自動テストの障害の1つでした。ゲームオートメーションのいくつかのオートメーション、フラッシュダイナミクスが含まれています。
    (画像に基づいていくつかの要素を見つけて操作する場合のみ)
    2.マルチスクリプトのデバッグ
  2. PDFテキスト検証ポイント
    UFTはPDFファイルを認識して直接比較し、テキスト検証ポイントを挿入することもできます。(比較無味)
    4.オープンソースCIを
    サポート5.モバイルデバイスをサポート(ただし、モバイルオートメーションテストには独自のツールがあります)

一般的な自動テストツール-RFT
RFT(IBM Rational Functional Tester)
IBMは、機能テストと回帰テストに適し自動テストツールですJava、.NET、およびWebアプリケーションに基づく記録と再生のためのオブジェクト指向テクノロジー。
録音および再生機能は、プログラムが実行される環境に依存しすぎるため
◆したがって、このツールを使用するより多くのテストチームが独自の手動スクリプト方式を採用して、スクリプトの可読性と保守性を向上させています。

フレームワーク構造:独自の階層化アーキテクチャーがあり
ます。1. RFTスクリプトは、AppObjects、タスク、およびテストケースに分類できます。2
. AppObjects:ページ上の要素を定義します。
3.タスク:ユニット化して再利用できるタスクを定義し、AppObjectsで定義された要素を呼び出します。
4.テストケース:ケースはスクリプトとして記述され、各テストシナリオは1つ以上のスクリプトとして記述できます。各スクリプトは、タスクで定義された再利用可能なタスクのみを呼び出します。

RFT構造操作図:
ここに画像の説明を挿入
RFTの普及と使用の範囲がそれほど大きくないのはなぜですか?
1.ヘルプドキュメントとチュートリアルがほとんどなく、体系的ではありません。提供されるAPIインターフェースは説明ドキュメントであり、ドキュメントの使用方法ではなく、いくつかの例が提供されています。
2.環境要件は比較的高く、スムーズな使用には少なくとも1 Gのメモリが必要で、512Mメモリを使用するとカードの速度が低下します
3.パラメータ化では、Xm |形式のファイルの使用のみがサポートされ、テストデータを保存します。
4.再生速度が非常に遅い。

一般的な自動テストツール-WINRUNNER
古い世代の自動テストフレームワークは、以前に記録、再生、変更、変更できる自動テストモードです。QTPと同様に、リソースライブラリを使用してコントロールを格納し、2006年までは、テスト業界で最も広く使用されている自動テストツールでした。
2006年にMercuryは** HPに買収され、WinrunnerはHP製品ファミリから姿を消しました。** HPがQTPを独自に実装する理由に加えて、C言語のみをサポートするモードは、当時の普及率を達成しただけでなく、独自のスケーラビリティも妨げていました

新しいタイプの自動テストツール:Sikuli
画像認識に基づくテストツール
◆革新的なグラフィカルプログラミングテクノロジー
Sikuliは、MIT(MIT)の研究チームがリリースした新しいグラフィカルプログラミングテクノロジーです。画像検索技術に基づいており、一連のスクリプト言語とJython(PythonのようないくつかのJavaコードをサポートするJavaでのPython言語の完全な実装)に基づく統合開発環境を提供します(b / s、c / sのいずれであっても、私はイメージベースをサポートしています)
ユーザーはスクリーンショットを使用して、GUI要素を持つプログラムを直接お辞儀して、インタラクティブな操作を完了することができます。

◆Sikuliスクリプト
Sikuliのスクリプト記述は、それ自体がさまざまなカスタムクラスとメソッドを提供するPython文法仕様に従っています。
SikuliはJythonに基づいており、そのコアコードはJavaで記述されています。
◆Firefoxブラウザを自動的に開いてGmailにログインし、Sikuliスクリプトの独自性をすばやく確認する簡単な例

スクリプトに画像が含まれている:
私は自分のマシンでスクリーンショットを撮りましたが、これは他の人のマシンとは異なる場合があります
ここに画像の説明を挿入

自動テストツールの選択要件

◆オープンソース無料
◆柔軟で使い
やすい◆後の使用例での保守が容易
◆複数の言語をサポート
◆単体テストフレームワークとの統合が容易
◆同時に複数のブラウザーをサポートでき、他のサーバーのリモート起動をサポート高度に再利用可能
◆コードを個別に制御して構築フレームワーク、プラットフォームなどにはかけがえのない利点があります

公開された82の元の記事 賞賛された7 訪問4166

おすすめ

転載: blog.csdn.net/sunshine612/article/details/105452801