JPWO2017168748A1 - 試験装置および試験プログラム - Google Patents
試験装置および試験プログラム Download PDFInfo
- Publication number
- JPWO2017168748A1 JPWO2017168748A1 JP2018508333A JP2018508333A JPWO2017168748A1 JP WO2017168748 A1 JPWO2017168748 A1 JP WO2017168748A1 JP 2018508333 A JP2018508333 A JP 2018508333A JP 2018508333 A JP2018508333 A JP 2018508333A JP WO2017168748 A1 JPWO2017168748 A1 JP WO2017168748A1
- Authority
- JP
- Japan
- Prior art keywords
- test
- unit
- value
- version
- response
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 363
- 230000004044 response Effects 0.000 claims abstract description 96
- 238000011156 evaluation Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims description 78
- 238000012937 correction Methods 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 56
- 230000005540 biological transmission Effects 0.000 claims description 24
- 238000010998 test method Methods 0.000 claims description 21
- 238000012854 evaluation process Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 48
- 230000006870 function Effects 0.000 description 48
- 238000010586 diagram Methods 0.000 description 36
- 238000012545 processing Methods 0.000 description 24
- 238000006243 chemical reaction Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 11
- 230000007547 defect Effects 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
そして、試験仕様書の更新が多数の試験シナリオおよび他の機種に対して行われる場合、試験工数が大きくなってしまい、試験漏れが生じる可能性が生じる。
また、通信試験は、試験仕様書が修正されて、試験シナリオの実行に必要な入力値および期待値が抽出された後に実行されるため、不具合の検出には膨大な時間がかかる。
また、試験シナリオの修正は、同一機種の他シナリオまたは別機種の類似機能の試験シナリオに影響する場合が多い。そのため、試験シナリオの修正に要する時間が長くなる。また、試験者が試験シナリオの修正に伴うバグを作ってしまう可能性が高い。
試験仕様書が変更されて、試験シナリオが変更された後に、新バージョンの装置に対して試験が実施されるため、試験結果が出力されるまでに要する時間が長い。
この方法は、不具合の早期発見および早期解決に役立つ。特に、プログラムのバージョンアップの際、通常の機能テストでは発見しづらい不具合の発見に役立つ。つまり、思わぬ箇所の思わぬ不具合の発見に役立つ。
しかし、試験者が、試験仕様書と新バージョンの入出力テーブルと新機能比較マスタデータベースとを更新する必要がある。そのため、試験者が試験仕様書の内容を事前に把握していなければならず、属人性が高い。そして、他シナリオと、他機種の入出力テーブルと、新機能比較マスタデータベースとの間で、更新漏れによる不整合が発生しやすい。
試験対象に対する試験で前記試験対象に送信される要求値と、前記試験対象に対する試験で前記試験対象から送信されるべき期待値と、が定義された試験管理ファイルを記憶する記憶部と、
前記試験対象に対する試験の手順と前記試験管理ファイルに定義される要求値に対応付けられる情報とが記述された試験シナリオに従って、前記試験対象に対する試験を実行する試験実行部と、
前記試験対象に対する試験で、前記試験シナリオに記述された情報に対応付けられた要求値を含んだ要求パケットを前記試験対象に送信する送信部と、
前記試験対象に対する試験で、前記試験対象から送信される応答パケットを受信する受信部と、
受信された応答パケットに含まれる応答値をログファイルに記録するログ記録部と、
前記ログファイルに記録された応答値を、前記試験管理ファイルに定義された期待値と比較する評価部と、
前記応答値と前記期待値との比較結果に基づいて試験結果を生成する試験結果生成部とを備える。
試験装置100について、図1から図18に基づいて説明する。
図1に基づいて、試験装置100の構成について説明する。
試験装置100は、プロセッサ901とメモリ902と補助記憶装置903と通信装置904と入力装置907とディスプレイ908いったハードウェアを備えるコンピュータである。プロセッサ901は、信号線を介して他のハードウェアと接続されている。
メモリ902は揮発性の記憶装置である。メモリ902は、主記憶装置またはメインメモリとも呼ばれる。具体的には、メモリ902はRAM(Random Access Memory)である。
補助記憶装置903は不揮発性の記憶装置である。具体的には、補助記憶装置903は、ROM、HDDまたはフラッシュメモリである。ROMはRead Only Memoryの略称であり、HDDはHard Disk Driveの略称である。
通信装置904は、通信を行う装置であり、レシーバ905とトランスミッタ906とを備える。具体的には、通信装置904は通信チップまたはNIC(Network Interface Card)である。
入力装置907は、入力を受け付ける装置である。具体的には、入力装置907は、キーボード、マウス、テンキーまたはタッチパネルである。
ディスプレイ908は、データを表示する表示装置である。具体的には、ディスプレイ908は液晶ディスプレイである。
さらに、補助記憶装置903にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ902にロードされて、プロセッサ901によって実行される。
つまり、プロセッサ901は、OSを実行しながら、「部」の機能を実現するプログラムを実行する。
「部」の機能を実現するプログラムを実行して得られるデータは、メモリ902、補助記憶装置903、プロセッサ901内のレジスタまたはプロセッサ901内のキャッシュメモリといった記憶装置に記憶される。これらの記憶装置は、データを記憶する記憶部191として機能する。
なお、試験装置100が複数のプロセッサ901を備えて、複数のプロセッサ901が「部」の機能を実現するプログラムを連携して実行してもよい。
具体的には、メモリ902には、試験管理ファイル180、試験書171、試験シナリオ172、ログファイル173、試験結果174およびシーケンス図175等が記憶される。メモリ902に記憶されるデータの内容については後述する。
入力装置907は入力を受け付ける受付部194として機能する。
ディスプレイ908はデータを表示する表示部195として機能する。
「部」は「処理」または「工程」に読み替えてもよい。「部」の機能はファームウェアで実現してもよい。
「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体に記憶することができる。
試験装置100の動作は試験方法に相当する。また、試験方法の手順は試験プログラムの手順に相当する。
試験方法(試験)は、対象装置および対象ソフトウェアを試験するための方法である。対象装置および対象ソフトウェアは試験する対象となる装置およびソフトウェアである。
ステップS100は修正処理である。
ステップS100において、修正部110は、試験者の指示に従って試験管理ファイル180を修正する。
具体的には、修正部110は、データベース管理システムまたは表計算ソフトウェアなどのソフトウェアを実行することによって、試験管理ファイル180を修正する。
試験管理ファイル180は、試験シナリオ172を管理するためのデータである。
試験管理ファイル180は、バージョンテーブル181と、トレーサビリティテーブル182と、シーケンステーブル183と、機種テーブル184と、オペランドテーブル185と、条件テーブル186と、コマンドテーブル187とを含む。
バージョンテーブル181は、試験する対象となるソフトウェアのバージョンを管理するためのテーブルである。試験する対象となるソフトウェアを対象ソフトウェアという。ソフトウェアはプログラムを意味する。
バージョンテーブル181は、バージョン、機能名、コマンド名、区分および説明の欄を備える。これらの欄は互いに対応付けられている。
バージョンの欄は、バージョンを識別する識別子を示す。
機能名の欄は、機能を識別する識別子を示す。
コマンド名の欄は、コマンドを識別する識別子を示す。
区分の欄は、編集の種類を示す。具体的な区分は変更、追加または削除である。
説明の欄は、機能およびコマンドの説明を示す。
トレーサビリティテーブル182は、機能名、バージョン、ソースコード、試験シートおよびコマンドIDの欄を備える。これらの欄は互いに対応付けられている。
機能名の欄は、機能を識別する識別子を示す。
バージョンの欄は、バージョンを識別する識別子を示す。
ソースコードの欄は、ソースコードが記載されたモジュールを識別する名称を示す。
試験シートの欄は、試験シートを識別する識別子を示す。
コマンドIDの欄は、コマンドを識別する識別子を示す。
シーケンステーブル183は、試験シナリオ172で指定される手順を管理するためのテーブルである。試験シナリオ172については後述する。
シーケンステーブル183は、レコードID、シナリオ番号、シーケンス番号、コマンドID、区分およびオペランドの欄を備える。これらの欄は互いに対応付けられている。
レコードIDの欄は、シーケンステーブル183のレコードを識別する識別子を示す。レコードはテーブルの1行に相当するデータである。
シナリオ番号の欄は、試験シナリオ172を識別する識別子を示す。
シーケンス番号の欄は、試験シナリオ172で指定される手順に含まれる処理を識別する識別子を示す。
コマンドIDの欄は、コマンドを識別する識別子を示す。
区分の欄は、動作の種類を示す。具体的な区分は送信または受信である。
オペランドの欄は、オペランド値を示す。オペランド値は、オペランドの値である。オペランドの欄は複数存在する。
機種テーブル184は、対象ソフトウェアが実装される装置が満たすべき条件を管理するためのテーブルである。対象ソフトウェアが実装される装置が対象装置である。
機種テーブル184は、コマンドIDおよび機種の欄を備える。これらの欄は互いに対応付けられている。
コマンドIDの欄は、コマンドを識別する識別子を示す。
機種の欄は、装置の種類毎に、オペランドの条件または他の条件を識別する識別子を示す。
オペランドテーブル185は、オペランドの条件を管理するためのテーブルである。
オペランドテーブル185は、条件IDおよびオペランドの欄を備える。これらの欄は互いに対応付けられている。
条件IDの欄は、オペランド値の条件を識別する識別子を示す。
オペランドの欄は、条件を満たすオペランド値の範囲を示す。オペランドの欄は複数存在する。オペランド値の範囲は、コマンドが同じであっても機種が異なれば異なる。
条件テーブル186は、オペランド以外の判定要素の条件を管理するためのテーブルである。判定要素は、試験の結果を判定する際に考慮される要素である。
条件テーブル186は、条件IDおよび判定要素の欄を備える。これらの欄は互いに対応付けられている。
条件IDの欄は、オペランド以外の判定要素の条件を識別する識別子を示す。
判定要素の欄は、判定要素の条件を満たす値を示す。具体的な判定要素は、タイムアウト、バックトラックおよびリトライである。
タイムアウトの値は、最大の待ち時間を示す。待ち時間の単位は秒である。タイムアウトの値が「60」である場合、60秒が経過するとタイムアウトになる。
バックトラックの値は、遡る時間を示す。遡る時間の単位は秒である。バックトラックの値が「60」である場合、60秒前に遡って通信パケット101の確認が行われる。
リトライの値は、最大の再送回数を示す。再送回数は、通信パケット101の送信が失敗した場合に通信パケット101が再送される回数である。
コマンドテーブル187は、コマンドを管理するためのテーブルである。
コマンドテーブル187は、コマンドID、コマンド名、ヘッダ、送信コマンド、受信コマンド、送信オペランド数、受信オペランド数、解釈不能および実行不可の欄を備える。これらの欄は互いに対応付けられている。
コマンドIDおよびコマンド名の欄は、コマンドを識別する識別子を示す。
ヘッダの欄は、ヘッダに相当する値を示す。
送信コマンドの欄は、送信コマンドに相当する値を示す。送信コマンドは、試験装置100から対象装置に送信されるコマンドである。
受信コマンドの欄は、受信コマンドに相当する値を示す。受信コマンドは、対象装置から試験装置100に送信されるコマンドである。
送信オペランド数の欄は、送信オペランドの個数を示す。送信オペランドは、試験装置100から対象装置に送信されるオペランドである。
受信オペランド数の欄は、受信オペランドの個数を示す。受信オペランドは、対象装置から試験装置100に送信されるオペランドである。
解釈不能の欄は、解釈不能を意味する値を示す。
実行不可の欄は、実行不可を意味する値を示す。
ステップS101において、表示部195は、試験書171を表示する。試験書171は、試験の仕様が記載された文書のデータである。
そして、試験者は、表示された試験書171を参照し、試験書171を修正する必要があるか判断する。
試験者が試験書171を修正する必要があると判断した場合、処理はステップS102に進む。
試験者が試験書171を修正する必要がないと判断した場合、処理はステップS103に進む。
受付部194は、入力された修正内容を受け付ける。
そして、修正部110は、受け付けられた修正内容に従って、試験書171を修正する。
そして、試験者は、表示された機種テーブル184を参照し、機種テーブル184を修正する必要があるか判断する。
試験者が機種テーブル184を修正する必要があると判断した場合、処理はステップS104に進む。
試験者が機種テーブル184を修正する必要がないと判断した場合、処理はステップS105に進む。
受付部194は、入力された修正内容を受け付ける。
そして、修正部110は、受け付けられた修正内容に従って、機種テーブル184を修正する。
そして、試験者は、表示されたシーケンステーブル183およびコマンドテーブル187を参照し、期待値を修正する必要があるか判断する。期待値は、試験の結果として得られるべき値である。具体的には、期待値は、シーケンステーブル183内のオペランドの値と、コマンドテーブル187内のヘッダの値と、コマンドテーブル187内の受信コマンドの値である。
試験者が期待値を修正する必要があると判断した場合、処理はステップS106に進む。
試験者が期待値を修正する必要がないと判断した場合、処理はステップS107に進む。
受付部194は、入力された修正内容を受け付ける。
そして、修正部110は、受け付けられた修正内容に従って、期待値を修正する。
そして、試験者は、表示されたコマンドテーブル187を参照し、要求データを修正する必要があるか判断する。
要求データは、試験装置100から対象装置に送信されるデータである。要求データに対して応答するデータを応答データという。応答データは、対象装置から試験装置100に送信されるデータである。具体的には、要求データおよび応答データは、コマンドテーブル187内のヘッダの値および送信コマンドの値である。
試験者が要求データを修正する必要があると判断した場合、処理はステップS108に進む。
試験者が要求データを修正する必要がないと判断した場合、処理はステップS109に進む。
受付部194は、入力された修正内容を受け付ける。
そして、修正部110は、受け付けられた修正内容に従って、要求データを修正する。
受付部194は、入力された修正内容を受け付ける。
そして、修正部110は、受け付けられた修正内容に従って、期待値を修正する。
そして、試験者は、表示されたシーケンステーブル183を参照し、シーケンステーブル183を修正する必要があるか判断する。
試験者がシーケンステーブル183を修正する必要があると判断した場合、処理はステップS109に進む。
試験者がシーケンステーブル183を修正する必要がないと判断した場合、修正処理(S100)は終了する。
受付部194は、入力された修正内容を受け付ける。
そして、修正部110は、受け付けられた修正内容に従って、シーケンステーブル183を修正する。
ステップS111において、通信部は、対象装置と通信を接続する。
具体的には、試験実行部120は、試験シナリオ172と試験管理ファイル180とを入力として、試験ツールの実行を開始する。試験ツールが実行される際、対象装置のアドレスはconfigと呼ばれる設定ファイルから取得される。設定ファイルは記憶部191に予め記憶される。
図12および図13は、第1の試験シナリオ172の例を示している。
図14および図15は、第2の試験シナリオ172の例を示している。
試験シナリオ172は、シナリオ(senario)を示す。シナリオは、処理の流れを表す要素である。
シナリオは、1つ以上のシナリオブロック(senarioblock)を含む。シナリオブロックは、1つ以上の処理の集まりを表す要素である。
第1の試験シナリオ172に示されるシナリオと第2の試験シナリオ172に示されるシナリオとは、独立して並列に実行される。
8行目のpacket要素に従って、試験実行部120は以下のように動作する。
まず、試験実行部120は、シナリオ番号「1」とシーケンス番号「1」とを含んだレコードを図6のシーケンステーブル183から選択し、選択したレコードからコマンドID「10」を取得する。
次に、試験実行部120は、コマンドID「10」を含んだレコードを図10のコマンドテーブル187から選択し、選択したレコードからヘッダ「51」と送信コマンド「55」とを取得する。
そして、試験実行部120は、ヘッダ「51」と送信コマンド「55」とを含んだ通信パケット101を生成する。通信部は、通信パケット101を対象装置に送信する。
10行目のwaitrecv要素と11行目のfilter要素とに従って、試験実行部120は以下のように動作する。
まず、試験実行部120は、シナリオ番号「1」とシーケンス番号「2」とを含んだレコードを図6のシーケンステーブル183から選択し、選択したレコードからコマンドID「10」を取得する。
次に、試験実行部120は、コマンドID「10」を含んだレコードを図10のコマンドテーブル187から選択し、選択したレコードからヘッダ「51」と受信コマンド「89」とを取得する。
そして、試験実行部120は、ヘッダ「51」と受信コマンド「89」とを含んだ通信パケット101の受信待ちを行う。
通信パケット101は、試験シナリオ172が実行されると、試験装置100と対象装置との間で通信されるパケットである。
通信パケット101は、送信元アドレス、宛先アドレス、データ長、ヘッダ、コマンドおよびオペランドを含む。
ヘッダおよびコマンドは、図11のステップS107で説明した要求データまたは応答データに相当する。
ステップS113は、試験実行部120によって試験対象に対する試験が実行されている間に実行される。
そして、ログ記録部121は、送信された要求パケットに対応するログデータを生成し、生成したログデータをログファイル173に記録する。
そして、ログ記録部121は、受信された応答パケットに対応するログデータを生成し、生成したログデータをログファイル173に記録する。
ログファイル173には、ログデータが記録される。
ログデータは、送信元アドレス、宛先アドレス、時刻、通信フレームおよびコマンド名を含む。
通信フレームは、パケットデータである。パケットデータは、通信パケット101に含まれるデータである。通信パケット101には、ヘッダ、コマンドおよびその他のデータが含まれる。要求パケットに含まれる要求データと、応答パケットに含まれる応答データとは、パケットデータの一部である。要求データは要求値を示し、応答データは応答値を示す。
また、ログ記録部121は、通信パケット101が送信または受信された時刻を取得し、取得した時刻をログファイル173に記録する。
さらに、ログ記録部121は、試験シナリオ172に含まれる処理のうちの実行された処理に対応するコマンドIDをシーケンステーブル183から取得し、取得したコマンドIDに対応するコマンド名をコマンドテーブル187から取得する。そして、ログ記録部121は、取得したコマンド名をログファイル173に記録する。
ステップS114以降の処理は、試験シナリオ172の実行が終了した後に実行される。
評価部130は、取得したコマンドIDに対応するヘッダの値および受信コマンドの値をコマンドテーブル187から取得する。
シーケンステーブル183から取得されたオペランドの値と、コマンドテーブル187から取得したヘッダの値と、コマンドテーブル187から取得した受信コマンドの値とを、期待値という。
例えば、評価部130は、ログファイル173に含まれるヘッダの値を、コマンドテーブル187から取得したヘッダの値と比較する。さらに、評価部130は、ログファイル173に含まれるコマンドの値を、コマンドテーブル187から取得した受信コマンドの値と比較する。
図13において、1行目のwaitrecv要素は、3行目のfilter要素が示す処理の実行待ちを示す。
3行目のfilter要素は、「pattern=cmd_seq_table(sen(1),seq(4))」に対応するデータを含んだパケットの受信を示す。図6のシーケンステーブル183において、シナリオ番号「1」とシーケンス番号「4」とに対応するコマンドIDは「3」である。また、オペランドは「74」である。図10のコマンドテーブル187において、コマンドID「3」に対応するヘッダおよび受信コマンドは「35」および「82」である。
したがって、1行目のwaitrecv要素は、ヘッダ「35」と受信コマンド「82」とオペランド「74」とを含んだ通信パケット101の受信待ちを示す。
2行目のontimeout要素はタイムアウトになった場合の処理を示す。また、5行目のonrecv要素はタイムアウトにならなかった場合の処理を示す。これらの要素において、「register=“X” value=“Y”」は、レジスタ変数「X」への値「Y」の格納を示す。つまり、2行目のontimeout要素は、レジスタ変数「Result1_2」への値「NG」の格納を示す。また、5行目のonrecv要素は、レジスタ変数「Result1_2」への値「OK」の格納を示す。
ステップS115において、評価部130は、ログファイル173に基づいてタイムアウトの有無を判定し、レジスタ変数「Result1_2」の値をログファイル173から取得する。タイムアウトにならなかった場合、評価部130は、レジスタ変数「Result1_2」の値を期待値「OK」と比較する。タイムアウトになった場合、評価部130は、レジスタ変数「Result1_2」の値を期待値「NG」と比較する。
レジスタ変数の値は、試験ツールによってレジスタ変数から取得されて、ログファイル173に登録される。
試験結果174は、試験番号と機能名と個別結果と判定条件と判定結果と判定元データといった情報を含む。具体的には、試験結果174は、これらの情報が表形式で互いに対応付けられた帳票である。
判定条件は、判定の対象となる個別条件である。
判定結果は、全ての判定条件を満たすか否かを示す結果である。
(1)要求コマンドを解釈することができない、という応答を受けていないか。
図13の3行目のfilter要素に基づいて、個別条件(1)の判定方法を説明する。
まず、評価部130は、シナリオ番号「1」とシーケンス番号「4」とを含んだレコードを図6のシーケンステーブル183から選択し、選択したレコードからコマンドID「3」が取得される。
次に、評価部130は、コマンドID「3」を含んだレコードを図10のコマンドテーブル187から選択し、選択したレコードから解釈不能を意味する値「DD」を取得する。
そして、応答コマンドのオペランド値が「DD」である場合、評価部130は、個別条件(1)に該当する応答を受けたと判定する。
図13の3行目のfilter要素に基づいて、個別条件(1)の判定方法を説明する。
まず、評価部130は、シナリオ番号「1」とシーケンス番号「4」とを含んだレコードを図6のシーケンステーブル183から選択し、選択したレコードからコマンドID「3」が取得される。
次に、評価部130は、コマンドID「3」を含んだレコードを図10のコマンドテーブル187から選択し、選択したレコードから実行不可を意味する値「EE」を取得する。
そして、応答コマンドのオペランド値が「EE」である場合、評価部130は、個別条件(2)に該当する応答を受けたと判定する。
図13の3行目のfilter要素に基づいて、個別条件(1)の判定方法を説明する。
まず、評価部130は、シナリオ番号「1」とシーケンス番号「4」とを含んだレコードを図6のシーケンステーブル183から選択し、選択したレコードからコマンドID「3」が取得される。
次に、評価部130は、コマンドID「3」を含んだレコードが図10のコマンドテーブル187から選択し、選択したレコードから受信オペランド数「1」を取得する。
そして、応答コマンドのオペランドの数が「1」未満である場合、応答コマンドのオペランドの数が足りていない。つまり、評価部130は、個別条件(3)を満たさないと判定する。
図13の3行目のfilter要素に基づいて、個別条件(1)の判定方法を説明する。
まず、評価部130は、シナリオ番号「1」とシーケンス番号「4」とを含んだレコードを図6のシーケンステーブル183から選択し、選択したレコードからコマンドID「3」が取得される。
次に、評価部130は、コマンドID「3」を含んだレコードを図7の機種テーブル184から選択し、選択したレコードから試験対象の機種の条件ID「Sx」を取得する。
次に、評価部130は、条件ID「Sx」を含んだレコードを図8のオペランドテーブル185から選択し、選択したレコードからオペランド値の範囲を取得する。
そして、評価部130は、取得したオペランド値の範囲に基づいて、応答コマンドのオペランド値が範囲内の値であるか判定する。
シーケンス図生成部132は、ログファイル173を用いて、シーケンス図175を生成する。生成方法は、一般的なシーケンス図を生成するための従来の方法と同じである。具体的には、シーケンス図生成部132は、ログファイル173を入力としてシーケンス生成ツールを実行することによって、シーケンス図175を生成する。シーケンス生成ツールは、シーケンス図を生成するための一般的なツールである。
シーケンス図175は、試験装置100と対象装置との間で行われた通信の流れを時間軸に沿って表した図である。
試験者が対象装置の動作に不具合があると判断した場合、処理はステップS118に進む。
試験者が対象装置の動作に不具合がないと判断した場合、試験方法(試験)の処理は終了する。
ステップS118の後、処理はステップS100に戻る。
記憶部191は、試験管理ファイル180を記憶する。試験管理ファイル180は、試験対象に対する試験で試験対象に送信される要求値と、試験対象に対する試験で試験対象から送信されるべき期待値と、が定義されたファイルである。
試験実行部120は、試験シナリオ172に従って、試験対象に対する試験を実行する。試験シナリオ172は、試験対象に対する試験の手順と試験管理ファイル180に定義される要求値に対応付けられる情報とが記述されるファイルである。
送信部193は、試験対象に対する試験で、要求パケットを試験対象に送信する。要求パケットは、試験シナリオ172に記述された情報に対応付けられた要求値を含む。
受信部192は、試験対象に対する試験で、試験対象から送信される応答パケットを受信する。
ログ記録部121は、受信された応答パケットに含まれる応答値をログファイル173に記録する。
評価部130は、ログファイル173に記録された応答値を、試験管理ファイル180に定義された期待値と比較する。
試験結果生成部131は、応答値と期待値との比較結果に基づいて試験結果174を生成する。
受付部194は、試験結果が生成された後に試験管理ファイル180に対する修正指示を受け付ける。
修正部110は、受け付けられた修正指示に従って試験管理ファイル180を修正する。
従来、試験シナリオ172にコマンドが直接記載されて、試験が実施されていた。しかし、実施の形態1では、試験管理ファイル180にコマンドの情報、期待値およびシーケンスが記載されるため、試験シナリオ172を編集することなく、試験を実施することができる。これにより、試験シナリオ172のメンテナンス性が向上する。具体的には、あるコマンドの仕様が変更になった場合であっても、全ての試験シナリオ172を修正する必要はなく、試験シナリオ172の1箇所の値を修正すればよい。
(1)要求コマンドを解釈することができない、という応答を受けていないか。
(2)要求コマンドを実行することができない、という応答を受けていないか。
(3)応答コマンドのオペランドの数が足りているか。
(4)応答コマンドのオペランドの値が許容範囲内の値であるか。
試験装置100について、図19から図22に基づいて説明する。但し、実施の形態1と重複する説明は省略または簡略する。
図19に基づいて、試験装置100の構成について説明する。
試験装置100は、ダイアログ生成部140を機能構成の要素として備える。
ダイアログ生成部140の機能については後述する。
図20に基づいて、試験方法(編集)の手順について説明する。
試験方法(編集)は、試験管理ファイル180および試験書171を編集するための方法である。
試験方法(編集)は、実施の形態1で説明した試験方法(試験)が実施されて対象装置の不具合がなくなった後に実施される。具体的には、図18に基づいて説明した試験結果174において判定結果が判定条件を満たすことを示した後に、試験方法(編集)が実施される。
但し、ステップS203の前処理として、変換処理(S230)が実行される。変換処理(S230)については後述する。
具体的には、評価部130は、期待値と異なる応答データに対応するコマンド名をログファイル173から取得する。取得されたコマンド名で識別されるコマンドが差分コマンドである。
ステップS208において、ダイアログ生成部140は、差分コマンドに対応するシナリオ番号およびシーケンス番号をシーケンステーブル183から取得する。
そして、ダイアログ生成部140は、取得したシナリオ番号と、取得したシーケンス番号と、差分コマンドを識別するコマンド名とを含んだ情報を示すダイアログ176を生成する。
そして、表示部195は、ダイアログ176およびシーケンス図175を表示する。
ダイアログ生成条件を満たすと判定した場合、ダイアログ生成部140は、満たした条件に対応するメッセージを示すダイアログ176を生成する。
そして、表示部195は、生成されたダイアログ176を表示する。
具体的なメッセージは、「新機能で通信コマンドが変更/追加されました。新バージョンで試験管理ファイル180の入出力テーブルを更新してください。」、「デグレードが発生している可能性があります。」、「新機能の実装不具合が発生している可能性があります。」などである。 ダイアログ活用処理(S208)の詳細については後述する。
ステップS210の後、処理はステップS202に戻る。
ステップS220において、修正部110は、試験者の指示に従って試験管理ファイル180を修正する。
ステップS221からステップS228までの処理は、図11の修正処理(S100)におけるステップS103からステップS110までの処理と同じである。
ステップS222、ステップS224、ステップS226またはステップS228の後、処理はステップS229に進む。
ステップS229の後、処理は図20のステップS202に戻る。
(A)はバージョンアップ後のログファイル173を示している。
(B)はバージョンアップ前のログファイル173を示している。
(C)は試験管理ファイル180のシーケンステーブル183を示している。
(D)はパーサーによる試験シナリオ172の解析を示している。
試験シナリオ172に記載された通信の内容はパーサーによって解析される。パーサーは構文解析を行うツールである。
(E)は試験シナリオ172を示している。
(E)では、シナリオがどのように実行されているかを表している。
シナリオは、xmlファイルで記載されている。シナリオが実行されると、パケットが送信され、応答結果が受信される。応答結果の正否は、テーブルを参照して確認される。
senario要素は、一つ以上のsenarioblock要素を含み、シナリオ内の処理の流れを表す。
senarioblock要素は、シナリオ内の処理の集まりを表す。
このsenarioblock要素は、高々ひとつのconditions要素群の要素を持つ。conditions要素群の要素が示す条件を満たす場合のみ、senarioblock要素内の処理が実行される。
また、senarioblock要素は、一つ以上のblock−elements要素群の要素を持つ。block−elements要素群の各要素は、出現順に、senarioblock要素の処理内容を表す。
バージョンアップ前のログファイル173の応答ログデータは、シーケンステーブル183に登録されているヘッダ(HD)、コマンド(CMD)およびオペランド(OP)と等価な状態になっている。
同じ試験シナリオ172に従ってバージョンアップ後の試験対象に対して試験が実行されると、バージョンアップ後のログファイル173がされる。
そして、バージョンアップ後のログファイル173の応答データは、シーケンステーブル183に登録されているヘッダ、コマンドおよびオペランドと比較される。
この比較によって得られる差分は、バージョンアップ前のログファイル173の応答データとバージョンアップ後のログファイル173の応答ログデータとの差分に相当する。
ステップS2081において、評価部130は、ステップS207で期待値と異なる応答値があったか判定する。
期待値と異なる応答値がなかった場合、処理はステップS2082に進む。
期待値と異なる応答値があった場合、処理はステップS2083に進む。
また、評価部130は、トレーサビリティマトリックスを用いて、追加/変更機能の影響を受けた機能のコマンドがあるか判定する。
追加/変更機能は、追加された機能および変更された機能である。
当該通信パケットまたは当該コマンドがある場合、処理はステップS2083に進む。
当該通信パケットまたは当該コマンドがない場合、処理はステップS2084に進む。
デグレードダイアログは、デグレードが発生している可能性があることを示すダイアログである。
期待値が正しく更新されている場合、処理はステップS2086に進む。
期待値が正しく更新されていない場合、処理はステップS2085に進む。
不具合ダイアログは、追加/変更機能の実装の不具合が発生している可能性があることを示すダイアログである。
修正ダイアログは、期待値の修正を問い合わせるダイアログである。
その後、ダイアログ生成部140は、変更/追加ダイアログを生成する。表示部195は、変更/追加ダイアログを表示する。変更/追加ダイアログは、追加/変更機能で通信コマンドが変更/追加されたことを示すダイアログであり、確認ボタンを含む。
変更/追加ダイアログが表示された場合、試験者は、入力装置を操作して、変更/追加ダイアログの確認ボタンを押す。確認ボタンが押された場合、ダイアログ生成部140は、再実施ダイアログを生成する。表示部195は、再実施ダイアログを表示する。再実施ダイアログは、試験の再実施を促すダイアログである。
その後、処理は図20のステップS203に戻り、試験が再実施される。
変換処理(S230)は変換部によって実行される。変換部は、試験装置100の機能構成の要素である。
ステップS232において、変換部は、参照シートから応答情報を取得する。参照シートは、応答情報を含んだデータである。具体的な参照シートは、表計算ソフトウェアにおけるシートである。応答情報は、機種毎の試験書に記載されているコマンドの応答に関する情報である。具体的な応答情報は、応答待機条件および応答オペランド値である。
ステップS233において、変換部は、応答情報のフォーマットを、試験管理ファイル180のテーブルに対応するフォーマットに変換する。具体的なテーブルは、条件テーブル186およびオペランドテーブル185である。
ステップS234において、変換部は、応答情報を試験管理ファイル180のテーブルにインポートする。具体的なテーブルは、条件テーブル186およびオペランドテーブル185である。
ステップS235において、変換部は、試験管理ファイル180のテーブル同士をマッピングする。具体的には、変換部は、条件テーブル186とオペランドテーブル185とを機種テーブル184にマッピングする。
試験実行部120は、試験シナリオ172に従って、第1バージョンの試験対象に対する試験を実行する。
受信部192は、第1バージョンの試験対象に対する試験で、第1バージョンの試験対象から送信される第1バージョンの応答パケットを受信する。
ログ記録部121は、第1バージョンの応答パケットに含まれる第1バージョンの応答値を第1のログファイル173に記録する。
評価部130は、第1のログファイル173に記録された第1バージョンの応答値を、試験管理ファイル180に定義された期待値と比較する。
試験結果生成部131は、第1バージョンの応答値と期待値との比較結果に基づいて第1バージョンの試験結果174を生成する。
受付部194は、第1バージョンの試験結果が生成された後に修正指示を受け付ける。
修正部110は、修正指示に従って、試験管理ファイル180に定義された期待値を修正する。
試験実行部120は、試験管理ファイル180が修正された後に、試験シナリオ172に従って、第2バージョンの試験対象に対する試験を実行する。
受信部192は、第2バージョンの試験対象に対する試験で、第2バージョンの試験対象から送信される第2バージョンの応答パケットを受信する。
ログ記録部121は、第2バージョンの応答パケットに含まれる第2バージョンの応答値を第2のログファイル173に記録する。
評価部130は、第2のログファイル173に記録された第2バージョンの応答値を、試験管理ファイル180に定義された修正後の期待値と比較する。
ダイアログ生成部140は、応答値と期待値との比較結果に応じた内容を示すダイアログを生成する。
表示部195は、生成されたダイアログを表示する。
旧バージョンに不具合がないという試験結果が得られた試験管理ファイル180を用いて新バージョンに対する試験を実施して試験結果を試験者に提示することにより、試験管理ファイル180を新バージョン用に修正することを試験者に促すことができる。
実施の形態において、試験装置100の機能はハードウェアで実現してもよい。
図25に、試験装置100の機能がハードウェアで実現される場合の構成を示す。
試験装置100は処理回路990を備える。処理回路990はプロセッシングサーキットリともいう。
処理回路990は、実施の形態で説明した「部」の機能を実現する専用の電子回路である。この「部」には記憶部191も含まれる。
具体的には、処理回路990は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、ASIC、FPGAまたはこれらの組み合わせである。GAはGate Arrayの略称であり、ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
なお、試験装置100が複数の処理回路990を備えて、複数の処理回路990が「部」の機能を連携して実現してもよい。
Claims (4)
- 試験対象に対する試験で前記試験対象に送信される要求値と、前記試験対象に対する試験で前記試験対象から送信されるべき期待値と、が定義された試験管理ファイルを記憶する記憶部と、
前記試験対象に対する試験の手順と前記試験管理ファイルに定義される要求値に対応付けられる情報とが記述された試験シナリオに従って、前記試験対象に対する試験を実行する試験実行部と、
前記試験対象に対する試験で、前記試験シナリオに記述された情報に対応付けられた要求値を含んだ要求パケットを前記試験対象に送信する送信部と、
前記試験対象に対する試験で、前記試験対象から送信される応答パケットを受信する受信部と、
受信された応答パケットに含まれる応答値をログファイルに記録するログ記録部と、
前記ログファイルに記録された応答値を、前記試験管理ファイルに定義された期待値と比較する評価部と、
前記応答値と前記期待値との比較結果に基づいて試験結果を生成する試験結果生成部とを備える試験装置。 - 前記試験結果が生成された後に前記試験管理ファイルに対する修正指示を受け付ける受付部と、
受け付けられた修正指示に従って前記試験管理ファイルを修正する修正部と
を備える請求項1に記載の試験装置。 - 前記試験実行部は、前記試験シナリオに従って、第1バージョンの試験対象に対する試験を実行し、
前記受信部は、前記第1バージョンの試験対象に対する試験で、前記第1バージョンの試験対象から送信される第1バージョンの応答パケットを受信し、
前記ログ記録部は、前記第1バージョンの応答パケットに含まれる第1バージョンの応答値を第1のログファイルに記録し、
前記評価部は、前記第1のログファイルに記録された第1バージョンの応答値を、前記試験管理ファイルに定義された期待値と比較し、
前記試験結果生成部は、前記第1バージョンの応答値と前記期待値との比較結果に基づいて第1バージョンの試験結果を生成し、
前記受付部は、前記第1バージョンの試験結果が生成された後に前記修正指示を受け付け、
前記修正部は、前記修正指示に従って、前記試験管理ファイルに定義された期待値を修正し、
前記試験実行部は、前記試験管理ファイルが修正された後に、前記試験シナリオに従って、第2バージョンの試験対象に対する試験を実行し、
前記受信部は、前記第2バージョンの試験対象に対する試験で、前記第2バージョンの試験対象から送信される第2バージョンの応答パケットを受信し、
前記ログ記録部は、前記第2バージョンの応答パケットに含まれる第2バージョンの応答値を第2のログファイルに記録し、
前記評価部は、前記第2のログファイルに記録された第2バージョンの応答値を、前記試験管理ファイルに定義された修正後の期待値と比較し、
前記試験装置は、
前記比較結果に応じた内容を示すダイアログを生成するダイアログ生成部と、
生成されたダイアログを表示する表示部と
を備える請求項2に記載の試験装置。 - 試験管理ファイルを用いる試験プログラムであって、
前記試験管理ファイルは、試験対象に対する試験で前記試験対象に送信される要求値と、前記試験対象に対する試験で前記試験対象から送信されるべき期待値と、が定義されたファイルであり、
前記試験プログラムは、
前記試験対象に対する試験の手順と前記試験管理ファイルに定義される要求値に対応付けられる情報とが記述された試験シナリオに従って、前記試験対象に対する試験を実行する試験実行処理と、
前記試験対象に対する試験で、前記試験シナリオに記述された情報に対応付けられた要求値を含んだ要求パケットを前記試験対象に送信する送信処理と、
前記試験対象に対する試験で、前記試験対象から送信される応答パケットを受信する受信処理と、
受信された応答パケットに含まれる応答値をログファイルに記録するログ記録処理と、
前記ログファイルに記録された応答値を、試験管理ファイルに定義された期待値と比較する評価処理と、
前記応答値と前記期待値との比較結果に基づいて試験結果を生成する試験結果生成処理と
をコンピュータに実行させるための試験プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/060902 WO2017168748A1 (ja) | 2016-04-01 | 2016-04-01 | 試験装置および試験プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017168748A1 true JPWO2017168748A1 (ja) | 2018-06-28 |
JP6469311B2 JP6469311B2 (ja) | 2019-02-13 |
Family
ID=59963794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018508333A Active JP6469311B2 (ja) | 2016-04-01 | 2016-04-01 | 試験装置および試験プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6469311B2 (ja) |
WO (1) | WO2017168748A1 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005196672A (ja) * | 2004-01-09 | 2005-07-21 | Sharp Corp | 試験装置および試験方法 |
-
2016
- 2016-04-01 JP JP2018508333A patent/JP6469311B2/ja active Active
- 2016-04-01 WO PCT/JP2016/060902 patent/WO2017168748A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005196672A (ja) * | 2004-01-09 | 2005-07-21 | Sharp Corp | 試験装置および試験方法 |
Non-Patent Citations (1)
Title |
---|
大河原 繁、他2名: "空調機器制御ソフトウェアの再利用開発", 三菱電機技報, vol. 第84巻 第5号, JPN6018039473, 25 May 2010 (2010-05-25), pages 47 - 50 * |
Also Published As
Publication number | Publication date |
---|---|
WO2017168748A1 (ja) | 2017-10-05 |
JP6469311B2 (ja) | 2019-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7908518B2 (en) | Method, system and computer program product for failure analysis implementing automated comparison of multiple reference models | |
CN108446190B (zh) | 接口测试方法及装置 | |
US9417865B2 (en) | Determining when to update a package manager software | |
US8677194B2 (en) | Method and system for site configurable error reporting | |
US9075695B2 (en) | Version conflict checking to installable unit | |
US20170052877A1 (en) | Generic test automation for graphical user interface (gui) applications | |
US20120254662A1 (en) | Automated test system and automated test method | |
CN111274154A (zh) | 一种自动化测试的方法、装置、设备及存储介质 | |
US7765439B2 (en) | Traceability management apparatus, storage medium storing program, and tracing method | |
US8752027B2 (en) | Injecting faults into program for testing software | |
CN108923997B (zh) | 一种基于python的云服务节点自动测试方法及装置 | |
CN112241360A (zh) | 一种测试用例生成方法、装置、设备及存储介质 | |
US20100145746A1 (en) | Vertical Process Merging By Reconstruction Of Equivalent Models And Hierarchical Process Merging | |
JP2015011372A (ja) | デバッグ支援システム、方法、プログラム及び記録媒体 | |
CN112540924A (zh) | 接口自动化测试方法、装置、设备及存储介质 | |
US20100312541A1 (en) | Program test device and program | |
US8327189B1 (en) | Diagnosing an incident on a computer system using a diagnostics analyzer database | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN110716843B (zh) | 系统故障分析处理方法、装置、存储介质及电子设备 | |
CN107992420B (zh) | 提测项目的管理方法及系统 | |
CN111694684A (zh) | 存储设备的异常构造方法、装置、电子设备及存储介质 | |
CN112947964A (zh) | 一种芯片的固件更新方法、装置、设备及存储介质 | |
CN114968753A (zh) | 设备升级测试方法、介质、电子设备及测试系统 | |
JP6469311B2 (ja) | 試験装置および試験プログラム | |
JP2009193207A (ja) | 情報採取手順管理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181016 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20181218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190115 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6469311 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |