ホームページ  >  記事  >  テクノロジー周辺機器  >  本番環境の AI 主導のホスト自動化テスト

本番環境の AI 主導のホスト自動化テスト

PHPz
PHPz転載
2024-02-26 11:34:18983ブラウズ

翻訳者 | Chen Jun

レビュアー | Chonglou

従来のメインフレーム アプリケーションとデータ移行を変換するコード最新のテクノロジー アーキテクチャは、企業のデジタル開発における重要なステップと考えられています。効率性と拡張性を追求するため、この移行には、従来のメインフレーム環境から、より柔軟なクラウド コンピューティングまたはオンプレミス ソリューションへの移行が含まれることがよくあります。このような変革は、企業がコストを削減し、セキュリティを向上させながら、より優れた俊敏性とイノベーションを実現するのに役立ちます。この移行により、企業のリソース利用率が向上し、市場への反応が迅速化される可能性もあります。企業は、データの移行とアプリケーションの再構築プロセスがスムーズに進み、ビジネスの継続性とデータのセキュリティが確保されるように、この移行を慎重に計画して実行する必要があります。従来のメインフレーム アプリケーションを最新のテクノロジー アーキテクチャに移行することで、企業は急速に変化する市場の需要にうまく適応し、

本番環境の AI 主導のホスト自動化テスト

を達成できます。しかし、時間が経つにつれて、ダイナミックなビジネス環境の変化も移行プロセスをより複雑にするでしょう。これは、リソースの技術的な再配置であるだけでなく、根本的な変更でもあるため、多くの場合、さまざまな機能の同等性を確認するために厳格なテストが必要となり、それによってアプリケーションの運用上の整合性とパフォーマンスが維持されます。

また、移行後は、新しい要件、進化するビジネス戦略、規制基準の変更によって、アプリケーションに大幅な変更を強いられることがよくあります。そして、小さな調整であろうと大規模な「改修」であろうと、すべての変更は厳格なテストを受ける必要があります。最も重要な課題は、意図しない結果や中断を引き起こすことなく、新しい変更を既存の機能と調和して統合することです。新しい機能の検証と既存の機能の維持という 2 つの要件により、移行後の自動テスト スイートの重要性が強調されていることがわかります。

近年、生成 AI (GenAI) の応用はさまざまな分野に広がっています。メインフレームのモダナイゼーションプロセスに導入されれば、企業はソフトウェアの品質や業務効率などの大幅な向上が期待されるだけでなく、ソフトウェア開発や品質保証の概念にも根本的な変化をもたらし、企業の最終的にはかなりの投資収益率を得ることができます。

適切な自動テスト手法、ツール、ベスト プラクティスを活用して、スムーズなテクノロジー移行中に最新のメインフレーム アプリケーション固有の品質とパフォーマンスを確実に維持する方法について説明します。

従来の手動テストの概念

長い間、大規模なメインフレーム環境は自動テスト手法を受け入れようとしませんでした。 Compuware と Vanson Bourne が共同で実施した 2019 Global Survey によると、自動テスト ケースを採用した回答者は #7% だけであるということは、自動テスト ケースに対する業界の姿勢を説明するのに十分です。これ。

手動テストのジレンマ

対照的に、手動テストは、多くの企業で一般的に使用されている従来の方法です。しかし、メインフレームの最新化の複雑なプロセスでは、このアプローチはますます不適切になり、エラーが発生しやすくなります。結局のところ、テスト エンジニアはすべてのシナリオとビジネス ルールを手動で検証する必要があります。このプロセスには人的ミスが発生する可能性が伴います。さらに、多くのメインフレーム アプリケーションはリスクが高く、ミッションクリティカルな性質を持っているため、テスト プロセス中に微妙なエラーを見落とすと、重大な運用上の問題、大幅なダウンタイム、さらには経済的損失につながる可能性があります。したがって、この欠点は特に顕著になります。さらに、手動テストには次のような欠点もあります:

1. 省略と不正確: 多数のテスト ケースを手動で処理すると、主要なシナリオが欠落したり、データ検証が不正確になったりするリスクが高まります。

2. 時間がかかる: 手動による方法では、あらゆる側面を徹底的にテストするのに多くの時間がかかるため、ペースの速い開発環境では効率的ではありません。

3. スケーラビリティの問題: アプリケーションが拡張および進化するにつれて、手動テストに必要な作業負荷が急激に増加し、エラーを効果的に特定することができなくなります。

