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

 

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

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


連載目次


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

この動画では、文字入力のアクションを3回繰り返し、さらにそのテストを3回繰り返しています。

Cognizant ITSでは、シナリオ内の一部のアクションを繰り返す方法と、テスト自体を繰り返す方法がありますので、それぞれ解説していきたいと思います。


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

シナリオの作成

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

 

Step ObjectName Action Input Condition
1 App1 Click
2 Activity Click
3 Custom Title Click
4 Left is best Set @テスト1
5 Change Left Click
6 Left is best1 assertElementTextEquals @テスト1
7 Right is always right Set @テストA
8 Change Right Click
9 Right is always right1 assertElementTextEquals @テスト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までを繰り返すものとします。

Step ObjectName Action Input Condition
1 App1 Click
2 Activity Click
3 Custom Title Click
4 Left is best Set @テスト1 Start Param
5 Change Left Click
6 Left is best1 assertElementTextEquals @テスト1
7 Right is always right Set @テストA
8 Change Right Click
9 Right is always right1 assertElementTextEquals @テストA End Param

 

データの作成

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

  1. まず、画面下のタブの タブをクリックし、新しいタブを作ります。

     

  2. 作成したタブをダブルクリックして名前をつけます。ここでは例としてタブの名前を「Iteration」とします。

     

  3. 次に画面中央あたりにある ボタンを押し、出てきた Add Row をクリックすることで行をいくつか増やしていきます。

     

  4. Scenarioの列には今のScenario名、Flowには今のTestCase名、Iterationにはすべて1、SubIterationには連番、Data1Data2@テスト1@テストAの代わりに入れたい文字列を入れていきます。

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

Scenario Flow Iteration SubIteration Data1 Data2
ExploratoryScenario Iteration 1 1 テスト1 テストA
ExploratoryScenario Iteration 1 2 テスト2 テストB
ExploratoryScenario Iteration 1 3 テスト3 テストC

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

 

データの指定

画面上部のシナリオで、固定で指定していた@テスト1 @テストAの部分に、下部で作成したデータを指定します。

記述方法は タブ名:列名 になります。この例の場合 Iteration:Data1 Iteration:Data2となります。

Step ObjectName Action Input Condition
1 App1 Click
2 Activity Click
3 Custom Title Click
4 Left is best Set Iteration:Data1 Start Param
5 Change Left Click
6 Left is best1 assertElementTextEquals Iteration:Data1
7 Right is always right Set Iteration:Data2
8 Change Right Click
9 Right is always right1 assertElementTextEquals Iteration:Data2 End Param

 

テストの実行

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

 


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

シナリオの作成

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

データの作成

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

Scenario Flow Iteration SubIteration Data1 Data2
ExploratoryScenario Iteration 1 1 テスト1 テストA
ExploratoryScenario Iteration 1 2 テスト2 テストB
ExploratoryScenario Iteration 1 3 テスト3 テストC
ExploratoryScenario Iteration 2 1 テスト4 テストD
ExploratoryScenario Iteration 2 2 テスト5 テストE
ExploratoryScenario Iteration 2 3 テスト6 テストF
ExploratoryScenario Iteration 3 1 テスト7 テストG
ExploratoryScenario Iteration 3 2 テスト8 テストH
ExploratoryScenario Iteration 3 3 テスト9 テストI

 

テストの実行

  1. テスト自体を繰り返す場合は、テストの画面にて実行します。
    画面左のナビゲーションからテスト画面へ移ります。

     

  2. さきほど作成したテストケースを追加し、Iterationn とします。

     

  3. Runをクリックし、動作を確認します。

レポート

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

 


まとめ

このように同じような操作を何度も繰り返す試験は、人力では大変負担がかかるため、自動テストの真骨頂と言えるのではないでしょうか。

今回のような様々な文字列を入力する試験や、様々なログインアカウントでログイン・ログアウトを繰り返す試験などに活用で来るのではと思います。