(57)【要約】【課題】本発明は、アプリケーションの標準ＡＰＩ仕様への適合性試験に要する資源等を削減し、かつ、より精緻な検査を行えるようにすることを目的とする。【解決手段】検査を司るベリファイアと、アプリケーションを起動するランチャと、クライアントの動作について記述するシナリオを作成するエディタとを備え、更に、ベリファイアは、アプリケーションから渡された標準ＡＰＩの使用方法に関する情報を各機能部に提供する手段と、標準ＡＰＩにて規定されるインタフェース及び実装規定に基づいたＡＰＩプラットフォームをアプリケーションに対して提供する手段と、アプリケーションの標準ＡＰＩに関する準拠性を検査する手段と、シナリオに従ってクライアントの動作を模擬する手段と、提供されるＡＰＩプラットフォームを使い、クライアントの動作に応答して動作するアプリケーションについての要求仕様の実現度を検証する手段とを備える。【選択図】          図１
2004334541.tif 000002
【特許請求の範囲】
【請求項１】
標準ＡＰＩに準拠して開発されたアプリケーションが標準ＡＰＩを正しく使用しているのかを検査するための装置であって、
検査を司るベリファイアと、アプリケーションを起動するランチャと、クライアントの動作について記述するシナリオを作成するエディタとを備え、
更に、上記ベリファイアは、
アプリケーションから渡された標準ＡＰＩの使用方法に関する情報をベリファイアの各機能部に提供するＡＰＩトレーサ部と、
標準ＡＰＩにて規定されるインタフェース及び実装規定に基づいたＡＰＩプラットフォームをアプリケーションに対して提供するＡＰＩ−ＰＦ部と、
アプリケーションの標準ＡＰＩに関する準拠性を検査する検査管理部と、
上記シナリオに従ってクライアントの動作を模擬するシナリオ実行部と、
上記ＡＰＩ−ＰＦ部を使い、クライアントの動作に応答して動作するアプリケーションについての要求仕様の実現度を検証するベリファイア制御部とを備えることを、
特徴とする標準ＡＰＩ使用方法の検査装置。
【請求項２】
請求項１記載の標準ＡＰＩ使用方法の検査装置において、
上記ベリファイアは、更に、
上記シナリオの実行に伴って発行されるメソッドコール情報を受け取りメモリに蓄積するシーケンスデータ部と、
上記ベリファイアの各機能部からアプリケーションの試験に関する情報を受け取りメモリに蓄積するレポートデータ部とを備えることを、
特徴とする標準ＡＰＩ使用方法の検査装置。
【請求項３】
請求項２記載の標準ＡＰＩ使用方法の検査装置において、
上記シーケンスデータ部により蓄積されるメソッドコール情報を出力するシーケンスブラウザと、
上記レポートデータ部により蓄積されるアプリケーションの試験に関する情報を出力するレポートブラウザとを備えることを、
特徴とする標準ＡＰＩ使用方法の検査装置。
【請求項４】
請求項１ないし３のいずれか１項に記載の標準ＡＰＩ使用方法の検査装置において、
上記ＡＰＩ−ＰＦ部は、仕様解釈の異なるその他のＡＰＩ−ＰＦ部と交換可能となるようにとパッケージ化されて実装されることを、
特徴とする標準ＡＰＩ使用方法の検査装置。
【請求項５】
請求項１ないし４のいずれか１項に記載の標準ＡＰＩ使用方法の検査装置において、
上記準拠性の検査に用いられる判定基準を格納する外付けの検査ファイルから、該判定基準を入力する判定基準入力部を備えることを、
特徴とする標準ＡＰＩ使用方法の検査装置。
【請求項６】
請求項１ないし５のいずれか１項に記載の標準ＡＰＩ使用方法の検査装置において、
上記検査管理部は、使用者からの指示に従って、標準ＡＰＩで定められたアプリケーションに対する例外イベントを発生することを、
特徴とする標準ＡＰＩ使用方法の検査装置。
【請求項７】
請求項１ないし６のいずれか１項に記載の標準ＡＰＩ使用方法の検査装置において、
上記シナリオ実行部は、上記エディタにより作成された複数のシナリオの中から１つのシナリオを選択して、その選択したシナリオに従ってクライアントの動作を模擬することを、
特徴とする標準ＡＰＩ使用方法の検査装置。
【請求項８】
ベリファイアとアプリケーションを起動するランチャとクライアントの動作について記述するシナリオを作成するエディタとを備え、更に、ベリファイアがＡＰＩトレーサ部とＡＰＩ−ＰＦ部と検査管理部とシナリオ実行部とベリファイア制御部とシーケンスデータ部とレポートデータ部とを備えるコンピュータで実行されて、標準ＡＰＩに準拠して開発されたアプリケーションが標準ＡＰＩを正しく使用しているのかを検査するための方法であって、
上記ＡＰＩトレーサ部は、アプリケーションから渡された標準ＡＰＩの使用方法に関する情報をベリファイアの各機能部に提供し、
上記ＡＰＩ−ＰＦ部は、標準ＡＰＩにて規定されるインタフェース及び実装規定に基づいたＡＰＩプラットフォームをアプリケーションに対して提供し、
上記検査管理部は、アプリケーションの標準ＡＰＩに関する準拠性を検査し、
上記シナリオ実行部は、上記シナリオに従ってクライアントの動作を模擬し、
上記ベリファイア制御部は、上記ＡＰＩ−ＰＦ部を使い、クライアントの動作に応答して動作するアプリケーションについての要求仕様の実現度を検証し、
上記シーケンスデータ部は、上記シナリオの実行に伴って発行されるメソッドコール情報を受け取ってメモリに蓄積し、
上記レポートデータ部は、ベリファイアの各機能部からアプリケーションの試験に関する情報を受け取ってメモリに蓄積することを、
特徴とする標準ＡＰＩ使用方法の検査方法。
【請求項９】
請求項８記載の標準ＡＰＩ使用方法の検査方法の実現に用いられる処理をコンピュータに実行させるための標準ＡＰＩ使用方法検査プログラム。
【請求項１０】
請求項８記載の標準ＡＰＩ使用方法の検査方法の実現に用いられる処理をコンピュータに実行させるための標準ＡＰＩ使用方法検査プログラムを記録した記録媒体。
【請求項１１】
クライアントの動作について記述して、アプリケーションの成熟度に応じて用意される複数のシナリオを作成する手段と、アプリケーションの標準ＡＰＩに関する準拠性を検査する手段と、該シナリオに従ってクライアントの動作を模擬する手段と、標準ＡＰＩにて規定されるインタフェース及び実装規定に基づいたＡＰＩプラットフォームをアプリケーションに対して提供する手段と、該ＡＰＩプラットフォームを使い、クライアントの動作に応答して動作するアプリケーションについての要求仕様の実現度を検証する手段とを備えて、検査対象のアプリケーションが標準ＡＰＩを正しく使用しているのかを検査する検査装置と、
上記検査装置により得られる準拠性の検査結果と要求仕様の実現度の検証結果とから、検査対象のアプリケーションの合否を判断する判断装置と、
上記判断装置がアプリケーションの不合格を判断する場合に、アプリケーションの開発者に対して、アプリケーションの修正を指示し、一方、上記判断装置がアプリケーションの合格を判断する場合に、上記検査装置に対して、次の成熟度に対応付けて用意されるシナリオを使って、検査対象のアプリケーションの検査を行うことを指示する指示装置とを備えることを、
特徴とするアプリケーション検査システム。
【請求項１２】
請求項１１記載のアプリケーション検査システムにおいて、
上記指示装置は、上記アプリケーションの修正指示に応答して検査対象のアプリケーションが修正される場合に、上記検査装置に対して、最も低い成熟度に対応付けて用意されるシナリオを起点として、検査対象のアプリケーションの検査を行うことを指示することを、
特徴とするアプリケーション検査システム。
【請求項１３】
請求項１１記載のアプリケーション検査システムにおいて、
上記指示装置は、上記アプリケーションの修正指示に応答して検査対象のアプリケーションが修正される場合に、上記検査装置に対して、その修正前のアプリケーションが合格したシナリオの成熟度の次の成熟度に対応付けて用意されるシナリオを起点として、検査対象のアプリケーションの検査を行うことを指示することを、
特徴とするアプリケーション検査システム。
【請求項１４】
クライアントの動作について記述して、アプリケーションの成熟度に応じて用意される複数のシナリオを作成する手段と、アプリケーションの標準ＡＰＩに関する準拠性を検査する手段と、該シナリオに従ってクライアントの動作を模擬する手段と、標準ＡＰＩにて規定されるインタフェース及び実装規定に基づいたＡＰＩプラットフォームをアプリケーションに対して提供する手段と、該ＡＰＩプラットフォームを使い、クライアントの動作に応答して動作するアプリケーションについての要求仕様の実現度を検証する手段とを備える検査装置を使って、標準ＡＰＩに準拠して開発されたアプリケーションが標準ＡＰＩを正しく使用しているのかを検査するための方法であって、
上記検査装置を使って、検査対象のアプリケーションが標準ＡＰＩを正しく使用しているのかを検査する過程と、
その検査により得られる準拠性の検査結果と要求仕様の実現度の検証結果とから、検査対象のアプリケーションの合否を判断する過程と、
その判断によりアプリケーションの不合格を判断する場合に、アプリケーションの開発者に対して、アプリケーションの修正を指示し、一方、合格を判断する場合に、上記検査装置に対して、次の成熟度に対応付けて用意されるシナリオを使って、検査対象のアプリケーションの検査を行うことを指示する過程とを備えることを、
特徴とするアプリケーション検査方法。
【請求項１５】
請求項１４記載のアプリケーション検査方法において、
上記指示する過程では、上記アプリケーションの修正指示に応答して検査対象のアプリケーションが修正される場合に、上記検査装置に対して、最も低い成熟度に対応付けて用意されるシナリオを起点として、検査対象のアプリケーションの検査を行うことを指示することを、
特徴とするアプリケーション検査方法。
【請求項１６】
請求項１４記載のアプリケーション検査方法において、
上記指示する過程では、上記アプリケーションの修正指示に応答して検査対象のアプリケーションが修正される場合に、上記検査装置に対して、その修正前のアプリケーションが合格したシナリオの成熟度の次の成熟度に対応付けて用意されるシナリオを起点として、検査対象のアプリケーションの検査を行うことを指示することを、
特徴とするアプリケーション検査方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションが標準仕様として定められたＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を正しく使用しているかどうかを検査する標準ＡＰＩ使用方法の検査装置及びその検査方法と、その検査方法の実現に用いられる標準ＡＰＩ使用方法検査プログラム及びそのプログラムを記録した記録媒体と、その検査装置を用いてアプリケーションが標準ＡＰＩを正しく使用しているのかを検査するアプリケーション検査システム及びその検査方法とに関する。
【０００２】
【従来の技術】
従来、ＪＡＩＮやＰａｒｌａｙ  といった団体によって、アプリケーション・プログラミング・インタフェース（ＡＰＩ）の仕様は標準化されている。しかし、従来のＡＰＩ仕様には、使用方法に柔軟性を持たせるために、ＡＰＩの具体的なパラメータ値や、ＡＰＩの呼び出しシーケンスについて規定を定めていない。このため、標準ＡＰＩの仕様を採用するベンダによって、その解釈に差異が生じる。
【０００３】
また、標準ＡＰＩに準拠したアプリケーションを採用してサービスを提供するサービスプロバイダについてみるならば、サービスプロバイダは、各アプリケーションにおける標準ＡＰＩの使用方法について、仕様書との照合を行うか、標準ＡＰＩを搭載した実プラットフォーム上で動作試験を行うか、実プラットフォームの動作を擬似する擬似装置上で動作確認を行う必要があり、標準ＡＰＩを用いたアプリケーションによるサービス提供の可能性の判別には、多大な試験、試験機の稼働を要するといった問題があった。
【０００４】
また、公知の技術として提供されているＡＰＩ−プラットフォーム（Ｐｌａｔｆｏｒｍ  ：ＰＦ）の動作そのものを擬似する擬似装置では、アプリケーションのある特定の動作による正常性については確認できるものの、その動作シナリオが固定的で限られているために、アプリケーションが適正な標準ＡＰＩの使用方法を遵守しており、その動作によってＰＦ側に異常をもたらすことがないかといったような確認を行うことはできない。
【０００５】
その他に、本発明に関連する従来技術として、システム開発のオブジェクト指向設計において、ユースケースとＡＰＩとの対応表を用いることにより、既存のＡＰＩの組み合せから、新たに複雑な動作を行うシナリオを容易に設計するという処理を行う発明がある（例えば、特許文献１参照）。しかしながら、この従来技術は、ＡＰＩの検査を行うものでない。
【０００６】
また、本発明に関連する従来技術として、高級言語からコンピュータ用中間言語に変換したプログラムをネットワークを介して取得し、その取得したプログラムを検証するという処理を行う発明がある（例えば、特許文献２参照）。しかしながら、この従来技術は、スタックの深さ（記憶容量）に関する検査を行っており、ＡＰＩの検査を行うものでない。
【０００７】
【特許文献１】
特開２０００−２３５４８５
【特許文献２】
特開２００１−１４２７２０
【０００８】
【発明が解決しようとする課題】
このように、従来技術に従っていると、アプリケーションが標準仕様として定められたＡＰＩを正しく使用しているかどうかを検査するために、多大な試験機資源や費用や時間が要求されることになるという問題があるとともに、検査内容が固定的で限られていることで、十分な検査が行えないという問題がある。
【０００９】
本発明はかかる事情に鑑みてなされたものであって、アプリケーションの標準ＡＰＩ仕様への適合性試験に要する試験機資源、費用、時間を削減し、かつ、より精緻な検査を行うことができるようにすることで、標準ＡＰＩ仕様に準拠するアプリケーションのサービス提供機会の増大を図ることができるようにする新たな検査技術の提供を目的とする。
【００１０】
【課題を解決するための手段】
（１）本発明に係る標準ＡＰＩ使用方法の検査装置の構成
この目的を達成するために、本発明に係る標準ＡＰＩ使用方法の検査装置では、標準ＡＰＩに準拠して開発されたアプリケーションが標準ＡＰＩを正しく使用しているのかを検査するために、（イ）検査を司るベリファイアと、（ロ）アプリケーションを起動するランチャと、（ハ）クライアントの動作について記述するシナリオを作成するエディタとを備え、更に、ベリファイアは、▲１▼アプリケーションから渡された標準ＡＰＩの使用方法に関する情報をベリファイアの各機能部に提供するＡＰＩトレーサ部と、▲２▼標準ＡＰＩにて規定されるインタフェース及び実装規定に基づいたＡＰＩプラットフォームをアプリケーションに対して提供するＡＰＩ−ＰＦ部と、▲３▼アプリケーションの標準ＡＰＩに関する準拠性を検査する検査管理部と、▲４▼エディタの作成したシナリオに従ってクライアントの動作を模擬するシナリオ実行部と、▲５▼ＡＰＩ−ＰＦ部を使い、クライアントの動作に応答して動作するアプリケーションについての要求仕様の実現度を検証するベリファイア制御部と、▲６▼エディタの作成したシナリオの実行に伴って発行されるメソッドコール情報を受け取りメモリに蓄積するシーケンスデータ部と、▲７▼ベリファイアの各機能部からアプリケーションの試験に関する情報を受け取りメモリに蓄積するレポートデータ部と、▲８▼シーケンスデータ部により蓄積されるメソッドコール情報を出力するシーケンスブラウザと、▲９▼レポートデータ部により蓄積されるアプリケーションの試験に関する情報を出力するレポートブラウザとを備えるように構成する。
【００１１】
この構成を採るときにあって、ＡＰＩ−ＰＦ部は、仕様解釈の異なるその他のＡＰＩ−ＰＦ部と交換可能となるようにとパッケージ化されて実装されることがある。ここで、このパッケージ化を実現するために、標準ＡＰＩの実行環境と検査実行制御・検査シナリオとの間を標準ＡＰＩの実装に依存しないインタフェースを介して接続するようにしている。
【００１２】
また、準拠性の検査に用いられる判定基準を自在に変更可能となるようにするために、準拠性の検査に用いられる判定基準を格納する外付けの検査ファイルから、準拠性の検査に用いられる判定基準を入力する判定基準入力部を備えることがある。
【００１３】
また、検査管理部は、例えば、使用者からの指示に従って、あらかじめこういう場合にはこういう例外イベントを発生するということを設定しておいて、その条件が成立するときに例外イベントを発生することで、標準ＡＰＩで定められたアプリケーションに対する例外イベントを自動的に発生したり、その条件が成立するときに発生する例外イベントの候補を複数設定しておくようにして、使用者からの指示に従って、その中から例外イベントを選択して発生することで、標準ＡＰＩで定められたアプリケーションに対する例外イベントを手動で発生することがある。
【００１４】
また、シナリオ実行部は、アプリケーションの成熟度に合わせた検査などを実行するために、エディタにより作成された複数のシナリオの中から１つのシナリオを選択して、その選択したシナリオに従ってクライアント（具体的にはアプリケーションを利用する機器）の動作を模擬することがある。
【００１５】
以上の各処理手段が動作することで実現される本発明に係る標準ＡＰＩ使用方法の検査方法はコンピュータプログラムで実現できるものであり、このコンピュータプログラムは、半導体メモリなどの記録媒体に記録して提供したり、ネットワークを介して提供することができる。
【００１６】
このように構成される本発明に係る標準ＡＰＩ使用方法の検査装置では、エディタがクライアントの動作について記述するシナリオを作成することで検査の準備が完了した後に、ランチャが検査対象のアプリケーションを起動すると、先ず最初に、ＡＰＩトレーサ部は、アプリケーションから渡された標準ＡＰＩの使用方法に関する情報をベリファイアの各機能部に提供する。
【００１７】
次に、検査管理部は、アプリケーションの標準ＡＰＩに関する準拠性を検査する。このとき、外付けの検査ファイルから入力された準拠性の検査に用いられる判定基準を用いて、その準拠性を検査する。
【００１８】
次に、ＡＰＩ−ＰＦ部は、標準ＡＰＩに関する準拠性の検査を終えたアプリケーションに対して、標準ＡＰＩにて規定されるインタフェース及び実装規定に基づいたＡＰＩプラットフォームを提供する。このとき、ＡＰＩプラットフォームはＡＰＩプラットフォームを提供するベンダによって仕様解釈などに相違があることから、独立したクラスファイルとすることで交換可能となっている。
【００１９】
最後に、アプリケーションについての要求仕様の実現度の検証に入って、シナリオ実行部がエディタの作成したシナリオに従ってクライアントの動作を模擬し、これを受けて、ベリファイア制御部は、ＡＰＩ−ＰＦ部を使い、クライアントの動作に応答して動作するアプリケーションについての要求仕様の実現度を検証する。このとき、検査管理部は、使用者からの指示に応答して、標準ＡＰＩで定められたアプリケーションに対する例外イベントを発生する。
【００２０】
このようにしてアプリケーションに対する検査を行うときに、シーケンスデータ部は、シナリオの実行に伴って発行されるメソッドコール情報を受け取ってメモリに蓄積し、レポートデータ部は、ベリファイアの各機能部からアプリケーションの試験に関する情報を受け取ってメモリに蓄積する。
【００２１】
このようにして、本発明に係る標準ＡＰＩ使用方法の検査装置は、アプリケーションが標準仕様として定められたＡＰＩを正しく使用しているかどうかを検査するのである。
【００２２】
以上に説明したことから分かるように、本発明に係る標準ＡＰＩ使用方法の検査装置を用いてアプリケーションの標準ＡＰＩ仕様への適合性試験を行うことにより、実プラットフォームを用いることなく標準ＡＰＩへの適合性を判別することができるようになるとともに、標準ＡＰＩに関する準拠性の判別機能を持たず、しかも、アプリケーションの動作が固定的なものとなる擬似装置を用いていたのでは判別不能であった標準ＡＰＩへの適合性についても判別することができるようになる。
【００２３】
そして、本発明に係る標準ＡＰＩ使用方法の検査装置では、標準ＡＰＩの実行環境と検査実行制御・検査シナリオとの間を標準ＡＰＩの実装に依存しないインタフェースを介して接続することにより、標準ＡＰＩの種類に合わせた標準ＡＰＩへの実行環境の差し替えが可能となり、これにより、標準ＡＰＩの種類に依存することなく、様々な標準ＡＰＩ仕様への適合性を検査することができるようになるとともに、新たな標準ＡＰＩに対しても柔軟な拡張により対応することができるようになる。
【００２４】
そして、本発明に係る標準ＡＰＩ使用方法の検査装置では、プラットフォームベンダ毎に異なる標準ＡＰＩの仕様解釈の差異を吸収するために、検査管理部とその検査管理部が実行する準拠性検査に用いる判定基準を格納する検査ファイルとを分離することにより、仕様解釈ごとに検査ファイルを差し替えることを可能にし、これにより、プラットフォームベンダ毎に異なる標準ＡＰＩの仕様解釈の差異を吸収することができるようになる。
【００２５】
そして、本発明に係る標準ＡＰＩ使用方法の検査装置では、アプリケーションを動作させるために必要な例外イベントを本発明の検査装置の側から手動又は自動的に送出することにより、アプリケーションの動作パターンを複数擬似することが可能になり、これにより、より精緻な標準ＡＰＩ仕様への適合性試験を行うことができるようになる。
【００２６】
そして、本発明に係る標準ＡＰＩ使用方法の検査装置では、アプリケーションを利用する機器の動作を標準のフォーマットを用いて記述されたシナリオにより記述し、そのシナリオを読み込むことで実行させることにより、連続した動作や、繰り返し動作、休止など、よりアプリケーションのサービス提供形態を想定した機器動作を擬似することが可能になり、これにより、より精緻な標準ＡＰＩ仕様への適合性試験を行うことができるようになる。
【００２７】
このようにして、本発明を用いてアプリケーションの標準ＡＰＩ仕様への適合性試験を行うことにより、アプリケーションの標準ＡＰＩ仕様への適合性試験に要する試験機資源、費用、時間を削減し、かつ、より精緻な検査を行うことができるようになる。
【００２８】
これにより、本発明によれば、標準ＡＰＩ仕様に準拠するアプリケーションのサービス提供機会の増大を図ることができるようになる。
【００２９】
（２）本発明に係るアプリケーション検査システムの構成
一般的に、アプリケーションの開発は成熟度を上げながら行われる。これから、標準ＡＰＩに準拠して開発するアプリケーションの示すサービスプロバイダの要求する仕様に対しての実現度合いを、アプリケーション開発の成熟度に応じて判定できるようにする技術を構築する必要がある。
【００３０】
本発明に係るアプリケーション検査システムは、この技術の構築を実現するものであって、▲１▼本発明に係る標準ＡＰＩ使用方法の検査装置で構成され、クライアントの動作について記述して、アプリケーションの成熟度に応じて用意される複数のシナリオを作成して、それを使って検査対象のアプリケーションが標準ＡＰＩを正しく使用しているのかを検査する検査装置と、▲２▼検査装置により得られる準拠性の検査結果と要求仕様の実現度の検証結果とから、検査対象のアプリケーションの合否を判断する判断装置と、▲３▼判断装置がアプリケーションの不合格を判断する場合に、アプリケーションの開発者に対して、アプリケーションの修正を指示し、一方、判断装置がアプリケーションの合格を判断する場合に、検査装置に対して、次の成熟度に対応付けて用意されるシナリオを使って、検査対象のアプリケーションの検査を行うことを指示する指示装置とを備えるように構成する。
【００３１】
このように構成されるときにあって、指示装置は、アプリケーションの修正指示に応答して検査対象のアプリケーションが修正される場合に、検査装置に対して、最も低い成熟度に対応付けて用意されるシナリオを起点として、検査対象のアプリケーションの検査を行うことを指示したり、その修正前のアプリケーションが合格したシナリオの成熟度の次の成熟度に対応付けて用意されるシナリオを起点として、検査対象のアプリケーションの検査を行うことを指示する。
【００３２】
このように構成される本発明に係るアプリケーション検査システムでは、検査装置を使って、検査対象のアプリケーションが標準ＡＰＩを正しく使用しているのかを検査し、その検査により得られる準拠性の検査結果と要求仕様の実現度の検証結果とから、検査対象のアプリケーションの合否を判断する。
【００３３】
この判断によりアプリケーションの合格を判断する場合には、検査装置に対して、次の成熟度に対応付けて用意されるシナリオを使って、検査対象のアプリケーションの検査を行うことを指示する。
【００３４】
このようにして成熟度を順次上げながら検査対象のアプリケーションの検査を行っていくときに、アプリケーションの不合格を判断する場合には、アプリケーションの開発者に対して、アプリケーションの修正を指示する。
【００３５】
この修正指示を受けて、アプリケーションの開発者は、アプリケーションを修正して、その修正したアプリケーションを検査対象として検査を依頼してくるので、再び、検査装置を使って、検査対象のアプリケーションが標準ＡＰＩを正しく使用しているのかを検査し、その検査により得られる準拠性の検査結果と要求仕様の実現度の検証結果とから、検査対象のアプリケーションの合否を判断するすることを繰り返していく。
【００３６】
このようにして、本発明に係るアプリケーション検査システムを用いることで、標準ＡＰＩに準拠して開発するアプリケーションの示すサービスプロバイダの要求する仕様に対しての実現度合いを、アプリケーション開発の成熟度に応じて判定できるようになる。
【００３７】
これにより、本発明によれば、標準ＡＰＩ仕様に準拠するアプリケーションの開発を効率的に行うことができるようになる。
【００３８】
【発明の実施の形態】
以下、実施の形態に従って本発明を詳細に説明する。
【００３９】
図１に、本発明を具備するＡＰＩベリファイア１のソフトウェア構成の一実施形態例を図示する。
【００４０】
本発明のＡＰＩベリファイア１は、標準ＡＰＩに準拠して開発された検査対象のアプリケーション２が標準ＡＰＩを正しく使用しているのかを検査する処理を行うものであって、検査の中心的処理を司るベリファイア１０を備える他に、ＡＰＩベリファイア１の構成要素として用意されるアプリケーションランチャ１１、シナリオエディタ１２、シーケンスブラウザ１３、使用期限設定ツール１４及びレポートブラウザ１５を備え、さらに、ベリファイア１０に備えられて、ＡＰＩベリファイア１に使用される構成要素として用意されるシナリオプロセッサ部２０、シーケンスデータ部２１、プロテクト部２２及びレポートデータ部２３を備える。
【００４１】
ここで、１１ａはアプリケーションランチャ１１に備えられるアプリケーション起動部である。
【００４２】
そして、この検査の中心的処理を司るベリファイア１０は、ＡＰＩトレーサ部３０と、検査管理部３１と、ＡＰＩ−ＰＦ部３２と、ベリファイア制御部３３と、ユーティリティ部３４とを備える。
【００４３】
次に、これらの各構成要素の機能について説明する。
【００４４】
アプリケーション起動部１１ａは、アプリケーション開発者の作成した標準ＡＰＩに準拠するアプリケーション２を起動するアプリケーションランチャ１１の機能を果たす。アプリケーションランチャ１１により起動されたアプリケーション２は、ベリファイア１０に移る。
【００４５】
ベリファイア１０では、まず、ＡＰＩトレーサ部３０で、アプリケーション２とＡＰＩ−ＰＦ部３２との間の仲立ちをし、検証のための情報やシーケンスデータなどを収集して、レポートデータ部２３を含む各機能ブロックに提供する。
【００４６】
次に、検査管理部３１で、アプリケーション開発者の作成したアプリケーション２の標準ＡＰＩに関する準拠性を検査する。
【００４７】
例えば、メソッドを仕様通り使用しているのかとか（メソッド名に誤りがないかとか）、アプリケーション２が使用するＡＰＩのパラメータに値が入力されているのかとか、その値の範囲が正しいのかとか、その値が該当するオブジェクトの値と等しいのかとか、該当のオブジェクトが生存しているのかといったような標準ＡＰＩに関する準拠性の検査を、標準ＡＰＩの使用方法の検査の内容を定めた検査クラスにより行う。なお、後述するように、この検査クラス自体は選択可能となっている。
【００４８】
そして、この検査に応じて、例えば、バグなどのベリファイア１０の実行が不可能となるような致命的なＥｒｒｏｒレベルのメソッドの使用方法であるとか、ファイル、ディレクトリへのアクセス権の不備などのユーザ対処により改善できる可能性があるＷＡＲＮＩＮＧレベルのメソッドの使用方法であるとか、正しい使用方法にて使用していることを示すＯＫレベルのメソッドの使用方法であるとかに分類する。
【００４９】
ここで、この標準ＡＰＩに関する準拠性の検査結果については、レポートデータ部２３に報告する。
【００５０】
検査管理部３１は、この他に、アプリケーション２の検証実行時に、手動により例外状況（例外イベント）を発生させる機能を使用者（アプリケーション開発者など）に提供する。この検査クラスは標準仕様の変更、または解釈の変更に柔軟に対応できるように、独立したクラスファイルとしてアプリケーション２に対して提供する。
【００５１】
次に、ＡＰＩ−ＰＦ部３２で、標準ＡＰＩに関する準拠性の検査を終えたアプリケーション２に対して、サービスプロバイダの要求する仕様実現度判定のための準備として、インタフェース規定および実装規定に基づいたＡＰＩプラットフォームを提供する。
【００５２】
このＡＰＩプラットフォームは、ＡＰＩプラットフォームを提供するベンダによって仕様解釈などに相違があるため、独立したクラスファイルとすることで取り替え可能となっている。この取り替えを可能とするために、ＡＰＩ−ＰＦ部３２とベリファイア制御部３３との間と、ＡＰＩ−ＰＦ部３２とシナリオプロセッサ部２０との間については、標準ＡＰＩのＰＦの種類やバージョンに依存しない、Ｐｌａｔｆｏｒｍ  Ａｃｃｅｓｓ  Ｉｎｔｅｒｆａｃｅ  によって接続される構成が採られている。
【００５３】
ここで、サービスプロバイダの要求する仕様とは、サービスプロバイダがクライアントに対してサービスを提供するために、アプリケーションに対して要求する仕様であり、サービスプロバイダごとに異なる。例えば、４８時間以上連続運転できることとか、連続運転状態でのＣＰＵやメモリの使用率が何パーセント以内にあることといったようなものが仕様として要求されることになる。
【００５４】
最後に、ベリファイア制御部３３で、ベリファイア１０の起動および実行制御を行い、ＡＰＩ−ＰＦ部３２の提供するＡＰＩプラットフォームを使って、アプリケーション２がサービスプロバイダの要求する仕様をどの程度実現しているのかの検証を自動で行い、その結果をレポートデータ部２３に報告する。
【００５５】
ベリファイア１０には、以上に説明した各機能の他に、ユーティリティ部３４が備えられており、このユーティリティ部３４は、ベリファイア１０を構成する各機能部が使用するメソッドライブラリなどのユーティリティを提供する。
【００５６】
ＡＰＩベリファイア１とベリファイア１０とにまたがって存在する、シナリオプロセッサ部２０、シーケンスデータ部２１、プロテクト部２２及びレポートデータ部２３は、ベリファイア制御部３３からアプリケーション２についての要求仕様の実現度検査に関する各種の情報を得る。
【００５７】
次に、これらの各構成要素の機能について説明する。
【００５８】
シナリオプロセッサ部２０は、アプリケーション２の要求仕様の実現度検証時に、要求仕様が含む端末操作に関する自動実行する機能（端末操作を模擬する機能）を有する他、その自動実行のためのシナリオファイルを作成する機能をシナリオエディタ１２として、ＡＰＩベリファイア１に提供する。
【００５９】
シーケンスデータ部２１は、アプリケーション２の要求仕様の実現度検証時に発行されるメソッドコール情報を図２に示すような形でシーケンスデータとして蓄積する他、その情報を表示する機能をシーケンスブラウザ１３として、ＡＰＩベリファイア１に提供する。
【００６０】
プロテクト部２２は、ベリファイア１０の使用を制限する機能および使用期限を設定する機能を使用期限設定ツール１４として、ＡＰＩベリファイア１に提供する。
【００６１】
レポートデータ部２３は、前述のとおり、ベリファイア１０を構成する各構成要素からアプリケーション２に関する試験データや試験結果の情報を受け、その情報を蓄積する他、図３に示すような表示画面を使って、その情報を表示し編集する機能をレポートブラウザ１５として、ＡＰＩベリファイア１に提供する。
【００６２】
これらのＡＰＩベリファイア１とベリファイア１０とにまたがって存在する構成要素を受けて、ＡＰＩベリファイア１は、前述のアプリケーションランチャ１０の他に、アプリケーション２の要求仕様の実現度検証時における端末操作を自動実行させるためのシナリオファイルを作成するシナリオエディタ１２と、要求仕様の実現度検証時に発行されるメソッドコール情報を表示するシーケンスブラウザ１３と、ベリファイア１０の使用を制限する機能および使用期限を設定する機能を実現する使用期限設定ツール１４と、アプリケーション２に関する試験データや試験結果の情報を表示し編集するレポートブラウザ１５とを備えることになる。
【００６３】
次に、図４及び図５を使って、検査管理部３１の機能構成と動作とについて、さらに詳細に説明する。
【００６４】
図４は、検査管理部３１における検査機能の機能構成と動作とを示す図である。この図に示すように、検査管理部３１は、検査管理機能４０と、検査クラスローダ画面４１と、マニフェスト読み込み機能４２と、検査クラス読み込み機能４３と、検査実行機能４４とを備え、更に、外付けのファイルとして用意される検査ファイル４５を接続する。
【００６５】
この検査ファイル４５は、検査クラスの目録を表すマニフェストファイル４６と、実際の検査判定項目を示す検査クラス４７（チェックのロジックが埋め込まれているプログラム）とからなる。
【００６６】
本発明のＡＰＩベリファイア１の使用者は、あらかじめ、検査クラスを記述したマニフェストファイル４６と検査クラス４７とを用意する。
【００６７】
このマニフェストファイル４６はマニフェスト読み込み機能４２によって読み込まれ、アプリケーションランチャ１１を通して、使用者によってあらかじめ使う検査クラス４７を参照、選択することができるようになる。そして、そのようにして選択された検査クラス４７は検査クラス読み込み機能４３によって読み込まれ、検査実行機能４４の実行の判定基準として用いられて、アプリケーション２の標準ＡＰＩに関する準拠性の検査が行われて、その検査結果がレポートデータ部２３に通知されることになる。
【００６８】
このようにして、検査管理部３１は、外付けのファイルとして用意される検査ファイル４５の中から準拠性の判定基準となる検査クラス４７を選択して、それを使ってアプリケーション２の標準ＡＰＩに関する準拠性の検査を行って、その検査結果をレポートデータ部２３に出力するように処理するのである。これにより、標準仕様の変更、または解釈の変更に柔軟に対応できるようになる。
【００６９】
図５は、検査管理部３１におけるＥｘｃｅｐｔｉｏｎ発生・管理機能の機能構成と動作とを示す図である。この図に示すように、検査管理部３１は、Ｅｘｃｅｐｔｉｏｎ発生・管理機能５０と、Ｅｘｃｅｐｔｉｏｎ発生対象設定画面５１と、発生Ｅｘｃｅｐｔｉｏｎ選択画面５２とを備える。
【００７０】
本発明のＡＰＩベリファイア１の使用者は、Ｅｘｃｅｐｔｉｏｎ発生対象設定画面５１により、アプリケーション２のどのインタフェースに対してＥｘｃｅｐｔｉｏｎを発生させるのかを決定し、発生Ｅｘｃｅｐｔｉｏｎ選択画面５２によって、どのＥｘｃｅｐｔｉｏｎを発生させるかを決定して入力する。このようにして発生されるＥｘｃｅｐｔｉｏｎについては、レポートデータ部２３に対して通知される。
【００７１】
このようにして、検査管理部３１は、アプリケーション２の検証実行時に、手動により例外状況（例外イベント）を発生させる機能を使用者に提供するように処理するのである。ここで、ある状態になったら自動的にある例外イベントを発生するようにと設定することも可能であり、この場合には、その状態になると、自動的に例外イベントを発生することになる。
【００７２】
このような例外イベントの発生機能が用意されることで、アプリケーションの動作パターンを複数擬似することが可能になり、これにより、より精緻な標準ＡＰＩ仕様への適合性試験を行うことができるようになる。
【００７３】
次に、図６ないし図９を使って、シナリオプロセッサ部２０の機能構成と動作とについて、さらに詳細に説明する。
【００７４】
図６は、シナリオプロセッサ部２０の機能構成と動作とを示す図である。この図に示すように、シナリオプロセッサ部２０は、シナリオの実行を受け持つシナリオ実行部６０と、シナリオファイルを読み込むファイルＩ／Ｏ部６１と、タグ定義ファイル６２によって規定され、標準のフォーマットであるＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）によって記述されたシナリオファイル６３と、検査に用いるシナリオを使用者が選択するためのシナリオメニュー画面６４と、使用者が用いたいシナリオを自由かつ容易に作成するためのシナリオエディタ画面６５と、シナリオ作成時に使用者にシナリオ作成方法を示すヘルプ表示画面６６とからなる。
【００７５】
シナリオプロセッサ部２０（シナリオエディタ１２）は、図７に示すようなシナリオエディタ画面６５を使って使用者と対話することで、例えば、電話番号“１２３４５”の電話をオンフックし、続いて、電話番号“２３４５６”の電話をオンフックし、続いて、電話番号“１２３４５”の電話から電話番号“２３４５６”の電話を呼び出し、続いて、５００ｍｓ待ってから、電話番号“２３４５６”の電話をオフフックし、続いて、５００ｍｓ待ってから、電話番号“２３４５６”の電話をオンフックするというようなアプリケーション２を利用する機器の動作を模擬するシナリオを作成する。
【００７６】
このようにして作成されたシナリオファイル６３は、図８に示すように、標準のフォーマットであるＸＭＬによって記述されて、図９に示すようなシナリオ実行画面を使って実行されることになる。
【００７７】
このように構成される本発明のＡＰＩベリファイア１では、シナリオエディタ１２がアプリケーション２を利用する機器の動作について記述するシナリオを作成することで検査の準備が完了した後に、アプリケーションランチャ１１が検査対象のアプリケーション２を起動すると、先ず最初に、ＡＰＩトレーサ部３０は、アプリケーション２から渡された標準ＡＰＩの使用方法に関する情報をベリファイア１０の各機能部に提供する。
【００７８】
次に、検査管理部３１は、アプリケーション２の標準ＡＰＩに関する準拠性を検査する。このとき、外付けの検査ファイル４５から入力された準拠性の検査に用いられる判定基準を用いて、その準拠性を検査する。
【００７９】
次に、ＡＰＩ−ＰＦ部３２は、標準ＡＰＩに関する準拠性の検査を終えたアプリケーション２に対して、標準ＡＰＩにて規定されるインタフェース及び実装規定に基づいたＡＰＩプラットフォームを提供する。このとき提供されるＡＰＩプラットフォームはＡＰＩプラットフォームを提供するベンダによって仕様解釈などに相違があることから、独立したクラスファイルとすることで交換可能となっている。
【００８０】
最後に、アプリケーション２についての要求仕様の実現度の検証に入って、シナリオプロセッサ部２０がシナリオエディタ１２の作成したシナリオに従ってアプリケーション２を利用する機器の動作を模擬し、これを受けて、ベリファイア制御部３３は、ＡＰＩ−ＰＦ部３２を使い、アプリケーション２を利用する機器の動作に応答して動作するアプリケーション２についての要求仕様の実現度を検証する。このとき、検査管理部３１は、使用者からの指示に応答して、標準ＡＰＩで定められたアプリケーションに対する例外イベントを発生する。
【００８１】
そして、このアプリケーション２に対する検査を行うときに、シーケンスデータ部２１は、シナリオの実行に伴って発行されるメソッドコール情報を受け取ってメモリに蓄積し、レポートデータ部２３は、ベリファイア１０の各機能部からアプリケーション２の試験に関する情報を受け取ってメモリに蓄積する。
【００８２】
このようにして、本発明のＡＰＩベリファイア１は、アプリケーション２が標準仕様として定められたＡＰＩを正しく使用しているかどうかを検査するのである。
【００８３】
通常の場合、アプリケーション２の開発は成熟度を上げながら行われる。これから、標準ＡＰＩに準拠して開発するアプリケーション２の示すサービスプロバイダの要求する仕様に対しての実現度合いを、アプリケーション開発の成熟度に応じて判定できるようにする技術を構築する必要がある。
【００８４】
図１０に、この技術を実現する本発明のアプリケーション検査システム１００の一実施形態例を図示する。ここで、図中に示す１０、１１、２１、２３は、それぞれ図１で説明したベリファイア、アプリケーションランチャ、シーケンスデータ部、レポートデータ部を示している。
【００８５】
この図に示すように、本発明のアプリケーション検査システム１００は、検査装置２００と、判断装置３００と、指示装置４００とを備える。
【００８６】
検査装置２００は、上述した本発明のＡＰＩベリファイア１で構成されて、検査対象のアプリケーション２が標準ＡＰＩを正しく使用しているのかを検査する処理を行う。
【００８７】
ここで、検査装置２００は、本発明のアプリケーション検査システム１００に実装される場合、アプリケーション開発者からのアプリケーションの検査要求を受け付ける検査受付部２０１と、シナリオエディタ１２により作成された複数のシナリオ２０２の中からベリファイア１０の検査対象となるシナリオを選択するシナリオ選択部２０３とを備えることになる。
【００８８】
また、検査装置２００は、本発明のアプリケーション検査システム１００に実装される場合、アプリケーション２を利用する機器の動作を模擬するシナリオ２０２として、アプリケーション２の成熟度に応じて用意される複数のシナリオ２０２（例えば、試験の難易度に応じた複数のシナリオ２０２）を作成することになる。
【００８９】
例えば、４つのシナリオ２０２を作成する場合に、▲１▼最も成熟度の低いアプリケーション２に対応付けられるシナリオ２０２として、例えば、通常の１コールで構成されるような正常系の動作を模擬するものを作成し、▲２▼成熟度の低いアプリケーション２に対応付けられるシナリオ２０２として、例えば、呼び出し中の放棄などを含むような準正常系の動作を模擬するものを作成し、▲３▼成熟度の高いアプリケーション２に対応付けられるシナリオ２０２として、例えば、サーバ異常による通話切断などを含むような異常系の動作を模擬するものを作成し、▲４▼最も成熟度の高いアプリケーション２に対応付けられるシナリオ２０２として、例えば、異常系も組み合わせた４８時間連続運転を模擬するようなものを作成するというように、アプリケーション２の成熟度に応じて用意される複数のシナリオ２０２を作成するのである。
【００９０】
判断装置３００は、検査装置２００により得られた準拠性の検査結果と要求仕様の実現度の検証結果とから、検査対象のアプリケーション２の合否を判断する。
【００９１】
指示装置４００は、判断装置３００がアプリケーション２の不合格を判断する場合には、アプリケーション２の開発者に対して、アプリケーション２の修正を指示し、一方、判断装置３００がアプリケーション２の合格を判断する場合には、検査装置２００に対して、次の成熟度に対応付けて用意されるシナリオ２０２を使って、検査対象のアプリケーション２の検査を行うことを指示する。
【００９２】
次に、図１１の処理フローに従って、本発明のアプリケーション検査システム１００の実行する処理について詳細に説明する。
【００９３】
本発明のアプリケーション検査システム１００は、アプリケーション開発者からアプリケーション２を指定して検査要求が発行されると、図１１の処理フローに示すように、先ず最初に、ステップ１０で、アプリケーション開発者から検査開始シナリオの選択指示があるのか否かを判断する。
【００９４】
後述するように、指示装置４００がアプリケーション開発者に対して、検査対象のアプリケーション２の修正を指示すると、アプリケーション開発者は、その修正指示に応答してアプリケーション２を修正して、それを新たな検査対象のアプリケーション２として指定して検査要求を発行してくることになる。このとき、アプリケーション開発者は、修正前のアプリケーション２が既にある成熟度のシナリオ２０２まで合格している場合には、その成熟度に続く成熟度のシナリオ２０２から検査を続行するように指示することがあるので、このステップ１０では、そのような検査開始シナリオの選択指示があるのか否かを判断することになる。
【００９５】
この判断処理により、検査開始シナリオの選択指示がないことを判断するときには、ステップ１１に進んで、最も成熟度の低いアプリケーション２に対応付けられるシナリオ２０２の番号を示す変数ｉに対して“１”を設定し、一方、検査開始シナリオの選択指示があることを判断するときには、ステップ１２に進んで、その変数ｉに対して指定された検査開始シナリオの番号を示す“ｎ”を設定する。
【００９６】
続いて、ステップ１３で、検査装置２００を起動して、変数ｉの指す成熟度のシナリオ２０２を使って検査要求のアプリケーション２の検査を行うことで、アプリケーション２の標準ＡＰＩに関する準拠性と、アプリケーション２についての要求仕様の実現度とについて評価する。
【００９７】
この検査により、標準ＡＰＩに関する準拠性については、例えば、Ｅｒｒｏｒが何回発生し、ＷＡＲＮＩＮＧが何回発生したというような検査結果が得られるとともに、要求仕様の実現度については、例えば、メモリの使用率が何パーセント以内になければならないという要求仕様を充足しているのか否かというような検査結果が得られて、それらの検査結果がレポートデータ部２３に書き込まれることになる。
【００９８】
これから、続いて、ステップ１４で、その検査結果とあらかじめアプリケーション開発者により設定された合否判断基準とを比較することで、検査対象のアプリケーション２が準拠性および要求仕様の実現度について合格したのか否かを判断する。
【００９９】
この判断処理により、検査対象のアプリケーション２が準拠性および要求仕様の実現度について合格したことを判断するときには、ステップ１５に進んで、変数ｉの値を１つインクリメントし、続くステップ１６で、変数ｉの値が最後のシナリオ２０２の番号であるｉｍａｘ  を超えたのか否かを判断して、ｉｍａｘ  を超えていないことを判断するときには、ステップ１３に戻り、ｉｍａｘ  を超えたことを判断するときには、処理を終了する。
【０１００】
このようにして、ステップ１３〜ステップ１６の処理に従って、検査対象のアプリケーション２が準拠性および要求仕様の実現度について合格したことを判断するときには、その次のレベルの成熟度のシナリオ２０２を使って検査要求のアプリケーション２の検査を行うことを繰り返していくのである。
【０１０１】
一方、ステップ１４で、検査対象のアプリケーション２が準拠性および要求仕様の実現度について合格しないことを判断するときには、ステップ１７に進んで、そのアプリケーション２の開発者に対して、どの成熟度までのシナリオ２０２による検査については合格したのかを知らせつつ、そのアプリケーション２が検査に合格しなかった旨を通知する。
【０１０２】
この通知を受けて、アプリケーション開発者は、その修正指示に応答してアプリケーション２を修正して、それを新たな検査対象のアプリケーション２として指定して検査要求を発行してくることになる。
【０１０３】
このようにして、本発明のアプリケーション検査システム１００を用いることで、アプリケーション開発者は、標準ＡＰＩに準拠して開発するアプリケーション２の示すサービスプロバイダの要求する仕様に対しての実現度合いを、アプリケーション開発の成熟度に応じて判定できるようになる。これにより、標準ＡＰＩ仕様に準拠するアプリケーションの開発を効率的に行うことができるようになる。
【０１０４】
次に、本発明のＡＰＩベリファイア１を用いて実現できるアプリケーション２の検査方法について説明する。
【０１０５】
本発明のＡＰＩベリファイア１はソフトウェアで構成されることから、アプリケーション開発者に配付することができる。
【０１０６】
アプリケーション開発者は、この配付されたＡＰＩベリファイア１を使い、標準ＡＰＩに準拠して開発したアプリケーションをその試験環境において、主として、標準ＡＰＩの準拠性を中心にして検査を行い、その結果をベリファイア１０にログし、アプリケーションの選定および認定申請を行う。このステップにより、サービスプロバイダの要求するアプリケーションの開発に先立って、標準ＡＰＩの基本的使用方法が確認できる。
【０１０７】
次に、ベリファイア１０は、アプリケーションの選定および認定申請／受付けの機能において、標準ＡＰＩの準拠性の確認されたアプリケーションを受け取り、このアプリケーションを処理対象として、サービスプロバイダの要求するサービス使用の実現度を判定する。
【０１０８】
このとき、まず、アプリケーションの追加項目に関する試験を実施し、部分的に再試験を行い、試験結果のデータを収集する。次に、サービスプロバイダの要求するサービス仕様についてのアプリケーションの実現度を判定する。検証できない項目については、実機により試験を行い、試験データを収集する。
【０１０９】
次に、検査結果の良否判定に移り、収集した標準ＡＰＩの準拠性に関する追加試験および実機試験に伴う、サーピスプロバイダの要求仕様の実現度試験結果の各データによりアプリケーションの各試験の合否判定を行う。この判定結果が合格であれば、標準ＡＰＩの準拠性とサービスプロバイダの要求仕様の実現度試験に合格したアプリケーションを、ベリファイア１０のデータベースに登録、ＷＥＢに公開する。
【０１１０】
このようにして、サービスプロバイダには、標準ＡＰＩの準拠性と自身の要求仕様の実現度試験に合格し、ＷＥＢ上に公開されたアプリケーションが提供されることになる。それと同時に、アプリケーション開発者からはアプリケーションの提供を受け、ＡＰＩ−ＰＦベンダからはプラットフォームの提供を受けることになる。
【０１１１】
【発明の効果】
以上説明したように、本発明を用いてアプリケーションの標準ＡＰＩ仕様への適合性試験を行うことにより、アプリケーションの標準ＡＰＩ仕様への適合性試験に要する試験機資源、費用、時間を削減し、かつ、より精緻な検査を行うことができるようになる。
【０１１２】
これにより、本発明によれば、標準ＡＰＩ仕様に準拠するアプリケーションのサービス提供機会の増大を図ることができるようになる。
【０１１３】
そして、本発明を用いてアプリケーションの標準ＡＰＩ仕様への適合性試験を行うことにより、標準ＡＰＩに準拠して開発するアプリケーションの示すサービスプロバイダの要求する仕様に対しての実現度合いを、アプリケーション開発の成熟度に応じて判定できるようになる。
【０１１４】
これにより、本発明によれば、標準ＡＰＩ仕様に準拠するアプリケーションの開発を効率的に行うことができるようになる。
【０１１５】
このようにして、本発明によれば、アプリケーション開発者には、事前の標準ＡＰＩの準拠性検査により、ＡＰＩ仕様への適合性試験に要する費用、時間を削減し、各種のサービスプロバイダ向けの開発コストが低減し、サービスプロバイダへのアプリケーションの提供機会が増大するという利益が得られる。また、サービスプロバイダには、標準ＡＰＩに準拠する多数のアプリケーションのサービス導入機会が増えるという利益が得られる。また、ＡＰＩ−ＰＦベンダには、ＡＰＩ−ＰＦ上でサービス可能なアプリケーションが増え、ＡＰＩ−ＰＦの付加価値が高まるという利益が得られる。また、サービスプロバイダの加入者には、より多くのサービスを享受できるようになるという利益が得られる。
【０１１６】
さらに説明するならば、本発明によれば、実プラットフォームを用いることなく標準ＡＰＩへの適合性を判別することができるようになるとともに、標準ＡＰＩに関する準拠性の判別機能を持たず、しかも、アプリケーションの動作が固定的なものとなる擬似装置を用いていたのでは判別不能であった標準ＡＰＩへの適合性についても判別することができるようになる。
【０１１７】
そして、本発明によれば、標準ＡＰＩの種類に合わせた標準ＡＰＩの実行環境の差し替えが可能となることで、標準ＡＰＩの種類に依存することなく、様々な標準ＡＰＩ仕様への適合性を検査することができるようになるとともに、新たな標準ＡＰＩに対しても柔軟な拡張により対応することができるようになる。
【０１１８】
そして、本発明によれば、仕様解釈ごとに検査ファイルを差し替えることが可能になることで、プラットフォームベンダ毎に異なる標準ＡＰＩの仕様解釈の差異を吸収することができるようになる。
【０１１９】
そして、本発明によれば、アプリケーションを動作させるために必要な例外イベントを手動又は自動的に送出することができるようになることでアプリケーションの動作パターンを複数擬似することが可能になり、これにより、より精緻な標準ＡＰＩ仕様への適合性試験を行うことができるようになる。
【０１２０】
そして、本発明によれば、アプリケーションを利用する機器の動作を標準のフォーマットを用いて記述されたシナリオを実行させることにより、連続した動作や、繰り返し動作、休止など、よりアプリケーションのサービス提供形態を想定した機器動作を擬似することが可能になることで、より精緻な標準ＡＰＩ仕様への適合性試験を行うことができるようになる。
【図面の簡単な説明】
【図１】本発明のＡＰＩベリファイアのソフトウェア構成の一実施形態例である。
【図２】シーケンスデータの一例を示す図である。
【図３】レポートブラウザの表示する画面の一例を示す図である。
【図４】検査管理部の機能構成の説明図である。
【図５】検査管理部の機能構成の説明図である。
【図６】シナリオプロセッサ部の機能構成の説明図である。
【図７】シナリオエディタ画面の説明図である。
【図８】シナリオファイルの一例を示す図である。
【図９】シナリオ実行画面の説明図である。
【図１０】本発明のアプリケーション検査システムの一実施形態例である。
【図１１】本発明のアプリケーション検査システムの実行する処理フローである。
【符号の説明】
１      ＡＰＩベリファイア
１０    ベリファイア
１１    アプリケーションランチャ
１２    シナリオエディタ
１３    シーケンスブラウザ
１４    使用期限設定ツール
１５    レポートブラウザ
２０    シナリオプロセッサ部
２１    シーケンスデータ部
２２    プロテクト部
２３    レポートデータ部
３０    ＡＰＩトレーサ部
３１    検査管理部
３２    ＡＰＩ−ＰＦ部
３３    ベリファイア制御部
３４    ユーティリティ部
１１ａ  アプリケーション起動部
【図１】
2004334541.tif 000003
【図２】
2004334541.tif 000004
【図３】
2004334541.tif 000005
【図４】
2004334541.tif 000006
【図５】
2004334541.tif 000007
【図６】
2004334541.tif 000008
【図７】
2004334541.tif 000009
【図８】
2004334541.tif 000010
【図９】
2004334541.tif 000011
【図１０】
2004334541.tif 000012
【図１１】
2004334541.tif 000013