OneTest: データ駆動型テストの高速化による改善

2020/10/30 - 読み終える時間: 4 分

Data-driven Test Acceleration Made Easy の翻訳版です。


データ駆動型テストの高速化による改善

2020年10月29日

著者: Navnit Kumar Singh / Software Test Architect 共著: Shivi Sivasubramanian / Technical Lead

画像の説明

ディストリビューションテストの大きな課題のひとつは、データ駆動型のテストです。同時に実行されているすべてのテストは、データにアクセスできるはずです。

しかし、いくつかのシナリオでは、複数のテストが同じデータにアクセスできるようにすることはできません。HCL OneTest UI (HOT UI) が提供するデータセットを使用することで、分散テストを実行しながらこの課題に簡単に取り組むことができるようになりました。

この記事では以下の用語を使用しています。

  • データセットは、スクラッチから作成することも、カンマ区切り値 (CSV) ファイルからデータをインポートすることも可能な、実行中の変数データを持つテストを提供します。詳細については、データセットの概要を参照してください。
  • 複合テストは、小さなテストをエンドツーエンドで実行できるシナリオに整理するのに役立ちます。複合テストを実行すると、それに追加された各テストは、定義された順序で呼び出されます。詳細は、「複合テスト」を参照してください。

データセットの作成

e コマースのWebサイトで一般的に起こるシナリオを考えてみましょう。ユーザーがログインし、カートに商品を追加し、注文をします。 したがって、以下の手順で自動テストを行う必要があります。

  • ログイン: e-Commerce Web サイトにログインする
  • カートに追加: 商品を選択してカートに追加する
  • 注文する: 商品内容を確認してから注文する

テストを高速化するために、サポートされているすべてのブラウザーで 3つのテストを並行して実行することを計画してください。しかし、アプリケーションは同じユーザーログインで 3つのセッションを同時に実行することはできません。そのため、各実行ではユーザー ID とパスワードの異なる組み合わせを使用する必要があります。

上記のシナリオのために、HCL HOTUI で以下のデータセットを必要な行データと共に作成します。

  • DS_Login: ユーザーログインの詳細をユーザー ID とパスワードの 2つの列の下に保存します。

画像の説明

  1. データ集合 - DS_Login
  • DS_Product: 3 つの列の下に製品の詳細を格納します - 製品名、ID、販売者 (product name, id, seller)

画像の説明

  1. データ集合 - DS_Product

DS_Login データセットをログインテストに関連付け、テストの入力値をデータセットの列に関連付けます。同様に、DS_Product データセットを addToCart テストに関連付け、入力値をそれぞれのデータセット列に関連付けます。詳細については、「テスト値をデータセット列に関連付ける」を参照してください。

複合テストの作成

3 つのテストをシナリオとしてまとめて実行するには、HCL OneTest で TC_PlaceOrder という名前の複合テストを作成し、3 つのテストを予想される実行順序で追加します。複合テストの中にループを挿入し、addToCart テストをその中に移動します。これは、実行中に対応するデータセットの行から値(この場合は、商品の詳細)を取得するために必要です。

画像の説明

  1. 複合テスト

TC_PlaceOrder という複合テストを実行すると、まずアプリケーションにログインするためにログインテストが実行され、次に addToCart テストがカートに商品を追加します。カートに追加された商品の数は、ループ内で指定された反復回数に等しくなります。最後に、placeOrder テストは、カートに追加された商品の注文を行います。

テストの配布

複数のブラウザーで同時にテストシナリオを実行するには、Distribute_TC_PlaceOrder という AFT テストスイートを作成します。

画像の説明

  1. AFT テストスイート

Distribute_TC_PlaceOrder と呼ばれる AFT テストスイートを実行すると、TC_PlaceOrder テストは Chrome と Firefox で並行して実行されますが、複合テスト TC_PlaceOrder の一部であるテストは順次実行されます。

異なるブラウザーでの実行の各ステップで、ログイン・テストは、DS_Login データセットの異なる行から必要なログイン詳細を取得します。このようにして、各並列テストの実行において、単一のユーザー・ログイン・セッションが保証されます。 ログインテストが完了すると、addToCart テストはループ内で(指定された回数分)、異なるブラウザー上で同時に実行されます。addToCart テストの各実行は、DS_Productdataset にアクセスし、データセットにアクセスする1つのテストであるかのように、カートに商品を追加します。

まとめると、HOTUI は、必要に応じてデータへのアクセスを制限しながら、データへの同時アクセスを可能にすることで、テストの並列実行を容易にします。

コストを削減しながらテストを高速化する方法の詳細はこちらをご覧ください。

このブログについて

HCL Japan の Software 部門の複数担当者で HCL Software 全般について記しています。

Tags

Academy Accelerate Accelerator Ambassador AoC AppDev Pack AppScan ASoC beta BigFix BigFix 9.5 BigFix_Wiki BigFix Workspace branding CAA Client Applicatin Access cloud Cloud Apps Cloud Native Commerce Common Local License Server community companion Compass compliance Connections Connections 6.5 ConnectionsDocs Connnections CVE-2021-44228 developerWorks DevOpes Velocity DevOps DevOps Code ClearCase DevOps Code RealTime DevOps Deploy DevOps.Launch.AppScan DevOps Model RealTim DevOps Plan DevOps Test DevOps Velocity Digital Experience document Doino Volt Domino Domino AppDev Pacl Domino Leap Domino Volt Domino管理者アップデート認定試験対策 DQL DRYiCE dW dx Enterprise Integrator event fix fix_list fixlist forum General guide HCAA HCL Ambassador HCL Ambassadors HCL Domino REST API HCL OneTest Embedded HCL Z and I Emulator HCL Z and I Emulator for Transformation HCLSoftware U hints_and_tips history HTMO IBM_i ID_Vault iNotes ios ios13 ipad iPhone IZSAM KEEP Launch Launch.DevOps Leap Link logo MarvelClient mobile mui nds2019 ndv12beta News Noets/Domino Nomad Nomad Mobile Nomad Web Notes Notes/Domino Notes/Domino 10 Notes/Domino 11 notes-domino-9-10-limited-supportability-as-of-202204 Notes/Domino V12 Notes/Domion Notes/Domno notescons Now on_premises OneDB OneTest OnTime osaka press_release relay REST RTist SafeLinx Sametime Sametime 11 SoFy support survey system_requirement techtek Traveler Traveler 10 Traveler for Microsoft Outlook traveler.zip Unica Unica Discover Unica Interact UrbanCode Deploy UrbanCode Velocity v11 V12 Verse Verse Mobile Verse On-Premises VersionVault Volt Volt MX Volt MX Go Volt MX サンプルアプリ Webinar win7 Wordload Automation Workload Automation youtube Z Z Abend Investigator Z and I Emulator Z and I Emulator for Transformation Z and I Emulator for Web Z and I Emulator for Web Client Z Asset Optimizer Z Data Tools Z Software Asset Manager ZAI ZAO ZIE ZIE for Transformation ZIE for Web ZIE for Windows ZIET ZIETrans ZIEWeb うるう年 イベント ウェビナー ガイド クラウド クラウド終了 サイジング サポート サポート技術情報 サポート期間 サポート終了 セキュリティ セキュリティー セキュリティー脆弱性 セミナー ダイバーシティー ダウンロード テクてく テクてく Lotus 技術者夜会 ニュース ノーツコンソーシアム バージョンアップ パフォーマンス パートナー ベータ ポートフォリオ ライセンス 九州地区 Notes パートナー会 互換性 出荷日 各種ご案内資料 研修