Blogs

数十年前、人工知能(AI)は夢の話にすぎませんでしたが、今ではAIのない生活を想像することは不可能に思えるくらいに、日常生活と切っても切れない一部となっています。自動運転、スマートフォン、Alexa、SiriなどのデバイスやGoogle Mapsなどはあなたの生活をナビゲートしていて、すべてはAIに影響を与えられ制御されるようになりました。技術革命のおかげで、不可能を可能にしています。

人工知能は何ですか

まず、人工知能の意味を理解しましょう。 ForresterはAIを次のように定義しています: “コーディング、ビジネスルール、自己学習の可能性を強化して構築されたシステムで、人間の認知と活動と人間との相互作用を補完して、さらに環境を理解することで、人間の問題を解決し、人間のタスクを実行するシステム”。

簡単に言えば、AIを使用すると、マシンはデータを通じて学習し、意思決定を行う能力を与えます。アルゴリズムは、特定の問題を解決するために書かれていませんが、システムがデータに基づいて決定を行えるように設計されています。

 

AIと機械学習(ML

1950年代以来、AIの基盤を見つけるためにAIはさまざまな分野で実験されてきました。AIの重要な部分として最終的に使われた用語は機械学習です。 MLまたは機械学習は、パターン認識技術を使用するAIの重要な部分です。

 

MLを使用した予測の一般的な説明の例はGoogle、Amazon、またはお気に入りのYouTubeチャンネルで何かを検索することです。ここで、MLアルゴリズムは、ユーザーが作成したクエリを読み取り保存します。次に何かを検索するときに、過去の検索に基づいてクエリが提案されます。これらのアルゴリズムはあなたの考えを読み、あなたが何を求めているかを推測しようとします。それは素晴らしいことではありませんか?それが、AIは最近非常に強力である理由です。

 

テスト自動化におけるAIの影響

 

  • メンテナンスの削減とFlakyなテストの排除

テスト自動化で最も一般的な問題の1つはメンテナンスということです。例えば、アプリケーションの主要な機能が安定していることを確認するために、毎日100の自動テストが実行されているとします。仮に、翌日仕事に戻った時に、テストの半分が失敗していることがわかったらどうしますか?障害をトラブルシュートして何が起こったのかを調査するためにかなりの時間を費やす必要があります。これには、障害を修正して修正を実装する方法を見つけることが含まれます。次に、自動テストを再実行して、すべてが活動することを確認します。

 

AIは、自己修復メカニズムにより、このような問題を回避できます。問題発生前にテストで問題を検出することができます。それで私たちがエラーを検出する代わりに積極的に早くテストを修正できます。テストが実行された回数に基づいて、AIはどのテストが安定か不安定かを判断できます。その結果、テストの実行を安定させるために変更しなければならないテストデータを得ることができます。

 

最後に、多数のテスト実行に基づいて、AIはページの読み込みを待つためにテストで待機時間を最適化し、さまざまな解像度で実行されるテストを処理することもできます。これらはすべてのテストの維持に時間を短縮して継続的なテストの最大のボトルネックの解決に役立ちます。

 

  • 文書自動テストケース

テスト自動化におけるML / AIの最大の用途は、ソフトウェアのテストケースを自動的に作成することがあります。ML/AIツールは、テスト対象のアプリケーションのビジネス利用シナリオを研究するために開発されています。それらはただソフトウェアに指し示される必要があります。アプリケーションの学習中に、スクリーンショット、HTMLページ、ページの読み込み時間などの有用なデータを自動的にクロールして収集します。アプリケーションから十分なデータを収集した後、アプリの予想されるパターンに合わせてMLモデルをトレーニングできるようにします。

 

それらが実行/実行されると、アプリの現在の状態が既知のパターンまたは保存されたパターンと比較されます。エラー、視覚的な違い、実行時間の遅延などの問題がある場合、システムは潜在的な問題として自動的にマークします。しかし、場合によっては、その違いは有効かもしれません。その場合、テスターはバグまたは問題を検証する必要があります。

 

  • 依存関係を削除

テスト自動化のもう1つの課題は、実装されているかどうかに関係なく、他のモジュールに依存する可能性のあるシステムのテストを記述することです。今では、AIはこれを行うとができます。

 

いくつかのテストを作成し、しばらく継続して実行すると、AIはすべてのサーバー応答の記録を開始できます。サーバーまたはデータベースと通信する代わりに、次にテストを実行するときに、テストはキャッシュされた応答(AIヘルプでサポート)にアクセスし、問題なく、実行を継続します。

 

その結果、応答の待機の遅延がなくなり、物理データベースまたはサーバーに依存する必要性が完全に消去されるため、テストの実行速度が大幅に向上します。

 

AI-テスト自動化がビジネスを変革する方法

エンタープライズレベルでAI技術を活用している企業は、より良い高いパフォーマンスと製品結果を達成します。スマートアルゴリズムはテストの自動化で提示される反復的な問題を解決することができるようになりましたので、開発者はアジャイル及び DevOps 戦略内での関与を再交渉しています。この機能は、Google Cloud と提携して、少数のユーザーが新しいコードの実際のテストに使用されるカナリアテストを通じて高度な異常検出を構築しています。AI は、これらのユーザーのエクスペリエンスと既存のコードを実行しているユーザーを比較するために使用されます。その後、異常を自動的に識別し、詳細を開発者に返すことができます。

 How AI Testing Automation Transforms Business

トップテスト自動化ツール

 

以下は、一般的なテスト自動化ツールです。

Automation Test Tools

 1. Selenium

Selenium は、一般的なテスト自動化ツールの名前です。 Webアプリケーションのユーザーインターフェイス自動化テストの業界標準と見なされています。テスト自動化ユーザーについて調査によると、10人のテスターのうちほぼ9人がプロジェクトでSeleniumを使用しているか、使用したことがあります。

最近、Seleniumは2019年4月にSeleniumの最初のアルファ版を発売しました。Selenium4の公式バージョンの発表はまだ決定されていませんが、新しい版を発売するとき多くの改良および強化された機能が含まれることと期待できます。

•ウェブサイト:https://www.seleniumhq.org/

•ライセンス:オープンソース

 

  1. Studio Katalon

 Katalon StudioはAPI テスト、Webおよびモバイルアプリ用の強力な統合(とうごう)テスト自動化ソリューションです。このタイプのテスト用の豊富な機能セットがあってWindows、macOS、Linuxなどの複数のプラットフォームをサポートしています。

Katalon Studioは、“March 2019 Gartner Peer Insights Customers’ Choice”と選ばれ、450件以上の好評をありました。このツールが現在、市場で最も使用されているツールの1つであることを示しています。

•ウェブサイト:https://www.katalon.com/

•ライセンス:無料

 

UFTは、デスクトップ、Webおよびモバイルアプリケーションをテスト用一般的な商用ツールです。 APIテスト用良い機能群を含むように拡張されました。テスト対象のターゲットアプリケーション(AUT)の複数のプラットフォームをサポートすることにより、UFTはデスクトップ、Web、およびモバイルで動作するAUTをテストするための便利な選択肢を提供します。

UFTは、スマートオブジェクト検出、画像ベースのオブジェクト検出、および補正のためのいくつかの高度な機能を提供します。 2019年5月に、Microfocusは新機能や拡張機能を追加されたUFTの最新版v14.52)を発売しました。

•ウェブサイト:https://software.microfocus.com/fr-ca/software/uft

•ライセンス:年間3,200ドル

 

TestCompleteは、Web、モバイル、およびデスクトップアプリケーションのテスト用強力で包括的な機能セットで引き続き今年のリストに含まれています。テスターは、JavaScript、VBScript、Python、またはC ++ Scriptを使用してテストスクリプトを作成できます。

テスターは、Katalon StudioなどのTestCompleteの記録および再生機能を簡単に使用できます。そして、結果を検証するために、テストステップにチェックポイントを挿入できます。 SmartBearの製品として、TestCompleteはSmartBearが提供する他の製品と簡単に統合できます。

•ウェブサイト:https://smartbear.com/product/testcomplete/overview/

•ライセンス:年間2,399ドル

 

5.Watir

Watirは、Rubyライブラリに基づくWeb自動化テスト用のオープンソースのテストツールです。 Watirは、Firefox、Opera、ヘッドレスブラウザー、IEなどのブラウザーをサポートしています。また、データ駆動型テストをサポートし、Rspec、Cucumber、Test / UnitなどのBBDツールと統合します。

•ウェブサイト:http://watir.com/

•ライセンス:オープンソース