検索
ホームページ運用・保守安全性Android で一般的に使用される 9 つの自動テスト フレームワークとは何ですか?

モバイル APP の自動テストの難しさ

モバイル APP の自動 UI テストは長い間困難でした。その難しさは「変更」にあります。 」という UI の問題が発生し、自動化されたユースケースの大規模なメンテナンスが発生します。 階層化テストの観点から見ると、 自動テストは階層ごとに実行する必要があります。最も多くの自動テストを行う必要があるのは、実装が最も簡単で、問題を早期に検出するのが最も簡単な単体テストです。次に、ロジックを検証する目的で自動化される インターフェイス レベルのテスト が続きます。インターフェイスの相対的な安定性により、自動テストのコストは比較的許容範囲内ですが、最大の自動化コストは UI レベルの自動テストですが、UI インターフェイスはユーザーのエフェクト表示に直接フィードバックされます。中程度の、特に BVT レベルの自動テストも非常に必要です。

これらを取り除くには、自動テストを導入する必要があります。時間があるので、テスターが自動化フレームワークを選択する際の参考になるように、Android で一般的に使用されるいくつかの自動テスト フレームワークの類似点と相違点をまとめます。

Android一般的に使用されるいくつかの 自動テスト フレームワーク比較

1. Monkey は Android SDK です。組み込みのテスト ツールは、テスト プロセス中に擬似ランダム ユーザー イベント ストリーム (キー入力、タッチ スクリーン入力、ジェスチャ入力など) をシステムに送信して、開発中のアプリケーションのストレス テストを実装します。ログ出力。このツールは実際にはプログラムに対して一部のストレス テストのみを実行でき、テストされるイベントとデータはランダムでカスタマイズできないため、大きな制限があります。

Android SDK によって提供されるもう 1 つのテスト ツールは、MonkeyRunner です。厳密に言うと、MonkeyRunner は実際には API ツールキットであり、Monkey よりも強力で、データとイベントをカスタマイズするためのテスト スクリプトを作成できます。スクリプトはPythonで書かれているため、テスターに​​高いスキルが求められるため、学習コストが比較的高いのがデメリットです。

3. Robotium も Instrumentation に基づいたテスト フレームワークです。主に特定の APK の自動テストを実行します。APK にはソース コードがある場合とソース コードがない場合があり、強力です。欠点は、テスターが特定のソース コードを持っている必要があることです。 Java の知識。基本的には Android の基本コンポーネントを理解していますが、複数のアプリを使用することはできません。

4. Instrumentation は、Google が提供する初期の Android 自動テスト ツール クラスです。当時は JUnit も Android をテストできましたが、Instrumentation を使用すると、フレームワーク レベルであっても、アプリケーションに対してより複雑なテストを実行できます。他の多くのテスト フレームワークの基礎となっており、同じプロセスでテスト対象のコンポーネントをロードできます。豊富な高レベルのパッケージが多数あり、ユーザーはインストルメンテーションに基づいた他のフレームワークを使用して、過度の二次開発を避けることができます。ただし、インストルメンテーションはクロスアプリケーションをサポートしていないため、インストルメンテーションに基づくフレームワークはこの欠点を継承します。

5. UIAutomator は Google が提供するテスト フレームワークで、ネイティブ Android アプリやゲームの高度な UI テストを提供します。基本的に Android のすべてのイベント操作をサポートしており、Instrumentation と比較して、テスターがコード実装の詳細を理解する必要がありません (UiAutomatorviewer を使用すると、ソース コードを見ずにアプリ ページのコントロール プロパティをキャプチャできます)。

Java をベースにしたテスト コード構造はシンプルで、書きやすく、学習コストも低くなっています。一度コンパイルすると、すべてのデバイスまたはシミュレータでテストを実行でき、複数のアプリ間で実行できます (例:アプリにはアルバムを選択し、カメラを開いて写真を撮る機能があります。これがアプリ間テストです)。

このツールの欠点は、SDK 16 (Android 4.1) 以降のみをサポートしており、ハイブリッド アプリケーションや Web アプリケーションと互換性がないことです。

6. Espresso は、Google のオープンソースの自動テスト フレームワークです。 RobotiumやUIAutomatorと比べて規模が小さく、APIがシンプルで精度が高く、テストコードの記述も簡単で、すぐに始めやすいのが特徴です。インストルメンテーションベースであるため、異なるアプリケーション間で使用することはできません。

7. Selendroid: Instrumentation に基づいたフレームワークであり、Webdriver プロトコルと完全な互換性があります。 Selendroid は、エミュレータと実際のデバイスでの実行をサポートしており、スケーリングと並列テストのためのグリッド ノードとして統合できます。

Athrun は、淘宝網が開発したモバイル テスト フレームワーク/プラットフォームで、iOS と Android の両方をサポートしています。 Android 部分も Instrumentation に基づいており、Android のオリジナルの ActivityInstrumentationTestCase2 クラスに基づいて拡張され、オブジェクト指向 API の完全なセットを提供します。

Appium は、クロスプラットフォームのオープンソース自動テスト ツールであり、最も強力なフレームワークの 1 つと考えられています。次のコンテンツでは、その特徴と使い方を詳しく紹介します。

Appiumメリットとデメリット

その利点:

①オープンソース;

②ネイティブ アプリのサポート、 Hybird アプリ、Web アプリ;

③Android、ios、Firefox OS をサポート;

④サーバーはクロスプラットフォームでもあり、Mac OS X、Windows、または Linux を使用できます;

#その哲学は次のとおりです:

Appium を使用した自動テストでは、アプリを再コンパイルする必要がありません。

は、Java、JavaScript、PHP、Python、C# など、テスト スクリプトを作成するための多くの言語をサポートしています。 、Ruby およびその他の主流言語;

WebDriver が拡張されたため、自動テストのために車輪を再発明する必要はありません。 (WebDriver は、WebApp をテストするためのシンプルで高速な自動テスト フレームワークであるため、Web 自動テストの経験を持つテスターは直接開始できます);

自動モバイル テストはオープン ソースである必要があります;

以上がAndroid で一般的に使用される 9 つの自動テスト フレームワークとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません