Difference between revisions of "スマートデバイス用のテストケースの作成"

From GXtest Wiki
Jump to: navigation, search
(Created page with "{{Idiomas|Crear un caso de prueba para Smart Devices|Creating a test case for Smart Devices| スマートデバイス用のテストケースの作成}} スマートデバイ...")
 
(Create a new test case for Smart Devices)
Line 15: Line 15:
  
  
== Create a new test case for Smart Devices ==
+
== スマートデバイス用の新規テストケースの作成 ==
  
Before we start designing the test case, it is recommended we manually follow the steps to create a new company in the mobile app, so we get to know the process and the steps we will automate later with GXtest. To run the app in the emulator/device from GXtest Designer, we can click in the "Launch application in device" button located in the toolbar, and also in the Smart Devices menu. In order to add a new company, from the main app menu we select the option "Work With Devices Company", tap on the button Insert, fill a company name and tap on Save. That will take us back to the company list, where we should see the company we just created.
+
テストケースの設計を始める前に、モバイルアプリケーションで会社を新規作成する手順を手動で実行することをお勧めします。そうすれば、後で GXtest を使って自動化するプロセスおよび手順が分かります。GXtest Designer からエミュレーター/デバイスでアプリケーションを実行するには、ツールバーおよび [スマートデバイス] メニューにある [デバイスでアプリケーションを起動する] ボタンをクリックします。新しい会社を追加するには、メイン アプリケーション メニューから [Work With Devices Company] オプションを選択して [追加] ボタンをタップします。会社名を入力して [保存] をタップします。CompanyList に戻ります。作成した会社がリストに表示されているはずです。
  
  
To start creating the new test case, we go to the menu Test cases -> New.
+
新規テストケースの作成を開始するために、メニューから [テストケース] -> [新規] を選択します。
  
 
[[File:CreateNewSDTC.PNG|center]]
 
[[File:CreateNewSDTC.PNG|center]]
  
At the time we need to choose a name, we also need to specify the main platform of the test case. In our case, we will choose 'Smart Device'
+
名前を決定する際に、テストケースのメインプラットフォームも指定する必要があります。この場合は [スマートデバイス] を選択します。
  
  
Now that we have a new empty test case, we will drag and drop a new SDPage from the Objects toolbar. This SDPage will represent the first screen the application shows when we start the execution, and it will match with the GeneXus object called Menu. Once we have the SDPage in the test case, we double-click the SDPage and we choose the Menu object from the object selector window.
+
これで新しい空のテストケースができたので、新しい SDPage を [オブジェクト] ツールバーからドラッグ アンド ドロップします。この SDPage はアプリケーションの実行を開始するときに表示される最初の画面を表し、Menu という GeneXus オブジェクトと一致します。テストケースに SDPage ができたら、この SDPage をダブルクリックし、オブジェクト セレクター ウィンドウから Menu オブジェクトを選択します。
  
  
After that, we must connect the start node to the Menu SDPage, so we drag the edge arrow to accomplish this. To make the application execute, we must add a Go command, as we do with the Web test cases to open the browser on a new URL. On a Smart Device test case, the Go command will install/launch the application in our device or emulator. So, we add a Go command on the first edge, and as the value parameter we must put the path to the APK file of the Android app in our computer.  Luckily, we already loaded this path in the &apkPath variable in the [[Requirements for executing in Android]].
+
次に、スタートノードを Menu SDPage に接続する必要があります。接続するには、矢印をドラッグします。アプリケーションを実行するために Go コマンドを追加する必要があります。Web テストケースにおいて、新しい URL でブラウザを開くために行ったのと同様です。スマートデバイスのテストケースでは、Go コマンドによりデバイスまたはエミュレーターでアプリケーションがインストール/起動されます。したがって、最初の矢印に Go コマンドを追加し、値パラメーターとして、コンピューター内にある Android アプリケーションの apk ファイルへのパスを指定します。幸いなことに、このパスは [[Android での実行要件]]で &apkPath 変数にロード済みです。
  
 
[[File:GoApkPath.png | center]]
 