一部の企業は、手動テスト チームの拡大を直感的に考えるかもしれません。ただし、これは実現可能な解決策ではありません。この動きはコストの非効率を生み出し、手動テストプロセスに固有の制限に対処できません。企業は、効率を向上させ、エラーを減らすために、DevOps などの最新の方法を通じて自動テスト プロセスを統合する必要があります。

テスト自動化の必要性

全体として、自動テスト プロセスを最新のメインフレーム アプリケーションに統合することで、企業は移行の効率と精度を大幅に向上させることができます。もちろん、メインフレーム環境における自動テストの導入率は高くありません。これを課題と見なす企業もあれば、大きな変革の機会と見なす企業もいます。結局のところ、テストでの自動化の導入は単なるテクノロジーのアップグレードではなく、リスクを軽減し、時間を節約し、リソースの利用を最適化するための戦略的な動きです。

この変化は、急速に進化するテクノロジー環境において競争力と効率性を維持したいと考えている企業にとって重要です。 「DevOps ステータス レポート」 によると、自動テストは運用ワークフローの最適化とアプリケーションの信頼性の確保に大きな役割を果たします。

#自動テストとは何ですか?

アトラシアンの定義

によると、自動テストとは、ソフトウェアを使用して手動で行われるタスクを自動的に完了することです。ツール ソフトウェア製品のレビューおよび検証プロセス。その速度、効率、精度は、従来の手動テスト方法の限界を超えています。つまり、自動テストは、アプリケーションの品質と信頼性が損なわれないようにしながら、アプリケーションの変更を加速するのに役立ちます。自動テストは、新しい変更の検証プロセスを簡素化するだけでなく、既存の機能の整合性も監視するため、最新のアプリケーションのシームレスな移行と継続的なメンテナンスにおいて重要な役割を果たします。 ソフトウェア テスト プロセスを最適化するプロセスでは、自動テストの使用には多くの場合、初期の手動投資が必要になります。これには、テスト エンジニアがアプリケーションの基礎となる複雑なビジネス ロジックを理解する必要があります。 Selenium などのフレームワークを使用して自動テスト ケースを効果的に生成するには、この理解が不可欠です。この段階は多くの人手を使いますが、基本的な作業です。結局のところ、その後の自動テストにより、特に反復的で広範なテスト シナリオにおいて、手動テストへの依存が大幅に軽減されます。さらに、自動化フレームワークが確立されると、アプリケーションを継続的に評価するための強力なメカニズムになります。その利点は、アプリケーションの変更によって発生する可能性のあるエラーやバグの特定に優れていることです。

メインフレームのモダナイゼーション中の自動テスト方法

ソフトウェア エンジニアリングの分野では、メインフレーム アプリケーションの大規模な移行またはモダナイゼーションのために、頻繁に自動テストが行​​われます。多くの場合、数百万行のコードで構成される巨大なコード ベースの自動テスト ケースを生成するには、アプリケーション内のすべてのビジネス ルールを包括的に理解する必要があります。これは複雑で非常に難しい作業です。 100% のコード カバレッジを達成することが難しいことを考慮すると、重要なビジネス ロジックが十分なテスト カバレッジを確保できるように、テスト カバレッジの深さと実用的な実現可能性の間のバランスを達成する必要があります。

この場合、GenAI などの新興テクノロジーが可能性をもたらします。自動テスト スクリプトを自動的に生成して、メインフレームの最新化プロジェクトのテスト プロセスを簡素化し、ソフトウェア開発の品質保証のためのより効率的で正確かつスケーラブルな方法を提供します。

GenAI の幅広い活用

GenAI がメインフレームのモダナイゼーションで自動テストをどのように可能にするかを詳しく説明する前に、GenAI について簡単に見てみましょう。基本的に、GenAI は人工知能の一側面を表します。生成モデルを使用して、さまざまなテキスト、画像、その他のメディアを生成します。これらの生成 AI モデルは、入力トレーニング データのパターンと構造要素を学習し、それらの特性を反映する新しいデータを生成することに優れています。明らかに、そのようなシステムは主に機械学習モデル、特に深層学習の分野のモデルに依存しています。

自然言語生成 (NLG) は、メインフレームの最新化に強く関連する GenAI の形式です。大規模言語モデル (LLM) のサポートにより、人間のようなテキストを生成できます。通常、LLM はテキスト データの大規模なコーパスでトレーニングされ、言語のニュアンスや構造を識別して再現できるようになります。したがって、このトレーニングにより、テキストの生成、翻訳の要約、感情分析などのさまざまな自然言語処理タスクを実行できるようになります。特に、LLM は正確なコンピューター プログラム コードの生成にも優れています。

