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

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

DevOpsにおける自律テスト

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

自律型テストは、テストのあり方を根本から変えます。ソフトウェアのテストは、常にボトルネックとなってきました。開発チームは、QAチームが検証できる速度よりも速くコードをリリースしており、手動テストでは現代のリリースサイクルに追いつくのが困難になっています。

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

ガートナー® 市場調査レポートを入手する

自律走行テスト

自律テストの仕組み

自律型テストプラットフォームは、複数の技術を組み合わせることで、人間のテスターの思考や行動を模倣しています:

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

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


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

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

多くのQAチームは手薄な状態で、回帰テスト、新機能の検証、バグの再現、テストの保守といった業務をすべて同時にこなさなければなりません。何かが常に後回しにされてしまいます。自律型テストは、単に既存の作業をスピードアップするだけでなく、同じ人員と予算で実現可能なことを根本的に変えるものです。

自律型テストを導入したチームからは、品質に対する考え方に変化が見られるとの報告があります。テストは、すべての進行を遅らせる「障壁」ではなく、開発者が迅速に前進するための自信を与えてくれる「原動力」となります。QAチームは、反復的な実行や保守にほとんどの時間を費やすことをやめ、探索的テスト、ユーザー体験の検証、そして戦略的な品質計画に注力するようになります。

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

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

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

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

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

  • 初期設定の複雑さ:利用を開始するには、アプリケーションに合わせてシステムを学習させるための初期作業が必要となります。多くのチームがこの学習期間を過小評価しています。
    解決策:アプリケーションのうち、規模が小さく安定している部分から始めましょう。より複雑な分野に進む前に、システムにそれをしっかりと学習させておきましょう。ほとんどのプラットフォームでは、集中的に設定を行ってから2~3週間以内に効果が現れます。
  • 自動化された意思決定への信頼:各チームは、何をいつテストするかをAIに決定させることについて懸念を抱いています。もし重要な点を見落としてしまったらどうなるのでしょうか?
    解決策:自動テストを、人間の判断の代わりとしてではなく、それに加えて活用することです。まずは作成されたテスト計画を確認し、自信がついてきたら徐々に自律性を高めていきましょう。
  • 既存のツールとの連携:御社のチームでは、すでに特定のCI/CDパイプライン、バグトラッカー、監視ツールをご利用いただいていることでしょう。別のシステムを追加すると、摩擦が生じます。
    解決策:APIのサポートが充実しており、あらかじめ構築された連携機能を備え、かつ自社のワークフローに適合するプラットフォームを選択してください。
  • 動的コンテンツの取り扱い:データが絶えず変化したり、パーソナライズされたコンテンツを含むアプリケーションは、予測可能な動作を前提としているテストシステムを混乱させることがあります。
    解決策:最新のプラットフォームでは、完全一致ではなくパターン認識によってこれを処理しています。彼らは、「ここに『Blue Widget 2000』と書かなければならない」というのではなく、「これは製品名だ」ということを理解しています。ドキュメントに、動的なコンテンツの処理機能が充実しているシステムを探してください。
  • 費用対効果の根拠:自律型テストプラットフォームは多額の投資を要するものであり、ROIが必ずしもすぐに明らかになるとは限りません。
    解決策:現在のテスト保守時間を算出し、時間単価を乗じた上で、12か月分に換算し、手動テストで見逃されたバグのコストも加算してください。ほとんどのチームでは、6~9ヶ月で投資回収が見込めます。

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

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

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

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

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


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

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

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

将来的には、ほとんどの開発チームが、現在のCI/CDパイプラインと同様に、自律型テストをインフラストラクチャとして扱うようになるでしょう。専門的な知識が必要な特別な道具というわけではありません。テストの仕組みがそうなっているだけのことですね。


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

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

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

OpenText Core Software Delivery Platformの機能テストに含まれる「Autonomous Tester」機能を使用すると、既存の手動テストを大規模に自動実行することができます。テストは自然な言葉で記述してください。実行はAIにお任せしましょう。録画や各ステップの詳細情報により、結果を完全に把握することができます。スクリプトも、変換も、メンテナンスも不要です。

品質戦略に沿った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

脚注