[[File:GoApkPath.png | center]]
  
At this ponint, we can execute the test case as it is, in order to check that the app launches on the selected emulator/device.
+
この時点で、選択されたエミュレーター/デバイスでアプリケーションが起動するかどうかを確認するために、テストケースをこのままの状態で実行します。
  
  
Now we can continue with the test case design. We should add a new command TapText in the Menu SDPage, which taps on the "Work With Devices Company" item of the menu (so we will have a TapText("Work With Devices Company")). This tap should take us to the CompanyList page, so we must add another SDPage associated with the CompanyList GeneXus object, and connect the Menu SDPage to the latter one through a new edge.
+
それでは、テストケースの設計を続行します。新しいコマンド TapText Menu SDPage に追加します。このコマンドは [Work With Devices Company] というメニュー項目をタップします (したがって、TapText("Work With Devices Company") が必要)。このタップにより CompanyList ページに移動するので、GeneXus オブジェクトの CompanyList に関連付けられたもう 1 つ別の SDPage を追加し、このページに Menu SDPage を新しい矢印で接続する必要があります。
  
  
Once in the CompanyList page, we must tap on the Insert button to go and create a new company, so we will add a new Tap command over this button, on the SDPage associated with CompanyList. The command should look like this: Tap(CompanyList.ButtonInsert)
+
CompanyList ページに移動したら、[追加] ボタンをタップして新しい会社を作成します。したがって、CompanyList に関連付けられた SDPage 上で、このボタンに新しい Tap コマンドを追加します。コマンドは、次のようになります:Tap(CompanyList.ButtonInsert)
  
  
After that, we will create a new SDPage, corresponding with the screen that allow us to create/edit/update a company. This page will be the CompanyGeneralSection GeneXus object, so we must assign this object to the SDPage, and connect the CompanyList node to this one.
+
次に、会社の作成/編集/更新を行うための画面となる新しい SDPage を作成します。このページは GeneXus オブジェクトの CompanyGeneralSection です。このオブジェクトを SDPage に割り当て、CompanyList ノードをこのページに接続します。
  
  
Finally, at the last SDPage (CompanyGeneralSection), we will write the name for the new company (for example "My Company"), and then press the "Save" button.
+
最後に、最後の SDPage (CompanyGeneralSection) で新しい会社の名前を入力したら (「My Company」など)、[保存] ボタンを押します。
  
 
[[File:TCAddCompany.png | center]]
 
[[File:TCAddCompany.png | center]]
  
In order to automate those two last steps, we will add the commands in the CompanyGeneralSection SDPage:
+
この最後の 2 つの手順を自動化するには、CompanyGeneralSection SDPage に次のコマンドを追加します。
 
* FillInput(CompanyGeneralSection.CompanyName, "My Company")
 
* FillInput(CompanyGeneralSection.CompanyName, "My Company")
 
* Tap(CompanyGeneralSection.ButtonSave)
 
* Tap(CompanyGeneralSection.ButtonSave)
  
  
At this point we completed the steps to create the new company, but it would be nice to verify on the same test case that the company has been successfully registered. So we will add one last SDPage associated to the CompanyList object, which is the page where we get after saving the new company. In this last page, we will add a validation that checks that the new company ("My Company") appears in the list. This is done with the AppearText("My Company") command.
+
 
 +
新しい会社の作成手順はこれで終了ですが、このテストケースで会社の登録が成功しているかどうかを確認することをお勧めします。そこで、CompanyList オブジェクトに関連付けられた SDPage を最後に 1 つ追加し、新しい会社の保存後にこのページが表示されるようにします。この最後のページには、新しい会社 ("My Company") がリストに表示されるかどうかを確認する検証を追加します。それには AppearText("My Company") コマンドを使用します。
  
  
Line 61: Line 62:
  
  
Run the test case and check that all steps are successfully completed, including the last validation.
+
テストケースを実行し、最後の検証を含むすべての手順が正常に終了することを確認します。
 +
 
 +
 
 +
