[51CTO.com クイック翻訳]近年、人工知能 (AI) と機械学習 (ML) の技術が急成長しています。自動運転車、ロボット、Amazon の Alexa などのアプリケーションは、私たちの日常生活に大きな影響を与え、変化させています。もちろん、このようなスマートなアプリケーションやデバイスが私たちの生活をより便利にするにつれて、高品質のソフトウェア製品に対する需要が高まり、製品の欠陥に対する許容度は低下しています。機能上またはパフォーマンス上の問題が発生すると、ユーザーはすぐに市場にある類似の代替製品に切り替えます。したがって、このような厳しい要件に直面しているアプリケーション開発企業は、複雑なサービス プロセスに基づいてソフトウェア構造を継続的に反復すると同時に、より速い配信速度で高品質のソフトウェアをリリースする必要があります。 ここで人工知能と機械学習が役立ちます。高度に自動化されたテスト方法により、より高速、より高品質、より効率的な、適切なエンドツーエンドのソリューションを企業に提供できます。これにより、開発チームは限られた時間枠内で独自のテスト ケースを作成し、テスト スクリプトを最初から作成する必要がなくなり、重要かつリスクの高いテスト シナリオを可能な限り多くカバーできるようになります。自動テストのための AI と ML の使用は、開発とテストのプロセス全体において徐々に欠かせないものになりつつあると言えます。 次に、AI と ML によってもたらされる自動化されたインテリジェント テスト テクノロジーを使用して従来のテストの問題点を解決し、プロジェクト チームがテストの作業負荷を軽減し、テスト範囲を向上できるように支援する方法について説明します。 1. 自動テストのための自己修復技術自動テスト自己修復のフローチャート 自動テストにおける自己修復技術は、テスト スクリプトのメンテナンス問題を効果的に解決できます。動的なポジショニング戦略に基づいて、このような自動化スクリプトは、オブジェクトのプロパティ (名前、ID、CSS など) が変更されるたびに各段階で中断されるため、プログラムはさまざまな変更を自動的に検出し、人間の介入なしに動的に修正できます。これに基づいて、プロジェクト チームはアジャイル テストでシフトレフト アプローチを活用して、製品の提供をスピードアップし、生産性を向上させることができます。 たとえば、開発者が HTML ページ内のさまざまなオブジェクト識別子に変更を加えると、AI はテスト ケース内の対応する UI 識別子を自動的に修正します。つまり、AI エンジンは、プロパティが変更されたときにそのような要素をタイムリーに検出し、ソース コードの変更に基づいて対応する変更を加えます。この自己修復技術により、開発者は変更を識別し、それに応じて UI に変更を加えるのに費やす時間を大幅に節約できると言えます。 具体的なアプリケーションでは、AI ベースのテスト プラットフォームは、AI エンジンを使用して、エンドツーエンドの処理フローに従ってオブジェクト プロパティの変更によって発生するテスト項目の中断を検出し、自己修復テクノロジを使用して DOM 全体を抽出し、各プロパティの詳細な調査を実施します。各テスト ケースは自動的に実行されるため、プロセスでは人間の介入は必要なく、動的なポジショニング戦略を使用して対応する変更を加えることができます。 2. テストスクリプトを自動生成するテストスクリプトを自動生成 これまで、自動テスト スクリプトを開発する必要がある場合、開発者は Java、Python、Ruby などの高水準プログラミング言語の関連スキルを要求されることがよくありました。明らかに、これは時間と労力を要するプロセスです。今日では、AI と ML のテクノロジーにより、テスト スクリプトの設計と開発のプロセス全体を大幅に簡素化できます。 現在、この分野のテストツールは市場に数多く存在していますが、その中で最も一般的なのはセレンです。ユーザーはさまざまな自動テスト スクリプトを手動で構築できるほか、プラットフォームを通じてさまざまな自動スクリプトを読み取って自動的に生成することもできます。実際のアプリケーションでは、独自のさまざまな AI アルゴリズムを通じて自然言語処理 (NLP) テクノロジを使用できます。包括的で適切なトレーニングを完了すると、ユーザーの意図を理解し、Web アプリケーションのさまざまなアクションを模倣できるようになります。操作プロセス全体を通して、ユーザーが自分でコードを記述する必要がないことは注目に値します。データによれば、このツールを使用すると、従来のテスト スクリプトの設計時間と作業負荷を約 80% 削減できます。現在普及している概念を適用すると、このタイプの自動テストは「タッチレス テスト」と呼ぶことができます。 3. 大量のテストデータを有効活用するアジャイルおよび DevOps 手法を使用して継続的テストを実装する多くの組織では、ソフトウェア開発ライフサイクル全体にわたって、エンドツーエンドの厳格なテスト手法を 1 日に複数回使用して、ソフトウェア アプリケーションのユニット、API、機能、アクセシビリティ、統合効果などの側面をテストします。 前述のテスト内容の増加と比較すると、テスト対象のデータ量の増加により、プロジェクト チームがソフトウェア アプリケーションを通じてより適切かつ正確な意思決定を行うことがさらに困難になります。この点で、機械学習は、非常に不安定なテストケースを視覚化することで、開発者がビッグデータが主要なソフトウェア機能やサービスに与える影響に簡単に焦点を合わせるのに役立ちます。 実際のアプリケーションでは、AI および ML システムは、大量のデータを簡単に細分化および分析して、モデルの解釈を提供し、ビジネス リスクを定量化し、対象プロジェクトの意思決定プロセスを高速化できます。同時に、開発者は AI および ML システムを使用して、優先順位を付ける必要がある継続的インテグレーション ジョブを決定したり、テスト環境でターゲット プラットフォームの潜在的なエラーを発見したりして、次のような「テストの利益」を得ることもできます。
4. 自動視覚検証ツールを使用して画像ベースのテストを実行するソフトウェア開発プロセス中のビジュアル テスト (ユーザー インターフェイス テストとも呼ばれます) により、構築する Web またはモバイル アプリケーションの UI がユーザーにスムーズなエクスペリエンスを提供できることを確認できます。これまで、このようなテストは自動化が困難なことが多く、人間による面倒な手動テストが必要でした。現在、ML ベースの視覚検証ツールを使用することで、テスターは過去の手動テストでは見逃されやすい要素を特定できます。実際、多くの自動化ネットワーク コミュニティでは、最新の機械学習技術と自動化された視覚検証ツールを使用して画像ベースのテストを実行することが一般的になりつつあります。 このイメージベースのテストは、ソフトウェア企業があらゆるシステムで自動テスト サービスを提供する方法を劇的に変えることができます。これにより、テストの専門家は、ターゲット システムにさまざまな入力を暗黙的に挿入する必要がなくなり、ML タイプのテストを作成して、テスト対象のソフトウェアの表示 (または視覚的) の正確性を自動的に検証し、さまざまなエラーや欠陥をタイムリーに発見するだけで済みます。 5. クローリングにAIを使用する最近では、多くの開発者が AI ベースの自動化テクノロジーとクロール手法を使用して、アプリケーションのテストケースを自動的に作成しています。とはいえ、一部の新しい AI/ML ツールでは、Web アプリケーションのクローリング機能を有効にできます。 実際のクロールプロセスでは、このようなツールはまずスクリーンショットの撮影、各ページの HTML コードのダウンロード、トラフィック負荷の測定などの方法でデータを収集し、その後、前の手順を繰り返し続けます。次に、収集したデータに基づいて完全なデータセットを構築し、テスト対象アプリケーションの予想されるパターンと動作に基づいて機械学習のモデルをトレーニングします。このようなツールは、現在のフェーズで観察されたパターンを以前の入力のパターンと比較します。結果が歪んでいる場合は、テストでエラーとしてフラグが立てられます。最後に、フラグが付けられた問題は、この分野の知識を持つ人々によって検証されます。 ML ツールが主にエラー検出プロセスを担当しているにもかかわらず、手動による検証が依然として不可欠であることがわかります。 まとめ現在、ほとんどの企業は、AL や ML などの新しいテクノロジーをソフトウェア テストの自動化プロセスに適用しています。もちろん、あなたとあなたのテストチームは、この分野の専門知識を習得し、複雑なデータ構造を分解して分析する方法を理解して、テストに対する判断力と意思決定能力を高め、プロジェクトの全体的な効率とサービス レベルを向上させる必要があります。上記の 5 つの経験が、この目標をよりよく達成するのに役立つことを願っています。 原題: AI と ML で完全な自動化を実現する 5 つの優れた方法、著者: Mohit Shah [51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください] |
AI が人間の活動に取って代わるかどうかについての議論が激化するにつれ、データ サイエンティストは ...
中国の医療サービス市場の規模は巨大です。中国の医療サービス業界は、国家政策の推進により、デジタル化と...
私は51CTOアカデミー講師の唐玉迪です。51CTOアカデミーの「4.20 ITリチャージフェスティ...
人工知能(AI)は、知識の学習、知識の保存、思考、計画という人間の脳の思考プロセスをシミュレートする...
実際、生成 AI は近い将来、企業全体の販売、マーケティング、調達、サプライ チェーンにおける人間の...
業界では、デート、マーケティング、ソーシャルメディアから宇宙探査、医療の進歩に至るまで、人工知能とそ...
かつて、機械学習という用語は科学的な光輪に包まれており、複雑なアルゴリズムにデータを「入力」して有用...
最近、学術誌「ネイチャー」に掲載された研究では、人間と競争的な議論に参加できる自律エージェントについ...
AI界隈であろうと他の分野であろうと、多かれ少なかれ大規模言語モデル(LLM)を使ったことがあるでし...
2020年のコロナウイルスの流行により、多くの業界のトレンドが大幅に加速し、2021年もその傾向が続...