現在、大規模言語モデルのよく知られた使用例には、GPT-3 (Generative Pre-trained Transformer 3)、BERT (Transformers からの双方向エンコーダー表現)、および T5 (Text-to-Text Transfer Transformer) が含まれます。 。これらのモデルは通常、ディープ ニューラル ネットワーク、特に Transformer アーキテクチャを使用したネットワーク上に構築されます。したがって、テキストなどの連続データの処理に優れた効果を発揮します。数百万、さらには数十億の単語やドキュメントを含む大量のトレーニング データにより、これらのモデルは幅広いプログラミング言語を習得できます。一貫性のある文脈に沿ったテキストの生成に優れているだけでなく、文の完成やクエリへの回答などの言語パターンの予測にも優れています。

現在、一部の大規模な言語モデルは、複数の言語のテキストを理解して生成することもでき、チャットボットや仮想アシスタントの強化から、コンテンツなどのアプリケーション分野のサポートまで、その有用性を世界的に高めています。生成、言語翻訳、要約など、LLM の多用途性は優れたパフォーマンスをもたらします。

GenAI を使用して自動テスト スクリプトを生成する方法

ソフトウェア テストの分野では、LLM はコードからビジネス ロジックを抽出するのに役立ちます。そして、これらのルールを人間が読める形式に変換し、対応する自動テスト スクリプトを生成します。同時に、コードフラグメントのさまざまな潜在的なカバレッジ要件を満たすために必要なテストケースの数を選択するのにも役立ちます。

通常、GenAI を使用してアプリケーション コードの自動テスト スクリプトを生成するには、次の構造化された 3 ステップのプロセスが必要です:

1. GenAI 抽出を使用するビジネス ルール: 最初の段階として、GenAI を使用してアプリケーションからビジネス ルールを抽出する必要があります。このプロセスでは、抽出されたルールを詳細レベルに応じて判断し、人間が読める形式で解釈します。さらに、GenAI は、特定のコード部分の潜在的な結果をすべて完全に理解するのにも役立ちます。この知識は、正確で関連性のあるテスト スクリプトを確実に作成するために重要です。

2. GenAI を使用して機能レベルで自動テスト スクリプトを生成します: 抽出されたビジネス ロジックに基づいて、テスト エンジニアはアプリケーションの機能を包括的に理解し、活用できるようになります。機能レベルでは GenAI を使用してテスト スクリプトを開発します。このステップには、必要なテスト スクリプトの数を決定し、除外できるシナリオを特定することが含まれます。もちろん、このような自動テスト スクリプトのコード カバレッジは、チームによって集合的に決定されることがよくあります。

3. 対象分野の専門家 (SME) によって追加された検証と推論: 最終段階では、ビジネス ロジックが抽出され、対応する自動テスト スクリプトが生成されたら、テスト専門家はこれらのスクリプトを検証し、追加、変更、削除する権限を持ちます。このような介入により、GenAI の出力から発生する可能性のある潜在的な確率的エラーに対処し、自動テスト スクリプトの品質の確実性が高まります。

上記のプロセスは複雑に見えるかもしれませんが、実際には GenAI の機能を最大限に活用してテスト スクリプト生成プロセスを簡素化し、自動化の効率と人間の専門知識の完璧な組み合わせを保証できます。その中でも、検証フェーズにおけるテスターの参加は特に重要です。これにより、人工知能によって生成された出力結果が実際のアプリケーションの知識に基づいたものになるため、テスト スクリプトの信頼性と適用性が大幅に向上します。

概要

要約すると、効率を向上させるツールとして、GenAI は NLG 機能を通じて自動テスト スクリプトを生成し、テスト スクリプトを改善できます。メインフレームの最新化のためのソフトウェア テスト プロセスの精度と信頼性。同時に、GenAI は、構造化された 3 ステップのプロセスを通じて AI によって生成された出力結果を改善し、自動化されたスクリプトが技術的に合理的であるだけでなく、実際にも適用可能であることを確認して、AI の機能と人間の調和と一体性を反映する必要があります。専門知識。この統合は、最新のメインフレーム アプリケーションの複雑さと動的な要件に対処するために明らかに重要です。

翻訳者紹介

ジュリアン・チェン (51CTO コミュニティ編集者) は、IT プロジェクト実装で 10 年以上の経験があり、実装管理に優れています。内部および外部のリソースとリスクの管理を強化し、ネットワークと情報セキュリティの知識と経験の普及に重点を置きます。

元のタイトル: メインフレームのモダナイゼーションにおける GenAI 主導の自動化テスト 、作成者: sampath amatam)


以上が本番環境の AI 主導のホスト自動化テストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。