これで最初のテストケースができあがりました。このテスト ケース フローで使用した固定値を変更し、代わりに[[データプールの使用 | データプール]]を使用することもできます。そうすればこのテストケースの管理が容易になり、新しいデータを使って拡張しやすくなります。
 +
 
 +
 
 +
== このテストケースを Web に拡張する ==
 +
 
 +
ハイブリッドなテストケースの作成も可能です。つまり、テストケースの一部の手順をモバイルデバイス上で実行し、残りの手順を Web アプリケーション上で実行する (順序は任意) ということです。たとえば、スマートデバイスのアプリケーションで新しい会社を作成した後に、Web バージョンのアプリケーションでその会社が表示されるかどうかを確認したい場合があります。
 +
 
  
 +
このようなテストケースを作成するには、一方のプラットフォームで手順を自動化するテストケースを、一度に両方とも使用する必要があります。たとえば、Web 上で "My Company" を検索する Web テストケースがすでにあり、Android アプリケーションで新しい会社を追加するためのテストケースもすでに作成されているとします。
 +
その場合、これら両方のテストケースを 3 個目のテストケースの中に入れ、それらを以下のように矢印で接続するだけで完成します。
  
Now that we have our first test case, we can change the fixed values we used in the test case flow and use [[Using Datapools | datapools]] instead. This makes our test cases easier to maintain and extend with new data.
+
[[File:MixedTC.PNG|center]]
  
 
== Extending the test case to the Web ==
 
== Extending the test case to the Web ==

Revision as of 20:25, 29 May 2015

Spanish.gif
English.gif
Japan.gif

スマートデバイス用の最初の GXtest テストケースの作成には、アプリケーションの作成で作成した GeneXus サンプル Android アプリケーションを使用します。 このサンプルアプリケーションは、顧客および会社の情報を保存する非常に単純なアプリケーションです。

ここでは、新しい会社を追加し、その会社がアプリケーションデータに実際に追加されたかどうかを確認するテストケースを新規作成します。


Contents

前提条件

まず最初に、テスト対象となる Android アプリケーションを生成する必要があります。したがって、前述の GeneXus チュートリアルを完了する必要があります。

その次に、エミュレーターまたは実際のデバイスでAndroid での実行要件が満たされていることを確認します。

また、GXtest プロジェクトの作成とプロジェクト用 KB のセットアップもすでに完了しているものとします。追加情報については、GXtest プロジェクトおよびGXtest および GeneXus KBの記事を参照してください。


スマートデバイス用の新規テストケースの作成

テストケースの設計を始める前に、モバイルアプリケーションで会社を新規作成する手順を手動で実行することをお勧めします。そうすれば、後で GXtest を使って自動化するプロセスおよび手順が分かります。GXtest Designer からエミュレーター/デバイスでアプリケーションを実行するには、ツールバーおよび [スマートデバイス] メニューにある [デバイスでアプリケーションを起動する] ボタンをクリックします。新しい会社を追加するには、メイン アプリケーション メニューから [Work With Devices Company] オプションを選択して [追加] ボタンをタップします。会社名を入力して [保存] をタップします。CompanyList に戻ります。作成した会社がリストに表示されているはずです。


新規テストケースの作成を開始するために、メニューから [テストケース] -> [新規] を選択します。

CreateNewSDTC.PNG

名前を決定する際に、テストケースのメインプラットフォームも指定する必要があります。この場合は [スマートデバイス] を選択します。


これで新しい空のテストケースができたので、新しい SDPage を [オブジェクト] ツールバーからドラッグ アンド ドロップします。この SDPage はアプリケーションの実行を開始するときに表示される最初の画面を表し、Menu という GeneXus オブジェクトと一致します。テストケースに SDPage ができたら、この SDPage をダブルクリックし、オブジェクト セレクター ウィンドウから Menu オブジェクトを選択します。


次に、スタートノードを Menu SDPage に接続する必要があります。接続するには、矢印をドラッグします。アプリケーションを実行するために Go コマンドを追加する必要があります。Web テストケースにおいて、新しい URL でブラウザを開くために行ったのと同様です。スマートデバイスのテストケースでは、Go コマンドによりデバイスまたはエミュレーターでアプリケーションがインストール/起動されます。したがって、最初の矢印に Go コマンドを追加し、値パラメーターとして、コンピューター内にある Android アプリケーションの apk ファイルへのパスを指定します。幸いなことに、このパスは Android での実行要件で &apkPath 変数にロード済みです。

