JP2011060052A - ソフトウェア試験実行方法 - Google Patents

ソフトウェア試験実行方法 Download PDF

Info

Publication number
JP2011060052A
JP2011060052A JP2009209897A JP2009209897A JP2011060052A JP 2011060052 A JP2011060052 A JP 2011060052A JP 2009209897 A JP2009209897 A JP 2009209897A JP 2009209897 A JP2009209897 A JP 2009209897A JP 2011060052 A JP2011060052 A JP 2011060052A
Authority
JP
Japan
Prior art keywords
correct answer
screen
target program
data
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009209897A
Other languages
English (en)
Inventor
Terumasa Yasui
照昌 安井
Takayuki Kushida
隆行 櫛田
Takafumi Kai
啓文 甲斐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009209897A priority Critical patent/JP2011060052A/ja
Publication of JP2011060052A publication Critical patent/JP2011060052A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】対象プログラムが変更された場合でも、時間および労力をかけることなく、低コストで試験の構築および維持が可能なソフトウェア試験実行方法を提供する。
【解決手段】ソフトウェアの試験を行うとき、初めに、正解登録工程において、試験シナリオ保持装置11に保持される試験シナリオに基づいて、対象プログラム18の出力データを取得し、予め定める仕様に合致する出力データを正解データとして正解保持装置13に登録しておく。そして試験実行工程において、試験シナリオ保持装置11に保持される試験シナリオに基づいて新たに取得された対象プログラム18の出力データと、正解保持装置13に保持されている正解データとを比較して、対象プログラム18が、仕様に合致する出力データの出力に成功したか失敗したかを判定する成功判定を行う。
【選択図】図1

Description

