专利汇可以提供Automated regression test of workstation software专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To provide a method and means for holding a test script library to be used in executing the regression test of an application program.
SOLUTION: A workstation is provided with a regression test program 62 for testing an application program developed by a workstation by using a stored test script 66. A test directory tree 68 is held so that a source code directory tree 56 can be faithfully drawn. Then, the test directory tree 68 is used for selecting a test script to be used at the time of testing a newly compiled application program.
COPYRIGHT: (C)2001,JPO,下面是Automated regression test of workstation software专利的具体信息内容。
【0001】
【発明の属する技術分野】本発明は、回帰(regression)
試験技術を使ってワークステーションのハードウエアとソフトウエアを試験する分野に関する。
【0002】
【発明の背景】ソフトウエア・アプリケーションの試験用のコンピュータ・プログラムが既に複数存在しており、これらはソフトウエア・アプリケーションが認識するキー・ストローク等の入力データを受信する。 入力データを受信するとすぐに、これらのコンピュータ・プログラムは、(試験スクリプトと呼ばれるファイルに)入力データを格納してそれを再生することができるので、
あたかもユーザが実際に入力データをタイプしてソフトウエア・アプリケーションに与えたかのようにソフトウエア・アプリケーションが動作することができる。 この方法で、ユーザが入力データを1度だけ入力して試験スクリプトを作成することによって、入力データをソフトウエア・アプリケーションに繰返し供給することができる。
【0003】このコンピュータ・プログラムを使うことによって、用意された試験スクリプトを利用してソフトウエア・アプリケーションを実行できるので、ソフトウエア・アプリケーションが期待どおりに動作することが検証される。 これは、前に格納された結果と、次にソフトウエア・アプリケーションを介して試験スクリプトを再生することによって得られた結果とを比較することによって達成される。 ソフトウエア・アプリケーションが期待どおりに動作するという事実は、ソフトウエア・アプリケーションが動作するハードウエアが期待どおりに動作していることを示すものとして利用される。
【0004】回帰試験には、多くの様々な試験をプログラムに施すことが含まれる。 本試験では、プログラムに様々な入力値を与える。 これらの試験は、プログラムの特定機能、データ構造、特徴に影響を与える。 回帰試験を実施するために、コンピュータはプログラムを多数回実行する。 各実行では、入力されたスクリプトの複数の回帰試験のうちの特別の1つが用いられる。 回帰試験によって、どの試験を合格し、もしくは、不合格になったかが示される。
【0005】アプリケーション・プログラム開発中では、様々なプログラマはソース・コードの様々な部分を修正する。 通常、プログラマは修正されたプログラムをコンパイルする。 プログラマがその修正されたものをリリースする前に、プログラマは多数の試験をそれらの修正について実施する。 (プログラマは、修正されたソース・コードの使用を開発チームの他の者に対して許可することによって、その修正されたものを「リリースする」)。 新しくコンパイルされたプログラムに回帰試験を施すことも本試験に含まれることが理想的である。 回帰試験は、プログラムの修正によって回帰試験の一部で不合格になるかどうかを示す。
【0006】修正時に回帰試験の実行要求をプログラマが出す際での問題の1つは、回帰試験に数時間、もしくは、数日かかることである。 複数の回帰試験スクリプト・ライブラリを構築するには、数月、もしくは、数年かかることもある。 何が試験されたかについての情報が失われたり、更新されないことがある。 さらに、試験量によって、どの試験がどのステートメントを試験することが非常に困難かを知ることができる。 プログラムのどの部分を試験するかに関して複数の試験がソートされていないか、もしくは、分類されていないことがある。 普通、よく知れれている試験でも目標領域以外のプログラム部分を試験する。 従って、複数の回帰試験のうちのどれが、プログラムの特定部分を試験するのかをプログラマが知ることは難しい。
【0007】コンピュータ・システムの開発中には、普通長期にわたって、1人以上のプログラマによって多くのアプリケーション・プログラムが作成され修正される。 製品がリリースされた後の製品の耐用期間では、メンテナンス活動は重要な要素である。 研究を通して、ソフトウエア・システムのライフサイクルでの開発努力のうちの50%以上はメンテナンスに費やされ、そのうちの大部分は試験のためであることがわかっている。 重大な書き直しが必要なまれな場合を除いて、メンテナンス段階でのシステムに対する修正は通常小さいので、修正を行って問題を正す、もしくは、機能的に向上させることができる。 従って、選択的にソフトウエアを再試験する技術によって、開発時間とメンテナンス時間を短縮することができる。
【0008】通常、ソフトウエア・システムの試験用の試験スクリプト・ライブラリは多くの試験スクリプトから構成され、その各々は試験下のシステムのエンティティのサブセットの一部を働かせる、即ち、カバーする。
カバーされるプログラムのエンティティが変えられた場合、また、その場合に限って試験スクリプトを再実行させる必要がある。 コンピュータ・システムの様々なソフトウエア・エンティティに試験スクリプトを関連づける情報は、回帰試験の大きな手助けとなる。 製品の実開発期間と長期のメンテナンス期間中常に、その情報を最新のものにすることは非常に困難である。
【0009】
【発明の概要】本発明は、アプリケーション・プログラムの回帰試験を実施する際に使われる、試験スクリプト・ライブラリを保持する方法と手段である。 特に、試験ディレクトリ・ツリーは、アプリケーション・プログラムの実行可能コードのコンパイル用のソース・ディレクトリ・ツリーのミラー画像として保持される。 試験ディレクトリ・ツリーは試験スクリプトを示す。 同じディレクトリ・ツリー内で対応するエントリからコンパイルされた実行可能コードに回帰試験を施す際にこの試験スクリプトが使われる。 試験ディレクトリ・ツリーにミラー・エントリが存在していない場合は、1つを自動的に生成し、対応するデフォルト試験スクリプトを生成して、
ライブラリに格納する。
【0010】
【発明の実施の形態】本発明の好適な実施形態はワークステーションで利用される。 図1で示されるように、ワークステーションには、プロセッサとそれに関連する回路、メモリ、周辺インターフェイス回路を含むミニタワー(mini-tower)10が含まれる。 周辺デバイスの1つは、ミニタワー10に収納されたグラフィクス回路に接続された商業的に入手可能なCRTモニタ12である。
その他の周辺デバイスは、ミニタワー10内のPCIベースのコントローラに接続されたキーボードとマウス1
4である。 オペレータは、キーボードを介してデータを入力することができ、また、マウスを使ってモニタ・ディスプレイ12上のカーソルの位置を制御することができる。 ワークステーション10は、スタンドアロン型グラフィック・ディスプレイ・システムとして動作することができる、もしくは、X線システム、X線CTシステム、MRIシステム、PETスキャナ・システム、原子核医療システム等の医療撮影システムに接続して、デジタル化された画像データをそれから直接受信することができる。 ワークステーション10は、典型的には、医療画像をフィルタリングし、医療画像の大きさと方向を変化させ、テキスト情報を医療画像に追加する等の画像処理機能を実行するアプリケーション・プログラムを備える。
【0011】特に図2を参照すると、ワークステーションはメモリ22に格納された命令を実行するプロセッサ20を備える。 プロセッサ20は商業的に入手可能なデバイスであり、サンマイクロ・システムズ社から登録商標UltraSPARC−IILで販売されている。 これにはオンチップ・メモリとI/O制御部が組み込まれているため、システムの集積化が促進される。 これはスーパースカラー・プロセッサであって、SPARC−V
9の64ビットRISCアーキテクチャをもち、登録商標「VIS」で商業的に販売されている命令セットを実行する。 また、これには統合化PCIバスドライバが含まれ、直接インターフェイスとして32ビットPCIバス24が提供される。 また、これには、外部メモリ22
全体を取り扱うメモリ総合管理回路が含まれる。
【0012】PCIバス24は業界標準バスの1つであり、プロセッサ20と多数の周辺コントローラカード間のデータ転送を32ビット33MHzで実行する。 これらには、CDROMドライブ28とディスク・ドライブ30との高速データ転送を可能とするPCI EIDE
コントローラ26が含まれる。 イーサネット(登録商標)・コントローラ32は、多くの周辺デバイスとのデータ転送を支援する。 これには、キーボード、マウス1
4からの入力と、医療撮影機器のイーサネット・ポートを用いた通信が含まれる。 最後に、グラフィクス・コントローラ34は、標準のVGA接続36を介してPCI
バス24をCRTモニタ12に接続する。
【0013】特に図3参照すると、多くのプログラムとデータ構造がディスク・ドライブ30に格納されており、ワークステーション上で使われるアプリケーション・プログラムを作成し、修正し、試験するためにそれらが使われる。 このアプリケーション・プログラムは、例えば、医療画像を検索し、患者の動き等によって発生したアーティファクト(artifact)を除去するために医療画像のフィルタリングを行うプログラムでもよい。 図3には1人のユーザ50だけが示されているが、個々のプログラム・エディタ・ソフトウエア52を各人が使うことによって多くの人がワークステーションのアプリケーション・プログラムを開発できることが理解できるはずである。
【0014】エディタ52を使って開発されたアプリケーション・プログラムのソース・コードは、ソース・コード・ライブラリ54の一部としてメモリに格納される。 また、ライブラリ54の各ソース・コード・プログラムファイルに関する情報を含むソース・コード・ディレクトリ・ツリー56がメモリに格納される。 ソース・
コード・ディレクトリ・ツリー56は、ライブラリ54
のどのソース・コード・ファイルが特定のプログラムを構成するものかを識別し、それらのプログラム・ファイルが互いにどのようにリンクしているのかを示すものである。 コンパイラ・プログラム58はこの情報を利用して、ライブラリ54から適切なソース・コード・ファイルを検索し、実行可能プログラム・コードにコンパイルし、プログラム・コードを適切にリンクして実行可能コード60を生成する。
【0015】実行可能コード60に関する一連の回帰試験を実行して、それが正しく実行するかどうかを確認するようにユーザ50は指示することができる。 これは、
新しいソース・コードがコンパイルされる度に実行される回帰試験エンジン62と呼ばれるプログラムによって達成される。 毎日の夕方に好適な実施形態の回帰試験エンジン62が実行され、その結果が報告書64として作成される。 これは、翌朝に利用可能になる。
【0016】回帰試験エンジン62は、格納された回帰試験のスクリプト66をアクセスし、試験スクリプト6
6を使って実行可能コード60が期待どおりに実行することを検証する。 本技術では周知のことであるが、回帰試験スクリプト66は回帰試験エンジン62が実行可能コード60を実行することを指示し、その処理を試験するための入力データを供給する。 実行可能コード60によって生成された結果は回帰試験スクリプト66による期待結果と比較されて、報告書64に合格、もしくは、
不合格が記述される。 報告書64は、実行可能コード6
0について実施された試験と、各試験での合格、不合格を示す一覧表である。
【0017】回帰試験スクリプト・ライブラリ66を管理し、また、回帰試験エンジン62で利用するために、
その中から適切な回帰試験スクリプトを選択することが本発明の問題点である。 以下で詳細に説明されるが、この問題を解決するために、プログラムのコンパイル中に保持されるデータ構造の試験ディレクトリ・ツリー68
が利用される。 これは、ソース・ディレクトリ・ツリー56の”鏡”であって、実行可能コード60の試験用にライブラリ66の試験スクリプトを利用することを回帰試験エンジン62に示すものである。
【0018】特に図4を参照すると、ライブラリ54のソース・コードがコンパイルされるとき、プロセス・ブロック100で示されるようにプログラムが実行される。 ソース・コード・ディレクトリ・ツリー56を利用してコンパイルしてリンクする必要のある各ソース・コード・ファイルが識別される。 図5に示されているように、例えば、ソース・コード・ファイル「gvtk」
が、リンクされた2つのソース・コード・ファイル「d
isplay」、「graphic」と共にコンパイルされる。 上述したように、このコンパイル・プロセスとリンク・プロセスによって実行可能コード60が生成される。
【0019】次に、決定ブロック102で示されるように、試験ディレクトリ・ツリー68がチェックされる。
これは、試験ディレクトリ・ツリー68を探索して、コンパイルされたソース・ディレクトリ・ツリーのものに対応する「試験(test)」ヘッダ・ファイルを見つけることによって達成される。 図6で示されるように、例えば、完全な試験ツリーには、ヘッダ・ファイル「gvt
ktest」、「displaytest」、「gra
phictest」が含まれる。 対応する試験ヘッダ・
ファイルが発見されない場合は、プロセス・ブロック1
04で示されるように、新しい試験ヘッダ・ファイルが生成される。 この試験ヘッダ・ファイルには、添付のテキスト・ストリング「試験(test)」をもち、それに対応するソース・コード・ファイルと同じ名前が付けられる。 次に、106に示されるように、この新しい試験ヘッダに対するデフォルト試験スクリプトが回帰試験スクリプト・ライブラリ66に加えられる。 デフォルト・スクリプトは、全プログラムに対する標準スクリプトである「ラン試験(runTest)」部と、試験が実施されたか否かを示し、また、もしそうであれば、試験に合格したか不合格になったかを示す「レポートテスト(r
eportTest)」部を備える。 そして、自動的に生成された試験ファイルに対しては試験は実施されず、
試験結果報告書64で「不実施」を示す。
【0020】決定ブロック108では、試験ディレクトリ・ツリー68を保持するために、その中の試験ヘッダ・ファイルに「親なし(orphan)」ファイルになったものがないかどうかを検査する。 「親なし」ファイルは、試験ファイルであり、それに対応するソース・コード・ファイルは削除されている。 試験ディレクトリ・ツリー6
8の各試験ヘッダ・ファイルを読み出して、ソース・ディレクトリ・ツリー56内で対応するファイルを検索する。 もし、親なしファイルが見つかると、プロセス・ブロック110で示されるようにエラーメッセージが生成されるので、プロセス・ブロック112で示されているように、ユーザ50はその親なし試験ヘッダ・ファイルを削除するか、改名することができる。 いずれにしても、その結果は、ソース・ディレクトリ・ツリー56のミラー画像として保持された試験ディレクトリ・ツリー68である。
【0021】コンパイル・プロセスの最終工程では、プロセス・ブロック114で示されるように、「テストオール(testall) 」ファイルを生成する。 回帰試験エンジン62はこのテストオール・ファイルを利用して、新しくコンパイルされた実行可能コード60を試験する際にどのライブラリ66の回帰試験スクリプトを利用するかを決定する。 これは、プログラムをコンパイルするために利用するソース・ディレクトリ・ツリー56からのソース・ファイルに対応する試験ディレクトリ・ツリー6
8からの試験ヘッダ・ファイルを一覧表にすることによって形成される。 図5、6で示される例では、テストオール・ファイルは、ファイル名gvtktest、di
splaytest、graphictestの一覧表である。
【0022】試験ディレクトリ・ツリーを自動的にメンテナンスすることによって、ソース・コード・ディレクトリ・ツリー56にリストされた全ソース・コード・ファイルに対して試験スクリプトが生成されることを保証する。 未使用、もしくは、親なしの試験スクリプトが識別されるので、ユーザはそれを削除したり改名することができる。 回帰試験が定期的に実施され、複数の試験の間で多くのコンパイル処理が実行されると、テストオール・ファイルには試験スクリプトが累積される。 そして、これらは全コンパイル処理で実行される。 テストオール・ファイル内のエントリのコピーは削除されて、1
回より多く試験スクリプトを実行しないようにする。
【0023】本発明により、ソフトウエア開発中に定期的に実行する自動試験システムが可能になる。 本システムは、始めから終わりまで自動的に実行し、どの試験スクリプトを実行させるかを決定し、その試験スクリプトを実行させ、試験に合格したか不合格かを示す報告書を生成する。
【図1】本発明の好適な実施形態を実施するために修正されたワークステーションの概観図である。
【図2】図1のワークステーションの電気的ブロック図である。
【図3】ワークステーションで利用されるアプリケーション・プログラムを作成して試験するために使われる、
図1のワークステーションのソフトウエアとデータ構造を示すブロック図である。
【図4】ワークステーションで利用されるアプリケーション・プログラムをコンパイルし試験する、本発明の好適な実施形態に基づいて実行される工程のフローチャートである。
【図5】2つのリンクされたソース・コード・ファイルを含むソース・コードをコンパイルする工程のフローチャートである。
【図6】ソース・コードをヘッダ・ファイルにリンクするためのツリーのフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ウィリアム・マーレイ・ストヴァル,ザ・ サード アメリカ合衆国、ウィスコンシン州、メノ モニー・フォールズ、エスティー・フラン シス・ドライブ、エヌ90・ダブリュー 17683番 (72)発明者 デビッド・ピー・エドワーズ アメリカ合衆国、ユタ州、ハイランド、カ ントリー・クラブ・ドライブ、4636番
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种回归测试驱动的软件版本管理方法、系统及存储介质 | 2020-05-21 | 804 |
生成影响分析报告的方法及装置 | 2020-05-08 | 552 |
数据测试方法及系统 | 2020-05-16 | 589 |
布局布线回归测试方法、系统、设备及存储介质 | 2020-05-24 | 202 |
基于录制和重放的Web应用迭代测试方法 | 2020-05-17 | 402 |
一种确定需要回归测试的测试用例的方法和装置 | 2020-05-20 | 722 |
一种代码审查方法及其设备 | 2020-05-22 | 873 |
一种基于电网系统的自动化测试方法 | 2020-05-26 | 637 |
一种超声软件的自动化测试方法及系统 | 2020-05-15 | 798 |
一种软件回归测试过程中基于智能水滴的测试用例优先级确定方法 | 2020-05-15 | 657 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。