財務データの非機能テストの穴をくぐり抜けた後の経験

背景 (問題の説明) 

最近、筆者は3 つの銀行のデータセンターで3 つの非機能テストタスクを連続して受けていましたが、これで終了しました。この期間を振り返ると、多くの落とし穴を経験しました。データセンターの本質は、エンタープライズ機能の再利用と統合です。共有には、急速に変化するビジネス ニーズに機敏に対応する必要があるため、高品質のデータ、抽出のサポートだけでなく、さまざまなプラットフォームとコンポーネントのサポートが必要です。降水だけでなく、再利用可能、共有可能、弾力的に拡張可能なサービス機能も備えています。したがって、非機能テスト サイクル全体で、お客様の問題点とニーズに応じて次の作業が行われました。

テスト戦略 

需要調査段階: 予備的な需要調査を担当し、さまざまな金融ビジネス シナリオにおけるデータ機能の要件を明確にし、まずデータ センター自体のさまざまなビジネス特性に基づくデータ資産とインデックス システム、そのデータ親族マップ、データ収集に精通します。処理、ストレージ、プレゼンテーションなどのプロセスは、さまざまなコンポーネントの特性を使用し、次に、さまざまな典型的なビジネス シナリオ (顧客マーケティング、財務パフォーマンス、リスク コンプライアンス、意思決定サポート、規制報告、支店アプリケーション、製品イノベーション、インテリジェント アプリケーション、データセンターによって提供されるアクセス方法 (データ サービス、アルゴリズム サービス、コンピューティング サービス、検索サービス、モデル サービス、画像認識などを含む)、API かビジュアル インターフェイス、メッセージ サブスクリプション モード、さまざまな時間間隔でのアクセス頻度とアクセス ピーク値、単一クエリの時間範囲間隔、単一クエリで返されるレコード詳細なデータ分布曲線。そして、マインドマップを利用して、対応するテストポイントと需要調査フォームを整理し、最終的な需要調査フォームでは、典型的なアプリケーションシナリオと指標などをカバーし、非機能コンポーネントの各コンポーネント設計に対応するテスト戦略を説明します。テスト計画。さまざまな非機能シナリオに到達して定量化します。

テスト準備段階: さまざまなシナリオと多態性データ ソース (ES、hive、hbase、mysql など)、データ ボリューム要件) テスト データに対応するスクリプトを準備します。

テスト実装フェーズ:

非機能テストは、まずコンポーネント、次にアプリケーションの概念に基づいて実行され、高可用性、高パフォーマンス、高拡張性の 3 つの側面から検証されます。さまざまなデータ分析やデータプロダクトの開発が可能で、データ入力レイク、データ統合など、汎用的で信頼性の高いプラットフォームサポート機能を提供します。データ統合機能、データ移行機能、データ コンピューティング機能、データ ストレージ機能、およびさまざまなデータ形式でのデータ アクセス機能が含まれます。

信頼性の面では、データミドルプラットフォームは銀行業務システムの重要な基本基盤であるため、フロントエンドシステム全体にサービスを提供し、内部および外部の業務システムをサポートし、データミドルプラットフォームの使用は重要な依存関係にあります。多くの基盤となるデータ バックグラウンド テクノロジ アーキテクチャ上で、そのビジネス継続性は前例のない課題に直面しています。ビジネス継続性の問題には特別な注意を払う必要があり、このシステムは多くのコンポーネントを備えたインターネット企業のアーキテクチャを利用しているため、信頼性の問題がより顕著になります。そのため、非機能試験および信頼性試験において、ゲートウェイの電流制限やダウングレードが有効であるかどうかを以下の観点から検証してください。グローバル、アプリケーション、およびサービスの次元に基づいて電流制限の有効性を検証します。Webサービス クラスター ノード、データ API ゲートウェイ クラスター、データ API サービス、データ クエリおよび視覚化などのクラスター ノードのクラスターの有効性を検証します  。サービスのダウンタイム、トラフィックの急増、キャッシュの侵入、その他の障害状態を検証し、他のサービスのコンピューティング リソースや重要なビジネスへの影響を確認します。マイクロサービス コンポーネント hystrix は、サービスの融合と機能低下を実行して、障害連鎖反応の有効性を防ぎます。データ統合ジョブが再実行をサポートするかどうか。

