ご存知のとおり、ソフトウェア サービスとコンポーネント間の対話は主に多数の API インターフェイスに依存しています。
Huawei Cloud の 300 以上の商用クラウド サービスを例にとると、各サービスには平均 500 個のインターフェイスが含まれており、インターフェイスの総数は 100,000 にも及びます。インターフェイス呼び出しコンテキストのビジネス シナリオは想像を絶するほど複雑です。
API テスト シナリオが漏れなく、ライブ ネットワーク上で深刻な問題を引き起こすことなく、可能な限り完全であることを確認するにはどうすればよいですか?これは現在人々が遭遇している古典的な問題であり、一般的なボトルネックは主に次のとおりです。
現在のインターフェイス テスト設計は担当者の経験に依存しており、テスト データの構築方法が単一であるため、既存のネットワークの実際のアプリケーション データ配布シナリオを反映することが困難です。
- 数万、さらには数十万の操作パスを構成する可能性がある数千の API インターフェイスに直面すると、E2E シナリオのテストとオーケストレーションのワークロードは膨大になります;
- 既存の API インターフェイス テスト生成ツールは、基本的に、コード カバレッジ目標に基づいた SBST に基づくファズ テスト、またはライブ ネットワーク データに基づく単一インターフェイスの再生を使用します。インターフェイスのビジネス コンテキストは認識されていません。マルチインターフェイス関数の対話シナリオの場合、発電効率は悪く、非効率的です。
-
それでは、Huawei Cloudはこれらの問題をどのように解決するのでしょうか?
▶Huawei Cloud ATGen: API インターフェイスのコンテキストを認識し、API フルシナリオ テストを独自に生成し、人間とコンピューターの対話モデルを変換します。
ATGen (APITestGenerator) は、プロセス全体で 1 行もコードを記述することなく、アプリケーション API シナリオレベルのテストの完全自動設計、生成、実行、判定を実現する、コンテキストアウェア API シナリオレベルのゼロコード独立テスト生成サービスです。
従来のテスト設計と実行の相互作用モデルでは、設計文書を手動で理解し、テスト計画を整理し、テスト自動化開発を行う必要があるため、参加者は製品またはサービスのビジネスおよびインターフェース文書に精通しており、テスト技術に精通している必要があります。 、テスト自動化フレームワーク、およびテスト自動化 コードの作成。
現在、独自に設計、生成、実行、判定される AI アルゴリズムのサポートにより、API シナリオ レベルのテストにおける人間とコンピュータのインタラクション モデルは大きく変化しています。
インテリジェントなアルゴリズムによってサポートされる ATGen 人間とコンピューターの対話モード
-
テスト プロセス中、マシンはドキュメントとデータを個別に解析し、API シナリオ レベルの操作依存関係 ODG (OperationDependencyGraph) グラフを自動的に生成します。テスターは適切な修正を行うだけでよく、マシンは自律的に ODG を探索および横断できます。グラフの実行と結果の完了が同期的に行われるため、テスターは判定やレポート作成において、カテゴリごとにまとめて結果を確認するだけで済みます。
▶Huawei Cloud ATGen: 注目のテクノロジーとビジネス価値
フォワード API インターフェイス定義ドキュメントに基づいて、Huawei Cloud ATGen は API テスト コンテキスト操作依存関係グラフ (ODG) を自動的にマイニングし、ODG を探索および横断して API テスト シーケンスを独自に生成し、リアルタイムで API テスト リクエストを構築して発行します。 API テストの応答結果を決定し、ODG マップを動的に修正し、次の生成ラウンドを最適化します。
Huawei Cloud ATGen の 6 つの主要な機能:
Yaml ドキュメントのゼロ コードの Rest API インターフェイス定義に基づいた完全自動インテリジェント テスト生成をサポートします。
Rest API インターフェイス呼び出しコンテキストの認識: - インターフェイス定義の Yaml ドキュメントを解析し、API インターフェイス間のコンテキスト パラメーター転送の依存関係、および CRUD の追加、削除、変更、クエリの依存関係をマイニングし、インターフェイスを生成します。操作シーケンス依存関係グラフ ODG ;
-
ODG の自律的な探索、トラバース、および修正: ODG を探索およびトラバースして、テスト シーケンスをバッチで生成し、それらを自動的に実行用に発行し、応答フィードバックに基づいて ODG 図を動的に修正します。
- 13 インターフェイス テスト データ生成メソッド: インターフェイス コンテキストの自動パラメーター受け渡し、辞書値、列挙値、サンプル値、バリエーション値の例、境界値、中間値、ランダム値などをサポートします。 13 Aテストデータの生成方法;
- テスト決定ポイントを生成するための自動マイニング: インターフェイス定義とステータス コードに基づいて明示的なテスト決定ポイントを生成します;
- テスト結果のクラスタリングとバッチの効率的な確認: ビジネス リターン コード、類似のサブシーケンス、パラメータ生成タイプに応じたテスト結果の階層的クラスタリングをサポートし、テスターがカテゴリごとにバッチでの失敗を確認しやすくなり、主要な船荷証券;
- *特定の技術的な詳細については、ICSE および ASE で公開された主要なカンファレンス論文を参照してください [1、2]。
Huawei Cloud ATGenのビジネス価値とアプリケーションの見通し:
-
インターフェイスと機能品質保護ネットワークを迅速に構築: 新しく設立された製品サービス チーム、またはフルタイムのテスターがいないフル機能のチームの場合、参加者がほとんどまたはまったくいないゼロコードの完全自動化を実現できます。インターフェイスの完全なシナリオ レベルのテストにより、インターフェイス レベルおよび機能シナリオ レベルのテストのための基本的な品質保護ネットワークを迅速に構築します。
- 低コスト、高カバレッジ: フルタイムのテスター、テスト専門家、高い成熟度を備えたテスト チームの場合、テスト設計の効率が大幅に向上し、低コストでより高いテスト シナリオ カバレッジを達成できます。 . および欠陥遮断率;
- パイプライン品質のアクセス制御の強化: 既存のパイプラインと統合して、既存のスモーク テストのアクセス制御を強化し、ビジネス ロジックの重大な欠陥をさらに阻止できます。
非コード化インターフェース指向のフルシナリオおよびフル属性テスト: - 通常の API シナリオテストに基づいた異常シナリオ (信頼性テスト) および同時シナリオ (パフォーマンスプレッシャーモデル) の完全自動生成を実現できます。既存のインターフェイス ファズ テストを置き換え、すべてのシナリオでインターフェイスのゼロコード テストを実装します。
Huawei Cloud ATGen は、ファーウェイ内に毎日 30 の製品とサービスのアプリケーションを導入し、ビジネス アプリケーションの効果を 3 次元で測定しています
:
生成効果: - インターフェイス リクエストの成功成功率、成功したリクエストの最長シーケンス長と長さの分布、ビジネスによって採用およびベースライン化されたユース ケースの数などが含まれます;
欠陥検出数: - 欠陥阻止能力、つまり、検出された製品およびサービスの欠陥の問題の数と誤警報率;
カバレッジ: - 白、グレー、ブラック ボックスのカバレッジ、つまりコード カバレッジ、インターフェイスとパラメーターの組み合わせのカバレッジ、ビジネス シナリオのカバレッジなどが含まれます。
ファーウェイ内での 3 つの典型的なビジネス アプリケーション シナリオの実践
ビジネス アプリケーション シナリオ 1-
製品形態:ストレージ管理・制御サービスクラウド製品、ノースバウンドサービスベース、組み込みストレージデバイスのサウスバウンド制御
テストチームの規模: 50 人
ノースバウンド Restful インターフェイスの総数: 2300
適用前の現状: チームは設立されたばかりで、インターフェースと機能テスト自動化保護ネットワークが不足しています
アプリケーション モード: インターフェイス テストと機能テスト保護ネットワーク テスト ケースを最初から迅速に構築します。
アプリケーションの効果: 3 つの主要カテゴリの欠陥をカバーする合計 350 のインターフェイス欠陥が見つかりました。API インターフェイス レベルのリクエストの有効性は 80% に達し、誤検知率は 10% です。
ビジネス アプリケーション シナリオ 2-
製品形態:オペレータ&エンタープライズネットワーク保証&インテリジェント運用保守クラウドサービス、パブリッククラウド/プライベートクラウド導入
テストチームの規模: 50 人
ノースバウンド Restful インターフェイスの総数: 10,000
適用前の現状: 8000 件のインターフェイスおよび機能テスト ケース
アプリケーション モード: カバレッジの強化と既存のテスト ケースの補足
適用効果: シナリオ テストのカバレッジが 30% 増加し、深いビジネス ロジックの問題が 30 件新たに発見されました。例は次のとおりです。
ビジネス アプリケーション シナリオ 3-
製品形態:XXツールクラウドネイティブサービス
テスト チームの規模: フル機能のチーム、フルタイムのテスターはなし
Restful インターフェイスの総数: 1300
申請前の現状:インターフェーステストケース10,000件
アプリケーション モード: ATGen をツール サービスのアルファおよびベータ環境パイプラインに統合します。ビルドが完了し、回帰テスト タスクが完了すると、アルファおよびベータのアクセス制御強化として、失敗したインターフェイスがあるかどうかを検出する生成タスクが自動的にトリガーされます。
アプリケーションの効果: 60 個のインターフェイスの欠陥がさらに発見され、API インターフェイス テスト生成の有効性は 82% に達する可能性があります。
クラウド製品のバージョンの急速な反復に直面して、アプリケーション シナリオはますます豊富になり、製品機能はますます複雑になり、品質を保証するために人間によるテストの経験のみに依存することはますます困難になりつつあります。時代の要請に応え登場した機能テストロボットATGenは、低コスト、ゼロコード、高カバレッジ、低偽陽性のAPIフルシナリオテストを実現し、開発者に高品質なサービスを提供し続けます。
【1】「MOREST: 実行フィードバックを使用したモデルベースの RESTful API テスト」、ICSE ’22、
【2】「自動 RESTful API テストの業界実践」、ASE'22
詳細については @HUAWEICloud をフォローしてください
以上がAPIフルシナリオのゼロコードテストロボット、Huawei CloudがCodeArts TestPlanでATGenをリリースの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。