本発明は、ソフトウェアの開発において、対象となるソフトウェアの試験を行うソフトウェア試験実行方法に関する。
短い納期で高品質なソフトウェアを開発するためには、ソフトウェアに対する試験を確実かつ効率的に実施できる環境が必要である。グラフィカルユーザインタフェース(Graphical User Interface;略称:GUI)を備えたソフトウェアを開発する場合などにおいては、そのソフトウェアを用い、かつ、規定された入力操作を行うことによって表示画面への表示動作を行わせ、得られた表示画面のフォーマットが正当な表示内容であるか否かのチェックを行う、いわゆる画面試験が行われている。
画面試験では、得られた表示画面を熟練者などの試験者が目視することによって、その良否を判定するので、画面試験を行うためには、多くの時間と労力とが必要であるという問題がある。
また、このような試験者の目視によって表示画面を確認する方法では、人為的なミスを避けることができず、しかも、表示画面内の全ての可変イメージデータを確認する必要があるので、試験に多くの時間と労力とを要するという問題が生じる。
このような多くの時間と労力とを要するという問題を解決するために、画面試験などのソフトウェアに対する試験を自動化する技術が既に開発されており、たとえば特許文献1に開示されている。特許文献1に開示される携帯電話ソフトウェア自動試験方法では、試験仕様書から自動生成した試験シナリオに従って対象機器を操作して試験結果を収集し、試験仕様書から自動生成した試験規格と比較して合否判定を行うことによって、ソフトウェアの試験を自動化している。
特開2003−99288号公報
前述の特許文献1に開示される方法では、機能拡張または外部仕様の変更などの要因で、ソフトウェアを構成するプログラムのうち、試験の対象となる対象プログラムの動作に変更があった場合、再度自動試験を実施するために、試験仕様書中の試験規格を再度作成し直す必要がある。したがって、試験を維持していくためには、多くの時間と労力とが必要であり、特許文献1に開示される方法には改良の余地がある。
本発明の目的は、対象プログラムが変更された場合でも、時間および労力をかけることなく、低コストで試験の構築および維持が可能なソフトウェア試験実行方法を提供することである。
本発明のソフトウェア試験実行方法は、ソフトウェアの試験を行うソフトウェア試験実行方法であって、前記ソフトウェアを構成するプログラムのうち、試験の対象となる対象プログラムに対する処理が記述された試験シナリオに基づいて、第1の対象プログラムの出力データを取得し、取得した出力データが、予め定める仕様に合致するとき、前記出力データを正解データとして正解保持装置に登録する正解登録工程と、前記試験シナリオに基づいて第2の対象プログラムの出力データを取得し、前記正解保持装置が前記正解データを保持している場合、取得した前記第2の対象プログラムの出力データと前記正解データとを比較することによって、前記第2の対象プログラムが前記仕様に合致する出力データの出力に成功したか失敗したかを判定する成功判定を行う試験実行工程とを備えることを特徴とする。
本発明のソフトウェア試験実行方法によれば、正解登録工程と試験実行工程とを備えて、ソフトウェア試験実行方法が構成される。正解登録工程では、試験シナリオに基づいて第1の対象プログラムの出力データが取得され、取得された出力データが、予め定める仕様に合致するとき、正解データとして正解保持装置に登録される。試験実行工程では、試験シナリオに基づいて第2の対象プログラムの出力データが取得され、正解保持装置に正解データが保持されている場合、取得された第2の対象プログラムの出力データと正解データとを比較することによって成功判定が行われる。
このように正解保持装置に正解データが保持されている場合、試験実行工程における成功判定は、第2の対象プログラムの出力データと正解データとを比較することによって行われる。これによって、対象プログラムが変更された場合でも、そのまま成功判定を行うことができる。したがって、正解保持装置に正解データを保持させておくだけで、対象プログラムが変更された場合でも、時間および労力をかけることなく、低コストで、ソフトウェアの試験の構築および維持を実現することができる。
本発明の第1の実施の形態であるソフトウェア試験実行方法に用いられるソフトウェア試験装置10の構成を示すブロック図である。 対象プログラム18の一例を示す図である。 試験シナリオ30の一例を示す図である。 試験処理における試験実行装置15の処理手順を示すフローチャートである。 図3に示す試験シナリオ30に基づく試験実行装置15の動作を、シナリオ要素31〜41毎に示す図である。 図3に示す試験シナリオ30に基づく試験実行装置15の動作を、シナリオ要素31〜41毎に示す図である。 初めて試験を実行するときの試験実行装置15の動作の一例を示す図である。 初めて試験を実行するときの試験実行装置15の動作の一例を示す図である。 正解登録装置17による正解登録処理の一例を示す図である。 正解登録装置17による正解登録処理の一例を示す図である。 図9および図10に示す正解登録処理に関する試験実行装置15の処理手順を示すフローチャートである。 対象プログラム18の開発途中に試験を実行するときの試験実行装置15の動作の一例を示す図である。 対象プログラム18の開発途中に試験を実行するときの試験実行装置15の動作の一例を示す図である。 対象プログラム18の開発完了後に試験を実行するときの試験実行装置15の動作の一例を示す図である。 対象プログラム18の開発完了後に試験を実行するときの試験実行装置15の動作の一例を示す図である。 デグレードが発生した対象プログラム18に試験を実行したときの試験実行装置15の動作の一例を示す図である。 デグレードが発生した対象プログラム18に試験を実行したときの試験実行装置15の動作の一例を示す図である。 複数の正解データが存在する場合の試験における試験実行装置15の動作の一例を示す図である。 正解登録装置17による強調表示の一例を示す図である。 本発明の第2の実施の形態における試験実行装置15の動作の一例を示す図である。 本発明の第2の実施の形態における試験実行装置15の動作の一例を示す図である。 完了ボタンの押下から画面遷移が起こるまでに一定の時間を要する場合の試験における試験実行装置15の動作の一例を示す図である。 完了ボタンの押下から画面遷移が起こるまでに一定の時間を要する場合の試験実行装置15の処理手順を示すフローチャートである。 前回の出力画面と今回の出力画面とが異なる検証の報告に関する出力保持装置12の動作処理の一例を示す図である。 前回の出力画面と今回の出力画面とが異なる検証の報告に関する出力保持装置12の動作処理の一例を示す図である。 試験結果保持装置14に保持される前回の試験結果と今回の試験結果とを比較して、デグレード候補を提示する場合の一例を示す図である。
<第1の実施の形態>
図1は、本発明の第1の実施の形態であるソフトウェア試験実行方法に用いられるソフトウェア試験装置10の構成を示すブロック図である。ソフトウェア試験装置10は、試験シナリオ保持装置11、出力保持装置12、正解保持装置13、試験結果保持装置14、試験実行装置15、出力表示装置16および正解登録装置17を備えて構成される。図1に示す矢印は、データの流れる方向を表す。本発明の第1の実施の形態であるソフトウェア試験実行方法は、ソフトウェア試験装置10によって実行される。
試験シナリオ保持装置11は、ソフトウェアの試験(以下、単に「試験」という場合がある)に用いられる試験シナリオを保持する。ソフトウェアは、1つのプログラム、または複数のプログラムの集合によって構成されている。試験が実行されるとき、試験シナリオ保持装置11に保持されている試験シナリオが、試験実行装置15によって取出される。
ここで、試験シナリオとは、ソフトウェア試験装置10に入力される対象プログラム18に対する処理を記述したものである。試験シナリオは、複数のシナリオ要素で構成される。対象プログラム18に対する処理は、シナリオ要素単位で実行される。試験シナリオは、シナリオ要素を実行する順に並べて構成される。シナリオ要素とは、対象プログラム18に対して行う操作の記述(以下「操作記述」という場合がある)、または対象プログラム18に対して行う検証の記述(以下「検証記述」という場合がある)である。検証は、対象プログラム18からの出力データの取得、出力保持装置12への出力データの格納、正解保持装置13の保持する正解データと出力データとの比較による成功判定、および試験結果保持装置14への判定結果の格納を含む。
個々の検証には、他の検証と区別するための識別子が付されている。たとえば、対象プログラム18に対するキーボード操作として、「Ctrlキー」と「Nキー」とを同時に押下する操作を「Ctrl-N」と記述し、対象プログラム18に対する検証を「画面検証」と記述するように定義した場合、前記「Ctrl-N」および「画面検証」の2つの制御を順番に実行する試験シナリオは、以下のように記述できる。
Ctrl-N
画面検証
出力保持装置12は、試験実行装置15から与えられる対象プログラム18の出力データを保持する。具体的には、出力保持装置12は、試験実行装置15から与えられる対象プログラム18の出力画面を画像ファイルとして保持する。また出力保持装置12は、保持している対象プログラム18の出力データである出力画面の画像ファイルを出力表示装置16に与える。以下、出力データである出力画面の画像ファイルを、出力画像ファイルという場合がある。
正解保持装置13は、試験実行装置15から与えられる試験の正解データを保持する。具体的には、正解保持装置13は、出力保持装置12で保持され、試験実行装置15から与えられる画像ファイルのうち、対象プログラム18の画面仕様に合致する画像ファイルを正解データとして保持する。以下、正解データとして保持される画像ファイルを、正解画像ファイルという場合がある。
試験結果保持装置14は、試験実行装置15から与えられる試験の結果を保持する。試験実行装置15は、試験シナリオ保持装置11から与えられる試験シナリオに従って試験を実行する。出力表示装置16は、出力保持装置12から与えられる対象プログラム18の出力データである出力画面の画像ファイルを表示して、試験者に提示する。正解登録装置17は、出力保持装置12から与えられる対象プログラム18の出力データである出力画面の画像ファイルを正解保持装置13に登録する。
ソフトウェア試験装置10を構成する試験シナリオ保持装置11、出力保持装置12、正解保持装置13および試験結果保持装置14は、たとえば、オペレーティングシステム(Operating System;略称:OS)におけるファイルシステム上のフォルダとして構築することができる。
ソフトウェア試験装置10に入力される対象プログラム18は、グラフィカルユーザインタフェース(Graphical User Interface;略称:GUI)を備え、マウスおよびキーボードなどの入力手段で操作可能なアプリケーションプログラムである。
図2は、対象プログラム18の一例を示す図である。図2では、対象プログラム18の一例として、2つの項目および完了ボタンのダイアログボックスを有するダイアログ型のプログラムを示している。このプログラムは、起動時の画面において、不図示の入力操作部によって項目1と項目2とを入力して完了ボタンを押下する完了操作を行うと、入力された項目を登録し、操作完了時の画面において、登録内容を表示する。項目1、項目2および完了ボタンの各ダイアログボックス間は、タブキーで移動することができる。
図3は、試験シナリオ30の一例を示す図である。図3では、図2に示した対象プログラム18の一例に対して記述した試験シナリオ30の一例を示している。試験シナリオ30は、対象プログラム18を処理するための複数のシナリオ要素、本実施の形態では11個のシナリオ要素31〜41、すなわち第1〜第11シナリオ要素31〜41を備えて構成されている。第1〜第11シナリオ要素31〜41のうち、第2シナリオ要素32、第5シナリオ要素35、第8シナリオ要素38および第11シナリオ要素41は、検証記述であり、残りのシナリオ要素31,33,34,36,37,39,40は、操作記述である。操作記述は、具体的なキー操作を伴う。また検証記述は、検証を行うときの制限時間を伴うことがある。本実施の形態では、対象プログラム18は、試験シナリオ30を構成する各シナリオ要素31〜41に従って処理される。
対象プログラム18は、具体的な一例として、試験シナリオ30に基づいて以下のような処理を行う。まず、第1シナリオ要素31である「プログラム起動」に従って、プログラムを起動する。その後、第2シナリオ要素32である「画面検証1」に従って、起動画面を検証する。その後、第3シナリオ要素33である「項目1へ移動」に従って、項目1の入力位置に移動する。その後、第4シナリオ要素34である「項目1を入力」に従って、項目1に「入力1」という文字列を入力する。
次に、第5シナリオ要素35である「画面検証2」に従って、画面を検証する。その後、第6シナリオ要素36である「項目2へ移動」に従って、項目1の入力位置から項目2の入力位置に移動する。その後、第7シナリオ要素37である「項目2を入力」に従って、項目2に「入力2」という文字列を入力する。
次に、第8シナリオ要素38である「画面検証3」に従って、画面を検証する。その後、第9シナリオ要素39である「完了ボタンへ移動」に従って、項目2の入力位置から完了ボタンの位置に移動する。その後、第10シナリオ要素40である「完了」に従って、完了ボタンを押下する。次に、第11シナリオ要素41である「画面検証4」に従って、画面を検証する。
試験シナリオ保持装置11は、図3に示すような試験シナリオ30を保持し、試験実行装置15に対して供給する。試験実行装置15は、対象プログラム18に対してマウスおよびキーボードなどの不図示の入力装置からイベントを送信することによって、各シナリオ要素31〜41に記述された制御を実行する。対象プログラム18を制御するためのイベントの送出は、たとえば「Java(登録商標) Robot」または「Windows(登録商標) Script Host」などの技術を用いて実現することができる。
また試験実行装置15は、対象プログラム18の出力画面を画像データとして取得する。出力画面の取得は、「Java(登録商標) Robot」または画面コピーイベントの送出などによって実現することができる。
また試験実行装置15は、出力保持装置12が保持する出力データである出力画像ファイルと、正解保持装置13が保持する正解データである正解画像ファイルとを比較することによって検証を行い、その検証が成功か失敗か、すなわち対象プログラム18が、仕様に合致する出力データの出力に成功したか失敗したかを判定する成功判定を行う。試験実行装置15による検証の結果は、試験結果保持装置14に格納される。
また試験実行装置15は、検証時に、対象プログラム18の出力画面を画像データとして取得し、それを出力保持装置12に与える。出力保持装置12は、試験実行装置15から与えられた画像データを、検証の識別子で弁別できるような画像ファイルとして保存する。
また試験実行装置15は、成功判定を行うとき、検証の識別子を指定して出力保持装置12から出力データである出力画像データを取得する。そして、試験実行装置15は、正解保持装置13から正解データである正解画像データを取得し、成功判定を行う。試験結果保持装置14は、試験実行装置15が行った検証ごとの成功判定の結果を、検証の識別子とともに保存する。
正解を登録するとき、正解登録装置17は、検証の識別子を指定して出力保持装置12から画像ファイルを取得する。そして、正解登録装置17は、登録の操作に従い、出力保持装置12から取得した画像ファイルを、検証の識別子を指定して正解保持装置13に格納する。正解保持装置13は、出力保持装置12から取得されて正解登録装置17から与えられた画像ファイルを、検証の識別子で弁別できるような画像ファイルとして保存する。出力表示装置16は、指定された検証の識別子に対応する出力データを出力保持装置12から取得して表示する。
以下、ソフトウェア試験装置10を用いた本実施の形態のソフトウェア試験実行方法における具体的な処理の流れを説明する。ソフトウェア試験装置10では、前準備として、試験シナリオを作成し、試験シナリオ保持装置11への登録を行う。ソフトウェアの開発では、上流工程において、外部仕様としてユースケースを記述することがあるが、この場合は、ユースケースの記述に対して、マウスおよびキーボードなどの具体的な操作と検証タイミングの指定とを付加することによって、試験シナリオを作成することができる。試験シナリオの作成および登録が完了すると、ソフトウェア試験装置10によって試験を実行することが可能となる。試験に関する処理(以下「試験処理」という場合がある)は、具体的には、ソフトウェア試験装置10を構成する試験実行装置15によって実行される。
図4は、試験処理における試験実行装置15の処理手順を示すフローチャートである。図4に示すフローチャートの処理は、前述のようにして試験シナリオの作成および登録が完了すると開始され、ステップa1に移行する。ステップa1では、試験実行装置15は、試験シナリオ保持装置11から試験シナリオを取出す。試験シナリオが取出されると、ステップa2に移行する。図4に示すステップa1〜a8の処理は、試験実行工程に相当する。
試験実行装置15は、ステップa1で試験シナリオ保持装置11から取出した試験シナリオの記述内容に従って試験を実行する。より詳細には、試験実行装置15は、ステップa2〜a8において、ステップa1で試験シナリオ保持装置11から取出した試験シナリオに含まれているシナリオ要素を順に読込んで、シナリオ要素の種別に対応する処理を実行する。具体的に述べると、ステップa2において、試験実行装置15は、ステップa1で試験シナリオ保持装置11から取出した試験シナリオから、最初のシナリオ要素を読込み、ステップa3に移行する。
ステップa3では、試験実行装置15は、ステップa2で読込んだシナリオ要素が操作記述であるか否かを判断する。ステップa3において、操作記述であると判断した場合はステップa4に移行し、操作記述ではない、換言すれば検証記述であると判断した場合は、ステップa5に移行する。
ステップa4では、試験実行装置15は、対象プログラム18に対し、その操作記述に対応するイベントを送出する。操作記述に対応するイベントを送出すると、ステップa8に移行する。
ステップa5では、試験実行装置15は、対象プログラム18から出力データを取得し、出力保持装置12に格納する。本実施の形態では、試験実行装置15は、出力データとして、対象プログラム18が描画する画面範囲の画像データを取得し、取得した画像データを、画像ファイルとして出力保持装置12に格納する。取得した出力データを出力保持装置12に格納すると、ステップa6に移行する。
ステップa6では、試験実行装置15は、検証に対応する正解データが正解保持装置13に存在するか否か、すなわち正解保持装置13が、検証に対応する正解データである正解画像ファイルを保持しているか否かを判断する。ステップa6において、正解保持装置13が正解画像ファイルを保持していると判断した場合は、ステップa7に移行し、正解保持装置13が正解画像ファイルを保持していないと判断した場合は、ステップa8に移行する。
ステップa7では、試験実行装置15は、出力保持装置12が保持している出力データである出力画像ファイルと、正解保持装置13が保持している正解データである正解画像ファイルとに基づいて、具体的には出力画像ファイルと正解画像ファイルとを比較して、検証の成功判定を行い、判定結果を試験結果保持装置14に格納する。判定結果を試験結果保持装置14に格納すると、ステップa8に移行する。
ステップa8では、試験実行装置15は、ステップa1で試験シナリオ保持装置11から取出した試験シナリオに、読込んでいないシナリオ要素があるか否かを判断する。ステップa8において、読込んでいないシナリオ要素があると判断した場合は、ステップa2に戻り、試験シナリオから次のシナリオ要素を読込む。ステップa8において、読込んでいないシナリオ要素がないと判断した場合は、全ての処理手順を終了する。
図5および図6は、図3に示す試験シナリオ30に基づく試験実行装置15の動作を、シナリオ要素31〜41毎に示す図である。図5および図6では、試験シナリオ30の各シナリオ要素31〜41に基づく動作が、時間の経過に沿って、紙面に向かって上から下へと順に記述されている。
対象プログラム18を開発する過程で、対象プログラム18の出力画面は、開発の進展に伴って変化する。開発が進むにつれて、対象プログラム18は、仕様に従った正しい画面をより多く出力するようになる。また、バグが発生すれば、それまで正しい画面を出力していても、対象プログラム18は、不正な画面を出力するようになる。出力取得工程における第1の対象プログラム18として、ある開発時点での対象プログラム18を用い、試験実行工程における第2の対象プログラム18として、第1の対象プログラム18よりも開発の進んだ時点の対象プログラム18を用いることによって、対象プログラム18の開発の進展とデグレードの発生とを検知することができる。試験の実行は自動であり、比較的低コストであるので、任意の時点で繰返し行うことができる。
図5に示すように、試験実行装置15は、まず、第1シナリオ要素31である「プログラム起動」に対して、第1操作51を実行して対象プログラム18を起動する。次に試験実行装置15は、第2シナリオ要素32である「画面検証1」に対して、第1検証52を実行する。具体的には、試験実行装置15は、対象プログラム18から画面を出力して出力画面を取得し、第2シナリオ要素32に記述された画面検証1に対応する正解データである正解画面71が正解保持装置13に存在すれば、出力画面と正解画面71との比較による成功判定(以下「比較判定」という場合がある)を行い、判定結果を試験結果保持装置14に格納する。
次に試験実行装置15は、第3シナリオ要素33である「項目1へ移動」に対して、第2操作53を実行して対象プログラム18にタブキー押下イベントを送る。次に試験実行装置15は、第4シナリオ要素34である「項目1を入力」に対して、第3操作54を実行して対象プログラム18に「入力1」と入力する。次に試験実行装置15は、第5シナリオ要素35である「画面検証2」に対して、第2検証55を実行する。具体的には、試験実行装置15は、対象プログラム18から画面を出力して出力画面を取得し、第5シナリオ要素35に記述された画面検証2に対応する正解データである正解画面72が正解保持装置13に存在すれば比較判定を行い、判定結果を試験結果保持装置14に格納する。
次に試験実行装置15は、図6に示すように、第6シナリオ要素36である「項目2へ移動」に対して、第4操作56を実行して対象プログラム18にタブキー押下イベントを送る。次に試験実行装置15は、第7シナリオ要素37である「項目2を入力」に対して、第5操作57を実行して対象プログラム18に「入力2」と入力する。次に試験実行装置15は、第8シナリオ要素38である「画面検証3」に対して、第3検証58を実行する。具体的には、試験実行装置15は、対象プログラム18から画面を出力して出力画面を取得し、第8シナリオ要素38に記述された画面検証3に対応する正解データである正解画面73が正解保持装置13に存在すれば比較判定を行い、判定結果を試験結果保持装置14に格納する。
次に試験実行装置15は、第9シナリオ要素39である「完了ボタンへ移動」に対して、第6操作59を実行して対象プログラム18にタブキー押下イベントを送る。次に試験実行装置15は、第10シナリオ要素40である「完了」に対して、第7操作60を実行して対象プログラム18にエンターキー押下イベントを送る。次に試験実行装置15は、第11シナリオ要素41である「画面検証4」に対して、第4検証61を実行する。具体的には、試験実行装置15は、対象プログラム18から画面を出力して出力画面を取得し、第11シナリオ要素41に記述された画面検証4に対応する正解データである正解画面74が正解保持装置13に存在すれば比較判定を行い、判定結果を試験結果保持装置14に格納する。
検証における成功判定の方法は、出力画像の画像データと正解画像の画像データとをピクセル毎に比較し、全てのピクセルが同一ならば成功と判定し、1ピクセルでも異なれば失敗と判定する。ただし、予め比較対象から除外する除外部分を指定されている場合は、その除外部分の画像データが異なっていても成功と判定する。たとえば、ユーザ毎の、対象プログラム18の利用環境の違いに起因する表示画面の差異を無視するために、対象プログラム18のツールバー部分の画像データを無視したり、乱数によって発生する文字列の表示部分の画像データを無視したりする場合が考えられる。この場合、対象プログラム18の動作の妥当性を検証し、その上で、正確に一致する必要が無い部分の画像データを比較対象から除外する。具体的には、出力データである出力画像の画像データのうち、除外部分を除く残余の部分である比較部分と、正解データである正解画像の画像データのうち、除外部分を除く残余の部分である比較部分とを比較し、比較部分同士が同一ならば成功と判定し、比較部分同士が異なれば失敗と判定する。これによって、ユーザ毎の、対象プログラム18の利用環境の違いに起因する表示画面の差異を無視することができるので、成功判定をより確実に行うことができる。
対象プログラム18に対して試験を初めて実行する場合、正解画像が存在しないので、全ての検証において正解なしと判定され、試験結果保持装置14には、全ての検証に関して正解なしとの結果が記録される。他方で、出力保持装置12には、実行された対象プログラム18の検証毎の出力画像が記録される。
図7および図8は、初めて試験を実行するときの試験実行装置15の動作の一例を示す図である。図7および図8では、図5および図6と同様に、図3に示す試験シナリオ30に基づく試験実行装置15の動作を、シナリオ要素31〜41毎に示す。図7および図8では、試験シナリオ30の各シナリオ要素31〜41に基づく動作が、時間の経過に沿って、紙面に向かって上から下へと順に記述されている。
図7に示すように、まず、第1シナリオ要素31である「プログラム起動」に従い、試験実行装置15によって対象プログラム18が起動される。次に、第2シナリオ要素32である「画面検証1」に従い、試験実行装置15によって、対象プログラム18から出力データである出力画面81が取得されるとともに、取得された出力画面81の画像ファイルが出力保持装置12に格納される。また、初めて試験を実行するとき(以下「初回実行時」という場合がある)には、正解保持装置13は正解データを保持していないので、試験実行装置15は「正解なし」と判定して、試験結果保持装置14に「正解なし」という結果を格納する。
次に、第3シナリオ要素33である「項目1へ移動」に従い、試験実行装置15によってタブキー押下イベントが対象プログラム18に送られる。次いで、第4シナリオ要素34である「項目1を入力」に従い、試験実行装置15によって対象プログラム18に「入力1」の入力が行われる。次いで第5シナリオ要素35である「画面検証2」に従い、試験実行装置15によって、対象プログラム18からの出力画面82の取得と、取得した出力画面82の画像ファイルの出力保持装置12への格納とが行われる。また第2シナリオ32の画面検証1と同様に、初回実行時には正解保持装置13は正解データを保持していないので、試験実行装置15は「正解なし」と判定して、試験結果保持装置14に「正解なし」という結果を格納する。
次に、図8に示すように、第6シナリオ要素36である「項目2へ移動」に従い、試験実行装置15によってタブキー押下イベントが対象プログラム18に送られる。次いで、第7シナリオ要素37である「項目2を入力」に従い、試験実行装置15によって対象プログラム18に「入力2」の入力が行われる。次いで、第8シナリオ要素38である「画面検証3」に従い、試験実行装置15によって対象プログラム18からの出力画面83の取得と、取得した出力画面83の画像ファイルの出力保持装置12への格納とが行われる。また第2シナリオ32の画面検証1と同様に、初回実行時には正解保持装置13は正解データを保持していないので、試験実行装置15は「正解なし」と判定して、試験結果保持装置14に「正解なし」という結果を格納する。
次に、第9シナリオ要素39である「完了ボタンへ移動」に従い、試験実行装置15によってタブキー押下イベントが対象プログラム18に送られる。次いで、第10シナリオ要素40である「完了」に従い、試験実行装置15によってエンターキー押下イベントが対象プログラム18に送られる。次いで、第11シナリオ要素41である「画面検証4」に従い、試験実行装置15によって対象プログラム18からの出力画面84の取得と、取得した出力画面84の画像ファイルの出力保持装置12への格納とが行われる。また第2シナリオ32の画面検証1と同様に、初回実行時には正解保持装置13は正解データを保持していないので、試験実行装置15は「正解なし」と判定して、試験結果保持装置14に「正解なし」という結果を格納する。以上のようにして、対象プログラム18の制御、対象プログラム18からの出力データの取得および出力保持装置12への格納、ならびに試験結果保持装置14への試験結果の格納が繰返し行われる。
図9および図10は、正解登録装置17による正解登録処理の一例を示す図である。図9および図10では、正解登録処理に関する出力保持装置12、正解保持装置13および出力表示装置16の動作を併せて示す。
出力表示装置16は、検証毎の出力画面を出力保持装置12から取出して表示する。表示された出力画面が対象プログラム18の仕様に合致している場合は、正解登録装置17は、出力保持装置12から出力画面をコピーして、正解画面として正解保持装置13に登録する。具体的には、正解登録装置17は、出力保持装置12から出力画面81の画像データを取得し、取得した出力画面の画像データを正解データとして正解保持装置13に格納する。また、出力表示装置16に表示された出力画面が対象プログラム18の仕様に合致してしない場合は、対象プログラム18は試験に合格していないので、正解登録装置17による正解保持装置13への正解データの登録(以下「正解登録」という場合がある)は行われない。
出力表示装置16に表示された出力画面が対象プログラム18の仕様に合致しているか否かの判断は、試験者によって行われる。試験者は、出力表示装置16に表示された出力画面が対象プログラム18の仕様に合致していると判断すると、正解登録装置17による正解保持装置13への正解データの登録を行うように不図示の操作部を操作する。試験者は、出力表示装置16に表示された出力画面が対象プログラム18の仕様に合致していないと判断すると、正解登録装置17による正解保持装置13への正解データの登録を行わないように不図示の操作部を操作する。
図9および図10では、図7および図8に示す4つの画面検証1〜4に対して、正解判定と正解登録とを行った場合を示している。図7に示す第2シナリオ要素32である「画面検証1」における出力画面81は、対象プログラム18の仕様に合致している正しい出力画面である。したがって、「画面検証1」における出力画面81が出力表示装置16によって表示される場合、図9に示すように、出力画面81が正解登録装置17によって出力保持装置12から正解保持装置13にコピーされ、正解保持装置13に正解画面71として登録される。
同様に、図7に示す第5シナリオ要素35である「画面検証2」における出力画面82および図8に示す第8シナリオ要素38である「画面検証3」における出力画面83も正しい出力画面である。したがって、これらの出力画面82,83が出力表示装置16によって表示される場合も、図9および図10に示すように、出力画面82,83が正解登録装置17によって出力保持装置12から正解保持装置13にコピーされ、正解保持装置13に正解画面72,73として登録される。
図8に示す第11シナリオ要素41である「画面検証4」における出力画面84は、対象プログラム18の仕様に合致しておらず、正しい出力画面ではない。したがって、「画面検証4」における出力画面84が出力表示装置16によって表示される場合、正解登録装置17による正解保持装置13への正解データの登録は行われない。このように正解データの登録が行われないので、次回の試験実行のときにも、「画面検証4」では、図8に示す場合と同様に、「正解なし」と判定され、出力画面84が正解か否かの判定は行われない。
図11は、図9および図10に示す正解登録処理に関する試験実行装置15の処理手順を示すフローチャートである。図11に示すフローチャートでは、検証が実行されると、本処理を開始し、ステップb1に移行する。図11に示すステップb1〜b6の処理は、正解登録工程に相当する。
ステップb1では、試験実行装置15は、指定された検証のシナリオ要素に対応する出力データを出力表示装置16に表示し、ステップb2に移行する。
ステップb2では、試験実行装置15は、出力表示装置16に表示された出力データが、対象プログラム18の当該検証実施時点で要求される仕様を満たす正しいデータか否かを判断する。本実施の形態では、試験実行装置15は、出力表示装置16に表示された出力データである出力画面が、対象プログラム18の、当該検証実施時点の出力画面として要求される仕様を満たす正しい出力画面であるか否かを判断する。ステップb2において、正しい出力画面であると判断すると、ステップb3に移行し、正しい出力画面ではないと判断すると、全ての処理手順を終了する。
ステップb2において、正しい出力画面であると判断されてステップb3に移行した場合、ステップb3〜b6において、前述の図9および図10に示すように、出力画面の画像データが正解登録装置17によって出力保持装置12から正解保持装置13にコピーされ、正解データとして登録される。図9および図10に示す「画面検証1」の出力画面81、「画面検証2」の出力画面82、および「画面検証3」の出力画面83が出力表示装置16に表示される場合、これらの出力画面81〜83は正しい出力画面であるので、ステップb2からステップb3に移行し、ステップb3〜b6において、正解データの登録が行われる。図10に示す「画面検証4」の出力画面84が出力表示装置16に表示される場合、この出力画面84は正しい出力画面ではないので、正解データの登録は行われず、正解登録処理に関する全ての処理手順が終了される。
ステップb3〜b6における正解データの登録は、具体的には以下のようにして行われる。ステップb3において、試験実行装置15は、正解登録装置17による正解データの正解保持装置13への登録操作が、正解データの入替え操作であるか否かを判断する。ステップb3において、正解データの入替え操作であると判断された場合は、ステップb5に移行し、正解データの入替え操作ではないと判断された場合は、ステップb4に移行する。
ステップb4では、試験実行装置15は、正解登録装置17による出力データの正解保持装置13への登録操作が、正解データの追加操作であるか否かを判断する。ステップb4において、正解データの追加操作であると判断された場合は、ステップb6に移行し、正解データの追加操作ではないと判断された場合は、全ての処理手順を終了する。
ステップb5では、試験実行装置15は、正解保持装置13の中の指定された入替え対象の正解データを削除する。正解データを削除すると、ステップb6に移行する。
ステップb6では、試験実行装置15は、出力保持装置12から取得した出力データを正解保持装置13に登録する。ステップb3からステップb5を経てステップb6に移行した場合は、ステップb5およびステップb6によって、正解データの入替えが行われることになる。ステップb3からステップb4を経てステップb6に移行した場合は、ステップb6によって、正解データの追加登録が行われることになる。出力データの登録が終了すると、全ての処理手順を終了する。
前述の図7および図8に示すように、初回実行時には全ての検証記述で「正解なし」と判定されるが、以上に述べた正解登録処理によって正解データの登録が行われた検証記述については、2回目以降の試験において、「成功」または「失敗」と判定される。もし、対象プログラム18の動作に変化がなければ、対象プログラム18は、正解データが登録された部分については、正解データである正解画面の画像と同一の画像を出力するはずであるので、判定結果は「成功」となり、試験結果保持装置14には「成功」と記録される。したがって、対象プログラム18が開発中で未完成の状態であれば、開発完了部分の検証は「成功」の状態となり、未開発部分の検証は「正解なし」の状態になる。
図12および図13は、対象プログラム18の開発途中に試験を実行するときの試験実行装置15の動作の一例を示す図である。図12および図13では、図5および図6と同様に、図3に示す試験シナリオ30に基づく試験実行装置15の動作を、シナリオ要素31〜41毎に示す。対象プログラム18の開発途中に試験を実行する場合、全ての検証に対して正解データである正解画面が存在するわけではない。たとえば、前述の図9および図10に示す正解登録処理によって、「画面検証1」、「画面検証2」および「画面検証3」において、正解データである正解画面71〜73が正解保持装置13に登録された場合を考える。
図12に示す第2シナリオ要素32である「画面検証1」に従って行われる検証では、正解画面71が存在するので、出力画面91は正解画面71と比較され、成功判定が行われる。この場合、出力画面91は正解画面71と同じ画像であるので、判定に成功し、試験結果保持装置14には「成功」という判定結果が格納される。
同様に、図12に示す第5シナリオ要素35である「画面検証2」に従って行われる検証では、正解画面72が存在するので、出力画面92は正解画面72と比較され、成功判定が行われる。この場合、出力画面92は正解画面72と同じ画像であるので、判定に成功し、試験結果保持装置14に「成功」という判定結果が格納される。
同様に、図13に示す第8シナリオ要素38である「画面検証3」に従って行われる検証では、正解画面73が存在するので、出力画面93は正解画面73と比較され、成功判定が行われる。この場合、出力画面93は正解画面73と同じ画像であるので、判定に成功し、試験結果保持装置14には「成功」という判定結果が格納される。
図13に示す第11シナリオ要素41である「画面検証4」に従って行われる検証では、対応する正解画面が存在しないので、出力画面94に対しては成功判定が行われず、試験結果保持装置14には「正解なし」という情報が格納される。
図14および図15は、対象プログラム18の開発完了後に試験を実行するときの試験実行装置15の動作の一例を示す図である。図14および図15では、図5および図6と同様に、図3に示す試験シナリオ30に基づく試験実行装置15の動作を、シナリオ要素31〜41毎に示す。対象プログラム18の開発完了後に試験を実行する場合、全ての検証に対して正解データである正解画面71〜74が存在する。
前述の図12および図13に示す開発途中に試験を実行する場合と同様に、第2シナリオ要素32である「画面検証1」、第5シナリオ要素35である「画面検証2」および第8シナリオ要素38である「画面検証3」では、出力画面101〜103はそれぞれ、正解画面71〜73と比較され、成功判定が行われる。図14および図15に示す例では、各出力画面101〜103は、対応する検証の正解画面71〜73と同じ画像であるので、判定に成功し、試験結果保持装置14には「成功」という判定結果が格納される。
図15に示す例では、第11シナリオ要素41である「画面検証4」に従って行われる検証でも正解画面74が存在するので、出力画面104は正解画面74と比較され、成功判定が行われる。図15に示す例では、出力画面104は正解画面74と同じ画像であるので、判定に成功し、試験結果保持装置14には「成功」という判定結果が格納される。
このように全ての検証に対して正解データ、具体的には正解画面71〜74が存在し、検証結果が「成功」になれば、対象プログラム18の開発は完了となる。
このようにして、一旦、対象プログラム18の開発が完了した部分であっても、対象プログラム18の動作に変化があれば、対象プログラム18は、正解データと異なるデータ、本実施の形態では、正解画面と異なる画面を出力する可能性がある。これには以下に述べる場合があり得る。
一つは、対象プログラム18が不正な動作をするようになり、不正な画面を出力している場合である。これは、ソフトウェアのバージョンアップに伴う品質低下、いわゆるデグレードであり、何らかのバグが混入したことを表している。もう一つは、対象プログラム18の動作には問題がないが、出力データが正解データと異なる、具体的には出力画面が正解画面と異なる場合である。これについては、後述する。
図16および図17は、デグレードが発生した対象プログラム18に試験を実行したときの試験実行装置15の動作の一例を示す図である。図16および図17では、図5および図6と同様に、図3に示す試験シナリオ30に基づく試験実行装置15の動作を、シナリオ要素31〜41毎に示す。図17では、第10シナリオ要素40である「完了」に従ってエンターキーが押下された時点から制限時間内に、期待される画面遷移が起こらないというバグが起こっている状態を示している。
第2シナリオ要素32である「画面検証1」、第5シナリオ要素35である「画面検証2」および第8シナリオ要素38である「画面検証3」に従って行われる検証では、前述の図14および図15に示す開発完了後に試験を実行する場合と同様に、各出力画面111〜113は、対応する検証の正解画面71〜73と同じ画像である。したがって判定に成功し、試験結果保持装置14には「成功」という判定結果が格納される。
第11シナリオ要素41である「画面検証4」に従って行われる検証では、正解保持装置13に登録された正解画面74と同じ出力画面が期待されるが、図17に示す例では、正解画像画面74の登録以降に作り込まれたバグによって対象プログラム18が動作不良を起こし、正解画面74と異なる出力画面114が出力されている。したがって、検証の判定結果は「失敗」となり、試験結果保持装置14には「失敗」という判定結果が格納される。
対象プログラム18の動作には問題がないが、出力データが正解データと異なる場合には、以下の2つの場合がある。一つは、実装の変化などによって、仕様の許容範囲内で対象プログラム18の動作が変化した場合である。この場合、正解登録装置17は、以前の正解データに代えて、新しい出力データを正解データとして登録する。具体的には、正解登録装置17は、以前に登録された正解データである正解画面を削除し、出力データである出力画面を新しい正解画面として正解保持装置13に登録する。この場合は、図11に示すフローチャートのステップb3の判断が肯定されて、ステップb5における以前の正解データの削除処理と、ステップb6における新しい正解データの登録処理とが行われる。
もう一つは、正解保持装置13に保持されている正解データ以外に正解データが存在する場合、すなわち複数の正解データが存在する場合である。たとえば、後述する図18に示すように、テキスト編集部122において、入力カーソル123が点滅している場合が考えられる。入力カーソル123が描画されている場合の出力画面と、入力カーソル123が描画されていない場合の出力画面とでは、画像としては異なるが、いずれも正解である。この場合、正解登録装置17は、入力カーソル123が描画されている出力画面を正解画面として正解保持装置13に追加登録する。この場合は、図11に示すフローチャートでは、ステップb3の判断が否定されてステップb4に移行し、ステップb4の判断が否定されて、ステップb6において、新しい正解データである正解画面の登録が行われる。
図18は、複数の正解データが存在する場合の試験における試験実行装置15の動作の一例を示す図である。図18に示す例では、正解データとして、2つの正解画面、具体的には、第1正解画面131および第2正解画面132が正解保持装置13に登録されている。第2正解画面132では、入力1のテキスト編集部122aに入力カーソル123が表示されているが、第1正解画面131では、入力1のテキスト編集部122aおよび入力2のテキスト編集部122bのいずれにも入力カーソル123は表示されていない。
この2つの正解画面131,132の違いは、入力カーソル123の点滅によって、入力カーソル123が表示されている状態と表示されていない状態との両方の表示状態が交互に起こることに起因する。図18に示す例では、入力カーソル123が表示されているタイミングで出力画面121の取得が行われて、出力保持装置12に格納された場合を示しているが、出力画面121が、入力カーソル123が表示されている状態および表示されていない状態のいずれの状態であっても、検証は「成功」と判定されるべきである。したがって、本実施の形態では、入力カーソル123が表示されていない正解画面131と入力カーソル123が表示されている正解画面132との両方の画面を正解画面として登録しておき、出力画面121が、いずれかの正解画面131,132との比較判定に成功した場合に、試験結果を「成功」として、試験結果保持装置14に格納する。これによって、「成功」と判定されるべき検証において、確実に「成功」と判定することができる。
以上のように対象プログラム18の動作には問題がないが、出力画面が正解画面と異なる場合、出力画面と正解画面とを比較して、正解画面を置き換えるか、または追加登録する。これによって、実装の変化などによって、仕様の許容範囲内で対象プログラム18の動作が変化した場合、および複数の正解データが存在する場合であっても、正確な成功判定を行うことができる。
また、この場合、出力画面と正解画面とを比較して、正解画面を置き換えるか、または追加登録するかを判断する必要がある。ただし、出力画面と正解画面との相違が非常に微小な場合、試験者の目視では、どの部分が相違しているのかを判別することが困難なことがある。そこで、本実施の形態では、正解登録装置17は、出力画面と正解画面とを比較し、異なっているピクセルを強調表示する機能を備えている。
図19は、正解登録装置17による強調表示の一例を示す図である。出力画面121と正解画面71との差は、入力カーソル123の表示の有無である。この出力画面121と正解画面71との差分である入力カーソル123の表示部分は、正解登録装置17によって出力表示装置16に強調表示される。たとえば、他の部分とは異なった色で、出力表示装置16の表示画面16aに表示される。一例としては、入力カーソル123の表示部分は白色表示され、残余の部分は黒色表示される。このように出力画面121と正解画面71との差分を強調表示することによって、出力画面121と正解画面71との比較が容易になり、正解登録作業の効率化を図ることができる。
正解登録装置17は、出力表示装置16に表示された出力画面が、正解保持装置13に保持されている正解画面とは異なるが、対象プログラム18の仕様に合致している場合、前述のようにして出力画面と正解画面との差分を出力表示装置16に強調表示する。試験者は、強調表示された差分に基づいて、正解画面を置き換えるか、または追加登録するかを判断する。たとえば、図19に示すように差分が入力カーソル123の部分のみのように仕様の許容する差異である場合、試験者は、追加登録すると判断して、出力画面を正解画面として追加登録するように、不図示の操作部を介して正解登録装置17に指示する。差分が仕様の許容しない差異である場合、試験者は、仕様もしくは実装の変更により正解が変更されたとし、正解画面を置き換えると判断して、正解保持装置13に保持されていた正解画面を削除して、出力画面を新たな正解画面として登録するように、不図示の操作部を介して正解登録装置17に指示する。
以上のように本実施の形態によれば、正解保持装置13に正解データが保持されている場合、成功判定は、対象プログラム18の出力データと正解データとを比較することによって行われる。具体的には、対象プログラム18の出力データと正解データとが同一である場合に、成功したと判定する。これによって、対象プログラム18が変更された場合でも、そのまま成功判定を行うことができる。したがって、正解保持装置13に正解データを保持させておくだけで、対象プログラムが変更された場合でも、時間および労力をかけることなく、低コストで、ソフトウェアの試験の構築および維持を実現することができる。
<第2の実施の形態>
図20および図21は、本発明の第2の実施の形態における試験実行装置15の動作の一例を示す図である。図20および図21では、前述の図5および図6と同様に、図3に示す試験シナリオ30に基づく試験実行装置15の動作を、シナリオ要素31〜41毎に示す。図20および図21では、図5および図6と同様に、試験シナリオ30の各シナリオ要素31〜41に基づく動作が、時間の経過に沿って、紙面に向かって上から下へと順に記述されている。
本発明の第2の実施の形態であるソフトウェア試験実行方法は、検証において、対象プログラム18の出力画面の取得と、取得した出力画面の正解判定とを繰返し行うこと、および、その繰返し動作に待ち時間の制限を加えたこと以外は、前述の第1の実施の形態のソフトウェア試験実行方法と同様の構成である。本実施の形態のソフトウェア試験実行方法は、前述の図1に示すソフトウェア試験装置10によって実行される。繰返し動作の待ち時間は、前述の図3に示すように試験シナリオ30に記述され、試験実行装置15に読込まれる。
対象プログラム18は、ある制御イベントを受けて、そのイベントに対する動作を完了するまでに一定の時間を要する。したがって、あるイベントの送信直後に、次のイベントの送信を行う場合、次のイベントを送信した時点では、直前のイベントに対する動作がまだ完了していない可能性がある。同様に、あるイベントの送信直後に、対象プログラム18の出力画面の取得を行う場合、出力画面を取得した時点では、直前のイベントに対する動作がまだ完了していない可能性がある。
そこで、本実施の形態では、試験実行装置15は、対象プログラム18に対してあるイベントを送信した直後に、対象プログラム18の出力画面の取得と、取得した出力画面の比較判定とを繰返し行う。この繰返し動作は、あるイベントを送信した結果得られる画面の正解画面が正解保持装置13に存在する場合に限定される。
すなわち、試験実行装置15は、あるイベントを送信した結果得られる画面の正解画面が正解保持装置13に存在する場合、対象プログラム18に対してあるイベントを送信した直後に、対象プログラム18の出力画面の取得と、取得した出力画面の比較判定とを繰返し行う。この場合、試験実行装置15は、比較判定において成功と判定されたときに、そのイベントに対する動作が完了したものとみなし、次のイベントを送信するという同期方式を用いることができる。
また試験実行装置15では、対象プログラム18に対してあるイベントを送信したときに、対象プログラム18が不正な動作をして、いくら待っても正解画面を出力しない場合に備え、前述の繰返し動作の最大待ち時間を設定し、この最大待ち時間を超えた場合には、正解画面の出力を待たずに、次の動作に進む方法を併用する。これによって、失敗の場合にも試験が続行できるとともに、対象動作に対して実行時間の制限を記述することができ、性能上の制約を同時に試験することができる。最大待ち時間は、判定制限時間に相当する。
具体的に述べると、試験実行装置15は、まず、図20に示す第1シナリオ要素31である「プログラム起動」に対して、図5に示す第1操作51と同様の第1操作51Aを実行して、対象プログラム18を起動する。
次に試験実行装置15は、第2シナリオ要素32である「画面検証1」に対して、第1検証52Aを実行する。第1検証52Aでは、試験実行装置15は、図5に示す第1検証52と同様に、出力画面を取得し、第2シナリオ要素32に記述された画面検証1に対応する正解データである正解画面71が正解保持装置13に存在すれば比較判定を行い、判定結果を試験結果保持装置14に格納する。本実施の形態では、試験実行装置15は、判定結果が「失敗」となっても、判定結果が「成功」となるか、または最大待ち時間が経過するまで、出力画面の取得と比較判定とを繰返し行う。たとえば前述の図3に示すように、試験シナリオ30の第2シナリオ要素32である「画面検証1」に「2000」が記述され、最大待ち時間として2000ミリ秒が設定される場合、試験実行装置15は、最大2000ミリ秒間、出力画面の取得と比較判定とを繰返し行い、2000ミリ秒が経過した場合は「失敗」と判定し、次のシナリオ要素の実行に進む。
次に試験実行装置15は、第3シナリオ要素33である「項目1へ移動」に対して、図5に示す第2操作53と同様の第2操作53Aを実行して、対象プログラム18にタブキー押下イベントを送る。次に試験実行装置15は、第4シナリオ要素34である「項目1を入力」に対して、図5に示す第3操作54と同様の第3操作54Aを実行して、対象プログラム18に「入力1」と入力する。
次に試験実行装置15は、第5シナリオ要素35である「画面検証2」に対して、第2検証55Aを実行する。第2検証55Aでは、試験実行装置15は、図5に示す第2検証55と同様に、出力画面を取得し、第5シナリオ要素35に記述された画面検証2に対応する正解データである正解画面72が正解保持装置13に存在すれば比較判定を行い、判定結果を試験結果保持装置14に格納する。本実施の形態では、試験実行装置15は、判定結果が「失敗」となっても、判定結果が「成功」となるか、または最大待ち時間が経過するまで、出力画面の取得と比較判定とを繰返し行う。たとえば前述の図3に示すように、試験シナリオ30の第5シナリオ要素35である「画面検証2」に「200」が記述され、最大待ち時間として200ミリ秒が設定される場合、試験実行装置15は、最大200ミリ秒間、出力画面の取得と比較判定とを繰返し行い、200ミリ秒が経過した場合は「失敗」と判定し、次のシナリオ要素の実行に進む。
次に試験実行装置15は、図21に示す第6シナリオ要素36である「項目2へ移動」に対して、図6に示す第4操作56と同様の第4操作56Aを実行して、対象プログラム18にタブキー押下イベントを送る。次に試験実行装置15は、第7シナリオ要素37である「項目2を入力」に対して、図6に示す第5操作57と同様の第5操作57Aを実行して、対象プログラム18に「入力2」と入力する。
次に試験実行装置15は、第8シナリオ要素38である「画面検証3」に対して、第3検証58Aを実行する。第3検証58Aでは、試験実行装置15は、図6に示す第3検証58と同様に、出力画面を取得し、第8シナリオ要素38に記述された画面検証3に対応する正解データである正解画面73が正解保持装置13に存在すれば比較判定を行い、判定結果を試験結果保持装置14に格納する。本実施の形態では、試験実行装置15は、判定結果が「失敗」となっても、判定結果が「成功」となるか、または最大待ち時間が経過するまで、出力画面の取得と比較判定とを繰返し行う。たとえば前述の図3に示すように、試験シナリオ30の第8シナリオ要素38である「画面検証3」に「200」が記述され、最大待ち時間として200ミリ秒が設定される場合、試験実行装置15は、最大200ミリ秒間、出力画面の取得と比較判定とを繰返し行い、200ミリ秒が経過した場合は「失敗」と判定し、次のシナリオ要素の実行に進む。
次に試験実行装置15は、第9シナリオ要素39である「完了ボタンへ移動」に対して、図6に示す第6操作59と同様の第6操作59Aを実行して、対象プログラム18にタブキー押下イベントを送る。次に試験実行装置15は、第10シナリオ要素40である「完了」に対して、図6に示す第7操作60と同様の第7操作60Aを実行して、対象プログラム18にエンターキー押下イベントを送る。
次に試験実行装置15は、第11シナリオ要素41である「画面検証4」に対して、第4検証61Aを実行する。第4検証61Aでは、試験実行装置15は、図6に示す第4検証61と同様に、出力画面を取得し、第11シナリオ要素41に記述された画面検証4に対応する正解データである正解画面74が正解保持装置13に存在すれば比較判定を行い、判定結果を試験結果保持装置14に格納する。本実施の形態では、試験実行装置15は、判定結果が「失敗」となっても、判定結果が「成功」となるか、または最大待ち時間が経過するまで、出力画面の取得と比較判定とを繰返し行う。たとえば前述の図3に示すように、試験シナリオ30の第11シナリオ要素41である「画面検証4」に「3000」が記述され、最大待ち時間として3000ミリ秒が設定される場合、試験実行装置15は、最大3000ミリ秒間、出力画面の取得と比較判定とを繰返し行い、3000ミリ秒が経過した場合は「失敗」と判定し、次のシナリオ要素の実行に進む。
図22は、完了ボタンの押下から画面遷移が起こるまでに一定の時間を要する場合の試験実行装置15の動作の一例を示す図である。図22には、第10シナリオ要素40である「完了」に従い、試験実行装置15によって対象プログラム18にエンターキー押下イベントが送られて完了ボタンが押下されてから、対象プログラム18の出力画面が正解画面74に遷移するまでに一定の時間を要する場合を示す。
第11シナリオ要素41である「画面検証4」による検証で、最初に取得される出力画面141は、以前の出力画面、すなわち「画面検証3」における出力画面のままであり、正解画面74と異なるので、比較判定の結果は「失敗」となる。本実施の形態では、図21に示すように最大待ち時間として規定される制限時間が経過するまでは、画面取得と比較判定とを繰返すので、「失敗」と判定された時点が、まだ制限時間内であれば、さらに画面取得と比較判定とを繰返す。
図22に示す例では、2回目の出力画面142の取得と、3回目の出力画面143の取得との間に、対象プログラム18の出力画面が正解画面74に遷移するので、3回目に取得された出力画面143は、正解画面74と一致する。この時点が、まだ制限時間内であれば、検証の結果を「成功」とし、次のシナリオ要素の実行に進む。
図23は、完了ボタンの押下から画面遷移が起こるまでに一定の時間を要する場合の試験実行装置15の処理手順を示すフローチャートである。図23に示すフローチャートでは、前述の図4に示すフローチャートと同様に、試験シナリオの作成および登録が完了すると処理が開始され、ステップc1に移行する。ステップc1〜ステップc6およびステップc11の各処理は、前述の図4に示すフローチャートのステップa1〜ステップa6およびステップa8の各処理と同一であるので、共通する説明を省略する。
本実施の形態では、ステップc6において、試験実行装置15は、正解保持装置13が正解画像ファイルを保持していると判断した場合はステップc7に移行し、正解保持装置13が正解画像ファイルを保持していないと判断した場合はステップc11に移行する。
ステップc7では、試験実行装置15は、出力データと正解データとを比較する。具体的には、試験実行装置15は、出力画面と正解画面とを比較する。続いて試験実行装置15は、ステップc8において、比較結果が「成功」であるか否かを判断する。ステップc8において、比較結果が「成功」であると判断した場合はステップc9に移行し、比較結果が「失敗」であると判断した場合はステップc10に移行する。
ステップc10では、試験実行装置15は、予め定める制限時間、たとえば前述の最大待ち時間を超えたか否かを判断する。ステップc10において、制限時間を超えたと判断した場合はステップc9に移行し、制限時間を超えていないと判断した場合はステップc5に戻り、出力データの取得から始まる各ステップを繰返す。
ステップc9では、試験実行装置15は、判定結果を試験結果保持装置14に格納する。試験実行装置15は、ステップc8からステップc9に移行した場合は、「成功」という判定結果を試験結果保持装置14に格納し、ステップc10からステップc9に移行した場合は、「失敗」という判定結果を試験結果保持装置14に格納する。判定結果を試験結果保持装置14に格納すると、ステップc11に移行する。
以上に述べた本実施の形態では、試験実行装置15は、試験シナリオ30で規定された最大待ち時間に基づいて、比較判定を繰返すか否かを判断する。試験実行装置15では、正解画面の画像データが正解保持装置13に存在しない場合に、あるイベントを送信したときの対象プログラム18の動作が何らかの理由で最大待ち時間以内に完了せず、所望の出力画面が取得できないことがある。このように所望の出力画面が取得できない場合に備え、試験実行装置15では、正解画面の画像データが正解保持装置13に存在しない場合は、一定の割合で最大待ち時間を増やす機能を併用してもよい。これによって、初回実行時などにおいて、対象プログラム18の動作時間のばらつきによらず、より多くの正解画面の画像データを取得することが期待できる。初回実行時の最大待ち時間は、取得制限時間に相当する。
この場合、試験実行装置15は、たとえば、試験を実行する計算機の処理性能によって対象プログラム18の動作速度が異なり、適正な最大待ち時間が異なる場合に、全ての検証の最大待ち時間を予め設定された割合で増減させるように構成される。この構成では、たとえば、ある試験が実行環境として想定する計算機の半分の処理性能の計算機を用いて試験を行う場合、試験実行装置15は、検証時の最大待ち時間を2倍程度に設定する。これによって、試験シナリオを大幅に変更することなく、試験を実行することができる。
以上に述べた第1および第2の実施の形態のようにソフトウェア試験装置10を用いて試験を行う場合、実用的なソフトウェアでは、試験シナリオが膨大な数になる可能性がある。その場合の正解登録作業を支援するために、正解登録装置17は、前回の出力画面と今回の出力画面とが異なる検証のみを提示する機能を備えて構成されることが好ましい。
ソフトウェア試験装置10において、「正解なし」と判定されている検証は、一度も正解していない。つまり、対象プログラム18における未実装の機能を表している。これらが実装された後で初めて正解となる画面が出力されるようになるが、その場合には、必ず前回の画面とは異なった画面が出力されているはずである。前述のように正解登録装置17が、前回の出力画面と今回の出力画面とが異なる検証のみを提示する機能を備えて構成されることによって、正解画面の新規登録作業を効率化することができる。
図24および図25は、前回の出力画面と今回の出力画面とが異なる検証の報告に関する出力保持装置12の動作処理の一例を示す図である。前述のように正解登録装置17が、前回の出力画面と今回の出力画面とが異なる検証のみを提示する機能を備えて構成される場合、正解登録装置17は、前回の検証で取得されて出力保持装置12に保持されている前回の出力画面151〜154と、今回の検証で取得された今回の出力画面161〜164とを比較する。
図24および図25に示す例では、第2シナリオ要素32である「画面検証1」、第5シナリオ要素35である「画面検証2」および第8シナリオ要素38である「画面検証3」で取得される出力画面は、前回と今回とで同じである。第11シナリオ要素41である「画面検証4」では、今回の出力画面164として、前回の出力画面154と異なる出力画面が得られている。これは、開発の進展によって画面遷移機能が実現されたことに起因する。
このように「画面検証4」のみにおいて、前回の出力画面154と今回の出力画面164とが異なる場合、正解登録装置17は、「画面検証4」のみを試験者に報告する。この報告は、具体的には、「画面検証4」のように前回の出力と変化のあった検証のリストとを試験者に提示することによって行われる。試験者は、提示された検証に関してのみ、出力画面が仕様に合致しているか否かの確認を行えばよい。このように、全ての検証に関して出力画面が仕様に合致しているか否かを確認するよりも、変化のあったもののみを確認する方が効率的である。
また正解登録装置17は、デグレードをいち早く発見するために、前回の試験実行の結果、「成功」または「正解なし」と判定された検証の中で、今回の試験実行の結果、「失敗」と判定された検証のみを、デグレード候補の一覧として試験者に提示する機能を備えて構成されることが好ましい。前回「成功」と判定されて今回「失敗」と判定された検証の部分は、明らかにデグレードの可能性があるので、前述のようにデグレード候補として試験者に提示する。前回初めて正解データとして登録され、今回「失敗」と判定された検証の部分は、前回「正解なし」と判定されて今回「失敗」と判定されるので、これもデグレード候補として併せて試験者に提示する。
図26は、試験結果保持装置14に保持される前回の試験結果と今回の試験結果とを比較して、デグレード候補を提示する場合の一例を示す図である。前述のように正解登録装置17が、前回「成功」または「正解なし」と判定された検証の中で、今回「失敗」と判定された検証のみを提示する機能を備えて構成される場合、正解登録装置17は、試験結果保持装置14に保持されている前回の結果と今回の結果とを比較する。
図26に示す例において、第2シナリオ要素32である「画面検証1」および第5シナリオ要素35である「画面検証2」では、前回「成功」と判定されて、今回も「成功」と判定されている。第8シナリオ要素38である「画面検証3」、および第11シナリオ要素41である「画面検証4」では、前回「成功」と判定されて、今回「失敗」と判定されているので、この間の開発によってデグレードを起こしている可能性がある。この「画面検証3」および「画面検証4」は、正解登録装置17によってデグレード候補として試験者に報告される。試験者への報告は、デグレード候補の検証の名称の一覧、図26に示す例では「画面検証3」および「画面検証4」を、たとえば出力表示装置16または他の表示装置に表示して提示することによって行われる。
このようにデグレード候補の一覧を試験者に提示する機能を正解登録装置17が備えることによって、試験者は、デグレードの発生を容易に感知し、直ちに対処することができるので、開発における効率化を図ることができる。
前述のようにソフトウェア試験装置10では、試験の実行と正解登録の作業とを繰返して行うことによって、対象プログラム18の実装が進むにつれて正解が増加し、正解なしとなる検証が減少していく。不正解が生じ、「失敗」と判定された場合は、試験者が、それがデグレードであるか、または正解の変化であるかを判断する。対象プログラム18の仕様変更などによる正解の変化の場合は、正解画像の追加または入替えによって正解となるものを増やしていく。これによって、シナリオ要素で表される全試験項目のうち、どの程度の機能が正常に動作しているかを把握することができる。またデグレードが発生した場合、その直後の試験において発見することができる。
このようにして試験を繰返していき、最後に全てのシナリオ要素が成功すれば、対象プログラム18は、記述された試験シナリオに関して仕様を満たしたことになる。これ以降、たとえば機能強化などの追加開発を行う場合も、シナリオ要素および試験シナリオを追加しつつ、試験の全件実行を繰返すことによって、既存機能の破壊によるデグレードを早期に発見および修正することができるので、対象プログラム18の品質を保つことができる。
10 ソフトウェア試験実行装置、11 試験シナリオ保持装置、12 出力保持装置、13 正解保持装置、14 試験結果保持装置、15 試験実行装置、16 出力表示装置、17 正解登録装置、18 対象プログラム、30 試験シナリオ、31,32,33,34,35,36,37,38,39,40,41 シナリオ要素。

