工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 自動制御システム

ソフトウェアテストにRPAを使用する:「技術ハック」?

効果のないソフトウェアテストの自動化は、信じられないほどの量のリソースを消費しながらリリースを遅らせることで有名です。

私のニュースフィードには、「トップ10ライフハック」を提供する記事が掲載されていることがよくあります。これらはあなたの生活を改善するために普通の家庭用品を予期しない方法で使う方法についての秘訣と秘訣です—「…そして秘訣番号7はあなたの心を吹き飛ばします!!!」

確かに、私はこのクリックベイトを開くことに夢中になっています。正直、嬉しい驚きを感じることもあります。たとえば、缶切りで迷惑なプラスチック製のブリスターパックを切り抜いたり、トイレットペーパーのロールを使って包装紙がほどけないようにしたりできることを誰が知っていましたか?

上記の2つの「ハック」を試しましたが、どうでしょうか。彼らは「ちょっと」働いた…しばらくの間。缶切りはプラスチックが溶けた継ぎ目を切り抜いたが、パッケージの長さを切り抜くことができなかった。トイレットペーパーはしばらくの間包装紙を保持していましたが、最終的にはカーボードが弱くなり、包装紙がほどけました。当然のことながら、プラスチックのブリスターパックにははさみを使用し、包装紙には小さなテープを使用すると、はるかに効果的でした。

非常によく似た流れで、多くの組織は現在、RPAを使用してソフトウェアテストを自動化することを検討しています。これは、ある種のソフトウェアテストの「技術ハック」です。ただし、トイレットペーパーロールが包装紙の展開を防ぐための持続可能なソリューションを提供しなかったように、RPAはソフトウェアテスト自動化の持続可能なソリューションではありません…そしてRPAツールをソフトウェアテストのタスクのために持続可能なものにするために必要な変更自動化は、まあ、ハックになるでしょう。

組織にすでにRPAツールがあり、テスト自動化の開始を検討している場合、RPAツールは論理的な選択のように思われるかもしれません。通常、いくつかの基本的なテストシナリオを自動化し(たとえば、新しいユーザーを作成してトランザクションを完了する)、検証を追加し、テストの自動化への道を進んでいると信じるのは比較的簡単です。

ただし、成功した、そして持続可能なテスト自動化には、アプリケーションパスをクリックする機能以上のものが必要であることを認識することが重要です。業界平均のテスト自動化率<20%を超えるには、チームは効果的な自動テストスイートを構築して安定させる必要もあります。 RPAツールは通常、これを可能にするようには設計されていません。その結果、必要なテストデータとテスト環境を待つ遅延、自動化イニシアチブへの信頼を損なう一貫性のない結果、かなりのリソースを消費するが明確なサービスを提供しない「肥大化した」テストスイートなど、テスト自動化の障害にぶつかることになります。実用的なフィードバック。

RPAツールとテスト自動化ツールの範囲の違いの概要については、Gartnerの次の定義を比較してください。

RPAツールは、構造化データに対して「if、then、else」ステートメントを実行します。通常、ユーザーインターフェイス(UI)インタラクションの組み合わせを使用するか、APIに接続してクライアントサーバー、メインフレーム、またはHTMLコードを駆動します。 RPAツールは、RPAツール言語でプロセスをマッピングし、ソフトウェア「ロボット」が従うようにします。ランタイムは、コントロールダッシュボードによってスクリプトを実行するように割り当てられます。」

テスト自動化ツールは、「組織が自動化された機能テストを設計、開発、保守、管理、実行、分析できるようにします…ソフトウェア開発ライフサイクル(SDLC)全体で製品と機能の幅と深さを提供します。これには、テストの設計と開発が含まれます。テストケースのメンテナンスと再利用。テスト管理、テストデータ管理、自動テストと統合、継続的テストのサポートに重点を置いています。」

これらの追加のテスト機能の必要性は、以下の間の主要な違いのいくつかを考慮すると明らかになります。

•本番環境でタスクのシーケンスを自動化して、プロセス全体で明確に定義されたパスを正常に実行し、作業をより迅速に完了できるようにします。
•環境をテストして、アプリケーションがどこで失敗するかを確認し、アプリケーションがリリースするにはリスクが高すぎるかどうかについて情報に基づいた決定を下せるようにします

