(57)【特許請求の範囲】
【請求項１】
テスト実行計画を自動的に生成するための方法であって、
テスト対象ソフトウェア・アプリケーションに対する複数のユーザ設定テストパラメータをテスト実行計画生成ツールにより受け取るステップであって、前記複数のユーザ設定テストパラメータが、前記テスト実行計画生成ツールに関連付けられた事前定義テスト実行計画データモデル内に収容された少なくとも１つの項目と相関し、前記ソフトウェア・アプリケーションに対する少なくとも１つのテスト目標が、前記ユーザ設定可能なテストパラメータにより定義される、ステップと、
前記複数のユーザ設定テストパラメータ及び前記事前定義テスト実行計画データモデルを利用してテスト実行計画を自動的に生成するステップであって、前記事前定義テスト実行計画データモデルが、前記テスト対象ソフトウェア・アプリケーションを評価するために用いられるソフトウェアテスト・システムに対するテスト・メタデータを含み、前記テスト・メタデータが、テスト対象により共有されるテストセンタの有限共有リソースの詳細を指定し、前記生成されたテスト実行計画が、前記ソフトウェア・アプリケーションに対する前記少なくとも１つのテスト目標を満たすために前記ソフトウェア・アプリケーションのテストの少なくとも１つのフェーズ専用とされる前記有限共有リソースの特定の割振りを詳述する、ステップと、
を含む方法。
【請求項２】
前記テスト実行計画を生成するステップが、
前記受け取った複数のユーザ設定テストパラメータを少なくとも１つの生成規則に変換するステップであって、前記少なくとも１つの生成規則が、データ照会制約及びデータ合成制約のうちの少なくとも一方として分類される、ステップと、
前記事前定義テスト実行計画データモデルを、前記複数のユーザ設定テストパラメータに適用可能な少なくとも１つのテスト・メタデータ項目について照会するステップと、
前記少なくとも１つのテスト・メタデータ項目を合成して少なくとも１つの実行割当てにするステップであって、前記少なくとも１つの実行割当てが、割り当てられたソフトウェア・テスタにより行われる少なくとも１つのテスト・アクティビティについての情報を定義する、ステップと、
前記少なくとも１つの合成された実行割当てをコンパイルして、前記テスト実行計画にするステップと、
をさらに含む請求項１に記載の方法。
【請求項３】
前記受け取った複数のユーザ設定テストパラメータを変換するステップが、
ユーザ定義された優先順位値を前記少なくとも１つの生成規則に適用するステップであって、前記ユーザ定義された優先順位値が、生成規則についての実行の優先度を定量化する、ステップと、
前記少なくとも１つの生成規則の実行順序を前記ユーザ定義された優先順位値に従って調整するステップと、
をさらに含む請求項２に記載の方法。
【請求項４】
前記事前定義テスト実行計画データモデルを照会するステップが、前記データ照会制約として分類された生成規則を利用し、前記少なくとも１つのテスト・メタデータ項目を合成するステップが、前記データ合成制約として分類された生成規則を利用する、請求項２に記載の方法。
【請求項５】
前記生成されたテスト実行計画を、ユーザフィードバックのために前記テスト実行計画生成ツールのユーザインターフェース内に提示するステップであって、前記ユーザフィードバックが、確認、修正、及び却下のうちの少なくとも１つを含む、ステップと、
前記ユーザフィードバックを受け取ると、前記少なくとも１つの実行割当てを少なくとも１つの割り当てられたソフトウェア・テスタに自動的に分散させるステップであって、各々の割り当てられたテスタが、前記有限共有リソースのうちの１つである、随意のステップと、
をさらに含む請求項１に記載の方法。
【請求項６】
前記複数のユーザ設定テストパラメータに結合された前記生成されたテスト実行計画を格納して、標準化されたテスト実行計画履歴にエントリを追加するステップ
をさらに含む請求項１に記載の方法。
【請求項７】
前記標準化されたテスト実行計画履歴を含む前記格納されたテスト実行計画を解析して、少なくとも１つのテスト報告を生成するステップであって、前記報告が、前記標準化されたテスト実行計画履歴を解析することにより求められたいずれかのテストカバレッジの空白箇所（テスト漏れ）の指標を与える、ステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記複数のユーザ設定テストパラメータが、前記テスト対象ソフトウェア・アプリケーション名、前記テスト対象ソフトウェア・アプリケーションのバージョン、テスト型式、テスト環境、ソフトウェア・テスタ名、名前なしソフトウェア・テスタのスキルの組、前記テスト対象ソフトウェア・アプリケーションのコンポーネント名、テストカバレッジ値、テスト開始日、及びテスト持続時間からなるパラメータの群からの少なくとも３つのパラメータを含む、請求項１に記載の方法。
【請求項９】
テスト実行計画を生成した後で、前記複数のユーザ設定テストパラメータのうちの少なくとも１つを修正するユーザフィードバックを受け取るステップと、
前記修正されたユーザ設定テストパラメータに基づいて新しいテスト実行計画を生成するステップと、
をさらに含む請求項１に記載の方法。
【請求項１０】
前記自動的に生成されたテスト実行計画を含む、複数の異なるバージョンの自動的に生成されたテスト実行計画が存在するかどうか判断するステップと、
前記異なるバージョンの前記自動的に生成されたテスト実行計画を解析し、ユーザ可読報告のユーザインターフェースのうちの少なくとも１つにおいて解析結果を提示するステップであって、前記解析結果が、前記異なるバージョンの前記自動的に生成されたテスト実行計画の比較を含む、ステップと、
をさらに含む請求項１に記載の方法。
【請求項１１】
テスト実行計画を自動的に生成するためのシステムであって、
ソフトウェアテスト・システム内で評価されるテスト対象ソフトウェア・アプリケーションに対するテスト要求を定義する複数のユーザ設定テストパラメータであって、ソフトウェア・アプリケーションに対する少なくとも１つのテスト目標が、前記ユーザ設定可能テストパラメータにより定義される、複数のユーザ設定テストパラメータと、
前記テスト対象ソフトウェア・アプリケーションに対するテスト実行計画を生成するための複数のテスト・メタデータを定義する事前定義テスト実行計画データモデルであって、前記テスト・メタデータが、テスト対象により共有されるテストセンタの有限共有リソースの詳細を指定し、前記生成されたテスト実行計画が、前記ソフトウェア・アプリケーションに対する前記少なくとも１つのテスト目標を満たすために前記ソフトウェア・アプリケーションのテストの少なくとも１つのフェーズ専用とされる前記有限共有リソースの特定の割振りを詳述する、事前定義テスト  実行計画データモデルと、
前記複数のユーザ設定テストパラメータ及び前記事前定義テスト実行計画データモデルを利用して、前記テスト対象ソフトウェア・アプリケーションに対する前記テスト実行計画を自動的に生成するように構成されたテスト実行計画生成ツールであって、各々の生成されたテスト実行計画が、前記ソフトウェア・アプリケーションに対する前記少なくとも１つのテスト目標を満たすために前記ソフトウェア・アプリケーションのテストの少なくとも１つのフェーズ専用とされる前記有限共有リソースの特定の割振りを詳述する、テスト実行計画生成ツールと、
を含むシステム。
【請求項１２】
前記テスト実行計画生成ツールが、
データを受け取り、かつ提示するためのユーザ対話機構を提供するように構成されたユーザインターフェースと、
前記テスト実行計画に対する少なくとも１つの実行割当てを合成するように構成されたデータ処理コンポーネントと、
前記テスト実行計画生成ツールのユーザ設定可能システムデータに対するアクセスを与えるように構成された管理コンポーネントと、
前記テスト実行計画、前記複数のユーザ設定テストパラメータ、及び前記テスト実行計画データモデルのうちの少なくとも１つについての少なくとも１つのユーザ選択された報告を生成するように構成された報告コンポーネントと、
前記事前定義テスト実行計画データモデル及び各々の生成されたテスト実行計画を関連付けられたユーザ設定テストパラメータと共に格納するように構成された物理的格納媒体であるデータ格納部と、
をさらに含む請求項１１に記載のシステム。
【請求項１３】
前記データ処理コンポーネントが、格納されたテスト実行計画に対してデータ解析操作を実行するようにさらに構成された、請求項１２に記載のシステム。
【請求項１４】
前記データ処理コンポーネントが、
前記複数のユーザ設定テストパラメータを少なくとも１つの生成規則に変換するように構成された規則トランスレータをさらに含み、前記少なくとも１つの生成規則が、前記事前定義テスト実行計画データモデルに対して、前記テスト実行計画生成ツールによって実行されることが可能なユーザ設定テストパラメータの表現である、請求項１２に記載のシステム。
【請求項１５】
少なくとも１つのユーザ設定テストパラメータに関連付けられた少なくとも１つのユーザ定義された値を有する、前記ユーザインターフェース内からアクセス可能な複数のカスタマイズ可能な生成規則テンプレートをさらに含み、カスタマイズ可能な生成規則テンプレートのユーザ選択により、前記少なくとも１つのユーザ設定テストパラメータを前記少なくとも１つのユーザ定義された値と共に自動的に取り込む、請求項１４に記載のシステム。
【請求項１６】
前記報告コンポーネントが、
前記テスト実行計画内で特定された各ソフトウェア・テスタに電子通知メッセージを伝達するように構成された通知ハンドラをさらに含み、前記電子通知メッセージが、ソフトウェア・テスタと関連付けられた前記少なくとも１つの実行割当てを収容する、請求項１２に記載のシステム。
【請求項１７】
前記複数のユーザ設定テストパラメータが、前記テスト対象ソフトウェア・アプリケーション名、前記テスト対象ソフトウェア・アプリケーションのバージョン、テスト型式、テスト環境、ソフトウェア・テスタ名、名前なしソフトウェア・テスタのスキルの組、前記テスト対象ソフトウェア・アプリケーションのコンポーネント名、テストカバレッジ値、テスト開始日、及びテスト持続時間のうちの少なくとも４つを含む、請求項１１に記載のシステム。
【請求項１８】
請求項１から請求項１０のいずれか１つに記載の方法の各ステップをコンピュータに実行させる、コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアテストの分野に関し、より具体的には、自動化されたテスト実行計画の生成に関する。
【背景技術】
【０００２】
ソフトウェアテストは、ソフトウェア開発の重要な要素である。ソフトウェアテストの管理及び／又は性能を補助するために、様々な自動化されたソフトウェア・ツールが存在する。例えば、自動化されたテストツールは、ソフトウェアの使用をシミュレートする事前定義されたスクリプトを実行する。その他のツールは、テストケース及びプロジェクトのタイムラインといった種々のテストプロセスのアーチファクトの生成に的を絞っている。
【０００３】
しかしながら、これらのツールにもかかわらず、従来のテスト実行計画の作成は、依然として手動のプロセスである。テスト実行計画の生成には、多数の要因を考慮することが必要とされ、これらの要因は、ソフトウェアテスト・システムの外部にあるシステムに格納されていることが多い。例えば、ソフトウェア・テスタの可用性を判断するには、プロジェクト管理及び／又はカレンダー・プログラムを調べることが必要になるが、その一方で、テスト関連情報は、ソフトウェアテスト・システム内に収容されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このプロセスは、手動であるというその性質のために、時間がかかり、かつ人為エラーの影響を受け易い。同じデータ及びパラメータに基づいても、作業員が異なると、異なるテスト実行計画を生成することが可能である。さらに、異なるテスト実行計画は、異種のフォーマットで格納されることもあり得る。このような標準化の欠如は、テストカバレッジにおける空白箇所（所謂テスト漏れ）の判定といった、テスト実行計画及びその内容の有意味な解析を妨げる。
【課題を解決するための手段】
【０００５】
本開示は、ソフトウェアテストのためのテスト実行計画を自動的に生成する方法を提供する。テスト実行計画の生成は、テスト実行計画生成ツールにより行われる。テスト実行計画生成ツールは、ユーザ設定テストパラメータと共に、事前定義テスト実行計画データモデルを用いる。事前定義テスト実行計画データモデルは、テスト対象ソフトウェア・アプリケーションを評価するために用いられるソフトウェアテスト・システムのソフトウェアテスト・ドメイン・データを表わすテスト・メタデータを収容する。ユーザ設定テストパラメータは、そのテスト実行計画についての具体的なテストパラメータを提供する。
【０００６】
本発明の１つの態様は、テスト実行計画を自動的に生成するための方法及びコンピュータ・プログラム製品を含むことができる。テスト対象ソフトウェア・アプリケーションに対する一組のユーザ設定テストパラメータを、テスト実行計画生成ツールによって受け取ることができる。例えば、グラフィカル・ユーザインターフェースを、インターフェースが定義するグラフィカル・ユーザインターフェース・フィールド内でユーザ入力を受け取るクライアント上に提示することが可能であり、ユーザ入力は、テストパラメータを指定し、このテストパラメータは、テスト実行計画生成ツールをホストするサーバに伝達される。ユーザ設定テストパラメータは、テスト実行計画生成ツールに関連付けられた事前定義テスト実行計画データモデル内に収容された少なくとも１つの項目と相関することができる。ソフトウェア・アプリケーションに対する少なくとも１つのテスト目標を、ユーザ設定可能テストパラメータにより定義することができる。テスト実行計画は、ユーザ設定テストパラメータ及び事前定義テスト実行計画データモデルを利用して、自動的に生成することができる。事前定義テスト実行計画データモデルは、テスト対象ソフトウェア・アプリケーションを評価するために用いられるソフトウェアテスト・システムに対するソフトウェアテスト・ドメイン・データを表わすテスト・メタデータを含むことができる。テスト・メタデータは、テスト対象のすべてのプロジェクトにより共有されるテストセンタの有限共有リソースの詳細を指定することができる。生成されたテスト実行計画は、ソフトウェア・アプリケーションに対する少なくとも１つのテスト目標を満たすためにソフトウェア・アプリケーションのテストの少なくとも１つのフェース専用とされる有限共有リソースの特定の割振りを詳述することができる。
【０００７】
本発明の別の態様は、テスト実行計画を自動的に生成するためのシステムを含むことができる。このようなシステムは、ユーザ設定テストパラメータと、事前定義テスト実行計画データモデルと、テスト実行計画生成ツールとを含むことができる。ユーザ設定テストパラメータは、ソフトウェアテスト・システム内で評価されるテスト対象ソフトウェア・アプリケーションに対するテスト要求を定義することができる。ソフトウェア・アプリケーションに対する少なくとも１つのテスト目標を、ユーザ設定可能テストパラメータにより定義することができる。事前定義テスト実行計画データモデルは、テスト対象ソフトウェア・アプリケーションに対するテスト実行計画を生成するためのテスト・メタデータを定義することができる。テスト・メタデータは、ソフトウェアテスト・システムのソフトウェアテスト・ドメイン・データを表わすことができる。テスト・メタデータは、テスト対象のすべてのプロジェクトにより共有されるテストセンタの有限共有リソースの詳細を指定することができ、生成されたテスト実行計画は、ソフトウェア・アプリケーションに対する少なくとも１つのテスト目標を満たすためにソフトウェア・アプリケーションのテストの少なくとも１つのフェーズの専用とされる有限共有リソースの特定の割振りを詳述する。テスト実行計画生成ツールは、ユーザ設定テストパラメータ及び事前定義テスト実行計画データモデルを利用して、テスト対象ソフトウェア・アプリケーションに対するテスト実行計画を自動的に生成するように構成することができる。各々の生成されたテスト実行計画は、ソフトウェア・アプリケーションに対する少なくとも１つのテスト目標を満たすためにソフトウェア・アプリケーションのテストの少なくとも１つのフェーズ専用とされる有限共有リソースの特定の割振りを含むことができる。
【０００８】
ここで本発明の実施形態を、添付の図面を参照して、単なる例として説明する。
【図面の簡単な説明】
【０００９】
【図１】本明細書に開示される本発明の構成の実施形態による、テスト対象ソフトウェア・アプリケーションに対するテスト実行計画を自動的に生成するテスト実行計画生成ツールを利用するシステムを示す概略図である。
【図２】本明細書に開示される本発明の構成の実施形態によるテスト実行計画生成ツールの詳細図である。
【図３】本明細書に開示される本発明の構成の実施形態によるテスト実行計画データモデルのサンプル・データベース・スキーマである。
【図４】本明細書に開示される本発明の構成の実施形態によるテスト実行計画生成ツールにより行われるテスト実行計画の自動生成を説明する、方法のフローチャートである。
【発明を実施するための形態】
【００１０】
本開示は、所望のテストカバレッジ目標を満たし、かつ、テストのために共有リソースの有限集合を用いる、コンピュータにより生成されるデータ駆動型テスト実行計画（例えば、テスト実行割当て）についてのソリューションを提供する。共有テストリソースの有限集合に関するデータ（これは、静的データ及び動的データを含むことができる）は、不揮発性メモリ内の永続的なものとすることができ、かつ、ユーザ設定可能なテスト特有のパラメータと組み合わせることが可能であり、このデータは、全テスト負荷が与えられると、共有テストリソースの割振りを決定する。全テスト負荷は、互いに独立であり得る多重の並行プロジェクトのために必要とされる待ち状態のテスト動作の集合を含むことができる。
【００１１】
１つの実施形態において、このソリューションは、テスタ及びテストケース・プロファイルをモデル化することができ、テスト品質メトリクスを維持することができ、テスト環境データを含み、これらは、データ駆動型テスト実行計画を生成するときに用いられるデータ要素である。さらに、このソリューションは、既存のテスト追跡ツール、スケジューリング・ツール、リソース管理システム、プロジェクト管理システムなどと統合することができ、これにより、テスト実行計画生成器が既存の情報を活用して、ツール特有のオーバーヘッド及びメンテナンス動作を大幅に減少させることが可能になる。
【００１２】
このソリューションのテスト計画生成器は、生成されるテスト計画内に含まれるべきテストケースの妥当な集合を割り出すことを考慮にいれた無数の変数を取り扱うのに十分に、ロバストであり得る。これらの変数は、所望のテスト環境カバレッジ（すなわち、テスト対象製品に応じて、特定のＯＳプラットフォーム、データベース、アプリケーション・サーバ等を利用する特殊用途のリソースを含むことができる）、所望の製品カバレッジ（例えば、受け入れテスト、回帰、全製品カバレッジ、等）、所望のコンポーネント・カバレッジ（例えば、コンポーネントごとの過去の品質メトリクスに基づく調整テスト、テストの標的目標、等）、テスタの可用性及び技術レベルなどを含むが、これらに限定されるものではない。
【００１３】
１つの実施形態において、このソリューションは、生成された計画において持続するロギング及び解析機能を含むことができる。プロジェクトが包括的にテストされたことを保証するために、解析機能を用いて、プロジェクトのテスト計画を構成する一連のテスト計画におけるいずれかのカバレッジの空白箇所を検出することができる。さらに、計画の格納及び解析を用いて、生成された計画が経時的に自己適応的であることを保証するようテスト実行計画生成器の挙動を自動的に調整するために用いることができるフィードバック／訓練ループを確立することができる。
【００１４】
開示されたソリューションを用いることにより、テスト実行計画を手動で生成することによりしばしば生じるエラーを排除することができる。さらに、テスト担当の管理者には、リスクを理解した上で随意的なテスト手法を決定するためのバリエーションを備えた計画を容易に再生成するという新たな能力を与えることができる。各々の生成されたテスト計画は、ユーザ設定可能な多数の基準に基づいて完全にカスタマイズ可能であり得る。さらに、テスト計画は、利用可能なテストリソースにおける変更に基づいて自動的に自己適応し、テスト目標を変更し、テスト対象の一組の並行プロジェクト間の優先順位を変更することができる。
【００１５】
本発明は、方法、システム、又はコンピュータ・プログラム製品として具体化することができる。従って、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態の形をとることができ、これらはすべて本明細書において一般に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明は、媒体内で具体化されたコンピュータ使用可能プログラム・コードを有する、コンピュータ使用可能格納媒体上のコンピュータ・プログラム製品の形をとるもことができる。
【００１６】
さらに、本発明は、コンピュータ又は任意の命令実行システムによる使用のため又はそれらと関連した使用のためのプログラム・コードを提供するコンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形をとるものとすることができる。
【００１７】
任意の適切なコンピュータ使用可能媒体又はコンピュータ可読媒体を利用することができる。コンピュータ使用可能媒体又はコンピュータ可読媒体は、例えば、電子的、磁気的、光学的、電磁的、赤外線、又は半導体のシステム、装置、デバイス、又は伝搬媒体とすることができるが、それらに限定されるものではない。コンピュータ可読媒体の例は、半導体又は固体メモリ、磁気テープ、取り外し可能コンピュータ・ディスケット、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、消去可能なプログラム可能読み出し専用メモリ（ＥＰＲＯＭ又はフラッシュメモリ）、剛性磁気ディスク及び光ディスクを含む。現時点における光ディスクの例は、コンパクトディスク−読み出し専用メモリ（ＣＤ−ＲＯＭ）、コンパクトディスク−読み出し及び／又は書き込み（ＣＤ−Ｒ／Ｗ）及びＤＶＤを含む。
【００１８】
本発明の操作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語で記述することができる。しかしながら、本発明の操作を実行するためのコンピュータ・プログラム・コードは、「Ｃ」プログラミング言語又は同様のプログラミング言語などの従来の手続き型プログラミング言語で記述することもできる。プログラム・コードは、ユーザのコンピュータ上で全体を実行するか、独立型のソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行するか、部分的にユーザのコンピュータ上で実行し、かつ部分的に遠隔コンピュータ上で実行するか、又は、遠隔コンピュータ若しくはサーバ上で全体を実行することができる。後者のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）若しくは広域エリア・ネットワーク（ＷＡＮ）を通じてユーザのコンピュータに接続するか、又は、外部のコンピュータへの（例えば、インターネット・サービス・プロバイダを用いたインターネットを通じた）接続を行うことができる。
【００１９】
プログラム・コードを格納及び／又は実行するのに適したデータ処理システムは、システム・バスを通じてメモリ要素に直接又は間接的に結合された少なくとも１つのプロセッサを含む。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、大容量記憶装置と、実行中に大容量記憶装置からコードを取り出さなければならない回数を減らすためにプログラム・コードの少なくとも一部の一時的な記憶域を提供するキャッシュ・メモリとを含むことができる。
【００２０】
入力／出力デバイス、すなわちＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティング・デバイスなどを含むがこれらに限定されない）は、直接又は介在するＩ／Ｏコントローラを通じてシステムに結合することができる。
【００２１】
データ処理システムが、介在する私設ネットワーク又は公衆ネットワークを通じて他のデータ処理システム又は遠隔のプリンタ若しくは記憶装置に結合できるようにするために、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブルモデム及びイーサネット・カードは、現在利用可能なネットワーク・アダプタのタイプのうちのごく一部である。
【００２２】
本発明は、本発明の実施形態による方法、装置（システム）及びコンピュータ・プログラム製品のフローチャート図及び／又はブロック図を参照して以下に説明される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施することができることが理解される。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えて機械を製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施するための手段を作り出すようにすることができる。
【００２３】
これらのコンピュータ・プログラム命令を、コンピュータ又は他のプログラム可能データ処理装置を特定の方式で機能させるように指示することができるコンピュータ可読メモリ内に格納し、それにより、そのコンピュータ可読メモリ内に格納された命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施する命令手段を含む製品を製造するようにさせることもできる。
【００２４】
コンピュータ・プログラム命令をコンピュータ又は他のプログラム可能データ処理装置上にロードして、一連の動作ステップをコンピュータ又は他のプログラム可能装置上で実行させて、コンピュータ実装プロセスを生成し、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び／又はブロック図の１つ又は複数のブロックにおいて指定された機能／動作を実施するためのステップを提供するようにさせることもできる。
【００２５】
図１は、本明細書に開示される本発明の構成の実施形態による、テスト対象ソフトウェア・アプリケーション１２２に対するテスト実行計画１５５を自動的に生成するテスト実行計画生成ツール１４０を利用するシステム１００を示す概略図である。システム１００において、ユーザ１０５は、クライアント装置１１０上で稼働するユーザインターフェース１１５を用いて、テスト実行計画生成ツール１４０にユーザ設定テストパラメータ１１７を提供することができる。
【００２６】
クライアント装置１１０は、ユーザインターフェース１１５を稼働させること、及びネットワーク１６５上でテスト実行計画生成ツール１４０と通信することが可能な、様々なコンピュータ処理装置を表わすことができる。ユーザ設定テストパラメータ１１７は、テスト対象ソフトウェア・アプリケーション１２２に対するテスト要求を表わすことができる。ユーザ設定テストパラメータ１１７の例は、テスト対象ソフトウェア・アプリケーション名、テスト対象ソフトウェア・アプリケーションのバージョン、テスト型式（例えば、回帰テスト、受け入れテスト等）、テスト環境、テストを行うソフトウェア・テスタ名、名前なしソフトウェア・テスタに必要なスキル、テストされる特定のアプリケーション・コンポーネント名、テストカバレッジ分布、テスト開始日、テスト持続時間、テスト優先順位、テストの重要度レベルなどを含むことができるが、これらに限定されない。
【００２７】
ユーザ設定テストパラメータ１１７は、ネットワーク１６５上で、テスト実行計画生成ツール１４０が動作することができるサーバ１３５まで伝達することができる。テスト実行計画生成ツール１４０は、ユーザ設定テストパラメータ１１７及びテスト実行計画データモデル１５０に基づいてテスト実行計画１５５を自動的に生成するように構成されたソフトウェア・アプリケーションを含むことができる。テスト実行計画生成ツール１４０は、テスト実行計画データモデル１５０及び生成されたテスト実行計画１５５を格納するための、データ格納部１４５を含むことができる。
【００２８】
テスト実行計画データモデル１５０は、テスト対象ソフトウェア・アプリケーション１２２を評価することができるソフトウェアテスト・システム１２０のソフトウェアテスト・ドメイン・データ１３０を表わすテスト・メタデータを収容することができる。例えば、テスト実行計画データモデル１５０は、テストケース、テスト環境、ソフトウェア・テスタ、及びテスト対象ソフトウェア・アプリケーション１２２及び／又はソフトウェアテスト・システム１２０のコンポーネント・アーキテクチャに関する情報の要点を収容することができる。
【００２９】
テスト実行計画データモデル１５０の取り込み（ｐｏｐｕｌａｔｉｏｎ）は、ユーザインターフェース１１５を介して、ユーザ１０５により手動で行うことができる。代替的に、テスト実行計画生成ツール１４０は、ソフトウェアテスト・ドメイン・データ１３０を格納するデータ格納部１２５からテスト実行計画データモデル１５０の指定されたデータ要素を自動的に収集することができる自動化されたデータ取得スクリプト（図示せず）を含むことができる。
【００３０】
別の想定される実施形態において、テスト実行計画生成ツール１４０をホストするサーバ１３５は、ソフトウェアテスト・システム１２０のコンポーネントとすることができる。
【００３１】
ユーザ設定テストパラメータ１１７を受け取ると、テスト実行計画生成ツール１４０は、テスト実行計画データモデル１５０を用いて、実行割当て１６０を生成することができる。実行割当て１６０は、ユーザ設定テストパラメータ１１７を満たす特定のテスト・アクティビティを定義する、テスト実行計画データモデル１５０由来のひとまとまりのテスト・メタデータを表わすことができる。例えば、実行割当て１６０は、テスタＡが、コンピュータＣを用いて、時間Ｔ１とＴ２との間で、テストケースＪを実行することを指示することができる。
【００３２】
実行割当て１６０を集約して、テスト実行計画１５５を生成することができる。テスト実行計画１５５は、それに対応するユーザ設定テストパラメータ１１７と共に、データ格納部１４５内に格納することができる。テスト実行計画１５５は、標準化されたプロセスを用いて生成されるので、テスト実行計画生成ツール１４０は、テスト実行計画１５５の履歴に対する解析機能を実行するようにさらに構成することができる。
【００３３】
テスト実行計画１５５を生成するための従来の方法は、手動で行われていたことに留意されたい。そのため、従来の方法は、自動化されたテスト実行計画生成ツール１４０のような標準化及び効率性に欠ける傾向がある。
【００３４】
ネットワーク１６５は、搬送波内でコード化されたデータを伝達するのに必要な任意のハードウェア／ソフトウェア／及びファームウェアを含むことができる。データは、アナログ又はデジタル信号内に収容され、データチャンネル又は音声チャネルを通して伝達することができる。ネットワーク１６５は、コンピュータ処理装置のコンポーネント間、及び統合されたデバイスのコンポーネントと周辺デバイスとの間で通信を交換し合うのに必要なローカル・コンポーネント及びデータ経路を含むことができる。ネットワーク１６５は、インターネットのようなデータネットワークを互いに形成する、ルータ、データライン、ハブ、及び中間サーバといったネットワーク機器を含むこともできる。ネットワーク１６５は、電話交換機、モデム、移動体通信タワーなどのような、回路ベースの通信コンポーネント及び移動体通信コンポーネントを含むこともできる。ネットワーク１６５は、有線及び／又は無線の通信経路を含むことができる。
【００３５】
データ格納部１２５及び１４５は、デジタル情報を格納するように構成された物理的な又は仮想の記憶空間とすることができる。データ格納部１２５及び１４５は、磁気ディスク、光ディスク、半導体メモリ、デジタルコード化されたプラスチックメモリ、ホログラフィックメモリ、又はその他のいずれかの記録媒体を含むがこれらに限定されない任意のタイプのハードウェア内に物理的に実装することができる。データ格納部１２５及び１４５は、独立型の記憶ユニット、並びに複数の物理デバイスから形成された記憶ユニットとすることができる。さらに、情報は様々な方式でデータ格納部１２５及び１４５内に格納することができる。例えば、情報は、データベース構造内に格納することも、又はファイル格納システムの１つ又は複数のファイル内に格納することも可能であり、この場合、各ファイルは、情報検索目的のために索引付けされてもよく又はされなくてもよい。さらに、データ格納部１２５及び／又は１４５は、格納された情報を不正アクセスから保護するために１つ又は複数の暗号化機構を用いることができる。
【００３６】
クライアント装置１１０、ソフトウェアテスト・システム１２０、及びサーバ１３５は各々、ハードウェア、ソフトウェア、及び／又はファームウェアのコンポーネントを含むことができる。コンポーネントは、１つ又は複数のコンピュータ処理装置の組において実装することができる。例えば、システム１２０は、特定のテスト環境に合わせて構成された多数のコンピュータ処理装置の組を含むことができる。別の例において、サーバ１３５は、分散された計算機空間又は単一の装置内で実装することができる。装置１１０、システム１２０、及び／又はサーバ１３５に含まれるハードウェアは、少なくとも１つのプロセッサと、揮発性メモリと、不揮発性メモリと、通信バスを介して互いにリンクされたネットワーク・アダプタとを含むことができる。
【００３７】
図２は、本明細書に開示される本発明の構成の実施形態によるテスト実行計画生成ツール２００の詳細図である。テスト実行計画生成ツール２００は、システム１００を背景として用いることができる。
【００３８】
テスト実行計画生成ツール２００は、管理コンポーネント２０５と、データ処理コンポーネント２１０と、報告コンポーネント２２０と、テスト実行計画データモデル２４０、生成規則テンプレート２４５及びテスト実行計画２５０を収容するデータ格納部２３５とを含むことができる。管理コンポーネント２０５は、テスト実行計画生成ツール２００のための管理機能を提供するように構成することができる。例えば、管理コンポーネント２０５の機能は、テスト実行計画データモデル２４０及び／又は生成規則テンプレート２４５を取り込むときに用いることができる。
【００３９】
データ処理コンポーネント２１０は、テスト実行計画データモデル２４０及び／又は格納されたテスト実行計画２５０に対して、様々なデータ解析及びデータ合成操作を実行するように構成することができる。データ処理コンポーネント２１０は、生成規則トランスレータ２１５を含むことができる。生成規則トランスレータ２１５は、受け取ったユーザ設定テストパラメータをテスト実行計画生成ツール２００により実行することができる生成規則に変換するように構成された、ソフトウェア・コンポーネント及び／又はアルゴリズムを表わすことができる。
【００４０】
例えば、アプリケーションＺのバージョン２．４に対するテスト実行計画２５０を生成するよう指示するユーザ設定テストパラメータを、Ｐｒｏｄｕｃｔ＝Ａｐｐｌｉｃａｔｉｏｎ  Ｚ  ＡＮＤ  Ｖｅｒｓｉｏｎ＝２．４であるレコードについてテスト実行計画データモデル２４０を照会すべきであることを述べる生成規則に変換することができる。「Ｐｒｏｄｕｃｔ」及び「Ｖｅｒｓｉｏｎ」は、テスト実行計画データモデル２４０内に収容されたデータ要素に対応することができる。
【００４１】
生成規則トランスレータ２１５は、テスト実行計画生成ツール２００のユーザインターフェースにおいて提示される名称と、テスト実行計画データモデル２４０との間の相違を橋渡しすることができる。上の例に示されるように、生成規則トランスレータ２１５により作成される生成規則は、テスト実行計画データモデル２４０を照会するためのＢＯＯＬＥＡＮ論理を含むことができる。
【００４２】
さらに、データ処理コンポーネント２１０は、ユーザ定義された優先順位値に従って、生成規則に優先順位を付けることができる。この優先順位付けは、生成規則が実行される順序及び／又はテスト実行計画２５０の生成中に強調される順序に影響を与えることができる。
【００４３】
さらに、データ処理コンポーネント２１０及び／又は生成規則トランスレータ２１５は、生成規則テンプレート２４５を利用するように構成することができる。生成規則テンプレート２４５は、テストパラメータの特定の値に関する生成規則のユーザカスタマイズ可能な群を表わすことができる。例えば、生成規則テンプレート２４５は、受け入れテスト及び回帰テストといった異なる型式のソフトウェアテストのためのテストパラメータのデータ値及び／又は必要とされる生成規則を定義するように作成することができる。
【００４４】
生成規則テンプレート２４５は、テスト実行計画生成ツール２００のユーザインターフェースから選択できるようにすることができる。生成規則テンプレート２４５を選択することで、定義されたテストパラメータ及び／又は生成規則を事前設定されたデータ値と共に自動的に取り込むことができる。
【００４５】
報告コンポーネント２２０は、格納されたデータを集約してユーザ指定の報告フォーマットにするように構成することができる。報告コンポーネント２２０は、報告生成器２２５と通知ハンドラ２３０とを含むことができる。報告生成器２２５は、テスト実行計画データモデル２４０、生成規則テンプレート２４５、及び／又はテスト実行計画２５０の履歴についての報告の定義及び生成を可能にするように構成することができる。報告生成器２２５は、データ処理コンポーネント２１０の機能を利用して報告データを集めることができる。
【００４６】
通知ハンドラ２３０は、情報をユーザに配信するように構成されたコンポーネントとすることができる。例えば、通知ハンドラ２３０は、実行割当て情報を収容する電子通知メッセージをソフトウェア・テスタに送信することができる。通知ハンドラ２３０はさらに、さらなる通知オプションを提供するために、種々の電子メッセージング・システムとインターフェースするようにさらに構成することができる。
【００４７】
図３は、本明細書に開示される本発明の構成の実施形態によるテスト実行計画データモデルのサンプル・データベース・スキーマ３００である。サンプル・データベース・スキーマ３００は、システム１００を背景として、及び／又は図２のテスト実行計画生成ツール２００により用いることができる。
【００４８】
サンプル・データベース・スキーマ３００の内容は、例証のみを目的とするものであり、最終的な実装を提示することを意味するものではないことに注意すべきである。図示されているように、スキーマ３００は、データベース構造をモデル化する場合の標準である第三正規形にまとめてあるが、これは、実装の制限として解釈されるべきものではない。さらに、当業者であれば、それもまた本開示の範囲内であるとみなされる、例示的なスキーマ３００で表わされる関係とは異なるスキーマに基づくことができる。
【００４９】
サンプル・データベース・スキーマ３００に示されるように、テスト実行計画データモデルは、テスト・メタデータを定義する１つ又は複数の属性３５５を有することができる複数のデータベース・テーブル３０５−３５０を含むことができる。特に注目すべき属性は、テストケース・テーブル３１０の「優先順位値（Ｐｒｉｏｒｉｔｙ  Ｖａｌｕｅ）」属性３６５である。この属性３６５は、ユーザ定義された優先順位の入力を提供して、テスト実行計画生成に影響を与えることができる。
【００５０】
データベース・テーブル３０５−３５０は、リレーションシップ３６０を介して互いに関連付けることができる。リレーションシップ３６０は、この例に示される鳥の足形（クローフット（Ｃｒｏｗ’ｓ  Ｆｏｏｔ））記号を用いたカーディナリティの包含のような、一般に容認されたデータベースのモデル化の規約に従うことができる。
【００５１】
サンプル・データベース・スキーマ３００は、以下のように読み取ることができる。製品３５０は、多数のコンポーネント３１５及び多数の割当て３３０を有することができる。製品３５０の所与のコンポーネント３１５（又は機能領域）に対するテストカバレッジを提供するために、１つ又は複数のテストケース３１０が存在することができる。テスト対象の所与の製品３５０／コンポーネント３１５に対する（特定のテストケース３１０についての）テストカバレッジを提供するというテスト目標を満たすために、１つ又は複数の割当て３３０を作成することができる（例えば、オペレーティングシステム（３０５）、データベース（３３５）、ランタイム（３４５）等の集合に対してサポートされた実行ドメイン全体にわたって）。テスタ３２０は、関連付けられた割当てステータス３４０を有することができる各々の割当て３３０を担当することができる。
【００５２】
スキーマ３００により示されるように、コンポーネント３１５は、多数のテストケース３１０を有することができ、多数のコンポーネント３１５を１つのテスタ３２０に関連付けることができる。多数のテスタ３２０を、１つのプラットフォーム３０５及び１つのデータベース（ＤＢ）３３５に関連付けることができる。１つのテストケース３１０は、多数の割当て３３０を有することができる。多数の割当て３３０が、１つの実行計画３２５に属することができ、かつ、単一の割当て３３０が、多数の実行計画３２５に属することができる。多数の割当て３３０が、１つの関連付けられた割当てステータス３４０、ランタイム３４５、製品３５０、ＤＢ３３５、テスタ３２０、及びプラットフォーム３０５を有することができる。
【００５３】
図４は、本明細書に開示される本発明の構成の実施形態によるテスト実行計画生成ツールにより行われるテスト実行計画の自動生成を説明する、方法４００のフローチャートである。方法４００は、システム１００、テスト実行計画生成ツール２００、及び／又はサンプル・データベース・スキーマ３００の利用により実施することができる。
【００５４】
方法４００は、テスト実行計画生成ツールがユーザ設定テストパラメータを受け取ることができる、ステップ４０５から開始することができる。受け取ったユーザ設定テストパラメータを、ステップ４１０において生成規則に変換することができる。生成規則は、データ照会及び／又はデータ合成規則を含むことができる。
【００５５】
ステップ４１５において、ユーザ定義された優先順位値を生成規則に適用することができる。ステップ４２０において、生成規則の実行順序を調整することができる。ステップ４２５において、データ照会生成規則を事前定義テスト実行計画データモデルに対して実行して、適用可能なテスト・メタデータを決定することができる。
【００５６】
ステップ４３０において、適用可能なテスト・メタデータを、データ合成生成規則を用いて合成して、実行割当てにすることができる。実行割当ては次にステップ４３５においてコンパイルされ、テスト実行計画にすることができる。ステップ４４０において、テスト実行計画をそのユーザ設定テストパラメータと共に格納することができる。随意のステップ４４２において、実行割当てを、割り当てられたソフトウェア・テスタに分散させることができる。
【００５７】
ステップ４４５において、ユーザフィードバックのために、テスト実行計画をユーザインターフェース内で提示することができる。例えば、テスタは、ステップ４４２において実行割当てを受け取った後、ステップ４４５において、フィードバック・インターフェースを開くことができる。ユーザフィードバックは、随意にステップ４５０において受け取ることができ、この随意のフィードバックは、１つ又は複数のユーザ設定テストパラメータに対する変更を含むことができる。
【００５８】
フィードバックにおいて変更が与えられた場合、ステップ４５５を実行することができ、ここで、修正されたユーザ設定パラメータを判定し、テスト実行計画生成ツールに伝達することができる。ステップ４５５からステップ４１０への進行により示されるように、修正されたパラメータに基づいて新たな計画を生成することができる。
【００５９】
ステップ４６０において、新たに生成されたテスト実行計画の以前のバージョンが存在するかどうか判断する。存在する場合は、ステップ４６５において、テスト計画バージョン間の差異の随意の解析を行うことができる。さらに、ステップ４７０により示されるように、リスク、利益、格付け、及びその他のデータを割り出し、それを異なるテスト計画バージョンの各々に関連付けることができる。ステップ４７５において、解析結果、テスト計画の差異、及び関連するデータを、担当のテスト管理者に提示することができる。いずれの時点でも、さらなるユーザフィードバックをステップ４５０において受け取ることができ、その結果、新たなテスト実行計画が生成され、これは、修正されたテストパラメータに基づいて生成される。テスト対象の別のソフトウェア・パッケージに対して、方法４００をはじめから繰り返すことができる。
【００６０】
図１から図４における図は、本発明の種々の実施形態による、システム、方法及びコンピュータ・プログラム製品の可能な実装の、アーキテクチャ、機能及び動作を示す。この点に関して、フローチャート又はブロック図内の各ブロックは、指定された論理機能を実装するための１つ又は複数の実行可能な命令を含む、モジュール、セグメント又はコードの一部を表すことができる。幾つかの代替的な実装において、ブロック内に記された機能は、図面に記された順序とは異なる順序で行われることもあることにも留意されたい。例えば、連続して図示された２つのブロックが、関与する機能に応じて、実際には実質的に同時に実行されることもあり、又はこれらのブロックは、ときとして逆順で実行されることもある。ブロック図及び／又はフローチャート図の各ブロック、並びにブロック図及び／又はフローチャート図内のブロックの組み合わせは、指定された機能又は動作を実行する専用ハードウェア・ベースのシステム、又は専用ハードウェアとコンピュータ命令との組み合わせによって実装することができることにも留意されたい。
【００６１】
本明細書において用いられる用語は、特定の実施形態を説明する目的のためのものに過ぎず、発明を限定することを意図するものではない。本明細書において用いられる場合、単数形「１つの（ａ）」、「１つの（ａｎ）」及び「その（ｔｈｅ）」は、文脈から明らかにそうでないことが示されていない限り、複数形も同様に含むことが意図される。「含む（ｃｏｍｐｒｉｓｅｓ）」及び／又は「含んでいる（ｃｏｍｐｒｉｓｉｎｇ）」という用語は、本明細書において用いられる場合、言明された特徴、整数、ステップ、動作、要素及び／又はコンポーネントの存在を特定するものではあるが、１つ又は複数の他の特徴、整数、ステップ、動作、要素、コンポーネント及び／又はそれらの群の存在又は追加を排除するものではないこともさらに理解されよう。
【００６２】
以下の特許請求の範囲における全ての「手段又はステップと機能との組み合わせ（ミーンズ又はステップ・プラス・ファンクション）」要素の対応する構造、材料、動作及び均等物は、その機能を、明確に特許請求されているように他の特許請求された要素と組み合わせて実行するための、いかなる構造、材料又は動作をも含むことが意図される。本発明の説明は、例示及び説明の目的で提示されたものであるが、網羅的であることを意図するものではなく、本発明を開示された形態に限定することを意図するものでもない。本発明の範囲及び精神から逸脱することのない多くの変更及び変形が、当業者には明らかである。実施形態は、本発明の原理及び実際の用途を最も良く説明するため、及び、当業者が本発明を種々の変更を有する種々の実施形態について企図される特定の使用に適したものとして理解することを可能にするために、選択及び記載された。
【符号の説明】
【００６３】
１００：システム
２００：テスト実行計画生成ツール
３００：サンプル・データベース・スキーマ
【図１】
0005607743.tif 000002
【図２】
0005607743.tif 000003
【図３】
0005607743.tif 000004
【図４】
0005607743.tif 000005