2018年7月9日月曜日

Cognizant ITSを使ったモバイルアプリUIテストの自動化(5) - テストケース1 反復テスト

「シナリオ内で入力内容を変えて何度も繰り返し実行させるような耐久テストを行いたい」「シナリオは同じだが様々な入力内容でテストを行いたい」といったテストもCognizant ITSではGUIを使って簡単に行うことが可能です。

今回は毎回違う文字を入力してはチェックをするというテストを繰り返す方法を説明したいと思います。


連載目次


免責事項 - 本記の掲載内容について
本記事に掲載されている内容について一部非公式な情報を含んでおります。
そのため弊社側では記事内容を用いたことによる損害や責任等については負いかねますので、あらかじめ了承ください。
© Copyright 2018, Cognizant. All rights reserved. Cognizant、Cognizant のロゴ、Cognizant Intelligent Test Scripterは、米国Cognizant Technology Solutions Corporationの登録商標または商標です。株式会社ブリリアントサービスは、コグニザントジャパン株式会社の子会社です。本文書に記載されている内容は、予告なく変更される場合があります。また、本書に記載されている会社名、製品名、サービス名などは、各社の商標または登録商標です。


今回作成するテストの動作イメージは下記の動画のとおりです(4分47秒)。

この動画では、文字入力のアクションを3回繰り返し、さらにそのテストを3回繰り返しています。
Cognizant ITSでは、シナリオ内の一部のアクションを繰り返す方法と、テスト自体を繰り返す方法がありますので、それぞれ解説していきたいと思います。


シナリオ内の一部のアクションを繰り返す方法

シナリオの作成

まずは通常通りシナリオを作成していきます。

StepObjectNameActionInputCondition
1App1Click
2ActivityClick
3Custom TitleClick
4Left is bestSet@テスト1
5Change LeftClick
6Left is best1assertElementTextEquals@テスト1
7Right is always rightSet@テストA
8Change RightClick
9Right is always right1assertElementTextEquals@テストA
サンプルのシナリオの内容
  1. Appをクリック
  2. Activityをクリック
  3. Custom Titleをクリック
  4. Left is best(テキストボックス)に「テスト1」の文字を入力
  5. Change Leftをクリック
  6. Left is best1(見出し)の文字が「テスト1」になっているか確認
  7. Right is always right(テキストボックス)に「テストA」の文字を入力
  8. Change Rightをクリック
  9. Right is always right1(見出し)の文字が「テストA」になっているか確認

ループする部分の指定

ループする最初と最後のConditionStart Param End Paramを入力します。
このサンプルではStep4から9までを繰り返すものとします。

StepObjectNameActionInputCondition
1App1Click
2ActivityClick
3Custom TitleClick
4Left is bestSet@テスト1Start Param
5Change LeftClick
6Left is best1assertElementTextEquals@テスト1
7Right is always rightSet@テストA
8Change RightClick
9Right is always right1assertElementTextEquals@テストAEnd Param

データの作成

先ほど作成したシナリオの@テスト1 @テストAの部分に毎回入れるデータを作成します。

  1. まず、画面下のタブの タブをクリックし、新しいタブを作ります。
  2. 作成したタブをダブルクリックして名前をつけます。ここでは例としてタブの名前を「Iteration」とします。
  3. 次に画面中央あたりにある ボタンを押し、出てきた Add Row をクリックすることで行をいくつか増やしていきます。
  4. Scenarioの列には今のScenario名、Flowには今のTestCase名、Iterationにはすべて1、SubIterationには連番、Data1Data2@テスト1@テストAの代わりに入れたい文字列を入れていきます。

この例では下記のようにしました。

ScenarioFlowIterationSubIterationData1Data2
ExploratoryScenarioIteration11テスト1テストA
ExploratoryScenarioIteration12テスト2テストB
ExploratoryScenarioIteration13テスト3テストC

ボタンを押し、Add ColumnをクリックすることでData3、Data4と増やすこともできます。

データの指定

画面上部のシナリオで、固定で指定していた@テスト1 @テストAの部分に、下部で作成したデータを指定します。
記述方法は タブ名:列名 になります。この例の場合 Iteration:Data1 Iteration:Data2となります。

StepObjectNameActionInputCondition
1App1Click
2ActivityClick
3Custom TitleClick
4Left is bestSetIteration:Data1Start Param
5Change LeftClick
6Left is best1assertElementTextEqualsIteration:Data1
7Right is always rightSetIteration:Data2
8Change RightClick
9Right is always right1assertElementTextEqualsIteration:Data2End Param

テストの実行

これで準備は完了です。Runボタンを押してテストを実行し、動作を確認してください。


テスト自体を繰り返す方法

シナリオの作成

先程のシナリオをそのまま使います。

データの作成

ページ下部の先程のデータにさらに行を追加し、2週目のテストで扱いたい行のIterationに2、3週目は3と入れていきます。

ScenarioFlowIterationSubIterationData1Data2
ExploratoryScenarioIteration11テスト1テストA
ExploratoryScenarioIteration12テスト2テストB
ExploratoryScenarioIteration13テスト3テストC
ExploratoryScenarioIteration21テスト4テストD
ExploratoryScenarioIteration22テスト5テストE
ExploratoryScenarioIteration23テスト6テストF
ExploratoryScenarioIteration31テスト7テストG
ExploratoryScenarioIteration32テスト8テストH
ExploratoryScenarioIteration33テスト9テストI

テストの実行

  1. テスト自体を繰り返す場合は、テストの画面にて実行します。
    画面左のナビゲーションからテスト画面へ移ります。
  2. さきほど作成したテストケースを追加し、Iterationn とします。
  3. Runをクリックし、動作を確認します。

レポート

レポートは今までと違いIteration_1Iteration_2といったように1周ごとにまとめられています。


まとめ

このように同じような操作を何度も繰り返す試験は、人力では大変負担がかかるため、自動テストの真骨頂と言えるのではないでしょうか。
今回のような様々な文字列を入力する試験や、様々なログインアカウントでログイン・ログアウトを繰り返す試験などに活用で来るのではと思います。

次回は、画面キャプチャーと参考画像を比較する試験を取り扱いたいと思います。

文責:梶井祐介

140 180 Cognizant ITS , Quality Control

記載されている会社名、および商品名等は、各社の商標または登録商標です。

1 コメント:

Related Posts Plugin for WordPress, Blogger...