(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6130011
(24)【登録日】2017年4月21日
(45)【発行日】2017年5月17日
(54)【発明の名称】ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
(51)【国際特許分類】
G06F 11/36 20060101AFI20170508BHJP
【FI】
G06F11/36 112
G06F11/36 188
【請求項の数】4
【全頁数】9
(21)【出願番号】特願2016-49813(P2016-49813)
(22)【出願日】2016年3月14日
【審査請求日】2016年6月3日
【早期審査対象出願】
(73)【特許権者】
【識別番号】000139012
【氏名又は名称】株式会社リクルートホールディングス
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100139066
【弁理士】
【氏名又は名称】伊藤 健太郎
(72)【発明者】
【氏名】佐橘 一旗
(72)【発明者】
【氏名】朏島 一樹
【審査官】
多胡 滋
(56)【参考文献】
【文献】
特開2010−191705(JP,A)
【文献】
特開2013−254394(JP,A)
【文献】
特開2009−134406(JP,A)
【文献】
特開2011−060052(JP,A)
【文献】
特開2007−086899(JP,A)
【文献】
山内仁,輪郭ベクトルの追跡による道路標識の認識,画像ラボ,日本,日本工業出版株式会社,2004年 8月 1日,第15巻,第8号,pp.12-16
【文献】
榊原彰,効果的なリグレッションテストでアプリケーションの機能を検証する,月刊ソリューションIT,日本,株式会社リックテレコム,2001年 9月 1日,第13巻,第9号,pp.92-97
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
ソフトウェアの動作検証を行うための装置であって、
情報記憶部と、
前記ソフトウェアがインストールされた第1情報処理装置において当該ソフトウェアが実行された際の第1操作内容及び第1表示画像を取得し、当該第1操作内容及び第1表示画像を含んだ操作ログを前記情報記憶部に格納する操作ログ記録部と、
前記情報記憶部に格納された前記操作ログを用いて、前記ソフトウェアがインストールされた第2情報処理装置に対し、当該ソフトウェアを実行させて前記第1操作内容と同一の操作内容に対応する命令を与え、当該実行時の第2表示画像を含む当該ソフトウェアの動作結果を取得する操作ログ再生部と、
前記第1表示画像と前記第2表示画像との差分画像を生成し、当該差分画像を含んだ動作検証情報を出力する検証情報出力部と、
を含み、
前記検証情報出力部は、前記差分画像を生成するとき、前記第1表示画像と前記第2表示画像の大きさを拡大ないし縮小して正規化した後に差分画像を生成し、前記第1表示画像及び前記第2表示画像内のボタンを含むオブジェクトについては、当該オブジェクトを除く部分を拡大ないし縮小して正規化した後に差分画像を生成する、
ソフトウェアの動作検証装置。
【請求項2】
前記第1表示画像及び前記第2表示画像の各々がスクリーンショット画像である、
請求項1に記載のソフトウェアの動作検証装置。
【請求項3】
前記差分画像は、前記第1表示画像と前記第2表示画像との相違する箇所を強調して示した画像である、
請求項1又は2に記載のソフトウェアの動作検証装置。
【請求項4】
ソフトウェアの動作検証を行うための方法であって、
前記ソフトウェアがインストールされた第1情報処理装置において当該ソフトウェアが実行された際の第1操作内容及び第1表示画像を取得し、当該第1操作内容及び第1表示画像を含んだ操作ログを情報記憶部に格納する第1ステップと、
前記情報記憶部に格納された前記操作ログを用いて、前記ソフトウェアがインストールされた第2情報処理装置に対し、当該ソフトウェアを実行させて前記第1操作内容と同一の操作内容に対応する命令を与え、当該実行時の第2表示画像を含む当該ソフトウェアの動作結果を取得する第2ステップと、
前記第1表示画像と前記第2表示画像との差分画像を生成し、当該差分画像を含んだ動作検証情報を出力する第3ステップと、
を含み、
前記第3ステップは、前記差分画像を生成するとき、前記第1表示画像と前記第2表示画像の大きさを拡大ないし縮小して正規化した後に差分画像を生成し、前記第1表示画像及び前記第2表示画像内のボタンを含むオブジェクトについては、当該オブジェクトを除く部分を拡大ないし縮小して正規化した後に差分画像を生成する、
ソフトウェアの動作検証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばスマートフォンやタブレット型コンピュータに搭載されるアプリケーションソフトウェア(いわゆるアプリ)などのソフトウェアの動作検証を行うための技術に関する。
【背景技術】
【0002】
近年、スマートフォンやタブレット型コンピュータなどの携帯型端末装置が広く普及しており、これらにインストールされて用いられるアプリケーションソフトウェアも多く提供されている。このようなアプリケーションソフトウェアを提供するに際しては、事前に動作チェックを行い誤動作が起こる状況があればその原因を排除する作業(動作検証)を行う必要がある。これに関して、例えば特開平7−234807号公報(特許文献1)には、入力デバイスを介して人間が行った操作を記録し、かつ入力デバイスの操作を人間に代わって計算機で行うことを可能にすることにより、人間の操作を擬似的に自動実行することができる入力イベント記録/再生装置が提案されている。
【0003】
ところで、上記した特許文献1に記載の従来技術では、入力イベントの記録については詳述されているが、その記録した入力イベントを用いて、他の対象装置における動作検証を行うことやその動作検証結果をどのように処理するかということについては詳しく触れられていない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平7−234807号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、アプリケーションソフトウェアなどのソフトウェアの動作検証結果を分かりやすく提示することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る一態様の動作検証装置は、ソフトウェアの動作検証を行うための装置であって、(a)情報記憶部と、(b)前記ソフトウェアがインストールされた第1情報処理装置において当該ソフトウェアが実行された際の第1操作内容及び第1表示画像を取得し、当該第1操作内容及び第1表示画像を含んだ操作ログを前記情報記憶部に格納する操作ログ記録部と、(c)前記情報記憶部に格納された前記操作ログを用いて、前記ソフトウェアがインストールされた第2情報処理装置に対し、当該ソフトウェアを実行させて前記第1操作内容と同一の操作内容に対応する命令を与え、当該実行時の第2表示画像を含む当該ソフトウェアの動作結果を取得する操作ログ再生部と、(d)前記第1表示画像と前記第2表示画像との差分画像を生成し、当該差分画像を含んだ動作検証情報を出力する検証情報出力部とを含む、ソフトウェアの動作検証装置である。
【0007】
本発明に係る他の態様の動作検証方法は、ソフトウェアの動作検証を行うための方法であって、(a)前記ソフトウェアがインストールされた第1情報処理装置において当該ソフトウェアが実行された際の第1操作内容及び第1表示画像を取得し、当該第1操作内容及び第1表示画像を含んだ操作ログを情報記憶部に格納する第1ステップと、(b)前記情報記憶部に格納された前記操作ログを用いて、前記ソフトウェアがインストールされた第2情報処理装置に対し、当該ソフトウェアを実行させて前記第1操作内容と同一の操作内容に対応する命令を与え、当該実行時の第2表示画像を含む当該ソフトウェアの動作結果を取得する第2ステップと、(c)前記第1表示画像と前記第2表示画像との差分画像を生成し、当該差分画像を含んだ動作検証情報を出力する第3ステップとを含む、ソフトウェアの動作検証方法である。
【発明の効果】
【0008】
上記構成によれば、アプリケーションソフトウェア(いわゆるアプリ)などのソフトウェアの動作検証結果を分かりやすく提示することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、一実施形態のシステムの概略構成を示す図である。
【
図2】
図2は、上記システムにおける処理の流れを示す図である。
【
図5】
図5は、動作検証装置から出力される動作検証情報の一例を示す図である。
【
図6】
図6は、第1表示画像と第2表示画像の差分画像の一例を示す図である。
【発明を実施するための形態】
【0010】
図1は、一実施形態のシステムの概略構成を示す図である。同図に示すシステムは、動作検証装置1、手順入力用端末装置(第1情報処理装置)2、対象端末装置(第2情報処理装置)3を含んで構成されている。動作検証装置1と対象端末装置3との間は通信ネットワーク4を介して相互に通信可能に接続されている。
【0011】
動作検証装置1は、対象端末装置3にインストールされる各種のアプリケーションソフトウェアの動作検証を行うためのものである。この動作検証装置1は、例えば演算処理能力の高いコンピュータによって構成され、そのコンピュータにおいて所定のプログラムを実行することによって構成される。
【0012】
手順入力用端末装置2は、動作検証装置1が対象端末装置3の動作検証を行う際の手順を入力するために用いられるものである。詳細には、手順入力用端末装置2には、動作検証の対象となるアプリケーションソフトウェア(AP)がインストールされており、このアプリケーションソフトウェアをオペレータによって操作することで、その手順が動作検証装置1によって取得される。このような手順入力用端末装置2としては、例えばスマートフォン、携帯電話機、PHS、パーソナルコンピュータ(PC)、ノートPC、携帯情報端末(PDA)、家庭用ゲーム機器など、通信機能を備えたあらゆる端末を用いることができる。
【0013】
なお、本実施形態では手順入力用端末装置2と動作検証装置1との間は通信ケーブルを用いる等によって接続されていることを想定しているが、両者間が通信ネットワーク4を介して接続されていてもよい。
【0014】
対象端末装置3は、アプリケーションソフトウェア(AP)がインストールされており、このアプリケーションソフトウェアによって実現される機能を利用するためのものである。本実施形態では、この対象端末装置3にインストールされたアプリケーションソフトウェアの動作検証が動作検証装置1によって実行される。このような対象端末装置3としては、例えばスマートフォン、携帯電話機、PHS、パーソナルコンピュータ(PC)、ノートPC、携帯情報端末(PDA)、家庭用ゲーム機器など、通信機能を備えたあらゆる端末を用いることができる。
【0015】
なお、本実施形態では対象端末装置3と動作検証装置1との間は通信ネットワーク4を介して接続されていることを想定しているが、両者間が通信ケーブルを用いる等によって接続されていてもよい。
【0016】
通信ネットワーク4は、動作検証装置1と対象端末装置3の間で相互に情報通信を行うことが可能な通信網を含んで構成されている。通信ネットワーク4は、例えば、インターネット、LAN、専用線、電話回線、企業内ネットワーク、移動体通信網その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。
【0017】
図1に示すように、動作検証装置1は、制御部10、情報記憶部11、通信処理部12および図示しない入力部、表示部などを含んで構成されている。
【0018】
制御部10は、例えばCPU、ROM、RAM等を備えたコンピュータシステムにおいて所定の動作プログラムを実行させることによって構成されるものであり、機能ブロックとしての操作ログ記録部20、操作ログ再生部21、検証情報出力部22を有する。
【0019】
操作ログ記録部20は、アプリケーションソフトウェアがインストールされた手順入力用端末装置2においてそのアプリケーションソフトウェアが実行され、オペレータによって操作された際の操作内容である第1操作内容とその際に表示される表示画像である第1表示画像を取得し、これらを含んだ操作ログを情報記憶部11に格納する。
【0020】
操作ログ再生部21は、情報記憶部11に格納された操作ログを用いて、手順入力用端末装置2と同じアプリケーションソフトウェアがインストールされた対象端末装置3に対し、そのアプリケーションソフトウェアを実行させて、操作ログによって特定される第1操作内容と同一の操作内容に対応する命令を与え、その命令の実行に成功したか否かの情報や、命令実行時における表示画像である第2表示画像などの情報を含んだ動作結果を取得する。取得した動作結果は情報記憶部11に格納される。
【0021】
検証情報出力部22は、操作ログ再生部21によって取得された対象端末装置3における動作結果に関する情報である動作検証情報を出力する。ここでいう出力とは、例えば人間が視覚的に把握できるように画像表示ないし印刷物などの形式で外部へ情報を与えることをいう。本実施形態の検証情報出力部22は、第1表示画像と第2表示画像との差分画像を生成し、この差分画像を含んだ動作検証情報を出力する。
【0022】
情報記憶部11は、操作ログ記憶部20によって取得される操作ログや、操作ログ再生部21によって取得される動作結果などの情報を記憶する。
【0023】
通信部12は、制御部10と接続されており、制御部10がネットワーク4を介して対象端末装置3との間で情報通信するために必要な処理を行う。
【0024】
図2は、上記システムにおける処理の流れを示す図である。
【0025】
(ステップS11:操作ログ記録)
まず、動作検証装置1の操作ログ記録部20は、検証対象となるアプリケーションソフトウェアがインストールされた手順入力用端末装置2においてこのアプリケーションソフトウェアが実行された際の操作ログを取得し、この操作ログを情報記憶部11に格納する。
【0026】
ここでは、予め定められた手順に沿ってオペレータが手順入力用端末装置2のアプリケーションソフトウェアを操作し、そのときの操作内容が動作検証装置1の操作ログ記録部20によって取得される。操作内容としては、例えば、画面上の操作ボタンを押下、スクロール操作、といったイベントを直接的に特定する情報が取得される。すなわち、単に画面上のタッチ位置などを記録するのとは異なり、イベントそのものを特定可能な情報として操作内容が取得される。また、適宜のタイミングで表示画像も取得される。表示画像としては、例えば手順入力用端末装置2の表示部全体の表示内容をそのまま取り込んだ画像であるスクリーンショット画像が取得される。
【0027】
図3は、操作内容の一例を示す図である。この例では、操作内容の一部として、「接続」ボタンや「ログインする」ボタンの押下などの13個のイベントが操作内容として示されている。また、その途中や最後の表示画像としてのスクリーンショット画像が取得されている。また、このような一連の操作内容は、ひとまとまりのシナリオとして情報記憶部11に格納されることが好ましい。
【0028】
図4は、シナリオの一例を示す図である。項目150に複数のシナリオの各シナリオ名が一覧にして示され、項目151に各シナリオの概要が一覧にして示されている。このような複数のシナリオを用意しておくことで、種々のテストパターンにて対象端末装置3の動作検証を行うことができる。また、項目152には各シナリオの最終実行結果が示されており、項目153には各シナリオの最終実行時間(時刻)が一覧で示されている。
【0029】
本例では、実行結果(最終実行結果)として、「成功」、「失敗」、「画像差分」、「未実行」の4つの何れかが示されている。ここでいう「成功」とは、シナリオが実行でき、かつ、画像の差分もない場合を示している。また、「失敗」は、シナリオを最後まで実行できなかったものを示している。また、「画像差分」は、シナリオを実行できたが、スクリーンショット取得によって得られた表示画像に差分があるものを示している。これらにより、一覧表を見るだけで、表示画像を確認するまでもなく成功・失敗したものがわかり、必要なもののみ画像を確認すればよいので、作業効率が高まる。また、「未実行」は、まだシナリオを実行していないものを示している。最終実行時間も記録しておくことで、バグを修正した場合等に、再度検証すべきかどうかわかる。
【0030】
項目154には、対象端末装置3の端末の種類(種別)やその端末に搭載されたオペレーションシステム(OS)の種類・種別が示されている。このような一覧表にまとめて表示することで、端末やOSの種類(種別)ごとに、検証が必要なシナリオ一覧とその実行・未実行、実行結果を、効率的に把握できる。
【0031】
(ステップS12:操作ログ再生)
次に、動作検証装置1の操作ログ再生部21は、情報記憶部11に格納された操作ログを用いて、対象端末装置3に対し、アプリケーションソフトウェアを実行させて、第1操作内容と同一の操作内容に対応する命令を与え、その実行時の第2表示画像を含む動作結果を取得する。
【0032】
ここでは、操作ログ再生部21によって与えられる命令に沿って各イベントについて逐次実行されることで、ステップS11においてオペレータが手順入力用端末装置2を用いて操作したものと同じ操作内容(
図3参照)が自動的に対象端末装置3のアプリケーションソフトウェアで実現される。各命令の実行自体ができなかった場合には、その旨が動作結果として取得される。
【0033】
(ステップS13:動作検証情報の出力)
次に、動作検証装置1の検証情報出力部22は、操作ログ再生部21によって取得された対象端末装置3における動作結果に関する情報である動作検証情報を出力する。ここでは、第1表示画像と第2表示画像との差分画像を生成し、当該差分画像を含んだ動作検証情報が出力される。
【0034】
図5は、動作検証装置から出力される動作検証情報の一例を示す図である。ここでは、例えば画像として出力される動作検証情報の一例を示す。図中、左欄には、手順入力用端末装置2を用いて入力された第1操作内容170と第1表示画像190が示されており、右欄には、対象端末装置3の動作結果180と第2表示画像200が示されている。第1表示画像190と第2表示画像200を見比べることで、同じ画像が得られていればアプリケーションソフトウェアの動作に問題がないことを確認できる。
【0035】
ここで、第1操作内容170には、符号171で示すようにシナリオの途中で2回のスクリーンショット取得が指定されている。また、図示を省略しているがシナリオの最後でもスクリーンショット取得が指定されている。同様に、第2操作内容180には、符号181で示すようにシナリオの途中で2回のスクリーンショット取得が指定されている。また、図示を省略しているがシナリオの最後でもスクリーンショット取得が指定されている。このように、一連のシナリオをすべて再生した後の結果の表示画像のみを取得するのではなく、シナリオの途中でも表示画像を取得しているので、それらを比較・検証することで、より精度の高い検証が可能となり、エラー箇所を特定しやすくなる。
【0036】
図6は、第1表示画像190と第2表示画像200の差分画像の一例を示す図である。こここでは、第1表示画像190が左側に示され、差分画像200aが右側に示されている。この差分画像200aは、例えば
図5に示した動作検証情報に含まれる第2表示画像200対し、画面上でマウス等によってカーソルを重ねることで表示されるようにすることも好ましい。また、差分画像200aは、第1表示画像190と第2表示画像200との相違する箇所を着色するなどによって強調して示した画像としてもよい。差分画像200aにおいては、相違する箇所の周辺も含めて強調表示することも好ましい。例えば、相違する箇所が僅か(例えば、1ピクセル分)である場合には、その相違箇所のみ着色する等しても分かりにくいので、例えばその周囲の数ピクセル分も着色する等により、相違箇所の識別性が高まる。
【0037】
ここで、種類(種別)の異なる対象端末装置3からスクリーンショット取得によって得られる表示画像は、その大きさ(画面サイズ)が異なる場合がある。その場合には、差分画像を求めるのに先立って、表示画像の大きさを拡大ないし縮小して正規化し、画像サイズを合わせたうえで差分画像を求めることが好ましい。さらに、この場合において画像内の操作ボタン(例えば、「キャンセル」ボタン等)等のオブジェクトは、画面サイズが違っていても、ボタンの大きさ自体がそれほど変わらない場合もあるので、そのようなボタン等のオブジェクトについては一律に拡大縮小しないで、オブジェクトを除く部分を拡大ないし縮小して正規化した後に差分を取るといった調整をしてもよい。
【0038】
以上のような実施形態によれば、最初に手順入力用端末装置2を用いて第1操作内容を取得しておけば、以降は、対象端末装置3に対して自動で動作検証を行い、誤動作などのバグを洗い出すことができる。通信ネットワーク4を介して接続される複数の対象端末装置3に対しても同様にして動作検証をすることができる。そして、第1表示画像と第2表示画像、あるいはそれらの差分画像を用いることで、アプリケーションソフトウェアの動作検証結果を分かりやすく提示することができる。
【0039】
なお、本発明は上述した内容に限定されるものではなく、本発明の要旨の範囲内において種々に変形して実施をすることが可能である。
【符号の説明】
【0040】
1:動作検証装置
2:手順入力用端末装置
3:対象端末装置
4:通信ネットワーク
10:制御部
11:情報記憶部
12:通信処理部
20:操作ログ記録部
21:操作ログ再生部
22:検証情報出力部
190:第1表示画像
200:第2表示画像
200a:差分画像
【要約】 (修正有)
【課題】ソフトウェアの動作検証結果を分かりやすく提示する動作検証装置を提供する。
【解決手段】操作ログ記録部21は、ソフトウェア(AP)がインストールされた手順入力用端末装置2においてソフトウェアが実行された際の第1操作内容及び第1表示画像を取得し、第1操作内容及び第1表示画像を含んだ操作ログを情報記憶部11に格納する。操作ログ再生部22は、情報記憶部に格納された操作ログを用いて、ソフトウェアがインストールされた対象端末装置3に対し、ソフトウェアを実行させて第1操作内容と同一の操作内容に対応する命令を与え、実行時の第2表示画像を含むソフトウェアの動作結果を取得する。検証情報出力部23は、第1表示画像と第2表示画像との差分画像を生成し、当該差分画像を含んだ動作検証情報を出力する。
【選択図】
図1