1.自動テストの難しさは?
①公共オートメーションユースケースの維持
②パブリックUIメソッドのメンテナンス
③安定性と効率の向上:
|、例外処理パッケージ
|、階層化テスト
|、共有オブジェクトライブラリ/テストライブラリのビルド
|、サードパーティ製プラグインの紹介
|、GUIビジネスプロセスの分離と分割、エンドツーエンドのUIテスト(Webからモバイルへのビジネスフローテストなど)が長すぎないようにしてください。
|、自動テストの実装に接続し、自動テストの安定性と効率を向上させるために、テストの一部を置き換えるためにモック/インターフェーステストを導入します
|、Webは認識されていないサードパーティのコントロールを処理します。jsを使用して、できるだけ多くの、より安定した効率的な処理を行う
|、Uiautomatorは、不確実なAndroidシステムのシステムレベルのポップアップを監視および処理します
④自動テスト実施プロジェクト選定戦略:
|、再現性が高く必要なテストプロセス
|、プロジェクトサイクルは長く、システムバージョンは一定であり、需要によってプロジェクトが頻繁に変更されることはありません
⑤自動テストフレームワークには以下が含まれます。
|、テストケースの分散実行:seleniumGrid
|、スクリプトのモジュール化:階層化
|、データ駆動型:mysqlストアデータ、testngデータプロバイダー
|、ログ分析:ローカルlog4ユースケース実行情報
|、エラーのスクリーンショット:スクリーンショットを監視
|、レポートのリカバリ:テストデータストレージ、mysqlデータベースなど
|、共有オブジェクトライブラリ/パブリック関数ライブラリ:UI要素の情報管理/ UI要素の操作方法のメンテナンス
|、環境構成:chromedriver / adb / IEdrver / Firefoxdriver
|、ユースケース統合設計パターン:基本クラス(テストクラスの前クラス/後クラス)、複数のユースケースが要件/モジュールに集中
|例外処理:testngListenterモニタリング、UIwater処理システムレベルのポップアップウィンドウ
|、インターフェースとモックの統合
|、サードパーティツールの紹介:adb / shell / redis
|ユースケース実行方法(分散テストseleniumGrid、デバイスの複数同時テスト)
2. ATMマシンデポジットテストケースは、おおよそ次のとおりです。
通常の紙幣の入金、残高表示
高い模造コインが投入され、残高が表示されます
偽のコインを入れると、残高が表示されます
通常のコインが不足しており、残高が表示されます
普通のコインを半分に破って投入すると、残高が表示されます
通常のコインが折られて残高が表示されます
通常のコインと偽造コインが投入され、残高が表示されます(フェーズの入れ替え)
通常のコインや1ドルなど、入金に対応していないコインが表示され、残高が表示されます。
3. jmeter同時テストのボトルネックは?
サーバーのネットワーク帯域幅が低すぎるため、QPSが低すぎます。1秒あたりのQPSリクエスト数=同時数/平均応答時間
jmeterはローカルでサーバーに負荷をかけていますか???
サーバー上のab(Apache Bench)ストレステスト???
4. jmeterパフォーマンステストの焦点は何ですか?
スループット、エラー率、応答時間、システムリソースの使用状況
スループットは、同時実行数と平均応答時間の数に関連しています。アプリケーションシナリオのアクセスプレッシャーの下では、特定のアイテムがシステムの最高値に到達する限り、システムのスループットは上がりません。プレッシャーが増加し続けると、代わりにシステムのスループットが低下します。 、その理由は、システムが過負荷状態であり、コンテキストの消費、メモリ、およびその他の消費によってシステムのパフォーマンスが低下するためです。
エラー率:0より大きいエラー率は、システムの問題を示すものではありません。結果ツリー、応答時間、およびサーバーリソースの使用状況を調べることにより、システムでボトルネックが発生している場所を特定できます。
リソースの使用状況:サーバーにリモートで接続した後、topなどのコマンドを使用してシステムリソースの使用状況を監視し、free -mを使用してメモリの使用状況を表示します。
応答時間:要求への応答に必要な時間 =ネットワーク送信時間:N1 + N2 + N3 + N4およびアプリケーションサーバーの処理時間:A1 + A3およびデータベースサーバーの処理時間:A2
5. jmeterインターフェースのテスト時にタイムアウト期間を設定しますか?
圧力を上げると、接続タイムアウトエラーが発生する可能性があります。すべてのスレッドを終了することはできません。使用できます。
6.自動テストのエンジニアリング?
フレームワークの単体テストを使用する
7. jmeterの相対並行性と絶対並行性:
絶対的な同時実行性:同期タイマー(Synchronizing Timer)は、絶対的な同時実行性を実現するために使用されます。つまり、特定のランデブーポイントで同時にリクエストが発行され、ランデブーポイントはスレッドの数よりも多くすることはできません。
一般的なタイムアウト>リクエストセット数* 1000 /(スレッド数/開始時間){10 * 1000 /(200/10)}
パフォーマンステストに同期タイマーを使用する場合、集計レポートの応答時間は通常、インターフェイスの実際の応答時間よりも長くなることに注意してください。他の監視ツールを使用して、インターフェイスの実際の応答時間を表示できます