JP2013088843A - 情報システムの画面遷移ソフトウェア設計検証支援装置、及び、プログラム - Google Patents
情報システムの画面遷移ソフトウェア設計検証支援装置、及び、プログラム Download PDFInfo
- Publication number
- JP2013088843A JP2013088843A JP2011225634A JP2011225634A JP2013088843A JP 2013088843 A JP2013088843 A JP 2013088843A JP 2011225634 A JP2011225634 A JP 2011225634A JP 2011225634 A JP2011225634 A JP 2011225634A JP 2013088843 A JP2013088843 A JP 2013088843A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- complexity
- priority
- information
- screens
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】多重の割込みイベントが発生する情報システムの画面遷移ソフトウェアの設計や検証工程を支援する装置、プログラムを提供する。
【解決手段】多重の割込みイベントが発生した場合の画面遷移系列からなる個々のテストケースの複雑度を、画面退避領域の情報をもとに算出し、その複雑度順にテストケースを表示することで、複雑なテストケースの実施漏れを防止する画面遷移ソフトウェア設計検証支援装置、及び、プログラム。
【選択図】図2
【解決手段】多重の割込みイベントが発生した場合の画面遷移系列からなる個々のテストケースの複雑度を、画面退避領域の情報をもとに算出し、その複雑度順にテストケースを表示することで、複雑なテストケースの実施漏れを防止する画面遷移ソフトウェア設計検証支援装置、及び、プログラム。
【選択図】図2
Description
本発明は、情報システムの画面遷移ソフトウェア設計検証支援装置、及び、プログラムに係り、特に、GUI(Graphical User Interface)の表示画面を有する情報システムにおける、画面遷移のソフトウェアの設計検証作業を支援する機能を有する装置、およびプログラムに関するものである。
GUIを有する多くの情報機器や情報システム(以後、情報システム又はシステムと称す)は、種々のメニューやボタンなどを表示した画面をユーザに提供している。ユーザは、その画面に表示されたメニューやボタンなどを、適宜、選択することによって、システムに指示やデータを入力することができる。また、そのような情報システムにおいて、GUIの表示画面は、その画面に表示された所定のメニューやボタンなどを選択することによって、あらかじめ定められた他の画面に遷移するように設計されている。なお、このように表示画面に表示されたメニューなどを選択した操作によって遷移する画面遷移は、しばしば、メニュー遷移と呼ばれる。
一方、近年、携帯電話機やカーナビゲーション車載装置などの多くの端末機器は、通信ネットワークを介して上位のサーバなどに接続するための通信インタフェースを備えるようになった。そのような情報システムにおいては、通信インタフェースから表示中の画面の内容と無関係の情報が入力される。このようなとき、情報システムは、必要に応じて表示中の画面に係る処理を中断し、通信インタフェースから入力された情報に係る処理を実行し、新たな画面を表示する。すなわち、表示画面は、メニューの選択によって遷移するだけでなく、通信インタフェースなどからの割込みイベントが生じたときにも遷移する。このような画面遷移を割込み遷移という。
割込みイベント発生時には、情報システムは、GUI上に現在表示している画面を、システムが有する画面退避領域に一時退避するのが一般的である。これは、システムのユーザがGUI上の「OK」ボタンや、「戻る」ボタンを押す等して、割込み処理が終了した場合に、システムは既にGUIに表示された何れかの画面を再び表示することが一般的であるためである。以降の説明では、このような、画面退避領域画面に退避した画面を再びGUIに表示するためのシステムの動作を、「戻り動作」と称す。
情報システムのGUIの、割込み遷移のソフトウェア開発を行う際には、設計者はシステムの機能仕様書等を参照して、GUIの割り込み処理の仕様を確定する。GUIの割込み遷移の仕様は、GUIに表示中の画面と、その画面上での割込みイベント情報(発生し得る割込みイベントの情報)と、その割込みイベントが発生したときのシステムの動作およびGUIに次に表示される画面との関係を表した状態遷移図や状態遷移表に記述するのが一般的である。以降の説明では、状態遷移図や状態遷移表を「状態遷移情報」と称す。
ここで、状態遷移情報は、一度の割込みイベントが発生した時のシステムの動作と、表示すべき画面を示したものである。
ここで、状態遷移情報は、一度の割込みイベントが発生した時のシステムの動作と、表示すべき画面を示したものである。
一方、実際の情報システムは、ある割込み処理を行っている最中に、別の割込みイベントが立て続けに発生することが起こりうる。この時、画面退避領域に複数の画面を退避させることもある。
このように複数の画面が、画面退避領域に退避された場合、戻り動作によって、表示される画面の順番は、システムの機能仕様によって決まっている。そこで、GUIのソフトウェア設計者は、戻り動作時に画面退避領域から取り出される画面の順番の優先度も決める必要がある。以降の説明では、この優先度の情報を「戻り優先情報」と称す。
このように複数の画面が、画面退避領域に退避された場合、戻り動作によって、表示される画面の順番は、システムの機能仕様によって決まっている。そこで、GUIのソフトウェア設計者は、戻り動作時に画面退避領域から取り出される画面の順番の優先度も決める必要がある。以降の説明では、この優先度の情報を「戻り優先情報」と称す。
特許文献1には、事前に並列プロセス間の関係性の複雑度を予測することを可能とし、モデル検査実施の可否を事前に判断する指針を提供する、モデル検査有効性計測装置が開示されている。
また、特許文献2には、割り込み制約情報と割り込みルール情報の不整合を解決するのに要する人手工数を低減する、画面遷移設計支援装置の技術が開示されている。
GUIのソフトウェア開発において、設計者は、自らが作成した状態遷移情報、および、戻り優先情報の記述が、機能仕様書と整合がとれていることの机上確認が必要となる。また、検証者は、実装者が作成したシステムのGUIのソフトウェアが、割込みイベントに対して、設計者の作成した状態遷移情報と戻り優先情報通りの動作を行うことの検証を行う。この設計者の机上確認や、検証者の検証作業において、割込みイベントが多重で発生した時の動作確認と、戻り動作の動作確認が不十分で、GUIのソフトウェア開発の手戻り発生による出荷の遅れや、市場出荷後の不具合発生が課題となっている。
その原因は、多重割込みの設計時の動作確認や検証を行う際、それらを網羅するためのテストケース数が膨大化するためと考えられる。例えば、画面数が30種類、割込みイベントが30種類あるシステムの場合、割込み回数を2回と仮定すると、画面数×1度目の割込みイベント×2度目の割込みイベント=30*30*30=27,000通りとなる。
このようなテストケース数の膨大化に対して、特許文献1では、状態遷移表の画面数やイベント数をもとに、状態遷移の複雑度を算出し、複雑度の高いケースを優先的に表示し、モデル検査を行う技術が紹介されている。しかしながら、特許文献1で用いられる複雑度算出法は、あくまで状態数とイベント数をもとに算出するもので、多数の割込みイベントが発生した際の、画面遷移の変化の複雑さ、戻り動作の複雑さを考慮したものではない。
ここで、画面遷移の変化の複雑さとは、状態遷移情報において、割込み画面とGUIに現在表示されている画面に対する操作のルールが複数種類存在することに起因し、操作の戻り動作の複雑さとは、複数の画面が画面退避領域に確保されている場合に、各画面の優先度によって、戻り動作によって対象のシステムのGUIの画面に表示される画面が異なることに起因する。
特許文献2では、all−pair法等の実験計画法によって、テストの網羅率を確保しつつテストケース数の増大を抑えている。特許文献2の方式では、網羅率を確保しつつテストケース数の削減を行うことができるが、個々のテストケースの複雑度を加味したものではない。
なお、画面遷移に関しては、割込みイベントによる画面遷移(割込み遷移)だけでなく、例えばGUIの表示画面がツリー構造の階層になったメニュー構造になっており、ユーザのGUI操作に基づく表示画面のメニュー遷移に該当するイベントと、その時の遷移先画面とシステムの動作についても、同様な問題がある。
そこで本発明の目的は、多重の割込みイベントやメニュー遷移に該当するイベントが発生した場合において、画面遷移系列からなる個々のテストケースの複雑度を、画面退避領域の情報をもとに算出し、その複雑度順にテストケースを表示することで、複雑度が高く不具合の起きやすいテストケースを見逃さずに設計時の確認と実装後の検証を実施することを支援する、画面遷移ソフトウェア設計検証支援装置、およびプログラムを提供することである。
本発明の代表的なものの一例を示すと、次の通りである。イベントが多重発生した際のGUIに表示される画面の遷移の検証を支援する、情報システムの画面遷移ソフトウェア設計検証支援装置であって、前記イベントの発生前にテスト対象のシステムの前記GUIに表示されていた前記画面を一時的に退避して保持するための画面退避領域と、画面遷移系列からなる個々のテストケースの複雑度を算出する複雑度算出部と、前記複雑度順に前記テストケースの並び替えを行うテストケース並び替え部とを備え、前記個々のテストケースを、前記複雑度をもとに優先付けして表示することを特徴とする。
本発明によれば、多重の割込みイベントやメニュー遷移に該当するイベントが発生した時の、画面遷移ソフトウェアの個々のテストケースの複雑さを加味したテストケースの優先付けが可能となり、テストケース数が増大化した場合でも、複雑度が高く不具合の起きやすいケースを見逃さずに設計時の確認と実装後の検証を実施することが可能となる。
本発明は、多重の割込みイベントやメニュー遷移に該当するイベントが発生した場合の画面遷移系列からなる個々のテストケースの複雑度を、画面退避領域の情報をもとに算出し、その複雑度順にテストケースを表示する画面遷移ソフトウェア設計検証支援装置、及び、プログラムを提供する。
具体的な例として、画面退避領域の情報をもとにした複雑度とは、画面退避領域に複数の画面が存在して、戻り動作によって再度表示される画面の優先度が存在する場合に、表示される画面の順番と、複雑度が存在しない場合に戻り動作によって再度表示される画面の順番とを比較して、その差分をもとに算出する。
具体的な例として、画面退避領域の情報をもとにした複雑度とは、画面退避領域に複数の画面が存在して、戻り動作によって再度表示される画面の優先度が存在する場合に、表示される画面の順番と、複雑度が存在しない場合に戻り動作によって再度表示される画面の順番とを比較して、その差分をもとに算出する。
以下、図を用いて本発明を実施するための最良の形態について詳説する。なお、以下の説明及び添付図面において、同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略することにする。また、本説明により作成される画面データ付優先度順テストケース表は、システムの画面遷移のソフトウェア設計時の動作確認にも用いることができるが、ここでは表記をテストケースで統一する。
本発明の実施例1を、図1〜図16Bを用いて説明する。図1は、本発明の実施例1の設計検証支援装置のハードウェア構成を示すブロック図である。本装置は例えばコンピュータにより構成され、入力部10、演算部(CPU)11、出力部12、主記憶領域13、補助記憶領域14を備える。補助記憶領域14のROMには、ソフトウェア20すなわち画面遷移ソフトウェア設計検証支援装置プログラムが格納されている。演算部11は、ローカルメモリ(ROM)に格納された各種コンピュータプログラムを主記憶領域13に展開して実行し、コンピュータを、情報システムの表示画面の画面遷移ソフトウェア設計検証支援装置として機能させ、テスト対象である情報システムの機能仕様書等、換言するとテスト対象のプログラムの「仕様書」等に関する情報の入力を入力部10から受けて、演算部11での処理結果を「複雑度」の情報として出力部12から出力する。
図2は、実施例1に係る、設計検証支援装置のソフトウェア20の構成を示す機能ブロック図である。本装置のソフトウェア20は、コンピュータに、ユーザ指定読み込み部21、状態遷移情報読み込み部22、戻り優先情報読み込み部23、表示画面情報取得部24、画面退避領域操作部25、画面退避領域26、複雑度算出部27、テストケース並び替え部28、及び、画面データ付加部29としての各機能を実現させるためのプログラムである。
ユーザは、入力部10を用いて、テスト対象の情報システムのプログラムの「仕様書」に関する情報としての状態遷移情報31、戻り優先情報32、ユーザ指定情報33、及び画面データ34を入力する。本装置のソフトウェア20は、本装置の電源がOFFの際は補助記憶領域14に格納されており、本装置の電源がONの際に、主記憶領域13に展開される。ユーザがユーザ指定情報33を入力したのち、入力部10より本装置に画面データ付優先度順テストケース表35の生成を指示すると、演算部11は後述の処理ステップに従った処理を行う。生成された「複雑度」の情報すなわち画面データ付優先度順テストケース表35は、出力部12に表示される。また、ユーザが優先度順テストケース表35の保存を本装置に対して指示すると、優先度順テストケース表35は補助記憶領域14に保存される。また、補助記憶領域14は、状態遷移情報31、戻り優先情報32、画面データ34を格納している。
ユーザ指定読み込み部21は、ユーザ指定情報33を読み込み保持するものである。また、ユーザが指定した前提画面と割込みイベントの組み合わせから、テストケース一覧36の作成を行う。ユーザ指定情報33は、各テストケースの前提画面、割込みイベント、使用する状態遷移情報の指定(状態遷移情報指定41)、使用する戻り優先情報の指定(戻り優先情報指定42)、使用する画面データの指定(画面データ指定40)から構成される。
ここで、前提画面とは、テスト対象の情報システムのGUIに、割込みイベントが発生する前に表示されている画面のことである。
割込みイベントは、テスト対象の情報システムのGUIに前提画面が表示中に発生したと仮定するものを、テストを行いたい多重割込みの回数だけ指定する。例えば、3回の多重割込みのテストを行いたい場合は、その3回の割込みイベントを本装置に順番に指定する。
状態遷移情報読み込み部22は、状態遷移情報指定41をもとに、状態遷移情報31を読み込み保持する。戻り優先情報読み込み部23は、戻り優先情報指定42をもとに、戻り優先情報32を読み込み保持する。
表示画面情報取得部24は、テストケース一覧36内の各テストケースにおける表示画面情報を、状態遷移情報読み込み部22、又は、画面退避領域操作部25を参照して取得し、表示画面情報付テストケース一覧37を作成する。ここで、表示画面情報は、割込み表示画面情報43と戻り表示画面情報44とから成る。割込み表示画面情報43は、ある割込みイベントが入った時に、次にテスト対象の情報システムのGUIに表示される画面情報(画面ID)である。一方戻り表示画面情報44は、戻り動作が行われた後に、テスト対象の情報システムのGUIに表示される画面の情報(画面ID)である。表示画面情報取得部24は、テストケース一覧36の各テストケースの割込みイベント指定をもとに、状態遷移情報読み込み部22を参照して割込み表示画面情報43を取得する。また、同表示画面情報取得部24は、戻り動作時の戻り表示画面情報44を、画面退避領域操作部25に動作指令47を与えることにより取得する。ここで、本装置は、各々のテストケースの、割込みイベントが連続して発生した場合のすべての割込み表示画面と、全ての戻り表示画面を時系列で表示する。表示画面情報取得部24は、テストケース一覧36の全てのテストケースの表示画面情報の付加された、表示画面情報付テストケース一覧37を作成し、複雑度算出部27へ渡す。
画面退避領域操作部25は、状態遷移情報読み込み部22の保持する状態遷移情報31を参照して、各テストケースの各割込みイベントに該当する操作(該当操作45)を取得し、画面退避領域26に対して、該当する操作を行う。また、各テストケースの戻り画面を決める際は、表示画面情報取得部24より動作指令47を受信して、戻り優先情報読み込み部23の戻り優先情報32と、画面退避領域26の画面退避領域情報46とを参照して、戻り表示画面情報44を確定する。画面退避領域26は、割込みイベント発生前にテスト対象のシステムのGUIに表示された画面(以後、表示画面と称す)を保持するための領域である。保持された画面は、戻り動作によって再びテスト対象の情報システムのGUIに表示される。画面退避領域26は、保持画面退避領域操作部25の操作によって、表示画面の退避と、戻り動作時にテスト対象のシステムに表示すべき画面の取り出しが行われる。
複雑度算出部27は、表示画面情報取得部24より取得した表示画面情報付テストケース一覧37中の、各テストケースの複雑度38を、画面退避領域26の情報(画面退避領域内情報46)を参照することで計測し、テストケース並び替え部28に、表示画面情報付テストケース一覧37と複雑度38に渡す。
テストケース並び替え部28は、複雑度算出部27より取得した表示画面情報付テストケース一覧37内の各テストケースを、複雑度38の高い順番に並べて、優先度順テストケース一覧39を作成する。
画面データ付加部29は、テストケース並び替え部28より取得した優先度順テストケース一覧39中の各テストケースの各画面情報に対して、ユーザ指定読み込み部21より取得した画面データ指定40(各画面情報と、その画面に該当するGUIのキャプチャ画像との対応の指定)に基づいて、画面データを付加することで、画面データ付優先度順テストケース表35を作成する。
図3は、状態遷移情報31の説明図である。状態遷移情報31は、表示画面311が縦軸、割込みイベント312が横軸(表示画面が横軸、割込みイベントを縦軸でもよい)に記述されたマトリクス表で構成される。表示画面311はテスト対象のGUIに表示されている画面のことであり、S1〜Smのm種類の画面が存在すると仮定する。また、割込みイベント312は、E1〜Enのn種類が存在すると仮定する。ここで、m、nはともに1以上の整数である。表示画面がSiの時(iは整数。1≦i≦m)、Ej(jは整数。1≦i≦n)の割込みイベントが発生した場合の割込み画面と、割込み画面と画面退避領域に対する操作は、表示画面Siと割込みイベントEjとが交差するマスの中に、「割込み画面/操作」とされている。例えば、表示画面S2で、割込みイベントE2の時は「S2/×」である。
図4は、図3の状態遷移情報31の状態遷移情報311の中に記述されている、操作のルールを説明する図である。それぞれの記号3130(○、◎、▲、△、×)に対して、割込みイベント発生前に表示されていた画面に対する操作を表す、表示画面への操作3131、前画面領域261に格納されている画面に対する操作を表す、前画面領域の画面への操作3132、割込みイベント発生直後に表示されることが期待される遷移先画面に対する操作を示す、割込み画面への操作3133が一意に決まっている。なお、テスト対象の情報システムによっては、図4に示した5種類のルールに限らないものとする。ここで、前画面領域261に画面が存在しない時は、前画面領域の画面への操作3132は無視される。また、記号3130が◎、△のいずれの場合でも、前画面領域の画面が先に優先退避領域に退避される。割込み画面への操作3133について補足する。「表示画面とする」場合、割込み画面が次のGUIへの表示画面となる。「優先退避領域へ移動」の場合、GUIの表示画面はそのままで、割込み画面は優先退避領域に格納される(ここで、割込み画面は、例えば図3において、表示画面S1、割込みイベントE1の場合、S4になり、このS4の画面が優先退避領域に格納される)。
図5は、画面退避領域26の説明図である。画面退避領域26は、前画面領域261と、優先度付き退避領域262(262−1〜262−m)より構成される。前画面領域261は、主に直前に情報システムのGUIに表示されていた画面を格納する領域である。優先度付き退避領域(優先退避領域)262は、主に直前よりも前にUIに表示されていた画面を格納する領域である。ここで、前画面領域261の格納できる画面数は1、優先退避領域262の格納できる画面数はmとする。優先退避領域262は、スタックであり、データ(退避画面)を後入れ先出し (LIFO: Last In First Out) する。ただし、各画面(S1〜Sm)には、予め戻り動作時にGUIに表示される(すなわち、スタックから取り出される)順番の優先度が決まっており、優先度によっては、優先画面領域262で底側の画面が、top側の画面より先に取り出される可能性がある点に注意する。ここで、前画面領域261、又は、優先退避領域262に、既にある画面と同一の画面が格納される場合には、前画面領域261の画面はそのままであり、優先退避領域262の場合は、既にある画面を消去したのちに、新たに同領域262に同画面を保持しなおすものとする。すなわち、優先退避領域262のtopに画面が格納される。
図6は、戻り優先情報32の説明図である。戻り優先情報は、テスト対象の情報システムの全画面に対して、異なる優先度が一意に決まっているものとする。すなわち、画面数がmの場合は、各画面に対して、1〜mまで一意に定められている。優先度は「1」が最高で、数字が大きくなるにつれ低くなる。
図7は、ユーザ指定情報33の説明図である。ユーザは、一番左の列に、1度目の割込みイベントが発生する前に表示されている画面(前提画面と称す)を指定する。次に、割込みイベント1の列に、1度目の割込みイベントを、割込みイベント2の列に、2度目の割込みイベントを指定する。割込みイベントの回数は任意の回数指定が可能である。図7は、例として3回目までの割込みイベントを指定した場合を表示している。個々の割込みイベントの列には、複数の割込みイベント名を指定可能である。また、前提画面の欄は最大m個の画面名を、割込みイベントの列にはそれぞれ最大n個の割込みイベント名を指定可能である。また、ユーザ指定情報33は、図7で表示した項目のほかに、使用する状態遷移情報31、使用する戻り優先情報32、使用する画面データ34の3つを含むものとする。
図8は、テストケース一覧36の説明図である。ユーザが指定した、前提画面と、割込みイベント1、割込みイベント2、・・・、割込みイベントL(Lは正の整数)の全組み合わせを用いて、画面遷移系列が作成される。例えば、図7、図8の例の場合、前提画面:2通り(s1,s2)、割込みイベント1:2通り(e11,e12)、割込みイベント2:3通り(e21,e22,e23)、割込みイベント3:1通り(e31)の合計2×2×3×1=12通りの画面遷移系列からなるテストケースが生成される。ここで、s1、s2は状態遷移情報31に含まれるS1〜Smの任意の画面を、e11,e12,e21,e22,e23,e31状態遷移情報31に含まれるE1〜Enの任意の割込みイベントをそれぞれ指定可能である。なお、eijという表記は、割込みイベントiの欄のj番目に指定された割込みイベントのことを意味する。
ここで、本装置で作成されるテストケースについて補足する。図6に示した通り、各画面に戻り動作時の優先度が指定されており、この優先度によっては、優先画面領域262で底側の画面が、top側の画面より先に取り出される。そこで、取り出される画面の順番が正しいことの動作確認が必要となる。そのため、本装置で作成されるテストケースには、複数回の割込みイベント発生後に、戻り動作を各テストケースで指定した割込み回数だけ行った時の、テスト対象のシステムのGUIに表示される画面も含めて表示する。なお、各テストケースは、画面退避領域26に何も画面が入っていない状態を想定している。また、優先退避領域262本装置にユーザの指定する情報は戻り操作また、予めテストケース数を絞っておくために、前提画面と割込みイベント1、2、・・・Lの間で、All−pair法、又は、直交表を適用することも可能である。その場合、本装置は、ユーザ指定読み込み部21内に、All−pair法、又は、直交表によるテストケースの絞り込み機能を付加するものとする。
図9は、実施例1のソフトウェア20による処理の流れを示す図である。以下、図9の各ステップについて詳細に説明する。
<ステップS200>
ユーザ指定読み込み部21が、ユーザ指定情報21を読み込み、ユーザの指定した前提画面と割込みイベントをもとに、テストケース一覧36を作成する。
<ステップS201>
状態遷移情報読み込み部22が、状態遷移情報指定41で指定された状態遷移情報31を読み込む。
<ステップS202>
戻り優先情報読み込み部23が、戻り優先情報指定42で指定された戻り優先情報32を読み込む。
<ステップS203>
画面データ付加部29が、画面データ指定40で指定された画面データ34を読み込む。
ユーザ指定読み込み部21が、ユーザ指定情報21を読み込み、ユーザの指定した前提画面と割込みイベントをもとに、テストケース一覧36を作成する。
<ステップS201>
状態遷移情報読み込み部22が、状態遷移情報指定41で指定された状態遷移情報31を読み込む。
<ステップS202>
戻り優先情報読み込み部23が、戻り優先情報指定42で指定された戻り優先情報32を読み込む。
<ステップS203>
画面データ付加部29が、画面データ指定40で指定された画面データ34を読み込む。
これに続く、S204からS207のステップは、テストケース一覧36に含まれるテストケース数をNとすると、N回処理が繰り返される。なお、本説明では、テストケース一覧36のi番目(1≦i≦N)のテストケースを、テストケースiと記述する。
<ステップS204>
各テストケースiにおける、割込みイベントによる全割込み表示画面情報43の確定と、画面退避領域26の操作を実施する。詳細は、図10を用いて説明する。
<ステップS205>
各テストケースiにおける、 戻り動作による全戻り表示画面情報44の確定と、画面退避領域26の操作を実施する。詳細は、図11を用いて説明する。
<ステップS206>
複雑度算出部27が、画面退避領域26を参照して、 テストケースiの複雑度38を算出する。複雑度38は、画面退避領域に複数の画面が存在して、戻り動作によって再度表示される画面の優先度が存在する場合に、表示される画面の順番と、複雑度が存在しない場合に戻り動作によって再度表示される画面の順番とを比較して、その差分をもとに算出する。すなわち、後入れ先出し (LIFO: Last In First Out)を前提とする戻り動作において、優先順位が存在しない場合の表示画面の基本順列と優先順位が存在する場合の「戻り表示画面の遷移の順列」の関係から、複雑度を算出する。詳細は、図14、図15、図16A、図16Bを用いて説明する。
<ステップS207>
画面退避領域操作部25が、画面退避領域26のデータをクリアする。
各テストケースiにおける、割込みイベントによる全割込み表示画面情報43の確定と、画面退避領域26の操作を実施する。詳細は、図10を用いて説明する。
<ステップS205>
各テストケースiにおける、 戻り動作による全戻り表示画面情報44の確定と、画面退避領域26の操作を実施する。詳細は、図11を用いて説明する。
<ステップS206>
複雑度算出部27が、画面退避領域26を参照して、 テストケースiの複雑度38を算出する。複雑度38は、画面退避領域に複数の画面が存在して、戻り動作によって再度表示される画面の優先度が存在する場合に、表示される画面の順番と、複雑度が存在しない場合に戻り動作によって再度表示される画面の順番とを比較して、その差分をもとに算出する。すなわち、後入れ先出し (LIFO: Last In First Out)を前提とする戻り動作において、優先順位が存在しない場合の表示画面の基本順列と優先順位が存在する場合の「戻り表示画面の遷移の順列」の関係から、複雑度を算出する。詳細は、図14、図15、図16A、図16Bを用いて説明する。
<ステップS207>
画面退避領域操作部25が、画面退避領域26のデータをクリアする。
<ステップS208>
テストケース並び替え部28が、複雑度38をもとに 優先度順テストケース一覧39を作成する。テストケース並び替え部28が、表示画面情報付テストケース一覧37中の全テストケースの複雑度38を参照し、複雑度の高い順にテストケースの並び替えを行い、優先度順テストケース一覧39を作成する。
テストケース並び替え部28が、複雑度38をもとに 優先度順テストケース一覧39を作成する。テストケース並び替え部28が、表示画面情報付テストケース一覧37中の全テストケースの複雑度38を参照し、複雑度の高い順にテストケースの並び替えを行い、優先度順テストケース一覧39を作成する。
<ステップS209>
画面データ付加部29が、画面データ34を優先度順テストケース一覧39中の各テストケースの画面欄に貼り付けて、画面データ付優先度順テストケース表35を作成する。画面データ付加部29が、優先度順テストケース一覧39中の全テストケースの全表示画面欄(前提画面欄、割込み表示画面欄、戻り表示画面欄)に記述された、画面情報に該当する画面データ34を、画面データ40の指定に基づき貼り付けることにより、画面データ付優先度順テストケース表35が作成される。
画面データ付加部29が、画面データ34を優先度順テストケース一覧39中の各テストケースの画面欄に貼り付けて、画面データ付優先度順テストケース表35を作成する。画面データ付加部29が、優先度順テストケース一覧39中の全テストケースの全表示画面欄(前提画面欄、割込み表示画面欄、戻り表示画面欄)に記述された、画面情報に該当する画面データ34を、画面データ40の指定に基づき貼り付けることにより、画面データ付優先度順テストケース表35が作成される。
図10に、図9の割込みイベントによる割込み表示画面43の取得処理の流れを説明する。図10において、各テストケースiにおける割込みイベント数をM(Mは1以上の整数)とする。ステップS2040〜S2043は、M回処理が繰り返される。ここで、テスト対象のシステムに、j(jは1以上の整数、1≦j≦M)番目に入る割込みイベントを割込みイベントj、割込みベントjが入る前に表示されている画面を表示画面jと定義する。なお、前提画面は、1番目の表示画面(表示画面1)となる。
<ステップS2040>
表示画面情報取得部24が、j番目の表示画面と割込みイベント(表示画面jと割込みイベントj)を状態遷移情報読み込み部22に通知する。
表示画面情報取得部24が、j番目の表示画面と割込みイベント(表示画面jと割込みイベントj)を状態遷移情報読み込み部22に通知する。
<ステップS2041>
状態遷移情報読み込み部22が、保持している状態遷移情報31を参照して、表示画面jと割込みイベントjに相当する割込み画面と、操作を取得する。
<ステップS2042>
状態遷移情報読み込み部22が、ステップS2041で取得した割込み画面と操作から、割込み表示画面情報43を確定し、表示情報取得部24に通知する。ここで、図3の状態遷移情報で、操作が○、又は、◎の場合は、割込み画面が割込み表示画面となるが、操作がそれ以外の場合は、現在テスト対象のシステムのGUIに表示されている画面が、割込み表示画面となる。
状態遷移情報読み込み部22が、保持している状態遷移情報31を参照して、表示画面jと割込みイベントjに相当する割込み画面と、操作を取得する。
<ステップS2042>
状態遷移情報読み込み部22が、ステップS2041で取得した割込み画面と操作から、割込み表示画面情報43を確定し、表示情報取得部24に通知する。ここで、図3の状態遷移情報で、操作が○、又は、◎の場合は、割込み画面が割込み表示画面となるが、操作がそれ以外の場合は、現在テスト対象のシステムのGUIに表示されている画面が、割込み表示画面となる。
<ステップS2043>
画面退避領域操作部25が、S2041で取得した該当操作45をもとに、画面退避領域26を操作する。
<ステップS2044>
途中画面情報取得部24は、テストケース一覧36の、テストケースiの表示画面j+1の欄に、ステップS2042で取得した割込み表示画面情報43を追加する。
画面退避領域操作部25が、S2041で取得した該当操作45をもとに、画面退避領域26を操作する。
<ステップS2044>
途中画面情報取得部24は、テストケース一覧36の、テストケースiの表示画面j+1の欄に、ステップS2042で取得した割込み表示画面情報43を追加する。
図11に、図9の戻り動作における戻り表示画面情報44の取得処理の流れを説明する。ステップS2050〜S2057は、(M−1)回処理が繰り返される。
<ステップS2050>
表示画面情報取得部24が、画面退避領域操作部25に動作指令47を行う。
<ステップS2051>
画面退避領域操作部25が、画面退避領域26を参照する。
<ステップS2052>
前画面領域261に画面が存在する場合、ステップS2053に進む。同領域261に画面が存在しない場合は、ステップS2055に進む。
<ステップS2053>
画面退避領域操作部25は、前画面領域261の画面情報を、戻り表示画面情報44として表示画面情報取得部24に通知する。
<ステップS2054>
画面退避領域操作部25は、前画面領域261に保持していた画面情報を消去する。
<ステップS2055>
画面退避領域操作部25が、戻り優先情報32と画面退避領域26の優先退避領域262を参照し、同領域262に存在する中で、最も優先度の高い画面の画面情報を戻り表示画面情報44として表示画面情報取得部24に通知する。
<ステップS2056>
画面退避領域操作部25が、ステップS2055で確定した優先退避領域262の画面を、優先退避領域262から消去する。ここで、優先退避領域262はスタックであり、同領域の底側にある画面を、top側にある画面より先に取り出す場合は、一旦top側にある画面を別の領域に退避したのち、該当する画面を取り出し、再度同じ順番になるように、優先画面退避領域262に格納しなおす。
表示画面情報取得部24が、画面退避領域操作部25に動作指令47を行う。
<ステップS2051>
画面退避領域操作部25が、画面退避領域26を参照する。
<ステップS2052>
前画面領域261に画面が存在する場合、ステップS2053に進む。同領域261に画面が存在しない場合は、ステップS2055に進む。
<ステップS2053>
画面退避領域操作部25は、前画面領域261の画面情報を、戻り表示画面情報44として表示画面情報取得部24に通知する。
<ステップS2054>
画面退避領域操作部25は、前画面領域261に保持していた画面情報を消去する。
<ステップS2055>
画面退避領域操作部25が、戻り優先情報32と画面退避領域26の優先退避領域262を参照し、同領域262に存在する中で、最も優先度の高い画面の画面情報を戻り表示画面情報44として表示画面情報取得部24に通知する。
<ステップS2056>
画面退避領域操作部25が、ステップS2055で確定した優先退避領域262の画面を、優先退避領域262から消去する。ここで、優先退避領域262はスタックであり、同領域の底側にある画面を、top側にある画面より先に取り出す場合は、一旦top側にある画面を別の領域に退避したのち、該当する画面を取り出し、再度同じ順番になるように、優先画面退避領域262に格納しなおす。
<ステップS2057>
表示画面情報取得部24が、画面退避領域操作部25より通知された戻り表示画面情報44を、テストケースiの表示画面(M+j)の欄に書き込む。
表示画面情報取得部24が、画面退避領域操作部25より通知された戻り表示画面情報44を、テストケースiの表示画面(M+j)の欄に書き込む。
図12に、図9のステップS200からS207 を経て生成された、表示画面情報付テストケース一覧37の例を示す。図8のテストケース一覧36の各テストケースに、割込み表示画面情報43と戻り表示画面情報44が付加される。
図13に、図9のステップS200からS209 を経て生成された、画面データ付優先度順テストケース表35の例を示す。すなわち、図12の表示画面情報付テストケース一覧36の、表示画面の欄に該当する画面データ(S1〜S10)34が付加される。また、各テストケースに複雑度38が付加され、同複雑度の順番にテストケースが並び替えられる。ここで、複雑度38が同一の場合は、項番の若い順番にテストケースが並べられる。また、本装置は画面データ付優先度順テストケース表35の個々のテストケースにおける画面退避領域26の時系列の変化を記憶する機能を備え、ユーザが画面データ付優先度順テストケース表35の項番を指定すると、画面退避領域26の時系列の変化を表示する機能を備えるものとする。
次に、図14〜図16Bを用いて、実施例1のステップS206における複雑度算出部27の複雑度計測方法を説明する。ある前提画面から、割込みイベントが計4回入り、図14に示す画面退避領域の状態になったと仮定する。すなわち、前画面領域にSa、優先退避領域の底から順にSd、Sc、Sbが格納されているとする。ここで、Sa、Sb、Sc、Sdは、図3の状態遷移情報31のS1〜Smの中のいずれかの画面と仮定する。Sa〜Sdの4つの画面には優先度が定まっており、図15の(a)〜(f)の6通りの優先度の優劣が考えられる。図15の優先度の欄に、各画面の優先度を不等号(>)にて示す。また、図15の戻り表示画面の遷移の欄に、図15の(a)〜(f)の各場合の戻り表示画面を示す。前画面領域にある、Saが最初に表示画面となり、次に、優先退避領域のSb、Sc、Sdの画面が、優先度に従ってテスト対象のシステムのGUIに表示される。
ここで、「複雑度」27を次のように定義する。
もし、優先退避領域31の画面Sb、Sc、Sdに優先順位が存在しない場合、後入れ先出し (LIFO: Last In First Out)を前提とする戻り動作により、テスト対象のシステムのGUIには、Sa→Sb→Sc→Sdの順番で画面が表示される。これを「基本順列」とする。図15の(a)〜(f)の各戻り表示画面の遷移も同じく順列と考える。基本順列と、図15の(a)〜(f)の各「戻り表示画面の遷移の順列」とを上下に並べる。同一画面に線を引いた時に「交差する線」の数を数え上げ、これを複雑度とする。
もし、優先退避領域31の画面Sb、Sc、Sdに優先順位が存在しない場合、後入れ先出し (LIFO: Last In First Out)を前提とする戻り動作により、テスト対象のシステムのGUIには、Sa→Sb→Sc→Sdの順番で画面が表示される。これを「基本順列」とする。図15の(a)〜(f)の各戻り表示画面の遷移も同じく順列と考える。基本順列と、図15の(a)〜(f)の各「戻り表示画面の遷移の順列」とを上下に並べる。同一画面に線を引いた時に「交差する線」の数を数え上げ、これを複雑度とする。
図16Aの(a)〜(f)に、図15の(a)〜(f)の各場合における複雑度と、同一画面間を結ぶ線を示す。実線は交差の生じる線、点線は交差の生じない線である。
例えば図15の(d)の場合を例に挙げると、図16Bに示したように、優先順位が存在しない場合は戻り表示画面の基本順列(A)はSa→Sb→Sc→Sdとなり、優先順位が存在する場合の「戻り表示画面の遷移の順列」(B)はSa→Sc→Sd→Sbとなり、交差の生じる3本の実線(1)〜(3)が存在する。実線(1)は実線(2)、(3)と2回交差するので「交差する線」の数が2となり、実線(2)、(3)は、それぞれ、実線(1)と1回交差するので「交差する線」の数が共に1となり、これら「交差する線」の数(2,1,1)を数え上げることで、複雑度は4となる。
例えば図15の(d)の場合を例に挙げると、図16Bに示したように、優先順位が存在しない場合は戻り表示画面の基本順列(A)はSa→Sb→Sc→Sdとなり、優先順位が存在する場合の「戻り表示画面の遷移の順列」(B)はSa→Sc→Sd→Sbとなり、交差の生じる3本の実線(1)〜(3)が存在する。実線(1)は実線(2)、(3)と2回交差するので「交差する線」の数が2となり、実線(2)、(3)は、それぞれ、実線(1)と1回交差するので「交差する線」の数が共に1となり、これら「交差する線」の数(2,1,1)を数え上げることで、複雑度は4となる。
この複雑度の定義によれば、図16Aに示したように、(f)のケースが最も複雑であると計測される。これは、Saの画面を取り出した後に、優先画面領域の底にあるSdを取り出し、次に、Sbがtop側、Scが底側に格納されている状況で、Scを先に取り出す場合に該当する。これを、複雑度が次に高い(e)のケースと比較すると、(e)では、Saの画面を取り出した後に、優先画面領域の底にあるSdを取り出し、次に、Sbがtop側、Scが底側に格納されている状況で、top側にあるSbを先に取り出すので、(e)は確かに(f)に比べて複雑度は低いと判断が可能である。
図17に、実施例1における、画面退避領域に格納される画面の他の例を示す。この例では、割込みイベントの発生に伴い、図14に示す画面退避領域の状態になったと仮定する。すなわち、前画面領域261に画面が存在せず、画面退避領域262の底から順にSc、Sb、Saが格納されているとする。Sa〜Scの3つの画面には優先度が定まっている。この例では、優先順位が存在しない場合は戻り表示画面の基本順列は図18の(a)のSa→Sb→Scとなり、優先順位が存在する場合の複数の「戻り表示画面の遷移の順列」の中で最も複雑度の高い「戻り表示画面の遷移の順列」は図18の(b)のSc→Sb→Saとなる。図18の(b)では、交差の生じる3本の実線(1)〜(3)が存在する。各実線は他の実線と各々2回交差するので「交差する線」の数が各々2となり、これら「交差する線」の数(2,2,2)を数え上げることで、複雑度は6となる。
このようにして、表示画面情報付テストケース一覧37の各テストケースに対して、複雑度38の計測を行う。本説明において、画面退避領域26は長さ1の前画面領域261と、スタック構造の優先退避領域262を有する場合を例に説明したが、画面退避領域26は、戻り動作時の戻り画面に優先度が定まっていれば、その構造は任意でよい。例えば、前画面領域261が存在しなくてもよいし、優先退避領域262はキュー構造でもよい。例えばキュー構造の場合でも、複数の退避画面に戻りの優先度が存在しない場合の、戻り動作でキューから画面を取り出す順番からなる順列と、優先度が存在する場合の戻り画面の順列とを上下に並べ、同一画面に線を引いた時に交差する線の数を数え上げ、これを複雑度とすればよい。
本実施例によれば、多重の割込みイベント発生時の画面遷移ソフトウェアの個々のテストケースの複雑さを加味したテストケースの優先付けが可能となり、テスト対象のプログラムのテストケース数が増大化した場合でも、複雑度が高く不具合の起きやすいケースを見逃さずに設計時の確認と実装後の検証を実施することが可能となる。
本発明の実施例2を、図19を用いて説明する。本実施例では、実施例1の図9のテップS206の複雑度38の計測に、Spearman距離を用いる点で、実施例1と異なる。
n個の同じ要素で構成される二つの順列SとTにおいて、順列 X中での、対象iの順序をsi、順列T中での順序をtiとする。このとき、Spearman距離は次式(1)で定義される。
実施例1と同様に、図14、図15を例に考える。順列Sを、優先度を考えない場合の取り出し順の、Sa→Sb→Sc→Sdとする。次に、図15の(a)〜(f)の戻り表示画面の遷移を順列Tとして、各ケースのSpearman距離Dを計測する。
図19に計測結果を示す。例えば、(b)の場合は、画面ScとSdとで順番の逆転が発生しており、複雑度は2と計測される。Spearman距離は2つの順列の距離を計測する手法としては実施例1よりもアルゴリズムは単純であり、実施例1に比べて、少ない計算量で複雑度を算出することができ、テストケース数が多い場合でも複雑度算出に要する時間を短縮することができるという利点がある。
次に、本発明の実施例3について説明する。本実施例では、実施例1の図13の画面データ付優先度順テストケース表35の中で、状態遷移情報31の特定のマスをユーザが予め指定しておき、その個所を通ったテストケースに色を付けて表示する。ここで、ユーザが指定するマスとは、例えば、派生開発において、前機種とは仕様変更が生じている個所等である。これにより、実施例1、又は、実施例2の複雑度算出法では複雑度が同点と算出された場合でも、ユーザは仕様変更等に係るテストケースを知ることができ、そのテストケースを優先的に行うことが可能になる。
なお、次に、状態遷移情報読み込み部22に、仕様変更前と仕様変更後の2つの状態遷移情報31を入力できる構造とし、状態遷移情報読み込み部22が双方を比較して仕様変更箇所を自動で判断する構造でもよい。
次に、本発明の実施例4として、上記実施例1におけるテスト対象を、各種情報の表示用の画面を備えたカーナビゲーション車載装置を制御するプログラムとした場合について、図20A〜図21で述べる。
図20Aは本実施例の戻り優先情報の説明図である。図20Bは、自動車の走行中にカーナビゲーション車載装置に対して発生する割込みイベントと、カーナビゲーションのGUIの画面表示、及び、画面退避領域の関係を示すタイムチャートである。図20Cは、画面退避領域の説明図である。また、図21は、実施例4における、テスト対象のプログラムの複雑度の計測法の説明図である。
カーナビゲーション車載装置は、自車位置測位、経路探索等の各機能を組み合わせてGUIの画面に地図情報を提供する機能を有する。また、音声や映像等の各種コンテンツを利用するための情報端末としても使用されている。さらに、GUIの画面は、ETC(Electronic Toll Collection:電子料金収受システム)やVICS(Vehicle Information and Communication System:道路交通情報通信システム)等の自動車専用網や携帯電話等の各種通信サービスの情報表示用のディスプレイともなっている。提供を受けるサービスの種類が増えるほど、カーナビゲーションのGUIの画面遷移の変化は複雑なものとなる。
この実施例では、テスト対象のプログラムを搭載したカーナビゲーション車載装置によりナビゲーション機能を利用して運転者がGUIの画面に地図情報を表示しながら走行している状態から、ETCゲートを通過し、このゲートの通過中に、VICSの情報や電話(TEL)を受信し、ゲートを通過してさらに走行を続けるという状況を想定する。また、ETC画面が表示中の時は(表示画面である時は)、VICSとTELのイベントが発生しても、VICS画面、及び、TEL画面は表示画面にならず、退避領域に退避されるという状況を想定する。
図20Aは、戻り優先情報32の説明図である。優先度「1」はVICS、「2」はTEL、「3」は地図となっている。
図20Bにおいて、まず、カーナビゲーションの表示画面200には地図情報200−1が表示されている。割込みイベント210としてETC210−1が発生すると、地図情報画面220−1aは画面退避領域220に退避し、画面にETC関連の情報200−2が表示される。その後、割込みイベントとしてVICS210−2、TEL210−3が発生しても、画面にはETC関連の情報200−3、200−4が継続して表示される。この間、画面退避領域220には、ETCゲート通過前に表示していた地図情報画面220−2a〜220−3aと、ETCゲート通過中に発生した割込みイベントに伴うVICSの画面220−2b〜220−3b、TELの画面220−3cが退避される。図20Cは、この瞬間における画面退避領域26の状態を示し、前画面領域261と、優先退避領域262より構成される。前画面領域261に画面が存在せず、優先退避領域262には、地図、VICS、TELの3つの画面が格納されている。車がETCゲートを通過し割込みイベントが終了(戻り動作)した(ETC終了210−4)後は、優先度により、画面退避領域にあったVICSの画面200−5が表示され、地図情報画面220−4aとTELの画面220−4bは画面退避領域に残る。VICSの割込みイベントが終了(戻り動作)すると(VICS終了210−5)、画面退避領域にあったTELの画面200−6が表示され、地図情報画面220−5aは残る。TELの割込みイベントが終了(戻り動作)すると(TEL終了210−6)、画面退避領域にあった地図の画面200−7が表示される。
この例において、テスト対象のプログラムの複雑度は、例えば実施例1の方法により、画面退避領域に複数の画面が存在し、戻り動作によって再度表示される画面の順番と、複雑度が存在しない場合に戻り動作によって再度表示される画面の順番とを比較して、その差分をもとに算出する。すなわち、図21に示したように、優先順位が存在しない場合は戻り表示画面の基本順列(A)はTEL→VICS→地図となり、優先順位が存在する場合の「戻り表示画面の遷移の順列」(B)はVICS→TEL→地図となり、交差の生じる2本の実線が存在する。各実線は他の実線と1回交差するので「交差する線」の数が共に1となり、これら「交差する線」の数(1,1)を数え上げることで、複雑度は2となる。
なお、複雑度の算出に実施例2の方法を用いても良い。
なお、複雑度の算出に実施例2の方法を用いても良い。
これにより、カーナビゲーション車載装置のGUIのソフトウェア開発において、設計者は、割込みイベントが多重で発生した時の動作確認と、戻り動作の机上確認ができる。また、検証者は、実装者が作成したシステムのGUIのソフトウェアが、割込みイベントに対して、設計者の作成した状態遷移情報と戻り優先情報通りの動作を行うことの検証を行うことができる。これにより、机上確認や検証作業の不備による、GUIのソフトウェア開発の手戻り発生による出荷の遅れや、市場出荷後の不具合発生を回避することができる。
なお、本発明は、画面遷移の中でも割込みイベントによる画面遷移(割込み遷移)を主に対象とするが、必ずしも割込み遷移に限定されるものではなく、メニュー遷移に該当するイベントと、その時の遷移先画面とシステムの動作も状態遷移情報に記述すれば、メニュー遷移も取り扱い可能である。
以上、本発明の実施形態について述べたが、本発明はこれらの実施形態に限定されるものではない。
1…画面遷移ソフトウェア設計検証支援装置のハードウェア、20…画面遷移ソフトウェア設計検証支援装置のソフトウェア、21…ユーザ指定読み込み部、22…状態遷移情報読み込み部、23…戻り優先情報読み込み部、24…表示画面情報取得部、25…画面退避領域操作部、26…画面退避領域、27…複雑度算出部、28…テストケース並び替え部、29…画面データ付加部、31…状態遷移情報、32…戻り優先情報、33…ユーザ指定情報、34…画面データ、35…画面データ付優先度順テストケース表、36…テストケース一覧、37…表示画面情報付テストケース一覧、38…複雑度、39…優先度順テストケース一覧、40…画面データ指定、41…状態遷移情報指定、42…戻り優先情報指定、43…割込み表示画面情報、44…戻り表示画面情報、45…該当操作、46…面退避領域内情報、47…動作指令。
Claims (15)
- イベントが多重発生した際の情報システムのGUIに表示される画面の遷移の検証を支援する、画面遷移ソフトウェア設計検証支援装置であって、
前記イベントの発生前にテスト対象のシステムの前記GUIに表示されていた前記画面を一時的に退避して保持するための画面退避領域と、
画面遷移系列からなる個々のテストケースの複雑度を算出する複雑度算出部と、
前記複雑度順に前記テストケースの並び替えを行うテストケース並び替え部とを備え、
前記個々のテストケースを、前記複雑度をもとに優先付けして表示する
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援装置。 - 請求項1において、
前記複雑度算出部は、前記画面退避領域の情報をもとに、前記個々のテストケースの複雑度の算出を行う
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援装置。 - 請求項2において、
前記画面退避領域の情報は、前記各テストケースの前提画面、前記イベント、及び、戻り動作によって前記GUIに再度表示される前記画面の優先度を示す戻り優先情報を含む
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援装置。 - 請求項3において、
前記複雑度は、前記画面退避領域に複数の画面が存在しかつ、前記優先度が存在する場合に表示される画面の順番と、前記複雑度が存在しない場合に前記戻り動作によって再度表示される画面の順番とを比較して、その差分をもとに算出される
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援装置。 - 請求項3において、
前記画面退避領域はスタック構造の優先退避領域を有し、
前記複雑度は、前記複数の退避画面に戻りの前記優先度が存在しない場合の、戻り動作でスタックから画面を取り出す順番からなる順列と、前記優先度が存在する場合の戻り画面の順列とを上下に並べ、同一画面に線を引いた時に交差する線の数を数え上げ、これを複雑度とする
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援装置。 - 請求項3において、
前記前提画面と前記イベントの組み合わせから、前記テストケースの一覧の作成を行う
ことを特徴とする画面遷移ソフトウェア設計検証支援装置。 - 請求項1又は2において、
前記複雑度は、
前記画面退避領域の情報として、複数の画面が同画面退避領域に存在するときに、
再び前記テスト対象のシステムのGUIに表示させる動作を前記テスト対象のシステムが行った場合に、前記画面退避領域中の前記複数の画面に、前記テスト対象のシステムのGUIに表示される順番に優先度が存在する場合と、前記優先度が存在しない場合との表示の順番の差分をもとに計測する
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援装置。 - 請求項4において、
前記優先度順付のテストケース一覧の各テストケースの各画面情報に対して、ユーザの指定に基づいた画面データを付加し、画面データ付優先度順テストケースを作成する
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援装置。 - 請求項2において、
前記イベントは、割込みイベントである
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援装置。 - 請求項2において、
前記イベントは、メニュー遷移に該当するイベントである
ことを特徴とする画面遷移ソフトウェア設計検証支援装置。 - イベントが多重発生した際の情報システムのGUIに表示される画面の遷移の検証を支援する、画面遷移ソフトウェア設計検証支援プログラムであって、
コンピュータに、
個々のテストケースの複雑度を算出する複雑度算出ステップと、
割込みイベント発生時にシステムのGUIに表示されていた画面を一時的に退避する画面退避領域と、上記複雑度に基づき、前記テストケースの並び替えを行うテストケース並び替えステップと、
前記複数のテストケースを、複雑度をもとに優先付けして表示するステップとを実行させる
ことを特徴とする、表示画面の画面遷移ソフトウェア設計検証支援プログラム。 - 請求項12において、
前記複雑度算出ステップは、前記画面退避領域の情報をもとに、個々のテストケースの複雑度の算出を行う
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援プログラム。 - 請求項13において、
前記画面退避領域の情報は、前記各テストケースの前提画面、前記イベント、及び、戻り動作によって前記GUIに再度表示される前記画面の優先度を示す戻り優先情報を含み、
前記複雑度は、前記画面退避領域に複数の画面が存在しかつ、前記優先度が存在する場合に表示される画面の順番と、前記複雑度が存在しない場合に前記戻り動作によって再度表示される画面の順番とを比較して、その差分をもとに算出される
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援プログラム。 - 請求項12において、
前記複雑度は、
前記画面退避領域の情報として、複数の画面が同画面退避領域に存在するときに、再び前記テスト対象のシステムのGUIに表示させる動作を前記テスト対象のシステムが行った場合に、前記画面退避領域中の前記複数の画面に、前記テスト対象のシステムのGUIに表示される順番に優先度が存在する場合と、前記優先度が存在しない場合との表示の順番の差分をもとに計測される
ことを特徴とする表示画面の画面遷移ソフトウェア設計検証支援プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011225634A JP2013088843A (ja) | 2011-10-13 | 2011-10-13 | 情報システムの画面遷移ソフトウェア設計検証支援装置、及び、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011225634A JP2013088843A (ja) | 2011-10-13 | 2011-10-13 | 情報システムの画面遷移ソフトウェア設計検証支援装置、及び、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013088843A true JP2013088843A (ja) | 2013-05-13 |
Family
ID=48532740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011225634A Pending JP2013088843A (ja) | 2011-10-13 | 2011-10-13 | 情報システムの画面遷移ソフトウェア設計検証支援装置、及び、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013088843A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016004576A (ja) * | 2014-06-19 | 2016-01-12 | 富士通株式会社 | Guiに基づくアプリケーションのモデルを検証する方法及びコンピュータ可読記憶媒体 |
WO2022176557A1 (ja) * | 2021-02-22 | 2022-08-25 | 株式会社デンソー | コンテントの表示制御装置、表示制御方法及び表示制御プログラム |
-
2011
- 2011-10-13 JP JP2011225634A patent/JP2013088843A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016004576A (ja) * | 2014-06-19 | 2016-01-12 | 富士通株式会社 | Guiに基づくアプリケーションのモデルを検証する方法及びコンピュータ可読記憶媒体 |
WO2022176557A1 (ja) * | 2021-02-22 | 2022-08-25 | 株式会社デンソー | コンテントの表示制御装置、表示制御方法及び表示制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2138926B1 (en) | Method for determining destination of request, program, and display system using the method | |
WO2014151155A4 (en) | User interface for displaying predicted destinations | |
US8201135B2 (en) | Printed circuit board layout system and method thereof | |
CN111258483B (zh) | 图像缩放显示方法、装置、计算机设备及可读介质 | |
CN109684613B (zh) | 在线文档中的引用显示方法、装置、存储介质及电子设备 | |
US10101892B2 (en) | Method, apparatus and computer program product for providing interactive settings and dependency adjustments | |
JP2008102252A (ja) | 地図表示装置及びプログラム | |
CN100533375C (zh) | 自动布置方法和自动布置装置 | |
CN113094286B (zh) | 页面测试方法和装置、存储介质和电子设备 | |
JP2021047184A (ja) | ナビゲーションに用いられる方法、装置、デバイス、及びコンピュータが読み取り可能な記憶媒体 | |
US20240302947A1 (en) | Method, apparatus, electronic device and storage medium for displaying reminding information | |
JP2013088843A (ja) | 情報システムの画面遷移ソフトウェア設計検証支援装置、及び、プログラム | |
JP2009271326A (ja) | 位置依存情報処理装置、位置依存情報処理方法、位置依存情報表示システム、位置依存情報表示プログラム | |
WO2024148812A1 (zh) | 一种常用服务按钮展示方法及装置 | |
CN111949662A (zh) | 数据展示方法和装置、存储介质和电子设备 | |
JP2020197662A (ja) | 気象災害対応支援システム | |
CN114185463A (zh) | 表格处理方法、装置、电子设备和存储介质 | |
EP2249125B1 (en) | Map drawing device | |
CN116757728B (zh) | 一种历史航班的销售数据的处理方法及相关装置 | |
JP2011096154A (ja) | 入力支援装置、入力支援方法及び入力支援プログラム | |
JP2010157203A (ja) | 保守管理方法、プログラムおよび保守管理装置 | |
JP2017122668A (ja) | 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム | |
CN115510084A (zh) | 数据分析方法、装置、介质及电子设备 | |
CN116385091A (zh) | 一种机票变更方法、系统、电子设备及存储介质 | |
CN113467665A (zh) | 多级菜单显示方法、装置、存储介质及电子设备 |