JP2007133800A - ソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法 - Google Patents

ソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法 Download PDF

Info

Publication number
JP2007133800A
JP2007133800A JP2005328281A JP2005328281A JP2007133800A JP 2007133800 A JP2007133800 A JP 2007133800A JP 2005328281 A JP2005328281 A JP 2005328281A JP 2005328281 A JP2005328281 A JP 2005328281A JP 2007133800 A JP2007133800 A JP 2007133800A
Authority
JP
Japan
Prior art keywords
test
model
execution trace
source code
test case
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
Application number
JP2005328281A
Other languages
English (en)
Other versions
JP4516001B2 (ja
Inventor
Tadahiro Uehara
忠弘 上原
Kyoko Ohashi
恭子 大橋
Asako Katayama
朝子 片山
Rieko Yamamoto
里枝子 山本
Toshihiro Odaka
敏裕 小高
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005328281A priority Critical patent/JP4516001B2/ja
Priority to US11/353,026 priority patent/US7882493B2/en
Publication of JP2007133800A publication Critical patent/JP2007133800A/ja
Application granted granted Critical
Publication of JP4516001B2 publication Critical patent/JP4516001B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】テストに関する情報を一元管理することにより、テスト支援機能間で活用するソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法を提供する。
【解決手段】設計モデルを登録する設計モデル登録部31と、ソースコードを登録するソースコード登録部34と、設計モデルに対応して作成されたテストモデルを登録すると共に、設計モデルとテストモデルの間の対応関係を登録するテストモデル登録部32と、テストモデル中のテストケースに従ってソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、テストモデルと実行トレースの間の対応関係を登録し、実行トレースとソースコードの間の対応関係を登録する実行トレース登録部33と、全ての対応関係を追跡するモデル関係管理インタフェース12とを備えた。
【選択図】図1

Description

本発明は、ソフトウェアテストの効率化とソフトウェアの品質向上を実現するためのソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法に関するものである。
ソフトウェアのテスト工程の各作業(準備、実行、評価、管理など)の効率化を図るには、テスト工程の他の作業で作成または測定した情報や、テスト工程以外の工程(設計工程など)の情報を有効活用することが必要である。例えば、設計情報からテストケースを自動生成する技術や、テスト対象システムの実行トレースを利用して再実行が必要となるテストケースを特定する技術があり、それらを元にしたテストの自動化を行うツールが存在する。
なお、本発明の関連ある従来技術として、例えば、下記に示す特許文献1が知られている。このソフトウェアのテスト装置及び記録媒体は、テスト支援機能を適切な順番で起動するテスト作業フロー制御手段を備え、テスト支援機能間で交換する情報を統一することにより、テスト作業全体を自動化するものである。
特開平11−15693号公報
従来、特許文献1のように、テストケースやテストデータの形式を統一し、各テスト支援機能がそれらの情報を利用することはできた。しかしながら、設計情報、トレース情報、ソースコードは保持されず、これらの情報の対応付けも行われていないため、これらの情報を利用したテスト支援機能を組み合わせることは困難であった。
例えば、プロファイリングツールは、テスト対象システムの実行トレース情報を取得するが、テストケースとテストケース実行時の実行トレースとの対応関係は、ユーザもしくは各テスト支援機能が独自に管理する必要がある。従って、この対応関係を他のテスト支援機能が利用することは困難だった。
また、実行結果の評価やテストケース自身の評価を行う技術において、設計情報を利用する技術がなかった。従って、ユーザが、テスト実行結果を分析して設計情報との対応付けを行い、テストの合否やテスト実施の十分性を評価する必要があった。
本発明は上述した問題点を解決するためになされたものであり、テストに関する情報を一元管理することにより、テスト支援機能間で活用するソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法を提供することを目的とする。
上述した課題を解決するため、本発明は、ソフトウェアテストに関する情報の管理をコンピュータに実行させるソフトウェアテスト管理プログラムであって、ユースケースを含む設計モデルを登録する設計モデル登録ステップと、前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録ステップと、前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録ステップと、前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録ステップと、前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理ステップとをコンピュータに実行させるものである。
また、本発明に係るソフトウェアテスト管理プログラムにおいて、更に、前記モデル関係管理ステップの後、変更されたソースコードの変更部分を特定し、前記モデル関係管理ステップによる追跡に基づいて、該変更部分が含まれた実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素に変更がある場合、該テストケースを要修正テストケースとして出力する影響テストケース特定ステップをコンピュータに実行させることを特徴とするものである。
また、本発明に係るソフトウェアテスト管理プログラムにおいて、更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、全ての実行トレースとソースコードとの対応位置の比較を行うことにより実行されていないソースコードの部分を検出して未実行ブロックとし、該ソースコードから未実行ブロックの実行の有無を決定する条件文を検出し、前記モデル関係管理ステップによる追跡に基づいて、該条件文が実行された実行トレースと、該実行トレースに対応するテストケースとをそれぞれ検出し、該条件文により未実行ブロックが実行されるための条件を決定し、新たに作成すべきテストケースの元情報として該テストケースと該条件を出力する未抽出テストケース生成ステップをコンピュータに実行させることを特徴とするものである。
また、本発明に係るソフトウェアテスト管理プログラムにおいて、更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、前記設計モデル中の指定された要素に対応するテストケースと、該テストケースに対応する実行トレースと、該実行トレースに対応するソースコードとをそれぞれ検出し、該ソースコードを出力する実装ソースコード特定ステップをコンピュータに実行させることを特徴とするものである。
また、本発明に係るソフトウェアテスト管理プログラムにおいて、更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、前記ソースコード中の指定された要素が実行された実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素を出力する対応設計モデル特定ステップをコンピュータに実行させることを特徴とするものである。
また、本発明に係るソフトウェアテスト管理プログラムにおいて、前記未抽出テストケース生成ステップは更に、新たなテストケースを生成するための情報として、検出されたテストケースと決定した条件とテストケースに対応する設計モデルの要素を出力することを特徴とするものである。
また、本発明は、ソフトウェアテストに関する情報の管理を行うソフトウェアテスト管理装置であって、ユースケースを含む設計モデルを登録する設計モデル登録部と、前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録部と、前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録部と、前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録部と、前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理部とを備えたものである。
また、本発明に係るソフトウェアテスト管理装置において、更に、変更されたソースコードの変更部分を特定し、前記モデル関係管理部による追跡に基づいて、該変更部分が含まれた実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素に変更がある場合、該テストケースを要修正テストケースとして出力する影響テストケース特定部を備えることを特徴とするものである。
また、本発明に係るソフトウェアテスト管理装置において、更に、前記モデル関係管理部による追跡に基づいて、全ての実行トレースとソースコードとの対応位置の比較を行うことにより実行されていないソースコードの部分を検出して未実行ブロックとし、該ソースコードから未実行ブロックの実行の有無を決定する条件文を検出し、前記モデル関係管理部による追跡に基づいて、該条件文が実行された実行トレースと、該実行トレースに対応するテストケースとをそれぞれ検出し、該条件文により未実行ブロックが実行されるための条件を決定し、新たに作成すべきテストケースの元情報として該テストケースと該実行を出力する未抽出テストケース生成部を備えることを特徴とするものである。
また、本発明に係るソフトウェアテスト管理装置において、更に、前記モデル関係管理部による追跡に基づいて、前記設計モデル中の指定された要素に対応するテストケースと、該テストケースに対応する実行トレースと、該実行トレースに対応するソースコードとをそれぞれ検出し、該ソースコードを出力する実装ソースコード特定部を備えることを特徴とするものである。
また、本発明に係るソフトウェアテスト管理装置において、更に、前記モデル関係管理部による追跡に基づいて、前記ソースコード中の指定された要素が実行された実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素を出力する対応設計モデル特定部を備えることを特徴とするものである。
また、本発明に係るソフトウェアテスト管理装置において、前記未抽出テストケース生成部は更に、新たなテストケースを生成するための情報として、検出されたテストケースと決定した条件とテストケースに対応する設計モデルの要素とを出力することを特徴とするものである。
また、本発明は、ソフトウェアテストに関する情報の管理を行うソフトウェアテスト管理方法であって、ユースケースを含む設計モデルを登録する設計モデル登録ステップと、前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録ステップと、前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録ステップと、前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録ステップと、前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理ステップとを実行するものである。
本発明によれば、設計やテストに関する情報を一元管理することにより、これらの情報をテスト支援機能に活用することができ、設計やテストの効率を向上させることができる。
以下、本発明の実施の形態について図面を参照しつつ説明する。
まず、本発明に係るソフトウェアテスト管理装置の構成について説明する。
図1は、本発明に係るソフトウェアテスト管理装置の構成の一例を示すブロック図である。このソフトウェアテスト管理装置は、モデルアクセスインタフェース11、モデル関係管理インタフェース12、基本テスト部13、拡張テスト部14、設計モデル記憶部21、テストモデル記憶部22、実行トレースモデル記憶部23、ソースコードモデル記憶部24を備える。また、基本テスト部13は、設計モデル登録部31、テストモデル登録部32、実行トレース登録部33、ソースコード登録部34を備える。また、拡張テスト部14は、影響テストケース特定部35a、未抽出テストケース生成部35b、実装ソースコード特定部35c、対応設計モデル特定部35dを備える。
次に、設計モデル、テストモデル、実行トレースモデル、ソースコードモデルについて説明する。
設計モデルは設計モデル記憶部21に、テストモデルはテストモデル記憶部22に、実行トレースモデルは実行トレースモデル記憶部23に、ソースコードモデルはソースコードモデル記憶部24に、それぞれ登録される。
図2は、本発明に係る設計モデルの構成の一例を示す図である。設計モデルは、ユースケース、ユースケース毎の画面遷移図、ユースケース毎のシーケンス図、クラス図、他のモデルとの対応関係(リンク)を表す対応関係情報を含む。また、設計モデルにおいては、1つのユースケースに対して1つの画面遷移図が対応付けられており、1つのユースケースに対していくつかのシーケンス図が対応付けられている。また、シーケンス図とクラス図は、メソッド名で対応付けられている。
本実施の形態において、対応関係情報等を含むモデルの記述には、XML(eXtensible Markup Language)を用いる。この例における対応関係情報は、シーケンス図名“SQ-001-1”,“SQ-001-2”,“SQ-001-3”,“SQ-001-4”が、それぞれテストモデル中のテストケースID“tst1”,“tst2”,“tst3”,“tst4”に対応付けられていることを表す。
図3は、本発明に係るテストモデルの構成の一例を示す図である。テストモデルは、テストケース、テストデータ、対応関係情報を含む。この例における対応関係情報は、テストケースID“tst1”,“tst2”,“tst3”,“tst4”(それぞれテストケース名“TC-001-1”,“TC-001-2”,“TC-001-3”,“TC-001-4”)が、それぞれ実行トレースモデル中の実行トレースID“trc1”,“trc2”,“trc3”,“trc4”に対応付けられていることを表す。
図4は、本発明に係る実行トレースモデルの構成の一例を示す図である。実行トレースモデルは、実行トレース、対応関係情報を含む。この例における対応関係情報は、実行トレースID“trc1”,“trc2”,“trc3”,“trc4”が、それぞれソースコードモデル中のメソッドID“src1”,“src2”,“src3”,“src4”に対応付けられていることを表す。
図5は、本発明に係るソースコードモデルの構成の一例を示す図である。実行トレースモデルは、ソースコード、対応関係情報を含む。この例における対応関係情報は、メソッドID“src1”,“src2”,“src3”が、それぞれソースコード中のメソッド名“doPost”,“calcTotalAmount”,“checkInput”に対応付けられていることを表す。
なお、ここでは、設計モデルからテストモデルへの対応関係情報、テストモデルから実行トレースモデルへの対応関係情報、実行トレースモデルからソースコードモデルへの対応関係情報について示したが、同様に、逆方向の対応関係情報として、ソースコードモデルから実行トレースモデルへの対応関係情報、実行トレースモデルからテストモデルへの対応関係情報、テストモデルから設計モデルへの対応関係情報も、各モデルに含められる。また、本実施の形態においては、対応関係情報が各モデルに含まれるとしたが、対応関係情報が各モデルとは別のファイルであっても良い。
次に、モデルアクセスインタフェース11について説明する。
また、設計モデル登録部31、テストモデル登録部32、実行トレース登録部33、ソースコード登録部34、影響テストケース特定部35a、未抽出テストケース生成部35b、実装ソースコード特定部35c、対応設計モデル特定部35dは、モデルアクセスインタフェース11を用いて、設計モデル記憶部21、テストモデル記憶部22、実行トレースモデル記憶部23、ソースコードモデル記憶部24にアクセスする。本実施の形態において、モデルアクセスインタフェース11は上述したXML形式のモデルの記述や解釈を行う。また、モデルアクセスインタフェース11は、モデル関係管理インタフェース12を含む。このモデル関係管理インタフェース12は、各モデルに埋め込まれた対応関係情報を辿り、あるモデルの要素に対応する別のモデルの要素を特定する等に用いられる。
図6は、本発明に係るモデルアクセスインタフェースの一例を示すソースコードである。このうち、枠で囲われた部分は、モデル関係管理インタフェース12を表す。図7は、本発明に係るモデルアクセスインタフェースを使用したテスト支援プログラムの一例を示すソースコードである。このテスト支援プログラムは、モデルアクセスインタフェースを用いて、設計モデル、テストモデル、実行トレースモデル、ソースコードモデルにアクセスすることにより、ユースケース“UC-001”で最初に呼ばれるメソッド名を取得するものである。図8は、本発明に係るモデルアクセスインタフェースを用いて得られる対応関係の一例を示す図である。本発明に係るモデルアクセスインタフェースを用いれば、この図に示すように、設計モデル、テストモデル、実行トレースモデル、ソースコードモデルの全てが対応付けられ、この対応関係をテストの支援に用いることができる。
次に、本発明に係るソフトウェアテスト管理装置の動作について説明する。
このソフトウェアテスト管理装置は、基本テスト部13により設計から最初のテストまでを行う基本テスト処理と、拡張テスト部14によりその後のテストを支援する拡張テスト処理を行う。
これらの処理のうち、まず、本発明に係るソフトウェアテスト管理装置における基本テスト処理の動作について説明する。
図9は、本発明に係るソフトウェアテスト管理装置における基本テスト処理の動作の一例を示すフローチャートである。まず、設計モデル登録部31は、ユーザにより作成された設計モデルを設計モデル記憶部21に登録する(S11)。次に、ソースコード登録部34は、ユーザにより作成されたソースコードを解析し、ソースコードの解析により得られるメソッド名等の対応関係情報とソースコードとを、ソースコードモデルとしてソースコードモデル記憶部24に登録する(S12)。
次に、テストモデル登録部32は、設計モデル記憶部21に登録されている画面遷移図を元に作成されたテストケースを、テストモデルとしてテストモデル記憶部22に登録すると共に、その画面遷移図が属するユースケースとテストケースとの対応関係情報を設計モデル及びテストモデルに含める(S13)。次に、テストモデル登録部32は、テストケースとユースケース以外の設計モデルとの対応関係情報を作成し、設計モデル及びテストモデルに含める(S14)。次に、テストモデル登録部32は、ユーザにより入力されたテストケース毎のテストデータ(入力データ、出力データ)を、テストモデルに含める(S15)。
次に、実行トレース登録部33は、テストモデル中のテストケースに従って実行された実行トレースを収集し、実行トレースモデルとして実行トレースモデル記憶部23に登録し、テストケースと実行トレースとの対応関係情報をテストモデル及び実行トレースモデルに含め、実行トレースとソースコードとの対応関係情報を実行トレースモデル及びソースコードモデルに含め(S16)、このフローを終了する。
なお、設計モデル登録部31は、ユーザの入力に従って設計モデルを作成する機能を備えても良い。また、テストモデル登録部32は、ユーザの入力に従ってテストケースやテストデータを作成する機能を備えても良いし、設計モデルに基づいて自動的にテストケースやテストデータを生成する機能を備えても良い。また、実行トレース登録部33は、各テストケースに従ってテストの実行を行う機能を備えても良い。また、ソースコード登録部34は、ユーザの入力に従ってソースコードを作成する機能を備えても良いし、設計モデルに基づいて自動的にソースコードを生成する機能を備えても良い。
従来、テストモデルや実行トレースを管理し、テスト支援機能に用いるテスト環境基盤は存在したが、テストモデルと実行トレースの間の対応関係は管理されていなかった。本発明によれば、テストモデル、実行トレースに加えて、設計モデル、ソースコードモデルについてモデル間の対応関係を管理することにより、後述する拡張テスト処理のような、より高度なテスト支援機能を提供することができる。また、登録済みの実行トレースを用いることにより、テスト支援機能に必要な情報を得るためにテストを実行する等の工数を削減することができ、設計やテストの効率を向上させることができる。
次に、本発明に係るソフトウェアテスト管理装置における拡張テスト処理の動作について説明する。
本実施の形態では、拡張テスト処理として、影響テストケース特定部35aにより行われる影響テストケース特定処理、未抽出テストケース生成部35bにより行われる未抽出テストケース生成処理、実装ソースコード特定部35cにより行われる実装ソースコード特定処理、対応設計モデル特定部35dにより行われる対応設計モデル特定処理について説明する。
これらの処理のうち、まず、影響テストケース特定処理の動作について説明する。
図10は、本発明に係る影響テストケース特定処理の動作の一例を示すフローチャートである。ここで、設計モデル記憶部21やソースコードモデル記憶部24は版管理され、最新版の設計モデルやソースコードモデルの他に少なくとも前版を記憶している。
まず、影響テストケース特定部35aは、最新版のソースコードと前版のソースコードとを比較し、変更された文(変更文)を特定する(S21)。次に、影響テストケース特定部35aは、テストモデルにおけるテストモデルの中からチェックしていないテストケースを一つ選択し(S22)、テストモデル中の対応関係情報を用いて、そのテストケースに対応する実行トレースを実行トレースモデルから取得し(S23)、その実行トレース中に変更文が含まれているか否かの判断を行う(S24)。
実行トレース中に変更文が含まれていない場合(S24,N)、処理S35へ移行する。一方、実行トレース中に変更文が含まれている場合(S24,Y)、影響テストケース特定部35aは、そのテストケースを要再実行テストケースとしてテストモデルに登録し(S31)、最新版の設計モデルと前版の設計モデルを比較し(S32)、設計モデルに変更が加えられているか否かの判断を行う(S33)。設計モデルに変更が加えられていない場合(S33,N)、処理S35へ移行する。一方、設計モデルに変更が加えられている場合(S33,Y)、影響テストケース特定部35aは、そのテストケースを要修正テストケースとしてテストモデルに登録する(S34)。
次に、影響テストケース特定部35aは、テストモデル中にまだチェックしていないテストケースがあるか否かの判断を行う(S35)。まだチェックしていないテストケースがある場合(S35,Y)、処理S22へ移行し、次のテストケースを選択する。一方、全てのテストケースをチェックし終えた場合(S35,N)、影響テストケース特定部35aは、要再実行テストケースと要修正テストケースを提示し(S36)、このフローを終了する。
次に、影響テストケース特定処理の第1の具体例について説明する。図11は、本発明に係る影響テストケース特定処理の第1の具体例におけるソースコードモデル中のソースコードを示す図である。図中の矢印で示された部分は、変更文である。図12は、本発明に係る影響テストケース特定処理の第1の具体例における実行トレースモデル中の実行トレースを示す図である。図中の矢印で示された部分は、上述の変更文に対応する実行トレースである。図13は、本発明に係る影響テストケース特定処理の第1の具体例におけるテストモデル中のテストケースを示す図である。図中の矢印で示された部分は、上述の実行トレースに対応するテストケースである。図14は、本発明に係る影響テストケース特定処理の第1の具体例における設計モデル中のユースケースを示す図である。図中の矢印で示された部分は、上述のテストケースに対応するユースケースにおける変更箇所である。
この第1の具体例においては、ソースコードの変更に伴い、テストケース“TC-001-2”に対応するユースケース“UC-001”が変更されていることから、このテストケースは要変更テストケースとして登録され、提示される。具体的には、このテストケースにおける出力データは、「金額=95」に変更する必要がある。
次に、影響テストケース特定処理の第2の具体例について説明する。図15は、本発明に係る影響テストケース特定処理の第2の具体例におけるソースコードモデル中のソースコードを示す図である。図中の矢印で示された部分は、変更文である。図16は、本発明に係る影響テストケース特定処理の第2の具体例における実行トレースモデル中の実行トレースを示す図である。図中の矢印で示された部分は、上述の変更文に対応する実行トレースである。
この第2の具体例においては、ソースコードの変更に伴い、ユースケースが変更されないため、上述の実行トレースに対応するテストケースは、要変更テストケースにならない。
従来、再実行すべきテストケースを特定する技術は存在したが、上述した影響テストケース特定処理のように修正すべきテストケースを特定する技術はなかった。即ち、この影響テストケース特定処理によれば、設計モデルを利用して修正の要否を判断し、設計モデルを提示することにより、ユーザは容易にテストケースの修正を行うことができる。
次に、未抽出テストケース生成処理の動作について説明する。
図17は、本発明に係る未抽出テストケース生成処理の動作の一例を示すフローチャートである。まず、未抽出テストケース生成部35bは、テストモデルの中からマーク付けのチェックをしていないテストケースを一つ選択し(S41)、テストモデル中の対応関係情報を用いてそのテストケースに対応する実行トレースを実行トレースモデルから取得し(S42)、実行トレースモデル中の対応関係情報を用いて、その実行トレースに対応するソースコードをソースコードモデルから取得し、ソースコード上で実行トレースに含まれる文のマーク付けを行う(S43)。
次に、未抽出テストケース生成部35bは、テストモデル中にマーク付けのチェックをしていないテストケースがあるか否かの判断を行う(S44)。まだチェックしていないテストケースがある場合(S44,Y)、処理S41へ移行し、次のテストケースを選択する。一方、全てのテストケースをチェックし終えた場合(S44,Y)、未抽出テストケース生成部35bは、ソースコード内でマーク付けされていない文を検出し、検出された文が連続するブロックを纏めて未実行ブロックとして登録する(S45)。
次に、未抽出テストケース生成部35bは、チェックしていない未実行ブロックを一つ選択し(S51)、未実行ブロックの直前にあるマーク付きの文(未実行ブロック直前文)を取得し(S52)、テストモデルの中から未実行ブロック直前文のチェックをしていないテストケースを一つ選択し(S53)、テストモデル中の対応関係情報を用いて、そのテストケースに対応する実行トレースを実行トレースモデルから取得する(S54)。
次に、未抽出テストケース生成部35bは、その実行トレース中に、未実行ブロック直前文が含まれ、かつ、未実行ブロック直前文が条件文であるか否かの判断を行う(S61)。いずれかを満たさない場合(S61,N)、処理S64へ移行する。一方、未実行ブロック直前文が含まれ、かつ、未実行ブロック直前文が条件文である場合(S61,Y)、未抽出テストケース生成部35bは、その条件文が未実行ブロックを実行するための条件を抽出し(S62)、その未実行ブロックと条件とテストケースの組を登録する(S63)。
次に、未抽出テストケース生成部35bは、まだ未実行ブロック直前文のチェックをしていないテストケースがあるか否かの判断を行う(S64)。まだチェックをしていないテストケースがある場合(S64,Y)、処理S53へ移行し、次のテストケースを選択する。一方、全てのテストケースをチェックし終えた場合(S64,N)、未抽出テストケース生成部35bは、まだチェックをしていない未実行ブロックがあるか否かの判断を行う(S65)。まだチェックをしていない未実行ブロックがある場合(S65,Y)、処理S51へ移行し、次の未実行ブロックを選択する。一方、全ての未実行ブロックをチェックし終えた場合(S65,N)、未抽出テストケース生成部35bは、登録された未実行ブロック、条件、テストケースに基づいて、元にするテストケース、条件、条件文の位置等を含む、未抽出テストケース生成のための情報として表示し(S66)、このフローを終了する。
次に、未抽出テストケース生成処理の具体例について説明する。図18は、本発明に係る未抽出テストケース生成処理の具体例における実行トレースモデル中の実行トレースを示す図である。この実行トレース“trc1”,“trc2”は、行単位で記録された実行トレースである。図19は、本発明に係る未抽出テストケース生成処理の具体例におけるソースコードモデル中のソースコードを示す図である。全ての実行トレース中の文をソースコードにマーク付けすると、図中の枠で囲われた部分(9行目)がマーク付けされない部分である未実行ブロックとして検出され、その直前の矢印で示された部分(8行目)が未実行ブロック直前文として検出される。
図20は、本発明に係る未抽出テストケース生成処理の具体例におけるテストモデル中のテストケースを示す図である。このテストケース“TC-001-1”は、未実行ブロック直前文が現れる実行トレース“trc1”に対応するテストケースである。図21は、本発明に係る未抽出テストケース生成処理の具体例における未抽出テストケースを示す図である。上述した未抽出テストケース生成処理の結果、未抽出テストケース生成のための情報として、元にするテストケース“TC-001-1”、条件、条件文の位置が表示される。
なお、本実施の形態における未抽出テストケース生成処理は、未抽出テストケース生成のための情報を表示し、ユーザによる未抽出テストケース生成を支援するする処理としたが、元にするテストケースや条件に基づいて未抽出テストケースを自動的に生成し、テストモデルに登録する処理としても良い。
従来、実行していないテストケースを特定する技術は存在したが、上述した未抽出テストケース生成処理のように、まだユーザやツールが認識していないテストケースを生成するための技術はなかった。即ち、この未抽出テストケース生成処理によれば、これまで困難であった未抽出テストケースの生成が容易となる。
次に、実装ソースコード特定処理の動作について説明する。
図22は、本発明に係る実装ソースコード特定処理の動作の一例を示すフローチャートである。まず、実装ソースコード特定部35cは、ユーザの指示に従って、設計モデル中の要素(ユースケース、シーケンス図等)を指定する(S71)。次に、実装ソースコード特定部35cは、設計モデルの対応関係情報を用いて、その要素に対応するテストケースをすべて特定してテストモデルから取得する(S72)。次に、実装ソースコード特定部35cは、テストモデル中の対応関係情報を用いて、取得した個々のテストケースに対応する実行トレースをすべて特定して実行トレースモデルから取得する(S73)。次に、実装ソースコード特定部35cは、実行トレースモデル中の対応関係情報を用いて、個々の実行トレースに対応するソースコードをすべて特定してソースコードモデルから取得する(S74)。次に、実装ソースコード特定部35cは、取得したソースコードを、指定された設計モデルの要素を実装するソースコードとして表示し(S75)、このフローを終了する。
上述した実装ソースコード特定処理によれば、対応関係の管理された各モデルを、設計モデル、テストモデル、実行トレースモデル、ソースコードモデルの順に辿ることにより、ユーザが設計モデル中の要素からそれを実装するソースコードを容易に知ることができ、設計やテストの効率を向上させることができる。
次に、対応設計モデル特定処理の動作について説明する。
図23は、本発明に係る対応設計モデル特定処理の動作の一例を示すフローチャートである。まず、対応設計モデル特定部35dは、ユーザの指示に従って、ソースコードの要素を指定する(S81)。次に、対応設計モデル特定部35dは、ソースコードモデルの対応関係情報を用いて、その要素が実行された実行トレースをすべて特定して実行トレースモデルから取得する(S82)。次に、対応設計モデル特定部35dは、実行トレースモデルの対応関係情報を用いて、個々の実行トレースに対応するテストケースをすべて特定してテストモデルから取得する(S83)。次に、対応設計モデル特定部35dは、テストモデルの対応関係情報を用いて、個々のテストケースに対応する設計モデルの要素(ユースケース、シーケンス図等)をすべて特定して設計モデルから取得する(S84)。次に、対応設計モデル特定部35dは、取得した設計モデルの要素を、指定されたソースコードの要素に対応する設計モデルの要素として表示し(S85)、このフローを終了する。
上述した対応設計モデル特定処理によれば、対応関係の管理された各モデルを、ソースコードモデル、実行トレースモデル、テストモデル、設計モデルの順に辿ることにより、ユーザがソースコードモデル中の要素からそれに対応する設計モデルの要素を容易に知ることができ、設計やテストの効率を向上させることができる。
更に、ソフトウェアテスト管理装置を構成するコンピュータにおいて上述した各ステップを実行させるプログラムを、ソフトウェアテスト管理プログラムとして提供することができる。上述したプログラムは、コンピュータにより読取り可能な記録媒体に記憶させることによって、ソフトウェアテスト管理装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、ROMやRAM等のコンピュータに内部実装される内部記憶装置、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
なお、設計モデル登録ステップは、実施の形態における処理S11に対応する。また、ソースコード登録ステップは、実施の形態における処理S12に対応する。また、テストモデル登録ステップは、実施の形態における処理S13,S14,S15に対応する。また、実行トレース登録ステップは、実施の形態における処理S16に対応する。
(付記1) ソフトウェアテストに関する情報の管理をコンピュータに実行させるソフトウェアテスト管理プログラムであって、
ユースケースを含む設計モデルを登録する設計モデル登録ステップと、
前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録ステップと、
前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録ステップと、
前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録ステップと、
前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理ステップと
をコンピュータに実行させるソフトウェアテスト管理プログラム。
(付記2) 付記1に記載のソフトウェアテスト管理プログラムにおいて、
更に、前記モデル関係管理ステップの後、変更されたソースコードの変更部分を特定し、前記モデル関係管理ステップによる追跡に基づいて、該変更部分が含まれた実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素に変更がある場合、該テストケースを要修正テストケースとして出力する影響テストケース特定ステップをコンピュータに実行させることを特徴とするソフトウェアテスト管理プログラム。
(付記3) 付記1に記載のソフトウェアテスト管理プログラムにおいて、
更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、全ての実行トレースとソースコードとの対応位置の比較を行うことにより実行されていないソースコードの部分を検出して未実行ブロックとし、該ソースコードから未実行ブロックの実行の有無を決定する条件文を検出し、前記モデル関係管理ステップによる追跡に基づいて、該条件文が実行された実行トレースと、該実行トレースに対応するテストケースとをそれぞれ検出し、該条件文により未実行ブロックが実行されるための条件を決定し、新たに作成すべきテストケースの元情報として該テストケースと該条件を出力する未抽出テストケース生成ステップをコンピュータに実行させることを特徴とするソフトウェアテスト管理プログラム。
(付記4) 付記1に記載のソフトウェアテスト管理プログラムにおいて、
更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、前記設計モデル中の指定された要素に対応するテストケースと、該テストケースに対応する実行トレースと、該実行トレースに対応するソースコードとをそれぞれ検出し、該ソースコードを出力する実装ソースコード特定ステップをコンピュータに実行させることを特徴とするソフトウェアテスト管理プログラム。
(付記5) 付記1に記載のソフトウェアテスト管理プログラムにおいて、
更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、前記ソースコード中の指定された要素が実行された実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素を出力する対応設計モデル特定ステップをコンピュータに実行させることを特徴とするソフトウェアテスト管理プログラム。
(付記6) 付記3に記載のソフトウェアテスト管理プログラムにおいて、
前記未抽出テストケース生成ステップは更に、新たなテストケースを生成するための情報として、検出されたテストケースと決定した条件とテストケースに対応する設計モデルの要素とを出力することを特徴とするソフトウェアテスト管理プログラム。
(付記7) ソフトウェアテストに関する情報の管理を行うソフトウェアテスト管理装置であって、
ユースケースを含む設計モデルを登録する設計モデル登録部と、
前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録部と、
前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録部と、
前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録部と、
前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理部と
を備えるソフトウェアテスト管理装置。
(付記8) 付記7に記載のソフトウェアテスト管理装置において、
更に、変更されたソースコードの変更部分を特定し、前記モデル関係管理部による追跡に基づいて、該変更部分が含まれた実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素に変更がある場合、該テストケースを要修正テストケースとして出力する影響テストケース特定部を備えることを特徴とするソフトウェアテスト管理装置。
(付記9) 付記7に記載のソフトウェアテスト管理装置において、
更に、前記モデル関係管理部による追跡に基づいて、全ての実行トレースとソースコードとの対応位置の比較を行うことにより実行されていないソースコードの部分を検出して未実行ブロックとし、該ソースコードから未実行ブロックの実行の有無を決定する条件文を検出し、前記モデル関係管理部による追跡に基づいて、該条件文が実行された実行トレースと、該実行トレースに対応するテストケースとをそれぞれ検出し、該条件文により未実行ブロックが実行されるための条件を決定し、新たに作成すべきテストケースの元情報として該テストケースと該実行を出力する未抽出テストケース生成部を備えることを特徴とするソフトウェアテスト管理装置。
(付記10) 付記7に記載のソフトウェアテスト管理装置において、
更に、前記モデル関係管理部による追跡に基づいて、前記設計モデル中の指定された要素に対応するテストケースと、該テストケースに対応する実行トレースと、該実行トレースに対応するソースコードとをそれぞれ検出し、該ソースコードを出力する実装ソースコード特定部を備えることを特徴とするソフトウェアテスト管理装置。
(付記11) 付記7に記載のソフトウェアテスト管理装置において、
更に、前記モデル関係管理部による追跡に基づいて、前記ソースコード中の指定された要素が実行された実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素を出力する対応設計モデル特定部を備えることを特徴とするソフトウェアテスト管理装置。
(付記12) 付記9に記載のソフトウェアテスト管理装置において、
前記未抽出テストケース生成部は更に、新たなテストケースを生成するための情報として、検出されたテストケースと決定した条件とテストケースに対応する設計モデルの要素とを出力することを特徴とするソフトウェアテスト管理装置。
(付記13) ソフトウェアテストに関する情報の管理を行うソフトウェアテスト管理方法であって、
ユースケースを含む設計モデルを登録する設計モデル登録ステップと、
前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録ステップと、
前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録ステップと、
前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録ステップと、
前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理ステップと
を実行するソフトウェアテスト管理方法。
(付記14) 付記13に記載のソフトウェアテスト管理方法において、
更に、前記モデル関係管理ステップの後、変更されたソースコードの変更部分を特定し、前記モデル関係管理ステップによる追跡に基づいて、該変更部分が含まれた実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素に変更がある場合、該テストケースを要修正テストケースとして出力する影響テストケース特定ステップを実行することを特徴とするソフトウェアテスト管理方法。
(付記15) 付記13に記載のソフトウェアテスト管理方法において、
更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、全ての実行トレースとソースコードとの対応位置の比較を行うことにより実行されていないソースコードの部分を検出して未実行ブロックとし、該ソースコードから未実行ブロックの実行の有無を決定する条件文を検出し、前記モデル関係管理ステップによる追跡に基づいて、該条件文が実行された実行トレースと、該実行トレースに対応するテストケースとをそれぞれ検出し、該条件文により未実行ブロックが実行されるための条件を決定し、新たに作成すべきテストケースの元情報として該テストケースと該実行を出力する未抽出テストケース生成ステップを実行することを特徴とするソフトウェアテスト管理方法。
(付記16) 付記13に記載のソフトウェアテスト管理方法において、
更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、前記設計モデル中の指定された要素に対応するテストケースと、該テストケースに対応する実行トレースと、該実行トレースに対応するソースコードとをそれぞれ検出し、該ソースコードを出力する実装ソースコード特定ステップを実行することを特徴とするソフトウェアテスト管理方法。
(付記17) 付記13に記載のソフトウェアテスト管理方法において、
更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、前記ソースコード中の指定された要素が実行された実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素を出力する対応設計モデル特定ステップを実行することを特徴とするソフトウェアテスト管理方法。
(付記18) 付記15に記載のソフトウェアテスト管理方法において、
前記未抽出テストケース生成ステップは更に、新たなテストケースを生成するための情報として、検出されたテストケースと決定した条件とテストケースに対応する設計モデルの要素とを出力することを特徴とするソフトウェアテスト管理方法。
本発明に係るソフトウェアテスト管理装置の構成の一例を示すブロック図である。 本発明に係る設計モデルの構成の一例を示す図である。 本発明に係るテストモデルの構成の一例を示す図である。 本発明に係る実行トレースモデルの構成の一例を示す図である。 本発明に係るソースコードモデルの構成の一例を示す図である。 本発明に係るモデルアクセスインタフェースの一例を示すソースコードである。 本発明に係るモデルアクセスインタフェースを使用したテスト支援プログラムの一例を示すソースコードである。 本発明に係るモデルアクセスインタフェースを用いて得られる対応関係の一例を示す図である。 本発明に係るソフトウェアテスト管理装置における基本テスト処理の動作の一例を示すフローチャートである。 本発明に係る影響テストケース特定処理の動作の一例を示すフローチャートである。 本発明に係る影響テストケース特定処理の第1の具体例におけるソースコードモデル中のソースコードを示す図である。 本発明に係る影響テストケース特定処理の第1の具体例における実行トレースモデル中の実行トレースを示す図である。 本発明に係る影響テストケース特定処理の第1の具体例におけるテストモデル中のテストケースを示す図である。 本発明に係る影響テストケース特定処理の第1の具体例における設計モデル中のユースケースを示す図である。 本発明に係る影響テストケース特定処理の第2の具体例におけるソースコードモデル中のソースコードを示す図である。 本発明に係る影響テストケース特定処理の第2の具体例における実行トレースモデル中の実行トレースを示す図である。 本発明に係る未抽出テストケース生成処理の動作の一例を示すフローチャートである。 本発明に係る未抽出テストケース生成処理の具体例における実行トレースモデル中の実行トレースを示す図である。 本発明に係る未抽出テストケース生成処理の具体例におけるソースコードモデル中のソースコードを示す図である。 本発明に係る未抽出テストケース生成処理の具体例におけるテストモデル中のテストケースを示す図である。 本発明に係る未抽出テストケース生成処理の具体例における未抽出テストケースを示す図である。 本発明に係る実装ソースコード特定処理の動作の一例を示すフローチャートである。 本発明に係る対応設計モデル特定処理の動作の一例を示すフローチャートである。
符号の説明
11 モデルアクセスインタフェース、12 モデル関係管理インタフェース、13 基本テスト部、14 拡張テスト部、21 設計モデル記憶部、22 テストモデル記憶部、23 実行トレースモデル記憶部、24 ソースコードモデル記憶部、31 設計モデル登録部、32 テストモデル登録部、33 実行トレース登録部、34 ソースコード登録部、35a 影響テストケース特定部、35b 未抽出テストケース生成部、35c 実装ソースコード特定部、35d 対応設計モデル特定部。

Claims (10)

  1. ソフトウェアテストに関する情報の管理をコンピュータに実行させるソフトウェアテスト管理プログラムであって、
    ユースケースを含む設計モデルを登録する設計モデル登録ステップと、
    前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録ステップと、
    前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録ステップと、
    前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録ステップと、
    前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理ステップと
    をコンピュータに実行させるソフトウェアテスト管理プログラム。
  2. 請求項1に記載のソフトウェアテスト管理プログラムにおいて、
    更に、前記モデル関係管理ステップの後、変更されたソースコードの変更部分を特定し、前記モデル関係管理ステップによる追跡に基づいて、該変更部分が含まれた実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素に変更がある場合、該テストケースを要修正テストケースとして出力する影響テストケース特定ステップをコンピュータに実行させることを特徴とするソフトウェアテスト管理プログラム。
  3. 請求項1に記載のソフトウェアテスト管理プログラムにおいて、
    更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、全ての実行トレースとソースコードとの対応位置の比較を行うことにより実行されていないソースコードの部分を検出して未実行ブロックとし、該ソースコードから未実行ブロックの実行の有無を決定する条件文を検出し、前記モデル関係管理ステップによる追跡に基づいて、該条件文が実行された実行トレースと、該実行トレースに対応するテストケースとをそれぞれ検出し、該条件文により未実行ブロックが実行されるための条件を決定し、新たに作成すべきテストケースの元情報として該テストケースと該条件を出力する未抽出テストケース生成ステップをコンピュータに実行させることを特徴とするソフトウェアテスト管理プログラム。
  4. 請求項1に記載のソフトウェアテスト管理プログラムにおいて、
    更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、前記設計モデル中の指定された要素に対応するテストケースと、該テストケースに対応する実行トレースと、該実行トレースに対応するソースコードとをそれぞれ検出し、該ソースコードを出力する実装ソースコード特定ステップをコンピュータに実行させることを特徴とするソフトウェアテスト管理プログラム。
  5. 請求項1に記載のソフトウェアテスト管理プログラムにおいて、
    更に、前記モデル関係管理ステップの後、前記モデル関係管理ステップによる追跡に基づいて、前記ソースコード中の指定された要素が実行された実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素を出力する対応設計モデル特定ステップをコンピュータに実行させることを特徴とするソフトウェアテスト管理プログラム。
  6. 請求項3に記載のソフトウェアテスト管理プログラムにおいて、
    前記未抽出テストケース生成ステップは更に、新たなテストケースを生成するための情報として、検出されたテストケースと決定した条件とテストケースに対応する設計モデルの要素とを出力することを特徴とするソフトウェアテスト管理プログラム。
  7. ソフトウェアテストに関する情報の管理を行うソフトウェアテスト管理装置であって、
    ユースケースを含む設計モデルを登録する設計モデル登録部と、
    前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録部と、
    前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録部と、
    前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録部と、
    前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理部と
    を備えるソフトウェアテスト管理装置。
  8. 請求項7に記載のソフトウェアテスト管理装置において、
    更に、変更されたソースコードの変更部分を特定し、前記モデル関係管理部による追跡に基づいて、該変更部分が含まれた実行トレースと、該実行トレースに対応するテストケースと、該テストケースに対応する設計モデルの要素とをそれぞれ検出し、該設計モデルの要素に変更がある場合、該テストケースを要修正テストケースとして出力する影響テストケース特定部を備えることを特徴とするソフトウェアテスト管理装置。
  9. 請求項7に記載のソフトウェアテスト管理装置において、
    更に、前記モデル関係管理部による追跡に基づいて、全ての実行トレースとソースコードとの対応位置の比較を行うことにより実行されていないソースコードの部分を検出して未実行ブロックとし、該ソースコードから未実行ブロックの実行の有無を決定する条件文を検出し、前記モデル関係管理部による追跡に基づいて、該条件文が実行された実行トレースと、該実行トレースに対応するテストケースとをそれぞれ検出し、該条件文により未実行ブロックが実行されるための条件を決定し、新たに作成すべきテストケースの元情報として該テストケースと該条件を出力する未抽出テストケース生成部を備えることを特徴とするソフトウェアテスト管理装置。
  10. ソフトウェアテストに関する情報の管理を行うソフトウェアテスト管理方法であって、
    ユースケースを含む設計モデルを登録する設計モデル登録ステップと、
    前記設計モデルに基づいて作成されたソースコードを登録するソースコード登録ステップと、
    前記設計モデル中のユースケースに対応して作成されたテストケースとテストデータをテストモデルとして登録すると共に、前記設計モデルと前記テストモデルの間の対応関係を登録するテストモデル登録ステップと、
    前記テストモデル中のテストケースに従って前記ソースコードを実行して得られた、テストケース毎の実行トレースを登録すると共に、前記テストモデルと前記実行トレースの間の対応関係を登録し、前記実行トレースと前記ソースコードの間の対応関係を登録する実行トレース登録ステップと、
    前記設計モデルとテストモデルの間の対応関係、前記テストモデルと実行トレースの間の対応関係、前記実行トレースとソースコードの間の対応関係に基づいて、前記設計モデル、前記テストモデル、前記実行トレース、前記ソースコードの間の対応関係を追跡するモデル関係管理ステップと
    を実行するソフトウェアテスト管理方法。
JP2005328281A 2005-11-14 2005-11-14 ソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法 Expired - Fee Related JP4516001B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005328281A JP4516001B2 (ja) 2005-11-14 2005-11-14 ソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法
US11/353,026 US7882493B2 (en) 2005-11-14 2006-02-14 Software test management program software test management apparatus and software test management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005328281A JP4516001B2 (ja) 2005-11-14 2005-11-14 ソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法

Publications (2)

Publication Number Publication Date
JP2007133800A true JP2007133800A (ja) 2007-05-31
JP4516001B2 JP4516001B2 (ja) 2010-08-04

Family

ID=38155384

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005328281A Expired - Fee Related JP4516001B2 (ja) 2005-11-14 2005-11-14 ソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法

Country Status (2)

Country Link
US (1) US7882493B2 (ja)
JP (1) JP4516001B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159008A (ja) * 2010-01-29 2011-08-18 Renesas Electronics Corp プログラムテスト装置およびプログラムテスト方法
KR101408870B1 (ko) 2012-11-06 2014-06-17 대구교육대학교산학협력단 Uml sd로부터 mccfg를 기반으로 하는 다단계 테스트 케이스 생성장치 및 방법
US9164878B2 (en) 2010-12-24 2015-10-20 International Business Machines Corporation Evaluating coverage of a software test
JP2015215647A (ja) * 2014-05-07 2015-12-03 株式会社エヌ・ティ・ティ・データ ソフトウェア開発支援装置、ソフトウェア開発支援方法、およびプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090288066A1 (en) * 2008-02-12 2009-11-19 Electronics And Telecommunications Research Institute Editing apparatus and method for test driven development
US8463760B2 (en) * 2008-09-04 2013-06-11 At&T Intellectual Property I, L. P. Software development test case management
US20100070231A1 (en) * 2008-09-05 2010-03-18 Hanumant Patil Suhas System and method for test case management
US20100333073A1 (en) * 2009-06-29 2010-12-30 Honeywell International Inc. Systems and methods for automated generation of software tests based on modeling the software test domain
US8140904B2 (en) * 2009-11-02 2012-03-20 Verizon Patent And Licensing Inc. Application portal testing
US8386207B2 (en) 2009-11-30 2013-02-26 International Business Machines Corporation Open-service based test execution frameworks
US9134977B2 (en) * 2010-02-26 2015-09-15 Red Hat, Inc. Compiler operation for handling conditional statements
US8930908B2 (en) * 2010-12-20 2015-01-06 Sap Se Aspect and system landscape capability-driven automatic testing of software applications
US11100450B2 (en) * 2016-02-26 2021-08-24 International Business Machines Corporation Document quality inspection
US10482000B2 (en) * 2017-04-24 2019-11-19 Microsoft Technology Licensing, Llc Machine learned decision guidance for alerts originating from monitoring systems

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07210424A (ja) 1994-01-14 1995-08-11 Toshiba Corp ソフトウェアテスト支援システム
CA2147036A1 (en) 1994-05-16 1995-11-17 Yih-Farn Robin Chen System and method for selective regression testing
JPH09223040A (ja) 1996-02-16 1997-08-26 Nippon Steel Corp ソフトウェアのシステムテスト支援装置およびこれに用いるテストシナリオ生成装置
JPH10254930A (ja) 1997-03-11 1998-09-25 Matsushita Electric Ind Co Ltd 半導体素子の機能検証装置及びその機能検証方法
JPH1115693A (ja) 1997-05-01 1999-01-22 Nippon Steel Corp ソフトウェアのテスト装置および記録媒体
JP2000347900A (ja) * 1999-06-02 2000-12-15 Fujitsu Ltd 入力パラメータ生成装置、その方法及び記録媒体
US6725399B1 (en) * 1999-07-15 2004-04-20 Compuware Corporation Requirements based software testing method
WO2001022228A1 (en) * 1999-09-17 2001-03-29 Nortel Networks Limited System and method for producing a verification system for verifying procedure interfaces
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
JP2002014847A (ja) 2000-06-30 2002-01-18 Toshiba Corp プログラム検査装置、プログラム検査方法及び検査を行うためのプログラムを格納した記録媒体
US20030003432A1 (en) * 2001-05-16 2003-01-02 Kinzhalin Arzhan I System and method for automated assertion acquisition in a Java compatibility testing environment
US7243090B2 (en) * 2001-05-16 2007-07-10 Sun Microsystems, Inc. System and method for specification tracking in a Java compatibility testing environment
US6966013B2 (en) * 2001-07-21 2005-11-15 International Business Machines Corporation Method and system for performing automated regression tests in a state-dependent data processing system
US7266808B2 (en) * 2001-08-10 2007-09-04 Parasoft Corporation Method and system for dynamically invoking and/or checking conditions of a computer test program
US20030097650A1 (en) * 2001-10-04 2003-05-22 International Business Machines Corporation Method and apparatus for testing software
US20030093716A1 (en) * 2001-11-13 2003-05-15 International Business Machines Corporation Method and apparatus for collecting persistent coverage data across software versions
US7299382B2 (en) * 2002-04-29 2007-11-20 Sun Microsystems, Inc. System and method for automatic test case generation
US7167870B2 (en) * 2002-05-08 2007-01-23 Sun Microsystems, Inc. Software development test case maintenance
US20040073890A1 (en) * 2002-10-09 2004-04-15 Raul Johnson Method and system for test management
US7596778B2 (en) * 2003-07-03 2009-09-29 Parasoft Corporation Method and system for automatic error prevention for computer software
JP2007535723A (ja) * 2003-11-04 2007-12-06 キンバリー クラーク ワールドワイド インコーポレイテッド 複合ソフトウエアシステムを実施して検証するための自動多次元追跡可能性行列を含む試験ツール
US20050223361A1 (en) * 2004-04-01 2005-10-06 Belbute John L Software testing based on changes in execution paths
US7503037B2 (en) * 2004-04-02 2009-03-10 Bea Systems, Inc. System and method for identifying bugs in software source code, using information from code coverage tools and source control tools to determine bugs introduced within a time or edit interval
US20050229159A1 (en) * 2004-04-12 2005-10-13 Microsoft Corporation Version aware test management system and method
GB0410047D0 (en) * 2004-05-05 2004-06-09 Silverdata Ltd An analytical software design system
US20060041864A1 (en) * 2004-08-19 2006-02-23 International Business Machines Corporation Error estimation and tracking tool for testing of code
US20060248405A1 (en) * 2005-03-21 2006-11-02 Ponczak Joseph M Method for automating unit test development

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011159008A (ja) * 2010-01-29 2011-08-18 Renesas Electronics Corp プログラムテスト装置およびプログラムテスト方法
US9164878B2 (en) 2010-12-24 2015-10-20 International Business Machines Corporation Evaluating coverage of a software test
KR101408870B1 (ko) 2012-11-06 2014-06-17 대구교육대학교산학협력단 Uml sd로부터 mccfg를 기반으로 하는 다단계 테스트 케이스 생성장치 및 방법
JP2015215647A (ja) * 2014-05-07 2015-12-03 株式会社エヌ・ティ・ティ・データ ソフトウェア開発支援装置、ソフトウェア開発支援方法、およびプログラム

Also Published As

Publication number Publication date
JP4516001B2 (ja) 2010-08-04
US20070174711A1 (en) 2007-07-26
US7882493B2 (en) 2011-02-01

Similar Documents

Publication Publication Date Title
JP4516001B2 (ja) ソフトウェアテスト管理プログラム、ソフトウェアテスト管理装置、ソフトウェアテスト管理方法
US7340475B2 (en) Evaluating dynamic expressions in a modeling application
US20140365990A1 (en) Software evaluation device and method
US20140304688A1 (en) Method and system for generating and processing black box test cases
US20080184206A1 (en) Computer-implemented methods and systems for generating software testing documentation and test results management system using same
US7908583B2 (en) Evidentiary enrichment of traceability links between software specification requirements
US20170097812A1 (en) Automated and heuristically managed solution to quantify cpu and path length cost of instructions added, changed or removed by a service team
Marijan et al. Titan: Test suite optimization for highly configurable software
US20080307387A1 (en) Software development apparatus and method for providing performance prediction
JP2012208830A (ja) プログラムテスト装置、プログラムテスト方法、およびプログラム
JP2008191963A (ja) ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム
US8145992B2 (en) Validation assisted document conversion design
CN112241370B (zh) 一种api接口类的校验方法、系统及装置
JP4867864B2 (ja) 性能データ収集・表示システム、性能データ表示装置、そのプログラム
Lübke et al. Analysis of data-flow complexity and architectural implications
KR20190020363A (ko) 동적 분석과 정적 분석을 연계한 프로그램을 분석하기 위한 방법 및 장치
Tahir et al. Maintainability dynamic metrics data collection based on aspect-oriented technology
JP5743663B2 (ja) テスト支援システム、テスト支援方法、及びプログラム
JP2016167180A (ja) デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム
JP2016143107A (ja) ソースコード評価システム及び方法
Vieira et al. Metrics to measure the change impact in ATL model transformations
WO2012049816A1 (ja) モデル検査装置、方法及びプログラム
Fernández-Ropero et al. Repairing business process models as retrieved from source code
CN111522752A (zh) 程序测试方法、程序测试装置、存储介质和电子设备
CN110389887B (zh) 代码检测系统及方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100412

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: 20100511

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100513

R150 Certificate of patent or registration of utility model

Ref document number: 4516001

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130521

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees