OpenTextのホームページ。
技術トピックス

自律テストとは何ですか?

概要

アプリケーション全体のテストケースを自動的に作成、実行、検証するAIを搭載した自律型ソフトウェアテストの図解。

自律テストは、テストのダイナミズムを完全に変えます。ソフトウェアテストは常にボトルネックでした。開発チームはQAチームが検証するよりも早くコードを出荷し、手動テストは最新のリリースサイクルに追いつくのに苦労しています。

その中核となる自律型テストでは、人工知能がテストの作成、実行、保守を行い、人間が常に監視する必要はありません。アプリケーションがどのように動作するかを自動的に学習し、適切なテストを生成して実行します。

自律走行テスト

自律テストの仕組み

自律型テスト・プラットフォームは、人間のテスターの思考や行動を模倣するために、いくつかの技術を組み合わせています:

  • アプリケーションマッピング:システムはアプリケーションをクロールし、すべての要素、ワークフロー、インタラクションを文書化します。物事がどのようにつながり、ユーザーは何ができるのかという全体像を構築します。
  • インテリジェントなテスト生成:このマップを使用して、プラットフォームは、クリティカルパス、エッジケース、および一般的なユーザー動作をカバーするテストケースを作成します。すべてを均等にテストするのではなく、リスクと使用パターンに基づいて優先順位を付けます。
  • 自己回復型テスト自動化:UI 要素が変更されると(ボタンが移動したり、フィールドの名前が変更されたり)、システムはその変更を認識し、テストを自動的に更新します。マイナーアップデートのたびに壊れるような、もろいスクリプトはもう必要ありません。
  • 継続的な学習:プラットフォームはテスト結果を長期にわたって観察します。どのテストが本当のバグを捕らえ、偽陽性で時間を浪費し、どこで新たなカバレッジ・ギャップが生じるかを学習し、それに応じて調整します。

チームが他の仕事に集中している間、これらの作業はすべてバックグラウンドで実行されます。このシステムは、問題が発生したときにフラグを立て、何が問題だったのか、なぜそれが重要なのかについて説明します。


自律テストの利点は何ですか?

その価値提案は書類上では良いものに聞こえますが、あなたのチームにとって日々どのような意味を持つのでしょうか?

ほとんどのQAチームは、リグレッションテスト、新機能の検証、バグの再現、テストのメンテナンスなどを一度にこなし、手薄になっています。いつも何かが優先されなくなるんです。自律型テストは、単に既存の仕事を速くするだけでなく、同じ人員と予算で可能なことを根本的に変えます。

自律的テストを採用しているチームは、品質についての考え方が変わったと報告しています。テストは、すべてを遅らせるゲートではなく、開発者が迅速に行動する自信を与えるイネーブラーになります。QAチームは、時間の80% を反復的な実行とメンテナンスに費やすのをやめ、探索的テスト、ユーザー体験の検証、戦略的品質計画に集中し始めます。

そのシフトが実際にどのようなものなのかをご紹介します:

  • リリースサイクルの高速化:誰かが手動でトリガするのを待つことなく、テストが継続的に実行されます。フィードバックループが数日から数分に短縮されるため、チームは自信を持って頻繁にアップデートをプッシュすることができます。
  • より少ない労力でより良いカバレッジ:システムは、人間が見落としたり、優先順位を下げるような経路を探索します。手動でスクリプトを作成するには数週間かかる組み合わせを、最小限のセットアップ時間でテストします。
  • メンテナンス負担の軽減:テストのメンテナンスは通常、QAチームの時間の30~50% を消費します。自律テストでは、アプリケーションが変更されたときにテストが自動的に修正されるため、このような問題が劇的に減ります。
  • 一貫した品質基準:人間のテスターには良い日もあれば悪い日もあります。急いでいたり、疲れていたりすると、物事を見逃します。自律システムは、納期のプレッシャーやチームの帯域幅に関係なく、同じ徹底性を維持します。
  • スキル障壁の低減:テスト・スイートの構築と保守に専門の自動化エンジニアは必要ありません。基本的なテスト知識を持つチームメンバーは、自律的なテストプラットフォームをセットアップし、管理することができます。