GoApkPath.png

この時点で、選択されたエミュレーター/デバイスでアプリケーションが起動するかどうかを確認するために、テストケースをこのままの状態で実行します。


それでは、テストケースの設計を続行します。新しいコマンド TapText を Menu SDPage に追加します。このコマンドは [Work With Devices Company] というメニュー項目をタップします (したがって、TapText("Work With Devices Company") が必要)。このタップにより CompanyList ページに移動するので、GeneXus オブジェクトの CompanyList に関連付けられたもう 1 つ別の SDPage を追加し、このページに Menu SDPage を新しい矢印で接続する必要があります。


CompanyList ページに移動したら、[追加] ボタンをタップして新しい会社を作成します。したがって、CompanyList に関連付けられた SDPage 上で、このボタンに新しい Tap コマンドを追加します。コマンドは、次のようになります:Tap(CompanyList.ButtonInsert)


次に、会社の作成/編集/更新を行うための画面となる新しい SDPage を作成します。このページは GeneXus オブジェクトの CompanyGeneralSection です。このオブジェクトを SDPage に割り当て、CompanyList ノードをこのページに接続します。


最後に、最後の SDPage (CompanyGeneralSection) で新しい会社の名前を入力したら (「My Company」など)、[保存] ボタンを押します。

TCAddCompany.png

この最後の 2 つの手順を自動化するには、CompanyGeneralSection SDPage に次のコマンドを追加します。

  • FillInput(CompanyGeneralSection.CompanyName, "My Company")
  • Tap(CompanyGeneralSection.ButtonSave)


新しい会社の作成手順はこれで終了ですが、このテストケースで会社の登録が成功しているかどうかを確認することをお勧めします。そこで、CompanyList オブジェクトに関連付けられた SDPage を最後に 1 つ追加し、新しい会社の保存後にこのページが表示されるようにします。この最後のページには、新しい会社 ("My Company") がリストに表示されるかどうかを確認する検証を追加します。それには AppearText("My Company") コマンドを使用します。


SDInsertCompanyComplete.png


テストケースを実行し、最後の検証を含むすべての手順が正常に終了することを確認します。


これで最初のテストケースができあがりました。このテスト ケース フローで使用した固定値を変更し、代わりに データプールを使用することもできます。そうすればこのテストケースの管理が容易になり、新しいデータを使って拡張しやすくなります。


このテストケースを Web に拡張する

ハイブリッドなテストケースの作成も可能です。つまり、テストケースの一部の手順をモバイルデバイス上で実行し、残りの手順を Web アプリケーション上で実行する (順序は任意) ということです。たとえば、スマートデバイスのアプリケーションで新しい会社を作成した後に、Web バージョンのアプリケーションでその会社が表示されるかどうかを確認したい場合があります。


このようなテストケースを作成するには、一方のプラットフォームで手順を自動化するテストケースを、一度に両方とも使用する必要があります。たとえば、Web 上で "My Company" を検索する Web テストケースがすでにあり、Android アプリケーションで新しい会社を追加するためのテストケースもすでに作成されているとします。 その場合、これら両方のテストケースを 3 個目のテストケースの中に入れ、それらを以下のように矢印で接続するだけで完成します。

MixedTC.PNG

Extending the test case to the Web

Is is possible to create an hybrid test case, which means that the test case can execute some steps on a mobile device, and other steps oven the Web application (in any order). For example, we may need to check on the Web version of the application if the new company appears, after we created it on the Smart device app.


To create this kind of test cases, we should include the test cases that automate the steps in one platform at a time. For example, suppose we already have a Web test case that searches "My Company" on the Web, and also the test case we already created for adding a new company on the Android app. So, we only need to include both test cases in a third test case, connecting them through an edge, like this:

MixedTC.PNG