JP2011113272A - ソフトウェア自動試験方式 - Google Patents
ソフトウェア自動試験方式 Download PDFInfo
- Publication number
- JP2011113272A JP2011113272A JP2009268682A JP2009268682A JP2011113272A JP 2011113272 A JP2011113272 A JP 2011113272A JP 2009268682 A JP2009268682 A JP 2009268682A JP 2009268682 A JP2009268682 A JP 2009268682A JP 2011113272 A JP2011113272 A JP 2011113272A
- Authority
- JP
- Japan
- Prior art keywords
- response
- test
- data
- simulated
- scenario
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【解決手段】テスト対象プログラム7の試験実施手順を記述したテスト実行プログラム用シナリオ3と、複数の周辺機器を模擬する模擬I/F8の動作を記述した模擬I/F用シナリオ4を作成しておく。これらはテスト対象プログラム7から模擬I/F8へ送られる出力データ10の時間間隔判定手段と、出力データ10の内容により模擬I/Fの応答データ11を決定する応答手段と、変更トリガ受信データを受信した後に設定データを受信した時に応答データを変更する応答変更手段とを備えており、テストの完全自動化、省力化を実現できる。
【選択図】 図1
Description
更に詳しくは、Windows(登録商標)などのオペレーションシステム(以降、「O/S」と略す。)上で動作する制御ソフトウェアの試験を、これに接続される周辺機器を模擬したシミュレータを用いて、試験コマンドの列で記述した試験シナリオを解釈して自動的に実行するソフトウェア自動試験方式に関する。
このような試験には、ソフトウェアの各モジュールを部分的に結合したものが意図どおり協調動作するか検査する結合テスト、製品の体をしたものに対して行うシステムテスト、実装した機能が意図どおりに動作するか検査する機能テスト、プログラムを変更した際にその変更によって予想外の影響が現れていないか一度合格したテストをすべてやり直し合格するか検査する回帰テストなどが有る。
また、周辺機器への出力データや出力タイミングの検査は、テスト対象プログラム又はシミュレータのログを試験実施者が目視で解析することによって行なわれてきた。このようにソフトウェア結合テストを実施するだけでも多大な労力を要するため、それまでに合格したテストをすべて再度検査する回帰テストを実施することは更に困難であったため、ソフトウェア試験の自動化が求められていた。
特許文献1では、試験対象として指示された試験シナリオを試験シナリオ群から検索し、検索した試験コマンド中に指定された周辺機器を特定して、周辺機器毎に設けられた装置制御部に当該周辺機器用試験コマンドを供給する。装置制御部は当該試験コマンドに対応する装置コマンドを検索して受取り、装置コマンドにより周辺機器を動作させる。この結果、試験シナリオを有するワークステーションからの周辺機器のソフトウェア的な制御を実現させている。
特許文献3は、入力機器と制御対象の出力機器とが接続されるマイコンに組み込まれた制御ソフトウェアを自動的にテストする装置である。これは装置本体とマイコン搭載部を備えており、マイコン搭載部には、入力・出力機器の動作を模擬するシミュレータを、光ループネットワークで接続する自動テスト装置を提案している。
また、模擬I/F用シナリオに従い、テスト対象プログラムから受信したデータによって応答データを決定する応答手段と、テスト対象プログラムからの出力データに対する応答データを次回から変更する応答変更手段を備えている。
また、ソフトウェア結合テストを自動で繰り返し実行することができ、テスト対象プログラムを修正するたびに、完全な回帰テストを実行できる。
図1は、本発明を実施するための実施の形態1に係るソフトウェア自動試験方式の構成を表すブロック図である。また図8には、実施の形態1のテスト対象であるアプリケーション(制御ソフトウェア)を用いたシステムのブロック図を示す。本実施の形態では、図8に示す制御ソフトウェアをテスト対象のプログラムとし、制御ソフトウェアと接続している周辺機器をシミュレートすることにより自動試験を実行する。
3は試験シナリオ作成プログラム2を用いて作成され自動的に試験を実行する手順を記述したテスト実行プログラム用シナリオ、4は試験シナリオ作成プログラム2を用いて作成され模擬インターフェイス(以降「模擬I/F」と略す。)の応答動作を記述した模擬I/F用シナリオである。
一般にメッセージキュー9は、複数のアプリケーション間の通信に使われ、送信側と受信側がメッセージキューに同時にやり取りしなくともよいことを意味する。キューに置かれるメッセージは、受信側がそれを取り出すまで格納されたままとなる。
10は、テスト対象プログラム7から模擬I/F8へ送信される出力データ、11は、模擬I/F8から返信される応答データである。
図9は、テスト対象である制御ソフトウェア806の画面例である。901で示すメイン画面に、902は実行ボタン、903は結果を表示するテキストボックス、904はSG802の出力状態を表示するテキストボックス、905で示す終了ボタンが配置されている。
制御ソフトウェア806はSG802への出力ON要求951送信から10秒後に自動的に、SG802へ出力OFF要求954を送信する。また、ユーザー804が終了ボタン905を押下すると、制御ソフトウェア806は制御結果をファイルに出力957し、プログラムを終了する。
例えば、図9に示す実行ボタン902のIDは、ButtonExecである。このID1102は、図2に示すテスト実行プログラム用シナリオの画面操作、画面判定のパラメータとして用いられる。
図12は、テスト対象である制御ソフトウェア806と周辺機器の一例であるSG802とのインタフェースデータ定義である。1103に示すメッセージは、これに対応するインターフェイスデータ1104の文字列である。例えば、図10の出力ON要求951メッセージの実際の伝文は、「RF Start」という文字列である。
例えば、図10に示すパルス出力ON要求952メッセージの実際の出力は、アドレス0100hへのデータ0200hの書き込みである。
図14は、テスト対象である制御ソフトウェア806が出力する制御結果ファイルの内容である。ファイル名は、kekka.txt、1107にはそのフォーマットを示す。
ステップS101(以降「S101」という)にて、テスト実行者6が、テスト実行プログラム5にテスト開始の起動をかける。S102で、テスト実行プログラム5は、テスト対象プログラム7を起動し、S103でテスト実行プログラム用シナリオ3を読み込み、アクションを順番に実行する。図2のテスト実行プログラム用シナリオ3の場合、
S104で、1番目に図11に示すButton Exceという実行ボタンを自動でクリックする。次に2000msウェイトする。
模擬I/F8は、S105で出力データ10を受信すると、図4に示すように受信時刻A:401を付加して、メッセージキュー9に入れる。
S106でメッセージキュー9に入れられたデータは、テスト実行プログラム5から取り出されるのを待つ。
S107で、テスト実行プログラム5は、図2の3番目のアクションである出力データチェック206実行時、メッセージキュー9からデータを取り出し、出力データが正解データ207(この場合は、「RF Start」)と一致することをチェックする。チェックした結果がYesの場合はS120で「判定OK」を記録し、次のステップへ進む。チェックした結果がNoの場合は、S121で〔1〕に示すように「判定NG」を記録する。また、取り出したメッセージキュー9のデータのうち受信データ402は破棄するが、受信時刻A:401は、後に実行される7番目のアクションにおいて、受信タイミング208のチェックに使用するため、保持される。
次にS109で、図2の5番目のアクションである画面判定を実行し、結果表示テキストボックス(IDはTextBoxKekka)の表示が「OK」であるかをチェックする。
S110で、6番目のアクションである画面判定を実行し、SG出力状態テキストボックス(IDはTextBoxSts)の表示が「出力中」であるかをチェックする。
次に送信タイミングのチェックを行う。図10に示すシーケンスをチェックする場合には、「RF Stop」は「RF Start」の10秒後に送信されているはずである。
メッセージキュー9から取り出したデータに付与されている受信時刻Bと、3番目のアクションで保持した受信時刻Aとの時間間隔を求める。時間間隔が受信タイミング208の範囲(この場合「No3から10000±100ms後」)であれば合格とする。
S114で、8番目のアクションとして、終了ボタンを自動クリックする。このアクションにより、テスト対象プログラム7は終了する。
S115で、9番目のアクションであるファイルチェックを実施する。図10に示すシーケンスの場合には、制御結果が図14の制御結果ファイル名内容でファイルに出力されているはずである。あらかじめ、ref.txtという名称で、正解のファイルを生成しておき、テスト対象プログラムから出力されたファイルkekka.txtとref.txtが同一であるかを判定する。
模擬I/F8は、S201で出力データ10を受信した時、S202で模擬I/F用シナリオ4の応答設定501の受信データ503に出力データ10と一致するものが有るか調べる。無ければ異常を記録する。
また、出力開始後の模擬I/F用シナリオ4の応答は、出力状態要求(STS?)に対し「出力中」(RF ON)を返すように、応答変更設定として、出力ON要求(RF Start)を受信したら、以後の出力状態要求(STS?)に対し、「出力中」(RF ON)を返すようにする。
レジスタ応答変更設定702は変更トリガ受信データのアドレス706及びデータ707、出力データのアドレス708及び応答データ709、遅延時間710から構成される。
図7に示す模擬I/Fシナリオ例は、図10シーケンスにおける「ステータス読込み958」を模擬する場合に対応している。テスト対象制御ソフトウェアがステータス読込みとしてレジスタアドレス0001hを読込んだ場合、遅延時間500ms待ってから、図13のインターフェイス定義No2に示す、出力データ0002h(パルス出力OFF)を返す。
図7に示す模擬I/Fシナリオ例は、図10シーケンスにおける「ステータス読込み959」を模擬する場合に対応している。テスト対象制御ソフトウェアから、パルス出力ON要求としてアドレス0100hにデータ0200hが書き込みされたので、これ以後、テスト対象制御ソフトウェアがステータス読込みとして、レジスタアドレス0001hを読込んだ時は、遅延時間30ms待ってから、図13のインターフェイス定義No2に示す、出力データ0003h(パルス出力ON)を返す。
3 テスト実行プログラム用シナリオ、4 模擬I/F用シナリオ、
5 テスト実行プログラム、6 テスト実行者、7 テスト対象プログラム、
8 模擬I/F、9 メッセージキュー、10 出力データ、11 応答データ、
501 応答設定、502 応答変更設定、503 受信データ、
504 応答データ、505 遅延時間、506 変更トリガ受信データ、
507 応答変更設定後の受信データ、508 応答変更設定後の応答データ、
509 応答変更設定後の遅延時間、
701 レジスタ応答設定、702 レジスタ応答変更設定、703 読込みアドレス、
704 応答データ、705 遅延時間、706 変更トリガ受信データアドレス、
707 変更トリガ受信データ、708 出力データアドレス、709 応答データ、
710 遅延時間、
801 PC、802 SG(周辺機器)、803 制御ボード、804 ユーザー、
805 PCIカード、806 制御ソフトウェア
Claims (7)
- 複数の周辺機器との入出力機能を有するテスト対象プログラムの試験手順を記載したテスト実行プログラム用シナリオと、前記テスト対象プログラムに接続された複数の前記周辺機器の応答を模擬する模擬I/F用シナリオと、
前記テスト実行プログラム用シナリオに従い試験を実行するテスト実行プログラムと、前記模擬I/F用シナリオに従い実行する前記模擬I/Fと、
前記テスト対象プログラムから前記模擬I/Fへデータ出力する時刻の時間間隔判定手段と、前記テスト対象プログラムからの出力データにより模擬I/Fの応答データを決定する応答手段と、前記テスト対象プログラムからの出力データに対する応答データを次回から変更する応答変更手段を
備えたことを特徴とするソフトウェア自動試験方式。 - 前記時間間隔判定手段が、前記テスト対象プログラムからの出力データに前記模擬I/Fにより付与されメッセージキュー経由でテスト実行プログラムへ送信された第1受信時刻と、規定時間後に前記テスト対象プログラムからの出力データに前記模擬I/Fにより付与され前記メッセージキュー経由でテスト実行プログラムへ送信された第2受信時刻との受信時間間隔を測定することにより、規定された時間的制約条件を満たしているかを判定する時間間隔判定手段であることを特徴とする請求項1に記載のソフトウェア自動試験方式。
- 前記模擬I/Fの前記応答手段が、
前記テスト対象プログラムからの出力データと前記模擬I/F用シナリオの応答設定に記述された受信データとを照合し一致する時に、記述された応答データを遅延時間待ってから返す応答手段を備えたことを特徴とする請求項1に記載のソフトウェア自動試験方式。 - 前記模擬I/Fの前記応答変更手段が、
前記テスト対象プログラムからの出力データと前記模擬I/F用シナリオの応答変更設定に記述された変更トリガ受信データとを照合し一致した時点以後は、応答変更設定後の受信データを受信した時に応答変更設定後の応答データを遅延時間待ってから返す応答変更手段を備えたことを特徴とする請求項1に記載のソフトウェア自動試験方式。 - 前記模擬I/Fの前記応答手段が、
前記テスト対象プログラムから前記模擬I/Fのレジスタ応答設定に記述されたレジスタアドレスが読込まれた時に、その応答データを読取り値として返すレジスタ応答手段を備えたことを特徴とする請求項1に記載のソフトウェア自動試験方式。 - 前記模擬I/Fの前記応答変更手段が、
前記テスト対象プログラムから前記模擬I/Fのレジスタ応答変更設定に記述された変更トリガ受信データである第1アドレスに第1データが書込みされた時点以後は、前記テスト対象プログラムから第2アドレスを読込んだ時に第2応答データを読取り値として返すレジスタ応答変更手段を備えたことを特徴とする請求項1に記載のソフトウェア自動試験方式。 - 前記テスト実行プログラム用シナリオ及び前記模擬I/F用シナリオを作成・編集するシナリオ作成プログラムを有することを特徴とする請求項1乃至請求項6のいずれかに記載のソフトウェア自動試験方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009268682A JP5327019B2 (ja) | 2009-11-26 | 2009-11-26 | ソフトウェア自動試験方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009268682A JP5327019B2 (ja) | 2009-11-26 | 2009-11-26 | ソフトウェア自動試験方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011113272A true JP2011113272A (ja) | 2011-06-09 |
JP5327019B2 JP5327019B2 (ja) | 2013-10-30 |
Family
ID=44235564
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009268682A Expired - Fee Related JP5327019B2 (ja) | 2009-11-26 | 2009-11-26 | ソフトウェア自動試験方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5327019B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018081400A (ja) * | 2016-11-15 | 2018-05-24 | ルネサスエレクトロニクス株式会社 | 演算装置及び仮想開発環境装置 |
KR20200012581A (ko) * | 2018-07-27 | 2020-02-05 | 한화시스템 주식회사 | 텍스트 기반 시뮬레이터 시스템 |
KR20200012708A (ko) * | 2019-03-15 | 2020-02-05 | 한화시스템 주식회사 | 시뮬레이터 시스템을 통한 시험대상장비의 테스트 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11149394A (ja) * | 1997-11-17 | 1999-06-02 | Ricoh Co Ltd | 制御ソフトウェア検証方法 |
JP2004021461A (ja) * | 2002-06-14 | 2004-01-22 | Canon Inc | シミュレータ装置 |
JP2008226207A (ja) * | 2007-03-16 | 2008-09-25 | Ricoh Co Ltd | シミュレーション装置 |
-
2009
- 2009-11-26 JP JP2009268682A patent/JP5327019B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11149394A (ja) * | 1997-11-17 | 1999-06-02 | Ricoh Co Ltd | 制御ソフトウェア検証方法 |
JP2004021461A (ja) * | 2002-06-14 | 2004-01-22 | Canon Inc | シミュレータ装置 |
JP2008226207A (ja) * | 2007-03-16 | 2008-09-25 | Ricoh Co Ltd | シミュレーション装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018081400A (ja) * | 2016-11-15 | 2018-05-24 | ルネサスエレクトロニクス株式会社 | 演算装置及び仮想開発環境装置 |
KR20200012581A (ko) * | 2018-07-27 | 2020-02-05 | 한화시스템 주식회사 | 텍스트 기반 시뮬레이터 시스템 |
KR102082472B1 (ko) * | 2018-07-27 | 2020-02-27 | 한화시스템(주) | 텍스트 기반 시뮬레이터 시스템 |
KR20200012708A (ko) * | 2019-03-15 | 2020-02-05 | 한화시스템 주식회사 | 시뮬레이터 시스템을 통한 시험대상장비의 테스트 방법 |
KR102082473B1 (ko) * | 2019-03-15 | 2020-02-27 | 한화시스템(주) | 시뮬레이터 시스템을 통한 시험대상장비의 테스트 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP5327019B2 (ja) | 2013-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112817872B (zh) | 开发测试系统及方法 | |
CN107577602A (zh) | 一种app接口的测试方法、装置及系统 | |
KR100618319B1 (ko) | 무선통신단말기의 에러 테스트 방법 | |
JP2010146592A (ja) | テストプログラムデバッグ装置、半導体試験装置、テストプログラムデバッグ方法、及び試験方法 | |
KR101110241B1 (ko) | 프로그램 테스트 장치 및 프로그램 | |
US20080010493A1 (en) | Software development apparatus and method | |
EP3296875B1 (en) | Simulation reproduction device, simulation reproduction method, and simulation reproduction program | |
JP5327019B2 (ja) | ソフトウェア自動試験方式 | |
CN114281624A (zh) | 一种i2c信号完整性的测试方法、系统、装置及设备 | |
KR101792864B1 (ko) | 애플리케이션 검증 시스템 및 방법 | |
KR101962226B1 (ko) | 모의비행지원 자동화 시스템의 제어방법 | |
JP2007218598A (ja) | 回路基板の試験装置 | |
CN115758963A (zh) | 芯片eda仿真中打印信息的处理装置、方法及系统 | |
JP2009104490A (ja) | プログラムのテスト装置 | |
CN114327416A (zh) | 应用于开发分支的接口同步方法、装置及电子设备 | |
CN108255694A (zh) | 基于解释器的测试方法及系统 | |
CN112199229A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN109522205A (zh) | 一种仿真测试的方法、装置、计算机存储介质及终端 | |
CN115935876B (zh) | 一种fpga电路模拟仿真的方法及装置 | |
Kutscher et al. | Concept for Interaction of Hardware Simulation and Embedded Software in a Digital Twin Based Test Environment | |
JP5303968B2 (ja) | エレベータのプログラム検証システム | |
Salem et al. | Functional Size Measurement Automation for IoT Edge Devices. | |
TWI330772B (ja) | ||
CN114817071B (zh) | 一种联机自动化测试系统、方法、装置及可读存储介质 | |
JP2003177942A (ja) | ソフトウェア単体試験の支援方法及び支援装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111024 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121120 |
|
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: 20130625 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130708 |
|
LAPS | Cancellation because of no payment of annual fees |