Claims (13)

  1. ソフトウェアの試験を行うソフトウェア試験実行方法であって、
    前記ソフトウェアを構成するプログラムのうち、試験の対象となる対象プログラムに対する処理が記述された試験シナリオに基づいて、第1の対象プログラムの出力データを取得し、取得した出力データが、予め定める仕様に合致する場合、前記出力データを正解データとして正解保持装置に登録する正解登録工程と、
    前記試験シナリオに基づいて第2の対象プログラムの出力データを取得し、前記正解保持装置が前記正解データを保持している場合、取得した前記第2の対象プログラムの出力データと前記正解データとを比較することによって、前記第2の対象プログラムが前記仕様に合致する出力データの出力に成功したか失敗したかを判定する成功判定を行う試験実行工程とを備えることを特徴とするソフトウェア試験実行方法。
  2. 前記試験実行工程では、
    前記第2の対象プログラムの出力データと前記正解データとが同一である場合に、成功したと判定することを特徴とする請求項1に記載のソフトウェア試験実行方法。
  3. 前記試験実行工程では、
    前記第2の対象プログラムの出力データのうち、予め定める除外部分を除く残余の比較部分と、前記正解データのうち、前記除外部分を除く残余の比較部分とを比較し、前記比較部分同士が同一である場合に、前記第2の対象プログラムの出力データと前記正解データとが同一であると判断することを特徴とする請求項2に記載のソフトウェア試験実行方法。
  4. 前記試験実行工程では、
    前記成功判定で失敗したと判定すると、前記第2の対象プログラムの出力データの取得と前記成功判定とを繰返し行うことを特徴とする請求項1〜3のいずれか1つに記載のソフトウェア試験実行方法。
  5. 前記試験実行工程では、
    予め定める判定制限時間が経過すると、前記第2の対象プログラムの出力データの取得と前記成功判定とを終了することを特徴とする請求項4に記載のソフトウェア試験実行方法。
  6. 前記試験実行工程では、
    前記第2の対象プログラムの動作状況に応じて、前記判定制限時間を増減させることを特徴とする請求項5に記載のソフトウェア試験実行方法。
  7. 前記正解登録工程では、
    取得した出力データが前記仕様に合致しない場合、予め定める取得制限時間が経過するまで、前記第1の対象プログラムの出力データの取得を繰返し行うことを特徴とする請求項1〜6のいずれか1つに記載のソフトウェア試験実行方法。
  8. 前記正解登録工程では、
    前記第1の対象プログラムの動作状況に応じて、前記取得制限時間を増減させることを特徴とする請求項7に記載のソフトウェア試験実行方法。
  9. 前記正解保持装置は、単一の出力データに対して複数の正解データを保持し、
    前記試験実行工程では、
    前記第2の対象プログラムの出力データと、前記正解保持装置の保持する複数の正解データのうちのいずれかの正解データとが同一である場合に、成功したと判定することを特徴とする請求項1〜8のいずれか1つに記載のソフトウェア試験実行方法。
  10. 前記正解登録工程では、
    前記正解保持装置に正解データが保持されているとき、その正解データに対応する出力データであって前記仕様に合致する出力データが新たに取得されると、前記正解保持装置に保持されている正解データを削除して、新たに取得された出力データを正解データとして登録するか、または前記正解保持装置に保持されている正解データに加えて、新たに取得された出力データを正解データとして追加して登録することを特徴とする請求項1〜9のいずれか1つに記載のソフトウェア試験実行方法。
  11. 前記試験実行工程では、
    前記第2の対象プログラムの出力データと前記正解データとの差分を出力表示装置に表示し、前記差分に基づいて、前記成功判定を行うことを特徴とする請求項1〜10のいずれか1つに記載のソフトウェア試験実行方法。
  12. 前記正解登録工程は、複数回行われ、
    前記正解登録工程では、
    前記第1の対象プログラムの出力データを取得する度に、取得した第1の対象プログラムの出力データを出力保持装置に格納し、
    前記正解保持装置が前記正解データを保持していない場合、今回取得した第1の対象プログラムの出力データと、前回取得した第1の対象プログラムの出力データとを比較し、今回取得した前記出力データと前回取得した前記出力データとが異なる場合に、今回取得した前記出力データが前記仕様に合致するか否かを判断し、
    合致すると判断すると、今回取得した前記出力データを正解データとして前記正解保持装置に登録することを特徴とする請求項1〜11のいずれか1つに記載のソフトウェア試験実行方法。
  13. 前記試験実行工程は、複数回行われ、
    前記試験実行工程では、
    前記成功判定が行われる度に、前記成功判定の結果を試験結果として試験結果保持装置に格納し、
    前回の試験結果が成功であり、今回の試験結果が失敗であるとき、その試験結果を与えた前記試験シナリオの処理を試験者に報告することを特徴とする請求項1〜12のいずれか1つに記載のソフトウェア試験実行方法。
