広告リコール自動テストパス
次の記事は、QA への転送から取得されます 、著者はQAを回した
QA伐採の疲れを回します
著者|ヤオ・シャオミン
広告配信、広告検索、広告請求などのシステムの開発と保守を含む広告事業は、リコールプロセス全体におけるテストの取り組みについて説明します。
まず、ページからのリクエストから広告インプレッションの請求まで、プロセス全体を見ていきます
このうち、商業リコールサービスの主な役割は、APPサービスと基礎となる検索サービスを引き受け、テストの過程で、上層のパラメータだけでなく、下位レベルのリターンデータにも注意を払う必要があり、通常、広告リコールを測定する際に、次の一連のアクションを実行する必要があります。
テスト プロセス全体から、手動テストにはいくつかの欠点があります。
APPサービスの安定性に依存して、APPページがハングアップしたり、サービスがハングアップしたりした場合、テストを行うのは困難です
手動テスト プロセス全体は長く、ページを切り替え、個々のサービス ログを切り替える必要があります
リコール結果の正確性は保証されませんが、リコール戦略や照合順序が複雑な状況では、リコール広告の正確性を判断することは困難です
リコールログと請求ログは、特に多くのコンテンツをチェックする必要があり、基本的なログの各パラメータは、検証する必要があり、特別な注意を必要とします
広告リコールテストは、最初のバージョンを改善します
その後、テストを容易にし、すべての側面への依存を減らすために、毎日のテストから精製するために、商業テストグループは、リコール比較、リコールログ、リコール結果、リコールケースツールのためのいくつかのツールを開発しました。
比較ツールをリコールします動的テスト環境と安定したテスト環境、動的サンドボックス環境と安定したサンドボックス環境、サンドボックス環境とオンライン環境、テスト広告戦略の新しい変更など、2つの環境を比較するために適用され、ベンチマーク環境のセットは、比較することができます、広告リコールの影響は、この需要の変化を見ることができます。
ログ ツールをリコールします、直感的には、単一の広告リコールログの情報を見ることができます、様々な広告情報を表示し、より簡潔で明確なログを見てよりも、サーバーにログインしたくない、このツールで解決することができますが、まだサーバーにID情報を取得する必要があります。
結果ツールをリコールします、特定の環境リコール結果に適用され、APPページに依存しない、環境を選択し、広告パラメータを入力し、リコールを行うことができます、また、手数料を請求することができます。
ケースツールをリコールします、通常のメンテナンス広告リコールのユースケース、いくつかの一般的なテストシナリオケース、プラットフォームへの定期的なメンテナンス、リコールのたびに、この側面から広告パラメータを見つけ、パラメータを組み立てる必要はありません、テストの事前準備作業を大幅に簡素化します。
これらのツールに基づいて、手動テストから半自動テストへの移行は、上流環境への依存を取り除くだけでなく、APPページによる元のリコールから、リコールを行うことができるツールページを介して単純なものに変換され、リコールの結果は、より直感的であり、元のAPPページは、基本的な商品情報のみを表示することができますが、広告は、通常の商品の間に隠され、非常に不便で直感的ではなく、今、ツールページは、プロモーション商品情報を表示するだけでなく、広告プロモーション情報を示しています。 また、リコール比較は、私たちの毎日のテストを容易にし、リコール広告の精度をよりよく保証します。
単一のツールは便利ですが、より高い要件があります
上記の4つの便利なツールは、単に非常に使い道ですが、広告の全体のテストプロセスを文字列化していない、半手動半自動化に属し、リコール結果とリコールログは、我々はテスト広告の任意のニーズで行う必要があり、2つの部分の組み合わせテストであるため、プロセス全体をよりスムーズにするために、2つの部分のテスト作業を連結し、いわゆる人々は、いくつかの議論の後、新しいテストスキーム、開発支援テスト、 インターフェイスを使用してログ結果を返し、リコール結果とリコール ログのより良い使用をテストし、一連の回帰テスト シナリオの設計と開発を開始します。
広告リコールの自動回帰テスト シナリオが生まれます
1、広告のコアを理解する
まず、広告のコアを整理し、広告自動化回帰テスト スキームを計画的に実装する必要があります。 広告のライフサイクル全体は、リコールソース - リコール戦略 - スコア - ソート - 控除で構成され、コアセクションは、リコール、控除、戦略であり、これはまた、私たちの毎日のテストプロセスに特別な注意を払ういくつかの重要なリンクであり、広告システムの継続的な反復開発テストの後、ライン、ブレーンストーミング、および次のコアテストシナリオを要約します。
2、コアケース選択と回帰プロセス
現在、コマーシャルは、広告リコールソースに応じて7つの回帰ツールに分類されます
まず、異なるリコールソースを区別し、コアケースを分類し、各リコールソースは、広告の場所を表す必要があります。
第 2 に、各広告ポイントがチェックする必要があるポイントが描画され、通常のチェック ポイント、つまり、リコール広告がリコール条件 (プロモーション期間など) を満たしているかどうかが抽出されます。
繰り返しになりますが、いくつかの特別な広告レベルのために、特別なチェックがあり、特別なチェックのためにこの部分を引き出します。
最後に、請求プロセス中にチェック ポイントが引き出され、控除チェックが行われます。
各ケースは、入力チェック、通常のチェック、特別なチェック、クリック手数料チェックの4つのモジュールを通過し、各モジュールは、チェック後に結果を持って、すべてのチェックは、最終的な結果、ケース全体の実行の成功または失敗を識別し、失敗したケースは、特定の失敗のメッセージを印刷し、どのステップが失敗したか、問題のトラブルシューティングを容易にします。 回帰ツールのチェック チャートを次に示します。
3、自動回帰テストの過程で遭遇した問題と解決策
27 のコア ケースを含む回帰テスト プログラム全体は、オンライン トラフィックが多く、現在開いています。 回帰テストの実行を開始する過程では、さまざまな問題が発生し、一部のケースはアサーションの失敗によって実行結果に失敗しました。 case の安定性を向上させ、回帰テストを実際に機能させるには、ツール全体を最適化し、より一般的な問題と解決策をいくつか選択し、共有しています。
(1) アンチチートポリシーにヒットすると、請求チェックを完了できません
テスト環境は、各ユースケースが広告をリコールする際に、リコール広告の数は不確実ですが、我々は、各リコール広告の控除チェックを行い、頻繁な操作は、ヒット控除手数料アンチチート戦略につながるので、手数料の控除の過程で、同じユーザーのユニークなバウチャーを使用して料金を請求することはできません、異なるユースケースは、ユーザー固有のバウチャーを使用する必要があります。
問題の解決策: ユーザー情報の置換
このシナリオを解決するために、まず、ユーザー固有の資格情報を生成するツールを探し、入力時に重要な情報を交換し、リコールに使用されるパラメータが毎回異なであることを確認し、第二に、すべてのデータを請求する必要はありません。 ユース ケースを実際のシナリオに近づけます。
(2)商品状態,プロモーション状態チェックに失敗した
テスト環境では、ダーティ データの問題によるユース ケース チェックの失敗により、多くのプロモーション データの状態に問題があります。 ダーティ データは、主に 2 つの理由で発生します: 1 つは、異なるテスターが環境データをオンラインで操作する場合、データの状態が一致し、リコール結果の検証に失敗し、他のダーティ データがケースの実行中に作成されたデータから取得され、データの状態に問題があり、後続のリコールが失敗する原因となります。
問題の解決策: データ ガバナンス
データガバナンスツールは、問題データを一括処理する機能を提供し、アカウントごとに問題データを一括処理することも、1つの問題データ処理を行ってもよいし、その役割は、主に2つの部分に反映され、一部は回帰実行前にデータの一部を一括処理し、他の部分は、特別なケースにおいて、各リコールの前に、処理されたデータの状態の検証を行い、データ状態が異常である場合、データを1回前処理し、広告が正常なリコールを可能にすることを保証する。 このような方法でダーティ データが回帰テスト結果に与える影響を回避することは、回帰ユース ケースの安定性に役立ちます。
(3)特殊なシナリオのユースケースは検証できません
回帰テスト計画のユース ケースは、請求金額に関連するユース ケースなど、特定のシナリオで検証する必要があり、特定の条件に依存するか、強制的にチェックしても意味がありません。
問題の解決策: データ構築
構成により、どのユース ケースがどのデータ構築メソッドを呼び出す必要があるかは、後で簡単に拡張できるように、以前は、日常的なテスト プロセスを効率的にするだけでなく、より大きな価値を持つデータ構築ツールも提供されました。 データ構築を基礎とするツールは、日常的に不可欠であり、これは、通常のグループ内の共通の蓄積を必要とし、ツールを使用して、ツールの役割を可能な限り再生し、通常のテスト作業をよりよく支援し、今回は、データ構造と回帰テストを組み合わせて、後の回帰テストの拡大に貢献し、我々はより広いリターン範囲を達成することができます。
(4)ユースケース間の相互影響により検証に失敗する
回帰テスト計画全体は、実行時間が5分程度であり、時間のかかる問題を解決するために、非同期とマルチスレッドを使用してコードを最適化し、現在は80秒程度で、ツールをさらにステップアップすることを考えていましたが、新しい問題が生まれました。 従来の実装方式では,ユースケースが順次実行され,実行結果に問題はなく,現在はユースケースがランダムに実行され,既存のユースケース間で実行過程に影響が及び,実行に成功すべきユースケースが失敗する.
問題の解決策: ユース ケース間のデカップリング
ユースケースは互いに独立して実行され、実行は互いに影響しないので、ユースケースパラメータを選択する際には、携帯電話や輸送手段などの一般的な分類を使用する前に、パラメータ選択も選択され、新しい問題が生じ始め、異なるユースケースがパラメータ選択にできるだけ多様であり、同じカテゴリの選択を避け、ユースケースの実行結果に相互に影響し合う可能性があり、ユースケースパラメータの豊富な選択、 また、回帰ツールの堅牢性も向上しました。
ツールの継続的な最適化により、回帰ツールの安定性はますます高くなり、ツールの成功率は 90% に達することができます。
4、効果の表示
回帰ツールは、主に広告コアサービスがラインに入る前にリターンを含むたびに使用され、この要件テストに合格することを前提に、回帰ツールを介して広告のコアプロセスが影響を受けないようにし、その後、広告のコアサービスのための自己テスト手段を提供し、各ラインを底にします。
現在までに、特定された主な問題は、ポリシーが構成されていない広告スペースに対してコード層が空の処理を行っていないため、他の関連しない広告スペースのリコールが失敗する原因となっているポリシーの 1 つがアップしている場合です。
広告の数が増え、すべての広告レベルへの手動回帰は非現実的であり、各広告サービスがオンラインになる前に自動化された回帰を行う必要があります。 さらに、回帰ツールのオフライン環境も役割を果たしています:例えば、オフライン環境の広告ビット構成は、多くの場合、オンラインと矛盾し、オフライン広告のリコール結果は、需要のバグであると考え、オフラインデータクリーンアップエラーは、リコール結果が期待を満たしていない、オフライン環境構成の問題は、リコール結果が期待を満たしていない... これらの問題はオンラインバグではありませんが、これらの問題の存在は、オフラインテストの効率とテストと開発の判断に影響を与え、トラブルシューティングの難しさを高める可能性があるため、リコールツールは定期的にオンラインで実行され、リコールの干渉要因のいくつかを排除するのに役立ちます。
私たちの話は始まったばかりです
これらの問題は、ツールの可用性とプロモーション性を継続的に改善し、開発を順調に進め、広告プロセスの継続的な反復的な開発において、テストツールも常に最新の状態に維持し、継続的な豊かさと完璧なツールに固執し、包括的な広告自動化プロセスを実現する上で継続的に進歩し、人材を解放し、より価値ある場所に人材を投入する必要があります。
「発見」-「見る」に移動し、「友人が見ている」を参照します。