背景 (問題の説明)
最近、筆者は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) デプロイメント モード: 仮想マシン + コンテナ クラウドの高可用性デプロイメント
最後に、私の記事を注意深く読んでくださった皆さんに感謝します。互恵性は常に必要です。それはそれほど価値のあるものではありませんが、必要な場合はそれを取り上げることができます。
これらの資料は、[ソフトウェア テスト] の友人にとって、最も包括的かつ完全な準備倉庫となるはずです。この倉庫は、最も困難な旅を乗り越える何万人ものテスト。お役に立てれば幸いです。エンジニア