JP2009209897A 2009-09-11 2009-09-11 ソフトウェア試験実行方法 Pending JP2011060052A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009209897A JP2011060052A (ja) 2009-09-11 2009-09-11 ソフトウェア試験実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009209897A JP2011060052A (ja) 2009-09-11 2009-09-11 ソフトウェア試験実行方法

Publications (1)

Publication Number Publication Date
JP2011060052A true JP2011060052A (ja) 2011-03-24

Family

ID=43947597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009209897A Pending JP2011060052A (ja) 2009-09-11 2009-09-11 ソフトウェア試験実行方法

Country Status (1)

Country Link
JP (1) JP2011060052A (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226683A (ja) * 2011-04-22 2012-11-15 Hitachi Ltd 表示装置画面の全点試験方法及び全点試験装置
JP2013143044A (ja) * 2012-01-11 2013-07-22 Fujitsu Ltd プログラム、情報処理方法、および情報処理装置
JP2014132397A (ja) * 2013-01-07 2014-07-17 Mitsubishi Electric Corp 試験結果判定支援装置
JP6130011B1 (ja) * 2016-03-14 2017-05-17 株式会社リクルートホールディングス ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
KR101774359B1 (ko) * 2017-03-07 2017-09-04 주식회사 한글과컴퓨터 실행 속도 측정 테스트 시스템 및 이를 이용한 테스트 방법
KR101774815B1 (ko) * 2017-03-07 2017-09-19 주식회사 한글과컴퓨터 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법
JP6312880B1 (ja) * 2017-02-07 2018-04-18 雅人 溝垣 分析装置、分析方法及び分析プログラム
WO2018154784A1 (ja) * 2017-02-27 2018-08-30 三菱電機株式会社 影響抽出装置、影響抽出プログラム及び影響抽出方法
JP2019086804A (ja) * 2017-11-01 2019-06-06 みずほ情報総研株式会社 テスト支援システム、テスト支援方法及びテスト支援プログラム
JP2019525372A (ja) * 2016-08-26 2019-09-05 上海合福信息科技有限公司 テスト設計書の生成方法
JP2020123287A (ja) * 2019-01-31 2020-08-13 株式会社リコー 情報処理装置、テスト方法、及びテストプログラム
JP2020126591A (ja) * 2019-01-31 2020-08-20 株式会社 ミックウェア 情報処理装置、情報処理装置の制御方法、および制御プログラム
WO2020202337A1 (ja) * 2019-03-29 2020-10-08 三菱電機株式会社 画像生成装置、テストシステム、画像生成方法及びプログラム
JP2020194225A (ja) * 2019-05-24 2020-12-03 富士通株式会社 情報処理装置、情報処理方法、および、情報処理プログラム

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226683A (ja) * 2011-04-22 2012-11-15 Hitachi Ltd 表示装置画面の全点試験方法及び全点試験装置
JP2013143044A (ja) * 2012-01-11 2013-07-22 Fujitsu Ltd プログラム、情報処理方法、および情報処理装置
JP2014132397A (ja) * 2013-01-07 2014-07-17 Mitsubishi Electric Corp 試験結果判定支援装置
JP6130011B1 (ja) * 2016-03-14 2017-05-17 株式会社リクルートホールディングス ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
WO2017159631A1 (ja) * 2016-03-14 2017-09-21 株式会社リクルートホールディングス ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
JP2017167642A (ja) * 2016-03-14 2017-09-21 株式会社リクルートホールディングス ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
JP2019525372A (ja) * 2016-08-26 2019-09-05 上海合福信息科技有限公司 テスト設計書の生成方法
JP6312880B1 (ja) * 2017-02-07 2018-04-18 雅人 溝垣 分析装置、分析方法及び分析プログラム
JP2018128801A (ja) * 2017-02-07 2018-08-16 雅人 溝垣 分析装置、分析方法及び分析プログラム
JPWO2018154784A1 (ja) * 2017-02-27 2019-06-27 三菱電機株式会社 影響抽出装置、影響抽出プログラム及び影響抽出方法
WO2018154784A1 (ja) * 2017-02-27 2018-08-30 三菱電機株式会社 影響抽出装置、影響抽出プログラム及び影響抽出方法
KR101774815B1 (ko) * 2017-03-07 2017-09-19 주식회사 한글과컴퓨터 커서 위치 인식 테스트 자동화 시스템 및 이를 이용한 커서 위치 인식 테스트자동화 방법
KR101774359B1 (ko) * 2017-03-07 2017-09-04 주식회사 한글과컴퓨터 실행 속도 측정 테스트 시스템 및 이를 이용한 테스트 방법
JP2019086804A (ja) * 2017-11-01 2019-06-06 みずほ情報総研株式会社 テスト支援システム、テスト支援方法及びテスト支援プログラム
JP2020123287A (ja) * 2019-01-31 2020-08-13 株式会社リコー 情報処理装置、テスト方法、及びテストプログラム
JP2020126591A (ja) * 2019-01-31 2020-08-20 株式会社 ミックウェア 情報処理装置、情報処理装置の制御方法、および制御プログラム
JP7238439B2 (ja) 2019-01-31 2023-03-14 株式会社リコー 情報処理装置、テスト方法、及びテストプログラム
WO2020202337A1 (ja) * 2019-03-29 2020-10-08 三菱電機株式会社 画像生成装置、テストシステム、画像生成方法及びプログラム
JPWO2020202337A1 (ja) * 2019-03-29 2021-12-23 三菱電機株式会社 画像生成装置、テストシステム、画像生成方法及びプログラム
JP2020194225A (ja) * 2019-05-24 2020-12-03 富士通株式会社 情報処理装置、情報処理方法、および、情報処理プログラム
JP7310303B2 (ja) 2019-05-24 2023-07-19 富士通株式会社 情報処理装置、情報処理方法、および、情報処理プログラム

Similar Documents

Publication Publication Date Title
JP2011060052A (ja) ソフトウェア試験実行方法
US10853232B2 (en) Adaptive system for mobile device testing
CN108959068B (zh) 软件界面测试方法、设备及存储介质
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US9632754B2 (en) Auto generation and linkage of source code to test cases
US20100031248A1 (en) Installation Sequence Manager
WO2018036531A1 (zh) 一种测试用例生成方法
US20170344449A1 (en) Testing method of electronic devices
JP2006268666A (ja) 補正機能を持つ自動試験システム、自動試験方法、およびプログラム
TW201638784A (zh) 自動測試裝置
JP2010152429A (ja) Guiアプリケーションテスト支援装置及びテスト支援方法
KR101110241B1 (ko) 프로그램 테스트 장치 및 프로그램
WO2018036529A1 (zh) 一种可视化测试报告生成方法
JPWO2004104824A1 (ja) ユーザインタフェースアプリケーション開発装置および開発方法
TWI476587B (zh) 測試電子裝置之功能的測試方法以及測試裝置
JP6441786B2 (ja) テスト支援装置、テスト支援方法、及びプログラム
CN110543429B (zh) 测试用例调试方法、装置及存储介质
JP4582038B2 (ja) ソフトウェアの自動試験プログラム、ソフトウェアの自動試験装置、およびソフトウェアの自動試験方法
CN114253841A (zh) 测试脚本生成方法、装置及存储介质
KR20080087918A (ko) 타겟 장치의 자동 검증 방법 및 그 장치
JP4896909B2 (ja) シナリオ生成装置及びプログラム
JP6781688B2 (ja) プログラム、情報処理装置及び画面テストシステム
WO2018036528A1 (zh) 一种自动测试方法
JP2017167642A (ja) ソフトウェアの動作検証装置、ソフトウェアの動作検証方法
JP2010231594A (ja) 試験プログラム及び試験装置