課題についてはどうですか?どのように解決するのですか?

自律テストは、箱から出してすぐに完璧に機能する魔法のソリューションではありません。チームは採用の際に現実的な障害にぶつかりますが、そうでないふりをすることは誰のためにもなりません。良いニュースは、何が起こるか分かれば、ほとんどの課題は簡単に解決できるということです。

ここでは、最も一般的な問題と、成功したチームがそれを解決する方法を紹介します:

  • 初期設定の複雑さ:お客様のアプリケーションでシステムをトレーニングするための初期作業が必要です。多くのチームはこの学習期間を過小評価しています。
    • 解決策アプリケーションの安定した小さな部分から始めましょう。より複雑な分野に進出する前に、システムにそれを徹底的に学ばせてください。ほとんどのプラットフォームは、集中してセットアップしてから2~3週間で価値を発揮します。
  • 自動化された判断への信頼:チームは、いつ何をテストするかをAIに決定させることに懸念を抱いています。何か重要なことを見逃していたら?
    • 解決策自律的テストを人間の判断の代わりに使うのではなく、人間の判断と一緒に使うこと。最初は作成されたテスト計画をレビューし、自信がついてきたら徐々に自主性を高めていきます。
  • 既存ツールとの統合:あなたのチームはすでに特定のCI/CDパイプライン、バグトラッカー、監視ツールを使用しています。別のシステムを追加すると、摩擦が生じます。
    • 解決策強力なAPIサポート、事前構築済みの統合、ワークフローに適合するプラットフォームを選択します。
  • 動的コンテンツの処理:常に変化するデータやパーソナライズされたコンテンツを含むアプリケーションは、予測可能な動作を期待するテストシステムを混乱させる可能性があります。
    • 解決:最新のプラットフォームでは、完全なマッチングではなく、パターン認識によってこれを処理します。彼らは"、これは商品名だと理解しています。" むしろ"、これは『Blue Widget 2000』と書かなければなりません。"ドキュメントに動的コンテンツの強力なハンドリングが記載されているシステムを探してください。
  • コストの妥当性:自律型テスト・プラットフォームは実質的な投資であり、ROIは必ずしもすぐには明らかになりません。
    • 解決策現在のテストメンテナンス時間を計算し、時間当たりのコストを掛け合わせ、12ヶ月間で予測し、手動テストによって見逃されたバグのコストを含めます。ほとんどのチームは6~9カ月で回収できると考えています。

AIとテスト自動化はどのように関わってくるのでしょうか?

自動化と自律的テストを混同する人がよくいますが、そこには大きな違いがあります。従来のテスト自動化は、堅苦しいスクリプトに従います:"ここをクリックして、これを入力して、あれをチェックしてください。"パワフルだけど壊れやすい。1つの要素を変更すると、スクリプト全体が壊れてしまいます。

自律テストは、AIを使ってスクリプトをより賢く、より弾力的にします。ここが最も重要なところです:

  • コンピュータ・ビジョン:HTMLのIDやXPathセレクタだけに頼るのではなく、AIを搭載したシステムは視覚認識を使って要素を見つけます。"ログイン" ボタンが人間と同じように表示されます。
  • 自然言語処理:例えば、"、ユーザーが保存された支払い方法でチェックアウトを完了できるかどうかを検証します。"このシステムは、コードを必要とすることなく、それを実行可能なテストに変換します。
  • パターン認識:AIがアプリケーション全体に共通するワークフローやアンチパターンを識別します。複数のページが同じようなロジックをたどっている場合、それを検出し、それに応じてテストを生成するため、冗長な作業を避けることができます。
  • 予測分析:過去のデータを分析することで、壊れやすい箇所を予測し、重点的にテストします。何十もの優先順位をこなしながら、人間よりも賢くリソースを配分します。
  • 異常検知:何か異常があると(パフォーマンスが突然低下する、エラー率が急上昇する、ユーザーフローが予期せず変化する)、特定のテストが失敗していなくてもAIがフラグを立てます。これにより、従来のテストでは完全に見逃されていた問題を発見することができます。

