(57)【要約】【課題】ソフトウェアテストを効率化できるシステムの提供。【解決手段】ソースコード管理装置は、開発者から渡されたプログラムのソースコードをバージョン毎に記憶部に記憶させ管理するソースコード管理部と、プログラムの新しいバージョンが記憶部に記憶される度に、以前のバージョンから変更された箇所を検出し変更情報としてテスト項目管理装置に送信する変更箇所検出部を備え、テスト項目管理装置は、個々のテスト項目と当該テスト項目に関連するソースコードとの対応を示すリストであるテスト項目・ソースコード対応リストと、ソースコード管理装置から受信した変更情報とに基づいて、実行すべきテスト項目を選択し、選択情報としてテスト実行装置に送信するテスト項目選択部を備え、テスト実行装置は、テスト項目管理装置より受信した選択情報に基づいて、テスト対象プログラムに対してテストを実行するテスト実行部を備える。【選択図】図６
2018185719.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク接続された、ソースコード管理装置とテスト項目管理装置とテスト実行装置とを含み、
前記ソースコード管理装置は、
第１の記憶部と、
前記テスト項目管理装置と通信可能な第１の通信部と、
プログラムの開発者から渡された前記プログラムのソースコードをバージョン毎に前記第１の記憶部内に記憶させて管理するソースコード管理部と、
前記プログラムの新しいバージョンが前記第１の記憶部に記憶される度に、以前のバージョンから変更された箇所を検出し、変更情報として前記テスト項目管理装置に送信する変更箇所検出部と
を備え、
前記テスト項目管理装置は、
第２の記憶部と、
前記ソースコード管理装置および前記テスト実行装置と通信可能な第２の通信部と、
前記第２の記憶部に保存されている、個々のテスト項目と当該テスト項目に関連する前記ソースコードとの対応を示すリストであるテスト項目・ソースコード対応リストと、前記ソースコード管理装置から受信した前記変更情報とに基づいて、実行すべきテスト項目を選択し、選択情報として前記テスト実行装置に送信するテスト項目選択部と
を備え、
前記テスト実行装置は、
前記テスト項目管理装置と通信可能な第３の通信部と、
前記テスト項目管理装置より受信した前記選択情報に基づいて、テスト対象プログラムに対してテストを実行するテスト実行部と
を備えた
情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記ソースコード管理部は、
前記バージョンの各々を１以上のフォルダーに分類して保存し、
前記変更箇所検出部は、
以前のバージョンから変更された箇所を前記フォルダー単位で検出する
情報処理システム。
【請求項３】
ネットワーク接続された、ソースコード管理装置とテスト項目管理装置とテスト実行装置とを含む情報処理システムにおける情報処理方法であって、
前記ソースコード管理装置が、プログラムの開発者から渡された前記プログラムのソースコードをバージョン毎に第１の記憶部内に記憶させて管理し、
前記ソースコード管理装置が、前記プログラムの新しいバージョンが前記第１の記憶部に記憶される度に、以前のバージョンから変更された箇所を検出し、変更情報として前記テスト項目管理装置に送信し、
前記テスト項目管理装置が、個々のテスト項目と当該テスト項目に関連する前記ソースコードとの対応を示すリストであるテスト項目・ソースコード対応リストと、前記ソースコード管理装置から受信した前記変更情報とに基づいて、実行すべきテスト項目を選択し、選択情報として前記テスト実行装置に送信し、
前記テスト実行装置が、前記テスト項目管理装置より受信した前記選択情報に基づいて、テスト対象プログラムに対してテストを実行する
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストを効率化する情報処理システムおよび情報処理方法に関する。
【背景技術】
【０００２】
Ｗｅｂアプリケーションプログラムなどのソフトウェア開発において、効率良くテストを行うことが求められている。
【０００３】
そのため、例えば、特許文献１において開示されている技術では、画像形成装置上で動作するアプリケーションのテストを複数の画像形成装置に分散させて実行する際、各装置で実行するテスト項目、順序を自動的に設定する仕組みを提供している。
【０００４】
より具体的には、負荷の高いテストは性能の良い装置で実行させたり、何れかの装置でトラブルが発生した場合はその装置で実行予定だったテスト項目を他の装置で実行するように変更したりする事などによりテストを効率良く終わらせることを可能にしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１７５３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、ソフトウェアテストの効率化に関し、また改善の余地があった。
【０００７】
以上のような事情に鑑み、本発明の目的は、ソフトウェアのテストを効率化できる情報処理システムおよび情報処理方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一形態に係る情報処理システムは、ネットワーク接続された、ソースコード管理装置とテスト項目管理装置とテスト実行装置とを含み、前記ソースコード管理装置は、第１の記憶部と、前記テスト項目管理装置と通信可能な第１の通信部と、プログラムの開発者から渡された前記プログラムのソースコードをバージョン毎に前記第１の記憶部内に記憶させて管理するソースコード管理部と、前記プログラムの新しいバージョンが前記第１の記憶部に記憶される度に、以前のバージョンから変更された箇所を検出し、変更情報として前記テスト項目管理装置に送信する変更箇所検出部とを備え、前記テスト項目管理装置は、第２の記憶部と、前記ソースコード管理装置および前記テスト実行装置と通信可能な第２の通信部と、前記第２の記憶部に保存されている、個々のテスト項目と当該テスト項目に関連する前記ソースコードとの対応を示すリストであるテスト項目・ソースコード対応リストと、前記ソースコード管理装置から受信した前記変更情報とに基づいて、実行すべきテスト項目を選択し、選択情報として前記テスト実行装置に送信するテスト項目選択部とを備え、前記テスト実行装置は、前記テスト項目管理装置と通信可能な第３の通信部と、前記テスト項目管理装置より受信した前記選択情報に基づいて、テスト対象プログラムに対してテストを実行するテスト実行部とを備える。
【０００９】
そのため、ソフトウェアのテストを効率化できる。
【００１０】
上記目的を達成するため、本発明の一形態に係る情報処理システムでは、前記ソースコード管理部は、前記バージョンの各々を１以上のフォルダーに分類して保存し、前記変更箇所検出部は、以前のバージョンから変更された箇所を前記フォルダー単位で検出する構成でもよい。
【００１１】
上記目的を達成するため、本発明の一形態に係る情報処理方法は、ネットワーク接続された、ソースコード管理装置とテスト項目管理装置とテスト実行装置とを含む情報処理システムにおける情報処理方法であって、前記ソースコード管理装置が、プログラムの開発者から渡された前記プログラムのソースコードをバージョン毎に第１の記憶部内に記憶させて管理し、前記ソースコード管理装置が、前記プログラムの新しいバージョンが前記第１の記憶部に記憶される度に、以前のバージョンから変更された箇所を検出し、変更情報として前記テスト項目管理装置に送信し、前記テスト項目管理装置が、個々のテスト項目と当該テスト項目に関連する前記ソースコードとの対応を示すリストであるテスト項目・ソースコード対応リストと、前記ソースコード管理装置から受信した前記変更情報とに基づいて、実行すべきテスト項目を選択し、選択情報として前記テスト実行装置に送信し、前記テスト実行装置が、前記テスト項目管理装置より受信した前記選択情報に基づいて、テスト対象プログラムに対してテストを実行する。
【発明の効果】
【００１２】
以上のように、本発明によれば、ソフトウェアのテストを効率化できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る情報処理システム１００の全体構成図である。
【図２】テスト項目・ソースコード対応リスト２７ａの例を示す図である。
【図３】ソースコード管理装置１０が一般的なコンピューターにより構成される場合の構成図である。
【図４】テスト項目管理装置２０が一般的なコンピューターにより構成される場合の構成図である。
【図５】テスト実行装置３０が一般的なコンピューターにより構成される場合の構成図である。
【図６】情報処理システム１００における処理の流れについて説明するためのフローチャートである。
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら、本発明の実施形態を説明する。
【００１５】
［全体構成］
最初に、本発明の一実施形態に係る情報処理システムの全体構成について説明する。図１は、本発明の一実施形態に係る情報処理システム１００の全体構成図である。
【００１６】
情報処理システム１００は、ソースコード管理装置１０、テスト項目管理装置２０、およびテスト実行装置３０を含んで構成される。
【００１７】
ソースコード管理装置１０は、テストされるプログラムのソースコードをバージョン毎に管理する。ソースコード管理装置１０は、新しいバージョンがリリースされると、前のバージョンから変更されたソースコードを検出し、テスト項目管理装置２０に通知する。
【００１８】
なお、ソースコードの各バージョンは、機能毎に分けられた１以上のフォルダーに格納されているものとする。１つのフォルダーには１以上のファイルが格納され、１つのファイルには、１以上の関数またはサブルーチンなどが記述される。
【００１９】
変更箇所の検出は、１つの関数やサブルーチン単位で行ってもよいが、後述するテスト項目との対応関係を記述する際に煩雑となるので、ここでは変更箇所の検出をフォルダー単位で行うものとする。
【００２０】
テスト項目管理装置２０は、テスト項目とプログラムのソースコードとの対応関係が記述されたテスト項目・ソースコード対応リスト２７ａ（詳細は後述）に基づいて、変更されたソースコードが格納されているフォルダーに対応したテスト項目を実際にテストする項目として選択する。
【００２１】
テスト実行装置３０は、テスト項目管理装置２０により選択されたテスト項目を実行する。
【００２２】
なお、ここではソースコード管理装置１０、テスト項目管理装置２０、およびテスト実行装置３０はネットワークにより接続されているとするがこの構成に限らず、どのような接続手段により接続されていてもよい。
【００２３】
以上、本発明の一実施形態に係る情報処理システム１００の全体構成について説明した。
【００２４】
［テスト項目・ソースコード対応リストについて］
次に、テスト項目・ソースコード対応リスト２７ａについて説明する。図２は、テスト項目・ソースコード対応リスト２７ａの例を示す図である。
【００２５】
テスト項目・ソースコード対応リスト２７ａは、個々のテスト項目と当該テスト項目に関連するソースコードとの対応を示すリストである。
【００２６】
図に示す例では、テスト項目番号１番のテスト項目はフォルダーＢに含まれるソースコードと関係している。すなわち、フォルダーＢに含まれるソースコードに変更があった場合、１番のテスト項目はソースコードが適切に稼働するか否かを確認するために、実施すべきテスト項目であると判断される。
【００２７】
例えば、フォルダーＡおよびフォルダーＣに含まれるソースコードに変更が入った場合、テスト項目番号２番、４番、および５番がテストする項目としてテスト項目管理装置により選択される。
【００２８】
なお、テスト項目・ソースコード対応リスト２７ａは、ソースコードおよびテスト項目の内容を理解している開発者またはテスト管理者によりテスト実行前に予め作成され、テスト項目管理装置２０内に保存される。
【００２９】
以上、テスト項目・ソースコード対応リスト２７ａについて説明した。
【００３０】
［ソースコード管理装置の構成］
次に、ソースコード管理装置１０の構成について説明する。ソースコード管理装置１０は、専用のハードウェアやソフトウェアにより構成されていてもよいし、一般的なコンピューターにより構成されてもよい。ソースコード管理装置１０が一般的なコンピューターにより構成される場合の構成図を図３に示す。
【００３１】
同図に示すように、ソースコード管理装置１０は、ＣＰＵ（Central Processing Unit）１１、ＲＯＭ（Read Only Memory）１２、ＲＡＭ（Random Access Memory）１３、操作入力部１４、通信部１５（第１の通信部）、表示部１６、および記憶部１７（第１の記憶部）を有し、これら各ブロックがバス１８を介して接続されている。
【００３２】
ＲＯＭ１２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。ＲＡＭ１３は、ＣＰＵ１１の作業用領域として用いられ、ＯＳ（Operating System）、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００３３】
記憶部１７は、例えばＨＤＤ（Hard Disk Drive）や、フラッシュメモリー、その他の不揮発性メモリーである。記憶部１７には、ＯＳや各種アプリケーション、各種データ、ソースコード１７ａが記憶される。
【００３４】
ソースコード１７ａは、バージョンごとに保存され、１つのバージョンは１以上のフォルダーに分類されて保存されている。
【００３５】
通信部１５は、ネットワーク上のテスト項目管理装置２０等と情報のやりとりを行う為のネットワークと結ばれている。
【００３６】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１７に格納された複数のプログラムのうち、操作入力部１４から与えられる命令に対応するプログラムをＲＡＭ１３に展開し、この展開されたプログラムにしたがって、表示部１６及び記憶部１７を適宜制御する。
【００３７】
操作入力部１４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００３８】
表示部１６は、例えば液晶ディスプレイ、ＥＬ（Electro-Luminescence）ディスプレイ、プラズマディスプレイ等である。
【００３９】
次に、ＣＰＵ１１においてプログラムが実行されることにより実現される機能ブロックについて説明する。
【００４０】
ソースコード管理装置１０のＣＰＵ１１において実現される機能ブロックは、ソースコード管理部１１ａおよび変更箇所検出部１１ｂである。
【００４１】
ソースコード管理部１１ａは、プログラムの開発者から渡されたプログラムのソースコードをバージョン毎に記憶部１７内にフォルダーに分けて記憶させ管理する。
【００４２】
変更箇所検出部１１ｂは、開発中のプログラムの新しいバージョンが記憶部１７に記憶される度に、以前のバージョンから変更された箇所をフォルダー単位で検出し、変更情報としてテスト項目管理装置２０に送信する。
【００４３】
以上、ソースコード管理装置１０の構成について説明した。
【００４４】
［テスト項目管理装置の構成］
次に、テスト項目管理装置２０の構成について説明する。テスト項目管理装置２０は、専用のハードウェアやソフトウェアにより構成されていてもよいし、一般的なコンピューターにより構成されてもよい。テスト項目管理装置２０が一般的なコンピューターにより構成される場合の構成図を図４に示す。
【００４５】
同図に示すように、テスト項目管理装置２０は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、操作入力部２４、通信部２５（第２の通信部）、表示部２６、および記憶部２７（第２の記憶部）を有し、これら各ブロックがバス２８を介して接続されている。
【００４６】
ＲＯＭ２２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。ＲＡＭ２３は、ＣＰＵ２１の作業用領域として用いられ、ＯＳ、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００４７】
記憶部２７は、例えばＨＤＤや、フラッシュメモリー、その他の不揮発性メモリーである。記憶部２７には、ＯＳや各種アプリケーション、各種データ、テスト項目・ソースコード対応リスト２７ａが記憶される。
【００４８】
通信部２５は、ネットワーク上のソースコード管理装置１０およびテスト実行装置３０等と情報のやりとりを行う為のネットワークと結ばれている。
【００４９】
ＣＰＵ２１は、ＲＯＭ２２や記憶部２７に格納された複数のプログラムのうち、操作入力部２４から与えられる命令に対応するプログラムをＲＡＭ２３に展開し、この展開されたプログラムにしたがって、表示部２６及び記憶部２７を適宜制御する。
【００５０】
操作入力部２４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００５１】
表示部２６は、例えば液晶ディスプレイ、ＥＬディスプレイ、プラズマディスプレイ等である。
【００５２】
次に、ＣＰＵ２１においてプログラムが実行されることにより実現される機能ブロックについて説明する。
【００５３】
テスト項目管理装置２０のＣＰＵ２１において実現される機能ブロックは、テスト項目選択部２１ａである。
【００５４】
テスト項目選択部２１ａは、記憶部２７に保存されているテスト項目・ソースコード対応リスト２７ａと、ソースコード管理装置１０から受信した変更情報とに基づいて、実行すべきテスト項目を選択し、選択情報としてテスト実行装置３０に送信する。
【００５５】
以上、テスト項目管理装置２０の構成について説明した。
【００５６】
［テスト実行装置の構成］
次に、テスト実行装置３０の構成について説明する。テスト実行装置３０は、専用のハードウェアやソフトウェアにより構成されていてもよいし、一般的なコンピューターにより構成されてもよい。テスト実行装置３０が一般的なコンピューターにより構成される場合の構成図を図５に示す。
【００５７】
同図に示すように、テスト実行装置３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、操作入力部３４、通信部３５（第３の通信部）、表示部３６、および記憶部３７を有し、これら各ブロックがバス３８を介して接続されている。
【００５８】
ＲＯＭ３２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを記憶する。ＲＡＭ３３は、ＣＰＵ３１の作業用領域として用いられ、ＯＳ、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００５９】
記憶部３７は、例えばＨＤＤや、フラッシュメモリー、その他の不揮発性メモリーである。記憶部３７には、ＯＳや各種アプリケーション、各種データが記憶される。
【００６０】
通信部３５は、ネットワーク上のテスト項目管理装置２０等と情報のやりとりを行う為のネットワークと結ばれている。
【００６１】
ＣＰＵ３１は、ＲＯＭ３２や記憶部３７に格納された複数のプログラムのうち、操作入力部３４から与えられる命令に対応するプログラムをＲＡＭ３３に展開し、この展開されたプログラムにしたがって、表示部３６及び記憶部３７を適宜制御する。
【００６２】
操作入力部３４は、例えばマウス等のポインティングデバイス、キーボード、タッチパネル、その他の操作装置である。
【００６３】
表示部３６は、例えば液晶ディスプレイ、ＥＬディスプレイ、プラズマディスプレイ等である。
【００６４】
次に、ＣＰＵ３１においてプログラムが実行されることにより実現される機能ブロックについて説明する。
【００６５】
テスト実行装置３０のＣＰＵ３１において実現される機能ブロックは、テスト実行部３１ａおよびテスト対象プログラム３１ｂである。
【００６６】
テスト実行部３１ａは、テスト項目管理装置２０より受信した選択情報に基づいて、テスト対象プログラム３１ｂに対してテストを実行する。
【００６７】
テスト対象プログラム３１ｂは、テスト実行部３１ａによりテストされるプログラムである。
【００６８】
以上、テスト実行装置３０の構成について説明した。
【００６９】
［処理の流れ］
次に、情報処理システム１００における処理の流れについて説明する。図６は、情報処理システム１００における処理の流れについて説明するためのフローチャートである。なお、以下の処理が行われる前に、既にテスト項目・ソースコード対応リスト２７ａがテスト項目管理装置２０に保存されているものとする。
【００７０】
まず、ソースコード管理装置１０のソースコード管理部１１ａが、ユーザー（開発者またはテスト管理者）から受け取った新しいバージョンのソースコードを記憶部１７に保存する（ステップ１）。
【００７１】
次に、ソースコード管理装置１０の変更箇所検出部１１ｂが、以前のバージョンからの変更箇所をフォルダー単位で検出し、変更情報を生成し、テスト項目管理装置２０に送信する（ステップＳ２）。
【００７２】
次に、テスト項目管理装置２０のテスト項目選択部２１ａが、記憶部２７に保存されているテスト項目・ソースコード対応リスト２７ａと、ソースコード管理装置１０から受信した変更情報とに基づいて、実行すべきテスト項目を選択し、選択情報としてテスト実行装置３０に送信する（ステップＳ３）。
【００７３】
次に、テスト実行装置３０のテスト実行部３１ａが、テスト項目管理装置２０より受信した選択情報に基づいて、テスト対象プログラム３１ｂに対して各種テストを実行する（ステップＳ４）。
【００７４】
以上、情報処理システム１００における処理の流れについて説明した。
【００７５】
＜変形例＞
上記の説明では、テスト項目・ソースコード対応リスト２７ａに、ソースコードの変更箇所と、変更箇所に関連するテスト項目の対応のみを記述したが、この構成に限らず、例えば、変更箇所とテスト項目の関連性の大きさにより、実行するテスト項目に優先度を付け、優先度の高いテスト項目から順にテストを実行する構成でもよい。
【００７６】
［補足事項］
以上のように、本発明に係る情報処理システム１００は、ネットワーク接続された、ソースコード管理装置１０とテスト項目管理装置２０とテスト実行装置３０とを含み、前記ソースコード管理装置１０は、第１の記憶部１７と、前記テスト項目管理装置２０と通信可能な第１の通信部１５と、プログラムの開発者から渡された前記プログラムのソースコードをバージョン毎に前記第１の記憶部１７内に記憶させて管理するソースコード管理部１１ａと、前記プログラムの新しいバージョンが前記第１の記憶部１７に記憶される度に、以前のバージョンから変更された箇所を検出し、変更情報として前記テスト項目管理装置２０に送信する変更箇所検出部１１ｂとを備え、前記テスト項目管理装置２０は、第２の記憶部２７と、前記ソースコード管理装置１０および前記テスト実行装置３０と通信可能な第２の通信部２５と、前記第２の記憶部２７に保存されている、個々のテスト項目と当該テスト項目に関連する前記ソースコードとの対応を示すリストであるテスト項目・ソースコード対応リスト２７ａと、前記ソースコード管理装置１０から受信した前記変更情報とに基づいて、実行すべきテスト項目を選択し、選択情報として前記テスト実行装置３０に送信するテスト項目選択部２１ａを備え、前記テスト実行装置３０は、前記テスト項目管理装置２０と通信可能な第３の通信部３５と、前記テスト項目管理装置２０より受信した前記選択情報に基づいて、テスト対象プログラムに対してテストを実行するテスト実行部３１ａを備える。
【００７７】
そのため、ソフトウェアのテストを効率化できる。
【００７８】
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【００７９】
１０  …  ソースコード管理装置
１１  …  ＣＰＵ
１１ａ…  ソースコード管理部
１１ｂ…  変更箇所検出部
１２  …  ＲＯＭ
１３  …  ＲＡＭ
１４  …  操作入力部
１５  …  通信部
１６  …  表示部
１７  …  記憶部
１７ａ…  ソースコード
１８  …  バス
２０  …  テスト項目管理装置
２１  …  ＣＰＵ
２１ａ…  テスト項目選択部
２２  …  ＲＯＭ
２３  …  ＲＡＭ
２４  …  操作入力部
２５  …  通信部
２６  …  表示部
２７  …  記憶部
２７ａ…  テスト項目・ソースコード対応リスト
２８  …  バス
３０  …  テスト実行装置
３１  …  ＣＰＵ
３１ａ…  テスト実行部
３１ｂ…  テスト対象プログラム
３２  …  ＲＯＭ
３３  …  ＲＡＭ
３４  …  操作入力部
３５  …  通信部
３６  …  表示部
３７  …  記憶部
３８  …  バス
１００  …  情報処理システム
【図１】
2018185719.tif 000003
【図２】
2018185719.tif 000004
【図３】
2018185719.tif 000005
【図４】
2018185719.tif 000006
【図５】
2018185719.tif 000007
【図６】
2018185719.tif 000008