これらの違いはソフトウェアテストにとって何を意味しますか?

•自動化は、通常は不完全で、進化し、制約のあるテスト環境で実行する必要があります
•ステートフルで安全な、準拠したテストデータの管理は大きな課題になります
•効果的なテストケースの設計は成功に不可欠です
•失敗はビジネスリスクに関する洞察を提供する必要があります

より具体的に言うと、オンライン旅行サービスのテストの例を考えてみましょう。ユーザーがプリペイドホテルの予約を延長できる機能を確認するとします。まず、アプリケーションロジックを完全に実行するために必要なテストの数と、それぞれが使用する必要のあるデータの組み合わせを決定する必要があります。

次に、アプリケーションをテストシナリオを実行できる状態に設定するために必要なすべてのデータを取得してプロビジョニングする必要があります。この場合、(少なくとも)将来のある日付の既存のプリペイド予約を含む既存のユーザーアカウントが必要です。GDPRなどのプライバシー規制により、実際の本番データを使用することはできません。

次に、接続されたホテル予約システム(部屋が利用可能/利用不可)、クレジットカード(トランザクションが承認/拒否)などから必要な範囲の応答を呼び出す方法が必要ですが、実際に部屋を予約したり、料金を請求したりする必要はありません。クレジットカード。

もちろん、プロセスを自動化する必要があります。これには、ログインして既存の予約を取得し、それを変更することを示してから、内線の長さを指定することが含まれます。

完全なプロセスを自動化したら、さまざまなチェックポイントでいくつかの検証を構成する必要があります。適切な詳細が適切なメッセージ形式でホテルに送信されましたか?ユーザーデータベースで予約が更新されましたか?支払いデータはクレジットカードプロバイダーに適切に送信されましたか?アカウントクレジットは適用されましたか?予約を延長できなかった場合、ユーザーは適切なメッセージを受け取りましたか?クレジットカードが拒否された場合はどうなりますか?また、クレジットカードが拒否された場合、実際に支払われなかった宿泊日数を追加するのではなく、システムは元の予約期間に戻りましたか?

ここで、あなたの会社がすべての前払い予約に10ドルの変更手数料を追加することを決定したと想像してください。この新しい要件を既存の自動テストに簡単に組み込むことができますか?それとも、この小さな変更に対応するために、すべてのテストを大幅にやり直す必要がありますか?

この単純な例でさえ、RPAツールが対処するように設計されていない多くのソフトウェアテストの複雑さのいくつかを明らかにしています。 RPAツールは、シーケンス内の特定のタスクを自動化するために構築されています。ソフトウェアテスト自動化ツールは、より広範な一連のタスクの回復力を測定するように設計されています。率直に言って、RPAツールはプロセスを機能させるように設計されています。ただし、ソフトウェアテストには、プロセスがどのように破損する可能性があるかを判断するのに役立つツールが必要です。

効果のないソフトウェアテストの自動化は、信じられないほどの量のリソースを消費しながらリリースを遅らせることで有名です。 CIOが、ソフトウェア配信の高速化を通じて顧客体験を向上させるデジタルトランスフォーメーションイニシアチブにますます投資するにつれて、ソフトウェアテストを軽視することは逆効果になります。仕事に適したツールを選択することで、納期の短縮、ビジネスリスクの軽減、イノベーションに専念するためのリソースの増加という点で大きな成果が得られます。

Wayne Ariolaは、ITリーダー向けの継続的テストの著者であり、DevOpsおよびAppDevスペースで有名な基調講演者です。


自動制御システム

  1. RTIでのソフトウェアテスト
  2. 現在RazorcatのTESSYにあるArmのImperasモデルのソフトウェアテスト
  3. 自動化:低コストロボット用の新しいハードウェアとソフトウェア
  4. 自動化:ビジョンシステムソフトウェアが更新されました
  5. ロボット自動化のための製造実行ソフトウェアの重要性
  6. Osaroは、産業用自動化のための機械学習を開発するために1,600万ドルを調達します
  7. RPAユーザーにとっての超自動化の意味
  8. UIからAIへ:自動化の旅
  9. 製造のための予防保守ソフトウェアの使用
  10. ストーンファブリケーションにモーションオートメーションを使用する利点
  11. ライン改善のために産業オートメーション 4.0 の使用を開始する 5 つの低コストの方法