テスト自動化が実行を、AIがインテリジェンスを扱います。これらを組み合わせることで、コストや労力を直線的に増加させることなくスケールアップするテストが実現します。


今後、自律走行テストにはどのようなことが予想されますか?

技術は急速に成熟していますが、まだ初期段階です。物事の方向性はこうです:

  • 予測テスト生成:システムはコードのコミットを分析し、開発者がテストを書き終える前に新機能のテストを自動生成します。テストは、開発に遅れをとるのではなく、開発に歩調を合わせるようになります。
  • テストスイートの自己最適化:プラットフォームは、継続的に冗長なテストを削除し、重複するカバレッジをマージし、実際の使用データに基づいて実行のバランスを調整します。テスト・スイートは、手作業でキュレーションしなくても、無駄がなく適切な状態を維持できます。
  • クロスプラットフォームのインテリジェンス:ウェブテストはモバイルテストに反映され、その逆も同様です。このシステムは、あるプラットフォームのバグが他のプラットフォームにも存在する可能性があることを認識し、積極的にチェックします。
  • 本番テストの統合:自律的テストは、プリプロダクション環境とプロダクション環境の境界を曖昧にします。システムは、実際のユーザーパターン、合成ユーザー、およびインテリジェントなトラフィックサンプリングを使用して、本番環境で安全にテストされます。
  • 共同AIテストツール:自律的なテスト・プラットフォームは、孤立して動作するのではなく、互いに通信し、共通の脆弱性、効果的なテスト・パターン、新たなリスク領域に関する学習を共有します。

2027年までに、ほとんどの開発チームは、現在のCI/CDパイプラインと同じように、自律テストをインフラとして扱うようになるでしょう。専門知識が必要な特別なツールではありません。それがテストのやり方でしょう


オープンテキストはお役に立てるでしょうか?

テスト戦略は、デジタル・ジャーニーに対応する必要があります。アプリケーションは複雑化し、リリースサイクルはスピードアップしています。そして、自動的に適応できるインテリジェントなテスト自動化が必要です。

自律的なソフトウェア・テストは、人を増やし続けることなく品質管理を拡大するのに役立ちます。アプリケーションで何かが変更されるたびにテストスクリプトを手作業で修正する代わりに、オープンテキストのAIを搭載したテストツールが自ら学習し、調整します。自己回復型のテスト自動化により、QAチームは、終わりのないメンテナンスの代わりに、重要な作業に集中することができます。

品質戦略に沿ったAIテストツールでテストを近代化します。DevOpsテストの自動化とCI/CDパイプラインでの継続的テストが、テストのボトルネックを解消し、リリースをスピードアップする方法をご紹介します。

自律的テストがあなたのチームに何をもたらすか、お確かめください。お客様のアプリケーションとワークフローに適応するインテリジェントなテストソリューションの詳細をご覧ください。

Resources

  • Pick n pay

    Major retailer accelerates software testing and increases test automation with OpenText™ Core Software Delivery Platform and OpenText™ DevOps Aviator™

  • Independent health leveraging AI

    Reduce mobile test maintenance by 35% while rapidly managing application changes with OpenText™ Functional Testing AI-based capabilities

  • Major insurer

    Accelerates vital tests on straight-through processing with the latest AI capabilities embedded in OpenText™ Functional Testing, saving time and effort, and reducing training requirements

  • Credit agricole payment services

    Financial services company modernized software testing and introduced AI with OpenText

  • Roche diagnostics

    OpenText Functional Testing AI capabilities improve regression testing times by 90% and enhance test coverage while aligning with corporate DevOps delivery

脚注