スケーラビリティの観点: たとえば、データセンターコンポーネントのビッグデータ基本プラットフォームコンポーネントは、大規模クラスタサーバーの物理的な拡張、分散ストレージのノードとスペースの拡張、分散コンピューティングなど、優れたスケーラビリティを備えている必要があります。 、バッチ コンピューティング、ストリーム コンピューティングのスケーラブルなコンピューティング能力、分散データベースのスケーラビリティ、インテリジェントなデータ管理、データ フェデレーション機能、リソース管理とマルチレベル スケジューリングの制御などにより、高可用性、高同時実行性、大規模なアプリケーション シナリオをサポートできます。データ。そのため、さまざまな面で拡張性を検証しました。検証用のサービス クラスター処理ノードの柔軟なスケーリングが含まれます。コンピューティング ノードのスケーラビリティが検証されています。

テストの進行管理の観点: テストプロセス中に、データ駆動型のデータサイエンス手法を使用して、チームパートナーと協力して、テスト結果、モニタリングデータ、進行状況の逸脱などに基づいて、非機能テストの実装戦略をタイムリーに調整します。経験的な判断で補完; 並列度を上げて進捗偏差を5%以内に抑える。テスト サイクルの進行中、欠陥の数はストレス テストの進行とともに収束する傾向を示します。

テストレポート段階: テストモニタリングデータと結果データを収集し、テストレポートを作成し、欠陥の数と発生源分布を分析し、プロジェクトデータ資産を抽出します。この非機能テストの実施を通じて、当社は業界の高度な経験を活用し、データセンターの標準システム (基本規格、技術規格、安全規格、アプリケーションおよびサービス規格) にも精通しています。 

  データセンターには、次のような共通の技術コンポーネントが含まれます。

  1)ビッグデータ基本プラットフォームの構築には、データ内のプラットフォームデータのプロバイダーであるCDPビッグデータプラットフォームを採用します

  2) ビッグデータ基盤プラットフォームのフロントエンド開発フレームワーク「Vue」

  3) ビッグデータ基盤基盤バックエンド開発フレームワーク Spring Boot

  4) データセンター内の統合ポータルは springcloud フレームワークを採用

  5) アドホック多次元 OLAP 分析エンジン: kylin

  6) MPP  SQL クエリ エンジン impala

  7) ログ管理システムELK

  8) ログ分析と収集 filebeat

  9) 認証ケルベロス

  10) オフラインデータベース: ハイブ

  11) 分散ファイルシステム: HDFS

  12) アドホック クエリ KV ストレージ プラットフォーム: HBase

  13) オフライン コンピューティング プラットフォーム: スパーク

  14) リアルタイムコンピューティングプラットフォーム: 嵐

  15) 準リアルタイム コンピューティング プラットフォーム: スパーク ストリーミング

  16) データ プラットフォーム リバース プロキシ/ロード バランシング: F5、nginx

  17) ログ情報およびデータ分析情報の保存と検索エラスティック検索

  18) ホットデータキャッシュサービス: redis

  19) データセンターマイクロサービス登録スケジューリング: eureka

  20) ファイルキャッシュ Alluxio、日ごとのファイルパーティションを実現

  21) メッセージミドルウェアKafka

  22) ジョブリソースのスケジューリング: 糸

  23)データベース(構成情報監視情報等を含む):Mysql

  24) Apollo、データセンター構成センター

  25) ログファイル収集:filebeat

  26) サービスヒューズヒストリックス

  27) モニタリングスイート: プロメシュース

  28) APM リンク監視: スカイウォーキング

  29) 認証メカニズム: ケルベロス

  30) サービス登録コンテナリソーススケジューリング Kubernetes

  31) デプロイメント モード: 仮想マシン + コンテナ クラウドの高可用性デプロイメント

最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それはそれほど価値のあるものではありませんが、必要な場合はそれを取り上げることができます。

これらの資料は、[ソフトウェア テスト] の友人にとって、最も包括的かつ完全な準備倉庫となるはずです。この倉庫は、最も困難な旅を乗り越える何万人ものテスト。お役に立てれば幸いです。エンジニア  

 

おすすめ

転載: blog.csdn.net/okcross0/article/details/131982238