IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

2023-64808情報処理装置、情報処理方法およびコンピュータプログラム
<>
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図1
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図2
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図3
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図4
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図5
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図6
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図7
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図8
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図9
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図10
  • -情報処理装置、情報処理方法およびコンピュータプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023064808
(43)【公開日】2023-05-12
(54)【発明の名称】情報処理装置、情報処理方法およびコンピュータプログラム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20230502BHJP
【FI】
G06F11/36 184
G06F11/36 196
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021175160
(22)【出願日】2021-10-27
(71)【出願人】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100123102
【弁理士】
【氏名又は名称】宗田 悟志
(72)【発明者】
【氏名】山本 修也
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GB02
5B042HH17
5B042HH49
(57)【要約】
【課題】テスト対象が表示する画面上のオブジェクトに対する操作を伴うテストを支援する技術を提供する。
【解決手段】オブジェクト情報取得部52は、テスト対象の設計書またはプログラムからテスト対象により画面表示されるオブジェクトの情報を取得する。定数定義部54は、オブジェクトの情報に基づいて、オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する。テスト実行部56は、オブジェクトを操作するコードが記述されたテストスクリプトを実行することでテスト対象をテストする。テストスクリプトは、オブジェクトを操作するコードのパラメータ部分が定数を用いて記述される。テスト実行部56は、テストスクリプトの実行において、テストスクリプトに記述された定数を、定数情報において当該定数と対応付けられたパラメータの値に置き換える。
【選択図】図4
【特許請求の範囲】
【請求項1】
テスト対象の設計書またはプログラムから前記テスト対象により画面に表示されるオブジェクトに関するオブジェクト情報を取得するオブジェクト情報取得部と、
前記オブジェクト情報に基づいて、前記オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する定数定義部と、
前記オブジェクトを操作するコードが記述されたテストスクリプトを実行することにより前記テスト対象をテストするテスト実行部と、
を備え、
前記テストスクリプトは、前記オブジェクトを操作するコードのパラメータ部分が前記定数を用いて記述されたものであり、
前記テスト実行部は、前記テストスクリプトの実行において、前記テストスクリプトに記述された前記定数を、前記定数情報において前記定数と対応付けられたパラメータの値に置き換える、
情報処理装置。
【請求項2】
前記テストスクリプトにおける前記オブジェクトを操作するコードは、前記オブジェクトに対するユーザの操作を擬似するものである、
請求項1に記載の情報処理装置。
【請求項3】
前記オブジェクト情報は、前記画面における前記オブジェクトの座標を含む、
請求項1または2に記載の情報処理装置。
【請求項4】
前記オブジェクト情報は、前記画面における前記オブジェクトの大きさを含む、
請求項3に記載の情報処理装置。
【請求項5】
前記オブジェクト情報は、前記オブジェクトの外観を定めた画像ファイルの情報を含む、
請求項1から4のいずれかに記載の情報処理装置。
【請求項6】
テスト対象の設計書またはプログラムから前記テスト対象により画面に表示されるオブジェクトに関するオブジェクト情報を取得する処理と、
前記オブジェクト情報に基づいて、前記オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する処理と、
前記オブジェクトを操作するコードが記述されたテストスクリプトを実行することにより前記テスト対象をテストする処理と、
をコンピュータが実行し、
前記テストスクリプトは、前記オブジェクトを操作するコードのパラメータ部分が前記定数を用いて記述されたものであり、
前記コンピュータは、前記テストスクリプトの実行において、前記テストスクリプトに記述された前記定数を、前記定数情報において前記定数と対応付けられたパラメータの値に置き換える、
情報処理方法。
【請求項7】
テスト対象の設計書またはプログラムから前記テスト対象により画面に表示されるオブジェクトに関するオブジェクト情報を取得する処理と、
前記オブジェクト情報に基づいて、前記オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する処理と、
前記オブジェクトを操作するコードが記述されたテストスクリプトを実行することにより前記テスト対象をテストする処理と、
をコンピュータに実行させ、
前記テストスクリプトは、前記オブジェクトを操作するコードのパラメータ部分が前記定数を用いて記述されたものであり、
前記テストする処理は、前記テストスクリプトの実行において、前記テストスクリプトに記述された前記定数を、前記定数情報において前記定数と対応付けられたパラメータの値に置き換える、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はデータ処理技術に関し、特に情報処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【0002】
GUI(Graphical User Interface)の画面情報からソースコードと、ソースコードをテストするテストソースコード、実行プログラム、実行テストプログラムを生成し、実行テストプログラムを実行して、実行プログラムをテストするソフトウェア開発支援装置が提案されている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007-213249号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記特許文献1に記載された技術は、期待する画面が生成されているかを確認するためのテストプログラムを自動生成するものであるが、上記特許文献1は、テスト対象が表示する画面上のオブジェクトに対する操作を伴う統合的な機能テストを支援する技術を開示していない。
【0005】
本開示はこうした課題に鑑みてなされたものであり、1つの目的は、テスト対象が表示する画面上のオブジェクトに対する操作を伴うテストを支援する技術を提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本開示のある態様の情報処理装置は、テスト対象の設計書またはプログラムからテスト対象により画面に表示されるオブジェクトに関するオブジェクト情報を取得するオブジェクト情報取得部と、オブジェクト情報に基づいて、オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する定数定義部と、オブジェクトを操作するコードが記述されたテストスクリプトを実行することによりテスト対象をテストするテスト実行部とを備える。テストスクリプトは、オブジェクトを操作するコードのパラメータ部分が定数を用いて記述されたものであり、テスト実行部は、テストスクリプトの実行において、テストスクリプトに記述された定数を、定数情報において定数と対応付けられたパラメータの値に置き換える。
【0007】
本発明の別の態様は、情報処理方法である。この方法は、テスト対象の設計書またはプログラムからテスト対象により画面に表示されるオブジェクトに関するオブジェクト情報を取得する処理と、オブジェクト情報に基づいて、オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する処理と、オブジェクトを操作するコードが記述されたテストスクリプトを実行することによりテスト対象をテストする処理とをコンピュータが実行する。テストスクリプトは、オブジェクトを操作するコードのパラメータ部分が定数を用いて記述されたものであり、コンピュータは、テストスクリプトの実行において、テストスクリプトに記述された定数を、定数情報において定数と対応付けられたパラメータの値に置き換える。
【0008】
なお、以上の構成要素の任意の組合せ、本開示の表現を、システム、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【0009】
本開示の技術によれば、テスト対象が表示する画面上のオブジェクトに対する操作を伴うテストを支援することができる。
【図面の簡単な説明】
【0010】
図1】テスト対象により生成される画面の例を示す図である。
図2】従来のテストスクリプトの例を示す図である。
図3】実施例のテストシステムの構成を示す図である。
図4図3の自動テスト装置の機能ブロックを示すブロック図である。
図5】実施例の自動テスト装置の動作を示すフローチャートである。
図6】テスト対象プログラムのソースコードの例を示す図である。
図7】テスト対象プログラムの設計書情報の例を示す図である。
図8】パラメータファイルの例を示す図である。
図9】実施例のテストスクリプトの例を示す図である。
図10】パラメータファイルの例を示す図である。
図11】パラメータファイルの例を示す図である。
【発明を実施するための形態】
【0011】
本開示における装置または方法の主体は、コンピュータを備えている。このコンピュータがプログラムを実行することによって、本開示における装置または方法の主体の機能が実現される。コンピュータは、プログラムにしたがって動作するプロセッサを主なハードウェア構成として備える。プロセッサは、プログラムを実行することによって機能を実現することができれば、その種類は問わない。プロセッサは、半導体集積回路(Integrated Circuit)(IC)、またはLSI(Large Scale Integration)を含む1つまたは複数の電子回路で構成される。ここではICあるいはLSIと呼んでいるが、集積の度合いによって呼び方が変わり、システムLSI、VLSI(Very Large Scale Integration)もしくはUSLI(Ultra Large Scale Integration)と呼ばれるものであってもよい。LSIの製造後にプログラムされる、フィールド・プログラマブル・ゲート・アレイ(Field Programmable Gate Array)(FPGA)、またはLSI内部の接合関係の再構成またはLSI内部の回路区画のセットアップができる再構成可能な論理デバイスも同じ目的で使うことができる。複数の電子回路は、1つのチップに集積されてもよいし、複数のチップに設けられてもよい。複数のチップは1つの装置に集約されていてもよいし、複数の装置に備えられていてもよい。プログラムは、コンピュータが読み取り可能なROM(Read Only Memory)、光ディスク、ハードディスクドライブなどの非一時的記録媒体に記録されてもよいし、コンピュータが読み取り可能なRAM(Random Access Memory)などの一時的記憶媒体に記録されてもよい。プログラムは、記録媒体に予め格納されていてもよいし、インターネット等を含む広域通信網を介して記録媒体もしくは記憶媒体に供給されてもよい。
【0012】
実施例の概要を説明する。コンピュータシステムに対する統合的な機能テストでは、テスト対象プログラムにより生成される画面上のオブジェクトに対してユーザの操作を入力して評価対象の画面まで遷移させ、評価対象の画面においてテスト対象プログラムの機能を評価することが行われている。また、上記の機能テストでは、ユーザの操作を擬似するコードが記述されたテストスクリプトを用いて自動化が図られることがある。ここで、テスト対象プログラムの仕様変更に伴って画面レイアウトが変更されると、評価対象の画面に遷移するまでの過程で失敗し、評価観点とは異なる部分が原因で評価失敗となることがある。
【0013】
図1は、テスト対象により生成される画面(ここではカーナビゲーションの画面)の例を示す。ナビゲーション画面100には、複数のオブジェクトとして、マイク画像102、ズームインボタン104、ズームアウトボタン106が配置される。オブジェクトは、ユーザの操作が入力され得るHMI(Human Machine Interface)部品とも言え、また、画面を構成する様々な要素(ボタン、アイコン、インジケータ等)を含む。
【0014】
図2は、従来のテストスクリプトの例を示す。同図は、図1のナビゲーション画面100に対する機能テスト用のテストスクリプト110を示している。テストスクリプト110には、ナビゲーション画面100に表示されるオブジェクトを操作するコード(図2では操作1~6のコード)が記述される。オブジェクトを操作するコードは、オブジェクトに対するユーザの操作を擬似するものである。
【0015】
例えば、テストスクリプト110の操作1、3、5、6は、座標を用いて指定された画面上の位置(例えば特定のオブジェクトが配置された位置)をタッチする操作である。また、テストスクリプト110の操作2は、パス名により指定された画像ファイルが示す画像を画面上で検索し、その画像をタッチする操作である。座標値やパス名は、上記タッチ操作等の処理を実行する機能テスト用の関数(以下「テスト関数」とも呼ぶ。)のパラメータとして指定される。
【0016】
図2で示したように、従来のテストスクリプトでは、テスト関数のパラメータに指定される操作対象オブジェクトの座標や画像ファイルのパス名が、(60,60)のように固定値で記述され、言い換えれば、ハードコーディングされていた。そのため、画面の仕様変更に伴ってオブジェクトの座標や画像ファイルが変更された場合、その変更への追従が困難であり、評価観点以前の画面遷移で失敗することがあった。同様に、画面の解像度が異なる複数機種での機能テストにおいても、解像度違いへの追従が困難であり、評価観点以前の画面遷移で失敗することがあった。
【0017】
そこで、実施例の情報処理装置(後述の自動テスト装置16)では、テスト対象のソースコードをもとに、画面上のオブジェクトの配置座標や大きさ(以下「オブジェクト情報」とも呼ぶ。)を取得し、オブジェクト情報に基づく座標値を定数として定義する。また、実施例の情報処理装置では、テスト対象のソースコードをもとに、画面上のオブジェクトの画像ファイルを取得し、その画像ファイルのパス名を定数として定義する。テストスクリプトでは、これらの定数を用いてオブジェクトに対する操作を記述する。これにより、画面の仕様変更への容易な追従を実現する。
【0018】
実施例の詳細を説明する。
図3は、実施例のテストシステム10の構成を示す。テストシステム10は、プログラムリポジトリ12、ユーザ端末14、自動テスト装置16を備える情報処理システムである。これらの装置は、通信網18を介して接続される。通信網18は、LAN、WAN、インターネット等を含み得る。
【0019】
プログラムリポジトリ12は、テスト対象プログラムのソースコードを記憶するコンピュータである。ユーザ端末14は、機能テストの担当者により操作されるコンピュータ(PC等)である。自動テスト装置16は、テスト対象プログラムの自動テストに関する情報処理を実行するコンピュータである。
【0020】
図4は、図3の自動テスト装置16の機能ブロックを示すブロック図である。本開示のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【0021】
自動テスト装置16は、制御部30、記憶部32、通信部34を備える。制御部30は、各種データ処理を実行する。記憶部32は、記憶部32により参照または更新されるデータを記憶する。通信部34は、所定の通信プロトコルにしたがって外部装置と通信する。制御部30は、通信部34を介して、プログラムリポジトリ12およびユーザ端末14とデータを送受信する。
【0022】
記憶部32は、テスト関数記憶部40、テスト対象情報記憶部42、パラメータファイル記憶部44、画像ファイル記憶部46、テストスクリプト記憶部48を含む。
【0023】
テスト関数記憶部40は、テストスクリプトで用いられるテスト関数のデータを記憶する。テスト関数は、ユーザによる操作を擬似する処理を実行するプログラムモジュールである。例えば、図2の操作1、3、5、6に対応する第1のテスト関数は、パラメータ(引数とも言える)で指定された画面上の座標にタッチする操作として、タッチされた座標や操作の種類をテスト対象プログラムに入力する関数であってもよい。また、図2の操作2に対応する第2のテスト関数は、パラメータで指定された画像ファイルが示す画像を画面上で検索し、その画像にタッチする操作として、タッチされた座標(画像の位置)や操作の種類をテスト対象プログラムに入力する関数であってもよい。
【0024】
テスト対象情報記憶部42は、プログラムリポジトリ12から読み込まれたテスト対象プログラムのソースコードを記憶する。パラメータファイル記憶部44は、後述の定数定義部54により生成された定数情報(実施例ではパラメータファイル)を記憶する。画像ファイル記憶部46は、テスト対象プログラムにより画面表示されるオブジェクトの外観を定めた画像ファイルを記憶する。
【0025】
テストスクリプト記憶部48は、ユーザにより作成され、ユーザ端末14から登録されたテストスクリプトを記憶する。実施例におけるテストスクリプトは、オブジェクトを操作するコード(すなわちテスト関数を呼び出すコード)のパラメータ部分が、上記のパラメータファイルで定められた定数を用いて記述されたものである。
【0026】
制御部30は、テスト対象情報取得部50、オブジェクト情報取得部52、定数定義部54、テスト実行部56を含む。これら複数の機能ブロックの機能が実装されたコンピュータプログラムが自動テスト装置16のストレージ(記憶部32等)に記憶されてもよい。自動テスト装置16のプロセッサ(CPU等)は、そのコンピュータプログラムをメインメモリに読み出して実行することにより、上記複数の機能ブロックの機能を発揮してもよい。
【0027】
テスト対象情報取得部50は、プログラムリポジトリ12に記憶されたテスト対象プログラムのソースコードを読み出してテスト対象情報記憶部42に格納する。
【0028】
オブジェクト情報取得部52は、テスト対象プログラムのソースコードからテスト対象プログラムにより画面に表示されるオブジェクトに関するオブジェクト情報を取得する。オブジェクト情報は、画面上でのオブジェクトの座標と、オブジェクトの画像ファイルの情報の少なくとも一方を含む。また、オブジェクト情報は、画面上でのオブジェクトの大きさをさらに含んでもよい。
【0029】
定数定義部54は、オブジェクト情報取得部52により取得されたオブジェクト情報に基づいて、オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報(実施例ではパラメータファイル)を生成する。定数定義部54は、生成したパラメータファイルをパラメータファイル記憶部44に格納する。
【0030】
テスト実行部56は、テスト対象プログラムにより表示された画面に対して、テストスクリプト記憶部48に記憶されたテストスクリプトを実行することにより、テスト対象プログラムの機能テストを実行する。テスト実行部56は、テストスクリプトの実行において、テストスクリプトに記述された定数を、パラメータファイル記憶部44に記憶されたパラメータファイルにおいてその定数と対応付けられたパラメータの値(例えば座標値や画像ファイルのパス名)に置き換える。
【0031】
以上の構成によるテストシステム10の動作を説明する。
図5は、実施例の自動テスト装置16の動作を示すフローチャートである。予め定められた定数情報更新タイミングに至ると(S10のY)、自動テスト装置16のテスト対象情報取得部50は、プログラムリポジトリ12からテスト対象プログラムのソースコードを読み出してテスト対象情報記憶部42に格納する(S11)。定数情報更新タイミングは、ユーザから明示的な更新指示を受け付けたこと、先の更新時から所定時間が経過したこと、プログラムリポジトリ12に新しいバージョンのテスト対象プログラムが格納されたことのうち少なくとも1つであってもよい。
【0032】
図6は、テスト対象プログラムのソースコードの例を示す。同図のテスト対象プログラム120は、Pythonの辞書形式で記述されたオブジェクト情報122を含む。オブジェクト情報122は、図1のナビゲーション画面100に表示されるマイク画像102のデータ(PIC_MIKE)、ズームインボタン104のデータ(PIC_ZOOMIN)、およびズームアウトボタン106のデータ(PIC_ZOOMOUT)を含む。各オブジェクトのデータは、オブジェクトのユニークな識別子であるオブジェクトID(PartsId)、左上端位置の横座標(X)と縦座標(Y)、オブジェクトの大きさを示す横幅(W)と縦幅(H)、画像ファイルのパス名(PicPath)を含む。
【0033】
自動テスト装置16のオブジェクト情報取得部52は、テスト対象情報記憶部42に記憶されたテスト対象プログラムのソースコードから、画面表示されるオブジェクトに関するオブジェクト情報(例えば図6のオブジェクト情報122)を抽出する(S12)。オブジェクト情報取得部52は、テスト対象プログラムのソースコードからPartsIdを含むブロックをオブジェクト情報として抽出してもよい。また、オブジェクト情報取得部52は、画面上のオブジェクトに割り当てられるPartsIdの値を予め記憶してもよく、その値に一致するPartsIdを含むブロックをオブジェクト情報として抽出してもよい。
【0034】
変形例として、自動テスト装置16のテスト対象情報取得部50は、不図示の設計書リポジトリから、テスト対象プログラムの設計書情報を取得してテスト対象情報記憶部42に格納してもよい。自動テスト装置16のオブジェクト情報取得部52は、テスト対象情報記憶部42に記憶された設計書情報から、画面表示されるオブジェクトに関するオブジェクト情報を抽出してもよい。
【0035】
図7は、テスト対象プログラムの設計書情報の例を示す。設計書情報124は、CSV(Comma Separated Value)形式で記述されたオブジェクト情報126を含む。図8のオブジェクト情報126も、図6に示したソースコードのオブジェクト情報122と同様に、図1のマイク画像102のデータ、ズームインボタン104のデータ、ズームアウトボタン106のデータを含む。また、各オブジェクトのデータは、オブジェクトID(PartsId)、左上端位置の横座標(X)と縦座標(Y)、オブジェクトの大きさを示す横幅(W)と縦幅(H)、画像ファイルのパス名(PicPath)を含む。
【0036】
図5に戻り、オブジェクト情報取得部52は、さらに、オブジェクト情報が示す画像ファイルのパス名をもとにオブジェクトの画像データを所定の画像データソースから取得し、取得した画像データを画像ファイル記憶部46に格納する(S13)。オブジェクト情報取得部52は、テスト対象プログラムのソースコード(変形例では設計書情報)から抽出した各オブジェクトのオブジェクト情報と、画像ファイル記憶部46に記憶された各オブジェクトの画像ファイルのパス名(以下「ローカルパス名」とも呼ぶ。)の組を定数定義部54に渡す。
【0037】
自動テスト装置16の定数定義部54は、オブジェクト情報に基づく定数定義処理を実行してパラメータファイルを生成して、パラメータファイルをパラメータファイル記憶部44に格納する(S14)。図8は、パラメータファイルの例を示す。パラメータファイル130は、図1のマイク画像102の中央横座標(MIKE_CX)と中央縦座標(MIKE_CY)を含む。また、パラメータファイル130は、図1のズームインボタン104のローカルファイルパス(ZOOMIN_PATH)とズームアウトボタン106のローカルファイルパス(ZOOMOUT_PATH)を含む。
【0038】
S14において、定数定義部54は、オブジェクト情報が示すオブジェクトの座標情報(横座標X、縦座標Y、横幅W、縦幅H)をもとに、以下の計算式にてオブジェクトの中央座標(中央横座標CX,中央縦座標CY)を算出する。
CX=X+W/2
CY=Y+H/2
例えば、図6のオブジェクト情報122が示すマイク画像(PIC_MIKE)の場合、マイク画像の中央横座標CXを200と算出し、マイク画像の中央縦座標CYを650と算出する。
【0039】
定数定義部54は、各オブジェクトのオブジェクトID(PartsId)をもとに、各オブジェクトに対応する定数の名前を決定する。オブジェクトに対応する定数は、そのオブジェクトを操作する関数にパラメータとして与える定数である。定数定義部54は、各オブジェクトに対応する定数の名前と、各オブジェクトの中央座標(CX,CY)とを対応付ける。例えば、定数定義部54は、図6のマイク画像(PIC_MIKE)に対応する定数情報設定時、マイク画像のID「NAVI_0001_PIC_MIKE」から予め定められたID体系をもとにオブジェクト固有の識別子である「MIKE」を抽出する。そして、パラメータファイル130に、マイク画像の中央横座標として「MIKE_CX=200」を設定し、マイク画像の中央縦座標として「MIKE_CY=650」を設定する。
【0040】
定数情報更新タイミングでなければ(S10のN)、S11~S14の処理をスキップする。
【0041】
ユーザは、自動テスト装置16のパラメータファイル記憶部44に記憶されたパラメータファイルを参照し、パラメータファイルに定められた定数を用いてテストスクリプトを記述する。ユーザ端末14は、ユーザの操作にしたがって、テストスクリプトを自動テスト装置16にアップロードする。テストスクリプトは、自動テスト装置16のパラメータファイル記憶部44に格納される。
【0042】
図9は、実施例のテストスクリプトの例を示す。同図のテストスクリプト110は、図2のテストスクリプト110に対応する。図9に示すように、実施例のテストスクリプト110では、テスト関数に入力するパラメータ(例えば座標値や画像ファイルのパス名)が、パラメータファイルに定義された定数を用いて記述される。
【0043】
図5に戻り、ユーザ端末14は、ユーザの操作にしたがって、テスト実行指示を自動テスト装置16へ送信する。実施例のテスト実行指示は、テストスクリプトおよびパラメータファイルを指定するデータを含む。ユーザ端末14からテスト実行指示を受け付けると(S15のY)、自動テスト装置16のテスト実行部56は、テスト実行指示で指定されたテストスクリプトのデータをテストスクリプト記憶部48から読み込み、テスト実行指示で指定されたパラメータファイルのデータをテスト対象情報記憶部42から読み込む。テスト実行部56は、従来の機能テストと同様に、テストスクリプトを実行することによりテスト対象プログラムの機能テストを行う(S16)。
【0044】
テスト実行部56は、テストスクリプトに記述されたテスト関数の実行時に、当該テスト関数のパラメータ部分に記述された定数を、パラメータファイルにおいて対応付けられた座標値に置き換えてテスト関数を実行する。また、テスト実行部56は、画像ファイルを用いるテスト関数の実行時に、当該テスト関数のパラメータ部分に記述された定数を、パラメータファイルにおいて対応付けられたローカルパス名に置き換え、そのローカルパス名をもとに画像ファイル記憶部46から画像ファイルを読み込んでテスト関数に渡すことによりテスト関数を実行する。
【0045】
変形例として、テスト実行部56は、テスト実行指示で指定されたテストスクリプトの実行前に、そのテストスクリプトに記述された定数をパラメータファイルにおいて対応付けられたパラメータ値に置き換えた新たなテストスクリプトを生成してもよい。この場合、テスト実行部56は、定数部分がパラメータ値に置き換わった上記新たなテストスクリプトを実行する。
【0046】
テスト実行指示を受け付けなければ(S15のN)、S16の処理をスキップする。なお、公知技術であるため詳細に説明しないが、自動テスト装置16は、テスト対象の機能テストの結果を記録し、その結果をユーザ端末14に提供してもよい。
【0047】
図10は、パラメータファイルの例を示す。同図は、テスト対象プログラムの画面仕様変更に伴い生成されるパラメータファイルの例を示している。図10では、図8のパラメータファイル130と異なる部分に下線を付している。図10の例では、テスト対象プログラムの画面仕様変更に伴って、図1のズームインボタン104の画像ファイル名が変更され、また、図1のマイク画像102の座標および/または大きさが変更されている。画面仕様変更後のテスト対象プログラムの機能テストは、画面仕様変更前のテストスクリプトと、画面仕様変更に対応したパラメータファイルを用いて行うことができる。
【0048】
実施例の自動テスト装置16によると、テスト対象プログラムにより表示される画面上のオブジェクトの座標データや大きさ、または画像ファイルに変更があっても、その変更の影響をパラメータファイルで吸収するため、テストスクリプトの変更が不要になる。これにより、テストスクリプトを変更することなく、テスト対象プログラムの画面仕様変更への追従が可能になる。また、テスト対象プログラムの画面仕様に変更が生じても、評価観点以外の部分が原因で評価失敗となることを防止できる。
【0049】
また、実施例のオブジェクト情報は、オブジェクトIDを含む。自動テスト装置16は、或るオブジェクトに対応する定数名を、そのオブジェクトのオブジェクトIDに基づいて決定する。テスト対象プログラムのバージョンが異なっても、同じオブジェクトには同じオブジェクトIDが付与される。これにより、テスト対象プログラムのバージョンが異なっても、テストスクリプトにおける同じオブジェクトの操作コードには同じ定数名を設定するため、テスト対象プログラムの画面仕様変更への追従が一層容易になる。
【0050】
以上、本開示を実施例をもとに説明した。この実施例は例示であり、実施例の各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本開示の範囲にあることは当業者に理解されるところである。
【0051】
上記実施例に記載の技術思想は、画面の解像度が異なる複数の機種においてテスト対象プログラムの機能試験を行う場合にも有用である。例えば、自動テスト装置16の定数定義部54は、第1の解像度の機種での機能試験用の第1のパラメータファイルを生成してもよい。ユーザは、第1の解像度とは異なる第2の解像度の機種での機能試験用の第2のパラメータファイルを、解像度の違いを考慮して第1のパラメータファイルを変更することにより作成してもよい。
【0052】
図11は、パラメータファイルの例を示す。図11のパラメータファイル130は、上記の第2のパラメータファイルに対応する。図11のパラメータファイル130は、ユーザが解像度の違いを考慮して図8のパラメータファイル130を変更したものである。図11では、図8のパラメータファイル130と異なる部分に下線を付している。この例では、横方向の解像度が高い機種での機能試験用に各オブジェクトの中央横座標が変更されている。
【0053】
この変形例においても、画面の解像度が異なる複数の機種においてテスト対象プログラムの機能試験を行う場合に、テスト対象プログラムにより表示される画面上のオブジェクトの座標データや大きさ等に変化が生じても、その変化の影響をパラメータファイルで吸収するため、テストスクリプトの変更が不要になる。これにより、テストスクリプトを変更することなく、画面解像度が異なる環境で機能テストを実行することができる。また、評価観点以外の部分が原因で評価失敗となることを防止できる。
【0054】
上述した実施例および変形例の任意の組み合わせもまた本開示の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【0055】
実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
[項目1]
テスト対象の設計書またはプログラムから前記テスト対象により画面に表示されるオブジェクトに関するオブジェクト情報を取得するオブジェクト情報取得部と、
前記オブジェクト情報に基づいて、前記オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する定数定義部と、
前記オブジェクトを操作するコードが記述されたテストスクリプトを実行することにより前記テスト対象をテストするテスト実行部と、
を備え、
前記テストスクリプトは、前記オブジェクトを操作するコードのパラメータ部分が前記定数を用いて記述されたものであり、
前記テスト実行部は、前記テストスクリプトの実行において、前記テストスクリプトに記述された前記定数を、前記定数情報において前記定数と対応付けられたパラメータの値に置き換える、
情報処理装置。
この情報処理装置によると、テスト対象の仕様変更により画面表示されるオブジェクトの操作に必要となるパラメータ値(例えば座標値)が変更になる場合でも、テストスクリプトを修正することなく、テスト対象のテストを実行することができる。
[項目2]
前記テストスクリプトにおける前記オブジェクトを操作するコードは、前記オブジェクトに対するユーザの操作を擬似するものである、
項目1に記載の情報処理装置。
この情報処理装置によると、ユーザの操作を擬似する統合的なテストの自動化を支援することができる。
[項目3]
前記オブジェクト情報は、前記画面における前記オブジェクトの座標を含む、
項目1または2に記載の情報処理装置。
この情報処理装置によると、画面表示されるオブジェクトの座標を用いて、テスト時のオブジェクトの操作に必要となるパラメータの値を適切に決定でき、オブジェクトの座標が変更されても、テストスクリプトの修正を不要にすることができる。
[項目4]
前記オブジェクト情報は、前記画面における前記オブジェクトの大きさを含み、
項目3に記載の情報処理装置。
この情報処理装置によると、画面表示されるオブジェクトの座標と大きさを用いて、テスト時のオブジェクトの操作に必要となるパラメータの値を適切に決定でき、オブジェクトの座標または大きさが変更されても、テストスクリプトの修正を不要にすることができる。
[項目5]
前記オブジェクト情報は、前記オブジェクトの外観を定めた画像ファイルの情報を含む、
項目1から4のいずれかに記載の情報処理装置。
この情報処理装置によると、画面表示されるオブジェクトの画像ファイルを用いて、テスト時のオブジェクトの操作に必要となるパラメータの値を適切に決定でき、オブジェクトの画像ファイルの属性(ファイル名やテスト環境におけるパス名等)が変更されても、テストスクリプトの修正を不要にすることができる。
[項目6]
テスト対象の設計書またはプログラムから前記テスト対象により画面に表示されるオブジェクトに関するオブジェクト情報を取得する処理と、
前記オブジェクト情報に基づいて、前記オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する処理と、
前記オブジェクトを操作するコードが記述されたテストスクリプトを実行することにより前記テスト対象をテストする処理と、
をコンピュータが実行し、
前記テストスクリプトは、前記オブジェクトを操作するコードのパラメータ部分が前記定数を用いて記述されたものであり、
前記コンピュータは、前記テストスクリプトの実行において、前記テストスクリプトに記述された前記定数を、前記定数情報において前記定数と対応付けられたパラメータの値に置き換える、
情報処理方法。
この情報処理方法によると、テスト対象の仕様変更により画面表示されるオブジェクトの操作に必要となるパラメータ値(例えば座標値)が変更になる場合でも、テストスクリプトを修正することなく、テスト対象のテストを実行することができる。
[項目7]
テスト対象の設計書またはプログラムから前記テスト対象により画面に表示されるオブジェクトに関するオブジェクト情報を取得する処理と、
前記オブジェクト情報に基づいて、前記オブジェクトの操作に必要となるパラメータの値をユニークな定数と対応付けた定数情報を生成する処理と、
前記オブジェクトを操作するコードが記述されたテストスクリプトを実行することにより前記テスト対象をテストする処理と、
をコンピュータに実行させ、
前記テストスクリプトは、前記オブジェクトを操作するコードのパラメータ部分が前記定数を用いて記述されたものであり、
前記テストする処理は、前記テストスクリプトの実行において、前記テストスクリプトに記述された前記定数を、前記定数情報において前記定数と対応付けられたパラメータの値に置き換える、
コンピュータプログラム。
このコンピュータプログラムによると、テスト対象の仕様変更により画面表示されるオブジェクトの操作に必要となるパラメータ値(例えば座標値)が変更になる場合でも、テストスクリプトを修正することなく、テスト対象のテストをコンピュータに実行させることができる。
【符号の説明】
【0056】
10 テストシステム、 16 自動テスト装置、 50 テスト対象情報取得部、 52 オブジェクト情報取得部、 54 定数定義部、 56 テスト実行部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11