Tencent YoutestAnalysisのテストプラットフォームを構築する方法

健全なテストプラットフォームシステムには、テスターの責任分担とコラボレーションモードに関するさまざまな要件があります。
テストプラットフォームの中心的な責任は、ビジネス要件を満たす高品質の配信を完了することです。テストアクティビティには、単体テスト、統合テスト、インターフェイステスト、パフォーマンステストなどが含まれます。これらはすべて、テストプラットフォーム全体を調整して、高品質の配信の管理を完了するために使用されます。

テストプラットフォームの主な目的は、テストの効率を向上させ、それによって製品の品質を向上させることであり、その設計の鍵は自動化です。従来のテスト方法では、テスターがテストケースを手動で実行するため、テスト効率が低く、作業の繰り返しが多くなります。テストプラットフォームが提供する自動化機能により、手動でテストケースを繰り返し実行できるため、テストの効率が大幅に向上します。
「自動化」の目標を達成するために、テストプラットフォームの基本構造を次の図に示します。
オブジェクトライブラリのカプセル化-ビジネスカプセル化駆動型カプセル化、およびこれらのカプセル化システムのコラボレーションを通じて、一連の自動テストプラットフォームを構築できます。もちろん、テストプラットフォーム全体の構築は完全に自動化されたテストではないため、これはごく一部にすぎません。テストプラットフォーム全体を完成させるには、ビジネス担当者、開発者、テスターの協力が必要です。

  1. ユースケース管理
    テスト自動化の主な方法は、スクリプトまたはコードを介してテストすることです。たとえば、ユニットテストケースはコードであり、インターフェイステストケースはPythonで記述でき、信頼性テストケースはシェルで記述できます。これらのテストケースを繰り返し実行できるようにするには、テストプラットフォームでユースケースを管理する必要があります。管理の次元には、ビジネス、システム、テストタイプ、およびユースケースコードが含まれます。たとえば、オンラインショッピングビジネスの注文システムのインターフェイステストケース。
  2. リソース管理
    テストケースは、特定のオペレーティング環境でのみ実行できます。オペレーティング環境には、ハードウェア(サーバー、携帯電話、タブレットなど)、ソフトウェア(オペレーティングシステム、データベース、Java仮想マシンなど)、およびビジネスシステム(テスト中のシステム))。
    パフォーマンステストに加えて、一般的な自動テストは高いパフォーマンスを必要としないため、リソースの使用率を向上させるために、ほとんどのテストプラットフォームは仮想化テクノロジーを使用して、仮想マシン、Docker、その他のテクノロジーなどのハードウェアリソースを最大限に活用します。
  3. タスク管理タスク管理
    の主な責任は、実行のためにテストケースを特定のリソースに割り当て、タスクの実行を追跡することです。タスク管理は、テストプラットフォーム設計の中核であり、テストプラットフォームのさまざまな部分を接続して、自動テストを完了します。
  4. データ管理
    テストタスクの実行が完了した後、さまざまな関連データ(実行時間、実行結果、ユースケース実行中のCPU、メモリ使用量など)を記録する必要があります。これらのデータには次のものがあります。関数:
    現在のユースケースの実行を表示します。
    履歴データとして、明らかな傾向を見つけるために、後続のテストで履歴データと比較すると便利です。たとえば、特定のバージョンの後、単体テストのカバレッジは90%から70%に低下します。
    ビッグデータの一部として、テストのタスクデータに基づいて一部のデータマイニングを実行できます。たとえば、あるビジネスでは年間10,000のユースケーステストを実行し、別のビジネスでは1,000のユースケーステストしか実行しません。2つのビジネスの規模と複雑さは似ていますが、なぜそれほど大きな違いがあるのでしょうか。

データプラットフォームデータプラットフォーム
の中心的な責任には、主に、データ管理、データ分析、およびデータアプリケーションの3つの部分が含まれます。各部分にはさらに多くのサブフィールドが含まれています。詳細なデータプラットフォームアーキテクチャを次の図に示します。

  1. データ管理
    データ管理には、データ収集、データストレージ、データアクセス、データセキュリティの4つの主要な責任が含まれ、データプラットフォームの基本機能です。
    •データ収集:ビジネスシステムからあらゆる種類のデータを収集します。たとえば、ログ、ユーザーの行動、ビジネスデータなどは、これらのデータをデータプラットフォームに転送します。
    •データストレージ:ビジネスシステムから収集されたデータを、その後のデータ分析のためにデータプラットフォームに保存します。
    •データアクセス:データの読み取りと書き込みのためのさまざまなプロトコルを提供する責任があります。たとえば、SQL、Hive、Key-Valueなどの読み取りおよび書き込みプロトコル。
    •データセキュリティ:通常、データプラットフォームは複数の企業で共有されます。一部の企業の機密データは、他の企業がデータを読み取ったり変更したりできないように保護する必要があります。したがって、データセキュリティ戦略はデータを保護するように設計する必要があります。

  2. データ分析
    データ分析には、データ統計、データマイニング、機械学習、ディープラーニングなどのいくつかのサブフィールドが含まれます。
    •データ統計:元のデータに基づく概要データに関連する統計。たとえば、PV、UV、取引金額など。
    •データマイニング:データマイニングの概念には広い意味があります。機械学習やディープラーニングと区別するために、ここでのデータマイニングは主に従来のデータマイニング方法を指します。たとえば、経験豊富なデータアナリストは、データウェアハウスに基づいて一連のルールを作成し、データを分析して、隠れた法則、現象、問題などを発見します。典型的なデータマイニングの事例は、ウォルマートのビールとおむつとの関係の発見です。 。
    •機械学習と深層学習:機械学習と深層学習は、データマイニングの特定の実装に属します。それらの実装は従来のデータマイニング方法とはかなり異なるため、機械学習と深層学習を実装する際には、データプラットフォームをターゲットにする必要があります。機械学習とディープラーニングは独立して設計されています

  3. データアプリケーションデータアプリケーションは、オンラインビジネスとオフラインビジネスの両方を含め、非常に広範囲にわたっています。たとえば、推奨事項、広告などはオンラインアプリケーションに属し、レポート、不正検出、異常検出はオフラインアプリケーションに属します。
    データアプリケーションが価値あるものであるための前提条件は、「ビッグデータ」の必要性です。データの規模が特定のレベルに達した場合にのみ、データベースの分析とマイニングは価値のある法則、現象、および問題を発見できます。データが特定のスケールに達しない場合、特に多くの新興企業にとって、通常は統計を適切に処理するのに十分です。最初から独自のデータプラットフォームを構築するためにBATを参照する必要はありません。

おすすめ

転載: blog.csdn.net/weixin_46033259/article/details/111871363