(57)【要約】  アプリケーションを試験するための技術が説明される。１つ以上のインストラクションを含む試験スクリプトが、アプリケーションを試験するために受信される。アプリケーションのユーザインターフェイスとのユーザのやり取りがエミュレートされる。エミュレーションは、試験スクリプトのインストラクションの第１の部分の実行を含む。ユーザのやり取りに応答してユーザインターフェイスを使用して表示される情報を含む出力が受信される。出力について、検証処理が実行される。検証処理は、試験スクリプトのインストラクションの第２の部分の実行を含む。試験スクリプトの第１のインストラクションが、ユーザインターフェイスデータ要素を、ユーザインターフェイスデータ要素についての完全な経路を指定することなく参照する。
2013539122.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを試験するための方法であって、
アプリケーションを試験するための１つ以上のインストラクションを含む試験スクリプトを受け取るステップと、
前記アプリケーションのユーザインターフェイスとのユーザのやり取りを、前記試験スクリプトの前記１つ以上のインストラクションの第１の部分を実行することを含めてエミュレートするステップと、
前記ユーザのやり取りに応答して前記ユーザインターフェイスを使用して表示される情報を含む出力を受け取るステップと、
前記出力について、前記試験スクリプトの前記１つ以上のインストラクションの第２の部分を実行することを含む検証処理を実行するステップと
を含み、
前記試験スクリプトにおける第１のインストラクションが、ユーザインターフェイスデータ要素を、前記ユーザインターフェイスにおける前記ユーザインターフェイスデータ要素の位置を特定する前記ユーザインターフェイスデータ要素についての完全な経路を指定することなく参照する、方法。
【請求項２】
前記ユーザインターフェイスデータ要素の位置を特定する前記完全な経路が、３つ以上のレベルを含み、前記レベルのうちの１つ以上を特定する情報が、前記ユーザインターフェイスデータ要素を参照するときの前記第１のインストラクションから省略されている、請求項１に記載の方法。
【請求項３】
前記第１のインストラクションが、前記ユーザインターフェイスデータ要素についての部分的な経路の指定を含み、前記部分的な経路の指定が、階層における根元に相当する前記３つ以上のレベルのうちの一番上と、前記階層における葉に相当する前記３つ以上のレベルのうちの一番下とを特定している、請求項２に記載の方法。
【請求項４】
前記第１のインストラクションが、前記一番上のレベルに相当するウインドウ識別子と、前記一番下のレベルに相当する前記ユーザインターフェイスデータ要素についてのデータ要素識別子とを含む、請求項３に記載の方法。
【請求項５】
前記階層が、４つのレベルを含み、前記部分的な経路の指定が、前記一番上のレベルおよび前記一番下のレベル以外のすべてのレベルの特定を省略している、請求項４に記載の方法。
【請求項６】
前記階層において前記ユーザインターフェイスデータ要素を捜索するステップ
をさらに含む、請求項５に記載の方法。
【請求項７】
前記第１のインストラクションが、前記階層において前記ユーザインターフェイスデータ要素を捜索するときに、階層のうちの除外すべき部分を示す基準を含む、請求項６に記載の方法。
【請求項８】
前記第１のインストラクションが、顧客によってもたらされるカスタマイズされた値を有するパラメータを含む、請求項１に記載の方法。
【請求項９】
前記試験スクリプトが、前記パラメータについての第１の入力をもたらす第１の顧客、および前記パラメータについての前記第１の入力とは異なる第２の入力をもたらす第２の顧客に関して使用される、請求項８に記載の方法。
【請求項１０】
前記試験スクリプトが、前記ユーザインターフェイスと通信する試験ツールによって実行され、
当該方法が、
前記試験ツールによって前記ユーザインターフェイスへと、前記ユーザインターフェイスデータ要素へのハンドルを求める第１のリクエストを発行するステップと、
前記ユーザインターフェイスにより、前記第１のリクエストに応答して、前記ハンドルを前記試験ツールへと提供するステップと
さらに含む、請求項１に記載の方法。
【請求項１１】
前記試験ツールによって、第１の符号モジュールへと前記ハンドルを使用して前記ユーザインターフェイスデータ要素を取り出すための第２のリクエストを発行するステップと、
前記第１の符号モジュールによって、前記アプリケーションへと前記ハンドルを使用して前記ユーザインターフェイスデータ要素を取り出すための第３のリクエストを発行するステップと、
前記アプリケーションにより、前記第３のリクエストに応答して、前記ユーザインターフェイスデータ要素を含む第１のデータを前記第１の符号モジュールへと提供するステップと、
前記第１の符号モジュールにより、前記ユーザインターフェイスデータ要素を前記試験ツールへと提供するステップと
をさらに含む、請求項１０に記載の方法。
【請求項１２】
前記第１の符号モジュールが、前記第１のデータを処理し、前記試験ツールが期待する書式の前記ユーザインターフェイスデータ要素を生成する、請求項１１に記載の方法。
【請求項１３】
前記ユーザインターフェイスデータ要素が、複数のデータ値からなる表である、請求項１２に記載の方法。
【請求項１４】
前記ユーザインターフェイスデータ要素が、多次元ベクトルにおける行、列、または要素のいずれかである、請求項１２に記載の方法。
【請求項１５】
前記データ要素識別子が、前記ユーザインターフェイスデータ要素を他のユーザインターフェイスデータ要素から一意に特定する前記アプリケーションによって参照される名称である、請求項４に記載の方法。
【請求項１６】
顧客のコンピュータシステム上での前記アプリケーションの実行を検証するためにサービス提供者によって実行される、請求項１に記載の方法。
【請求項１７】
前記検証処理の結果を含むレポートを生成するステップ
をさらに含み、
前記レポートが、インストラクションの前記第１の部分の実行の結果としてもたらされる前記ユーザインターフェイスをグラフィカルに示す少なくとも１つの画像を含み、前記少なくとも１つの画像が、前記第２の部分のインストラクションの実行の結果として生成される、請求項１に記載の方法。
【請求項１８】
前記試験スクリプトが、装置の適格性確認の一部として実行される１つ以上の試験を検証するために使用される、請求項１に記載の方法。
【請求項１９】
前記装置が、液体クロマトグラフィおよび質量分析、超臨界流体クロマトグラフィ、キャピラリ電気泳動、アナログ−デジタル信号変換および／または伝送、ならびにガスクロマトグラフィのいずれかを実行する機器である、請求項１８に記載の方法。
【請求項２０】
前記試験スクリプトが、前記ユーザインターフェイスを使用してグラフとして表示される第１のデータを検証するために使用され、該第１のデータは、前記機器の性能試験に関連して該機器によって生成される、請求項１９に記載の方法。
【請求項２１】
前記試験スクリプトが、装置の制御設定および該装置を用いて取得されたデータを検証するために使用される、請求項１に記載の方法。
【請求項２２】
液体クロマトグラフィおよび質量分析のいずれかを実行する機器と、
アプリケーションサーバ部分およびアプリケーションクライアント部分を含むアプリケーションと、
前記機器と通信するとともに、前記アプリケーションサーバを実行するサーバと、
前記サーバと通信するとともに、前記アプリケーションクライアントを実行するクライアントと
を備えるシステムであって、
前記クライアントが、
前記アプリケーションを試験するための１つ以上のインストラクションを含む試験スクリプトを受け取り、
前記アプリケーションのユーザインターフェイスとのユーザのやり取りを、前記試験スクリプトの前記１つ以上のインストラクションの第１の部分を実行することを含めてエミュレートし、
前記機器に関連して使用されるソフトウェアの検証に関する結果の出力であって、前記ユーザのやり取りに応答して前記ユーザインターフェイスを使用して表示される情報を含む出力を受け取り、
前記出力について、前記試験スクリプトの前記１つ以上のインストラクションの第２の部分を実行することを含む検証処理を実行する
ための符号を有するコンピュータにとって読み取り可能な媒体をさらに含み、
前記第２の部分の第１のインストラクションが、ユーザインターフェイスデータ要素を、前記ユーザインターフェイスにおける前記ユーザインターフェイスデータ要素の位置を特定する前記ユーザインターフェイスデータ要素についての完全な経路を指定することなく参照する、システム。
【請求項２３】
アプリケーションを試験するための符号を備えているコンピュータにとって読み取り可能な媒体であって、
アプリケーションを試験するための１つ以上のインストラクションを含む試験スクリプトを受け取ること、
前記アプリケーションのユーザインターフェイスとのユーザのやり取りを、前記試験スクリプトの前記１つ以上のインストラクションの第１の部分を実行することを含めてエミュレートすること、
前記ユーザのやり取りに応答して前記ユーザインターフェイスを使用して表示される情報を含む出力を受け取ること、および
前記出力について、前記試験スクリプトの前記１つ以上のインストラクションの第２の部分を実行することを含む検証処理を実行すること
を含み、
前記試験スクリプトにおける第１のインストラクションが、ユーザインターフェイスデータ要素を、前記ユーザインターフェイスにおける前記ユーザインターフェイスデータ要素の位置を特定する前記ユーザインターフェイスデータ要素についての完全な経路を指定することなく参照する、コンピュータにとって読み取り可能な媒体。
【請求項２４】
前記試験スクリプトが、管理者による前記アプリケーションの管理に関連して実行される管理作業に使用される、請求項２３に記載のコンピュータにとって読み取り可能な媒体。
【請求項２５】
前記試験スクリプトが、前記アプリケーションへのセキュリティおよびアクセスの試験に関連して使用される、請求項２４に記載のコンピュータにとって読み取り可能な媒体。
【請求項２６】
１つ以上のアプリケーション設定が、管理者ログインを使用して前記試験スクリプトを使用して指定され、該試験スクリプトが、適切なアクセスおよびセキュリティが前記１つ以上のアプリケーション設定に従ってもたらされているか否かを試験する、請求項２５に記載のコンピュータにとって読み取り可能な媒体。
【請求項２７】
前記アプリケーション設定のうちの第１のアプリケーション設定が、前記アプリケーションの１人以上のユーザにとって実行可能であるアクセスおよび操作のいずれかを制限する、請求項２６に記載のコンピュータにとって読み取り可能な媒体。
【請求項２８】
前記第１のアプリケーション設定が、前記アプリケーションを使用して動作の制御が行なわれる装置に関してアクセスおよび操作のいずれかを制限する、請求項２７に記載のコンピュータにとって読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、広くには、コンピュータシステムに関し、さらに詳しくは、ソフトウェアの試験に関連して使用される技術に関する。
【背景技術】
【０００２】
試験は、ソフトウェア開発プロセスの一部であり、これらに限られるわけではないがコンピュータシステムの認証（ｑｕａｌｉｆｉｃａｔｉｏｎ）、検査（ｖｅｒｉｆｉｃａｔｉｏｎ）、および検証（ｖａｌｉｄａｔｉｏｎ）のアクティビティを含むコンピュータシステムの管理のアクティビティの一部でもある（ここで、コンピュータシステムは、機器類も含むことができる）。ソフトウェアのさまざまな側面について試験を実行することが必要となりうる。ソフトウェアを試験することができる１つの方法として、アプリケーションのユーザインターフェイスを用いるなど、手動での試験が挙げられる。そのような手動での試験において、ユーザは、アプリケーションのユーザインターフェイスを使用して、例えばアプリケーションによって利用することができる入力値としてのデータを入力する、メニューの選択を行なう、など、アプリケーションと手動でやり取りを行なうことができる。さらに、試験のプロセスは、ユーザがもたらす入力に関連したコンピュータシステムの挙動、結果、出力、などの種々の側面の検証を含むことができる。そのような検証を、視覚による検査および／または観測される出力の予想される出力との比較などにより、手動で実行することもできる。ソフトウェアの試験のそのような態様を手動で実行することは、面倒であり、時間がかかり、間違いが生じやすくなる可能性がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６４５６９５５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
試験のアクティビティおよび結果について文書化された客観的証拠をもたらし、合格した試験および不合格の試験の識別をもたらし、そのような不合格について考えられる原因の特定を補助する、自動化された方式でコンピュータシステムを試験するための効率的な技術を利用することが、望ましいと考えられる。
【課題を解決するための手段】
【０００５】
本発明の一態様によれば、アプリケーションを試験するための方法が、アプリケーションを試験するための１つ以上のインストラクションを含む試験スクリプトを受け取るステップと、前記アプリケーションのユーザインターフェイスとのユーザのやり取りを、前記試験スクリプトの前記１つ以上のインストラクションの第１の部分を実行することを含めてエミュレートするステップと、前記ユーザのやり取りに応答して前記ユーザインターフェイスを使用して表示される情報を含む出力を受け取るステップと、前記出力について、前記試験スクリプトの前記１つ以上のインストラクションの第２の部分を実行することを含む検証処理を実行するステップとを含んでおり、前記試験スクリプトにおける第１のインストラクションが、ユーザインターフェイスデータ要素を、前記ユーザインターフェイスにおける該ユーザインターフェイスデータ要素の位置を特定する該ユーザインターフェイスデータ要素についての完全な経路を指定することなく参照する。完全な経路は、前記ユーザインターフェイスデータ要素の位置を特定でき、３つ以上のレベルを含むことができる。前記レベルのうちの１つ以上を特定する情報を、前記ユーザインターフェイスデータ要素を参照するときの前記第１のインストラクションから省略することができる。第１のインストラクションは、前記ユーザインターフェイスデータ要素についての部分的な経路の指定を含むことができる。部分的な経路の指定は、階層における根元に相当する前記３つ以上のレベルのうちの一番上と、前記階層における葉に相当する前記３つ以上のレベルのうちの一番下とを特定することができる。第１のインストラクションは、前記一番上のレベルに相当するウインドウ識別子と、前記一番下のレベルに相当する前記ユーザインターフェイスデータ要素についてのデータ要素識別子とを含むことができる。階層は、４つのレベルを含むことができ、前記部分的な経路の指定は、前記一番上のレベルおよび前記一番下のレベル以外のすべてのレベルの特定を省略することができる。本方法は、前記階層において前記ユーザインターフェイスデータ要素を捜索するステップをさらに含むことができる。第１のインストラクションが、前記階層において前記ユーザインターフェイスデータ要素を捜索するときに、階層のうちの除外すべき部分を示す基準を含むことができる。第１のインストラクションは、顧客によってもたらされるカスタマイズされた値を有するパラメータを含むことができる。試験スクリプトを、前記パラメータについての第１の入力をもたらす第１の顧客、および前記パラメータについての前記第１の入力とは異なる第２の入力をもたらす第２の顧客に関して使用することができる。試験スクリプトを、前記ユーザインターフェイスと通信する試験ツールによって実行でき、本方法は、前記試験ツールによって前記ユーザインターフェイスへと、前記ユーザインターフェイスデータ要素へのハンドルを求める第１のリクエストを発行するステップと、前記ユーザインターフェイスにより、前記第１のリクエストに応答して、前記ハンドルを前記試験ツールへと提供するステップとをさらに含むことができる。本方法は、前記試験ツールによって第１の符号モジュールへと、前記ハンドルを使用して前記ユーザインターフェイスデータ要素を取り出すための第２のリクエストを発行するステップと、前記第１の符号モジュールによって前記アプリケーションへと、前記ハンドルを使用して前記ユーザインターフェイスデータ要素を取り出すための第３のリクエストを発行するステップと、前記アプリケーションにより、前記第３のリクエストに応答して、前記ユーザインターフェイスデータ要素を含む第１のデータを前記第１の符号モジュールへと提供するステップと、前記第１の符号モジュールにより、前記ユーザインターフェイスデータ要素を前記試験ツールへと提供するステップとをさらに含むことができる。第１の符号モジュールは、前記第１のデータを処理し、前記試験ツールが期待する書式の前記ユーザインターフェイスデータ要素を生成することができる。ユーザインターフェイスデータ要素は、複数のデータ値からなる表であってよい。ユーザインターフェイスデータ要素は、多次元ベクトルにおける行、列、または要素のいずれかであってよい。データ要素識別子は、前記ユーザインターフェイスデータ要素を他のユーザインターフェイスデータ要素から一意に特定する前記アプリケーションによって参照される名称であってよい。本方法を、顧客のコンピュータシステム上での前記アプリケーションの実行を検証するためにサービス提供者によって実行することができる。本方法は、前記検証処理の結果を含むレポートを生成するステップをさらに含むことができる。レポートは、インストラクションの前記第１の部分の実行の結果としてもたらされる前記ユーザインターフェイスをグラフィカルに示す少なくとも１つの画像を含むことができ、該少なくとも１つの画像は、前記第２の部分のインストラクションの実行の結果として生成される。試験スクリプトを、装置の適格性確認の一部として実行される１つ以上の試験を検証するために使用することができる。装置は、液体クロマトグラフィおよび質量分析、超臨界流体クロマトグラフィ、キャピラリ電気泳動、アナログ−デジタル信号変換および／または伝送、ならびにガスクロマトグラフィのいずれかを実行する機器であってよい。試験スクリプトを、前記ユーザインターフェイスを使用してグラフとして表示される第１のデータを検証するために使用することができ、該第１のデータは、前記機器の性能試験に関連して該機器によって生成される。試験スクリプトを、装置の制御設定および該装置を用いて取得されたデータを検証するために使用することができる。
【０００６】
本発明の別の態様によれば、液体クロマトグラフィおよび質量分析のいずれかを実行する機器と、アプリケーションサーバ部分およびアプリケーションクライアント部分を含むアプリケーションと、前記機器と通信するとともに、前記アプリケーションサーバを実行するサーバと、前記サーバと通信するとともに、前記アプリケーションクライアントを実行するクライアントとを備えるシステムにおいて、前記クライアントが、前記アプリケーションを試験するための１つ以上のインストラクションを含む試験スクリプトを受け取り、前記アプリケーションのユーザインターフェイスとのユーザのやり取りを、前記試験スクリプトの前記１つ以上のインストラクションの第１の部分を実行することを含めてエミュレートし、前記機器に関連して使用されるソフトウェアの検証に関する結果の出力であって、前記ユーザのやり取りに応答して前記ユーザインターフェイスを使用して表示される情報を含む出力を受け取り、前記出力について、前記試験スクリプトの前記１つ以上のインストラクションの第２の部分を実行することを含む検証処理を実行するための符号を有するコンピュータにとって読み取り可能な媒体をさらに含んでおり、前記第２の部分の第１のインストラクションが、ユーザインターフェイスデータ要素を、前記ユーザインターフェイスにおける該ユーザインターフェイスデータ要素の位置を特定する該ユーザインターフェイスデータ要素についての完全な経路を指定することなく参照する。
【０００７】
本発明の別の態様によれば、アプリケーションを試験するための符号を備えているコンピュータにとって読み取り可能な媒体が、アプリケーションを試験するための１つ以上のインストラクションを含む試験スクリプトを受け取ること、前記アプリケーションのユーザインターフェイスとのユーザのやり取りを、前記試験スクリプトの前記１つ以上のインストラクションの第１の部分を実行することを含めてエミュレートすること、前記ユーザのやり取りに応答して前記ユーザインターフェイスを使用して表示される情報を含む出力を受け取ること、および前記出力について、前記試験スクリプトの前記１つ以上のインストラクションの第２の部分を実行することを含む検証処理を実行することを含んでおり、前記試験スクリプトにおける第１のインストラクションが、ユーザインターフェイスデータ要素を、前記ユーザインターフェイスにおける該ユーザインターフェイスデータ要素の位置を特定する該ユーザインターフェイスデータ要素についての完全な経路を指定することなく参照する。試験スクリプトを、管理者による前記アプリケーションの管理に関連して実行される管理作業に使用することができる。試験スクリプトを、前記アプリケーションへのセキュリティおよびアクセスの試験に関連して使用することができる。１つ以上のアプリケーション設定を、管理者ログインを使用して前記試験スクリプトを使用して指定でき、該試験スクリプトが、適切なアクセスおよびセキュリティが前記１つ以上のアプリケーション設定に従ってもたらされているか否かを試験することができる。前記アプリケーション設定のうちの第１のアプリケーション設定が、前記アプリケーションの１人以上のユーザにとって実行可能であるアクセスおよび操作のいずれかを制限することができる。第１のアプリケーション設定が、前記アプリケーションを使用して動作の制御が行なわれる装置に関してアクセスおよび操作のいずれかを制限することができる。
【０００８】
本発明の特徴および利点が、添付の図面との関連において理解される本発明の典型的な実施形態の以下の詳細な説明から、さらに明らかになるであろう。
【図面の簡単な説明】
【０００９】
【図１】本明細書に記載の技術を利用することができるシステムの実施形態の例である。
【図２】本明細書における技術による実施形態においてクライアントおよびサーバに含まれることができる構成要素の例である。
【図３】本明細書における技術による実施形態における構成要素間のデータおよびやり取りの流れを示している。
【図４】本明細書における技術による実施形態における構成要素間のデータおよびやり取りの流れを示している。
【図５】本明細書における技術に関連して使用することができるユーザインターフェイスの表示を示している。
【図６】ユーザインターフェイスにおけるデータ要素の位置に関する階層表現を示している。
【図７】ユーザインターフェイスにおけるデータ要素の位置に関する階層表現を示している。
【図８】本明細書における技術の関連の構成要素によって実行される処理に関するさらなる詳細を提示している。
【図９】本明細書における技術の関連の構成要素によって実行される処理に関するさらなる詳細を提示している。
【図１０Ａ】本明細書における技術の関連の構成要素によって実行される処理に関するさらなる詳細を提示している。
【図１０Ｂ】本明細書における技術による実施形態において実行できる処理ステップのフロー図である。
【図１０Ｃ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ａ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｂ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｃ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｄ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｅ−１】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｅ−２】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｆ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｇ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｈ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【図１１Ｉ】本明細書における技術による実施形態において生成できるレポートを例示および説明する例である。
【発明を実施するための形態】
【００１０】
図１を参照すると、本明細書に記載の技術の実行に使用することができるコンピュータ環境の実施形態の例が示されている。図１に示されているコンピュータ環境は、適切なコンピュータ環境の一例に過ぎず、本明細書に記載される技術の使用または機能の範囲に関して、いかなる限界も意味するものではない。本明細書に記載される技術が、他の汎用および専用のコンピュータ環境および構成における使用にも適することができることを、当業者であれば理解できるであろう。周知のコンピュータシステム、環境、および／または構成の例として、これらに限られるわけではないが、パーソナルコンピュータ、サーバコンピュータ、携帯デバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサ基盤のシステム、プログラマブルな家庭用電子機器、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上述のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、などが挙げられる。
【００１１】
本明細書に記載される技術を、１つ以上のコンピュータまたは他のデバイスによって実行されるプログラムモジュールなど、コンピュータにおいて実行可能なインストラクションの全体的な関連において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行し、あるいは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、などを含む。典型的には、プログラムモジュールの機能を、種々の実施形態において所望のとおりに組み合わせることができ、あるいは分散させることができる。
【００１２】
図１には、機器２０ａ〜２０ｎ、クライアントコンピュータ３０ａ、３０ｂ、サーバコンピュータ４０、およびネットワーク１４が含まれている。クライアントコンピュータ３０ａ、３０ｂおよびサーバコンピュータ４０は、１つ以上のプログラムモジュールの実行に使用することができる標準的な市販のコンピュータまたは専用のコンピュータを含むことができる。クライアントコンピュータ３０ａ、３０ｂおよび／またはサーバコンピュータ４０にインストールされたアプリケーションなどのソフトウェアの試験の促進に関連して、クライアントコンピュータ３０ａ、３０ｂおよび／またはサーバコンピュータ４０によって実行することができるプログラムモジュールが、本明細書の他の場所においてさらに詳しく説明される。コンピュータ３０ａ、３０ｂ、および４０は、ネットワーク環境において動作し、他のコンピュータ、機器、および図１には示されていない他のコンポーネントと通信することができる。機器２０ａ〜２０ｎは、液体クロマトグラフィシステム、超臨界流体クロマトグラフィシステム、キャピラリ電気泳動、ガスクロマトグラフィシステム、質量分析計、ならびに例えばネットワーク１４へと接続されてクライアントコンピュータ３０ａ、３０ｂおよびサーバコンピュータ４０と通信し、アナログ−デジタルの信号変換および／または送信を実行することができる他の種類の機器、などの科学機器であってよい。他のコンピュータは、図１に示したコンピュータシステムの範囲内にあり、あるいは図１に示したコンピュータシステムの外部に位置するが本明細書に記載の技術を使用して試験することができるファイル・キャプチャ・クライアント、プリント・キャプチャ・クライアント、または他のコンピュータであってよい。機器２０ａ〜２０ｎとして、例えばマサチューセッツ州ＭｉｌｆｏｒｄのＷａｔｅｒｓ  Ｃｏｒｐｏｒａｔｉｏｎ（または、任意の他の供給者）によって提供されている１つ以上の科学機器を挙げることができる。
【００１３】
当業者にとって明らかであるとおり、本明細書に記載の技術を、試験対象のソフトウェアを有するコンピュータがネットワークに接続されずにスタンドアロンで動作する実施形態において使用することも可能である。例えば、ソフトウェアを、ネットワークを介することなく１つ以上の機器へと直接接続されたコンピュータシステムにおいて実行することができる。さらに、より一般的には、本明細書における技術を、いかなる機器にも組み合わせられていなくてよいスタンドアロンのコンピュータまたはネットワークへと接続されたコンピュータ上で実行されるソフトウェアを試験するための実施形態において使用することができる。例示の目的で、典型的な実施形態を、科学機器などの機器とともに使用されるコンピュータに関して説明することができるが、そのような実施形態に限られると解釈してはならない。さらに、本明細書の技術を使用して実行される試験は、ソフトウェアだけを試験する目的であってよく、あるいはコンピュータシステムの認証、検査、および検証のアクティビティに関する種々の態様の一部であってよい。本明細書の技術の上述の態様および使用ならびに他の態様および使用が、以下の段落においてさらに詳しく説明される。
【００１４】
クライアントコンピュータ３０ａ、３０ｂおよびサーバコンピュータ４０は、機器２０ａ〜２０ｎとの関連において使用するためにクライアントコンピュータ３０ａ、３０ｂおよびサーバコンピュータ４０において実行される１つ以上のアプリケーションを有することができる。本明細書における試験の技術を、機器の試験に関連して使用することができる。さらに、本明細書における技法を、機器との通信を通じてのコンピュータシステム（例えば、クライアントおよび／またはサーバシステムならびに後述のデータシステムなどのクライアントおよび／またはサーバシステム上のソフトウェアアプリケーション）の試験ならびにそれらの機器に関連して生じうる診断、制御、およびデータ取得の試験に関連して使用することもできる。一実施形態においては、１つ以上のアプリケーションが、マサチューセッツ州ＭｉｌｆｏｒｄのＷａｔｅｒｓ  ＣｏｒｐｏｒａｔｉｏｎのＥｍｐｏｗｅｒ（ＴＭ）  ３またはＵＮＩＦＩ（ＴＭ）などのデータシステムに含まれてよい。データシステムを、機器の制御および管理、アプリケーションにおけるアクティビティならびにシステム上のデータおよびデバイスへのアクセスを制御することによるセキュリティの提供、データ処理の実行、専用の演算の生成、分析の設計、および報告などに関連して使用することができる。例えば、データシステムがデータベースを含むことができ、データシステムを、組み込みのリレーショナルデータベースを使用して規制された研究所を支援してデータの保存および検索のためのセキュアなデータ環境をもたらし、データの取得および種々の機器の制御を行ない、機器およびソフトウェアの認証を行なう、などのために使用することができる。機器２０ａ〜２０ｎのうちの１つから取得することができるデータの例は、その機器が質量分析計である場合、時間とともに収集される一連のスペクトルまたはスキャンである。当該技術分野で公知のとおり、質量−電荷のスペクトルの強度が、ｍ／ｚの関数としてプロットされる。スペクトルの各要素、すなわち単一の質量−電荷の比を、チャネルと称することができる。単一のチャネルを時間をかけて眺めることで、該当の質量−電荷の比についてのクロマトグラフがもたらされる。生成された質量−電荷のスペクトルまたはスキャンを取得し、ハードディスク駆動装置などの記憶媒体またはコンピュータにとってアクセス可能な他の記憶媒体に記録することができる。典型的には、スペクトルまたはクロマトグラフが、値のアレイとして記録され、例えばサーバ４０上のデータシステムのデータベースに保存可能である。サーバ４０上に保存されたスペクトルに、表示および後の分析などのために、クライアントコンピュータ３０ａ、３０ｂのうちの１つを使用してアクセスすることができる。Ｅｍｐｏｗｅｒ  ３などのアプリケーションに関連し、上述などのデータを、リレーショナルデータベースまたは他の保管設備などのデータコンテナまたはレポジトリに保存し、複数のクライアントなどによって遠方から共有することができる。別の例として、データシステムを、機器２０ａ〜２０ｎのための設定の提供に関連して使用することができる。例えば、データシステムを、質量分析計および液体クロマトグラフィシステムの種々のパラメータの設定ならびにそのような設定の変更に関する適切なアクセスおよび制御の保証に関連して使用することができる。本明細書における試験の技術を、そのようなアクセスおよび制御をもたらす機器およびデータシステムの態様を試験するために使用することができる。この例では、試験のための技術を、セキュリティおよびデータ処理の機能に関連して使用することができ、あるいはより一般的には、データシステムによってもたらされるデータ取得以外の管理上の機能に関連して使用することができる。さらに、本明細書における試験の技術は、データシステムのソフトウェアを使用して機器のパラメータを設定し、次いで現在の機器の設定を読み出すことで、データシステムのソフトウェアによって機器のパラメータが適切に設定されたことを確認し、さらにはそのように設定された機器が期待どおりに動作できることを確認することができる。
【００１５】
以下の段落においてさらに詳しく説明されるように、本明細書における技術を、データシステムまたはその一部についての自動化されたソフトウェアの試験の実行に関して使用することができる。本明細書における技術を、データシステムの種々の態様の正確かつ適切な動作を確認するために使用することができる。例えば、本明細書における技術を、機器の制御パラメータの設定およびそれらの設定の検証、データシステムのアクセス、セキュリティ、および制御の設定の検証（例えば、適切な特権を有する特定のユーザだけが特定の操作を実行できることを確認する）、データの処理（例えば、システムが演算を正しく実行することを保証する）、アプリケーションにおける専用のフィールドの生成、他のアプリケーションとのやり取り、レコードまたはシステムオブジェクトを生成または更新するアクティビティのログを生成および維持するシステムの能力の確認、などに関して使用することができる。機器の認証に関して、本明細書における自動試験技術を、これらに限られるわけではないが、ソフトウェアのインストールの認証、ソフトウェアの動作の認証および／または性能の認証、試運転、など、ソフトウェアの検証のアクティビティにおいて使用することができる。
【００１６】
いくつかのシステムおよび用途によれば、ソフトウェアの検証が、一般に、指定された要件が満たされている旨、ならびに単独または組み合わせにて働いて製造システムが意図される用途に適合している旨を検証するための体系的な手法が適切に導入されて正しく機能している旨の客観的証拠の提供を通じて、ＩＳＯおよびＡＳＴＭによって承認と見なされることができる。以上は、システムが、認証、試運転および認証、検査、システムの検証、などの使用に適合することを保証するためのあらゆる種類の手法を包含する「包括的」な用語である。
【００１７】
他のシステムおよび用途によれば、ソフトウェアの検証を、ＦＤＡによってＧｅｎｅｒａｌ  Ｐｒｉｎｃｉｐｌｅｓ  ｏｆ  Ｓｏｆｔｗａｒｅ  ＶａｌｉｄａｔｉｏｎというＦＤＡの手引き（医療装置の関連において適用可能）の関連において定められるとおりに特徴付けることができる。この場合、ソフトウェアの検証を、ソフトウェア開発の全過程の個々の段階の設計出力が、その段階について指定されたすべての要件を満たしている旨の客観的証拠を提供すると特徴付けることができる。ソフトウェアの検証は、ソフトウェアが開発されるときに、ソフトウェアの一貫性、完全性、および正確性、ならびにそれを裏付ける文書化を求め、後にソフトウェアが有効であると結論付けるための裏付けをもたらす。ソフトウェアの試験は、ソフトウェア開発における出力が入力された要件を満たしている旨を確認する目的の多数の検証アクティビティのうちの１つである。他の検証アクティビティとして、種々の静的および動的な分析、符号および文書の検査、実地検証、および他の技術が挙げられる。ソフトウェアの検証は、ＦＤＡによって、医療装置の関連におけるソフトウェアの検証のためのＦＤＡの手引きにおいて、「ソフトウェアの仕様がユーザのニーズおよび意図される用途に一致している旨ならびにソフトウェアを通じて満たされる特定の要件を一貫して果たすことができる旨の試験および客観的証拠の提示による確認」と具体的に定義されている。
【００１８】
認証を、一般に、設備または付属のシステムが適切に導入され、正しく働き、製造者の期待する結果に実際につながっている旨の証明および文書化の行為と説明することができる。認証は、検証の部分集合であってよいが、個別の認証段階だけでは、意図される用途への適合を確立するという検証の要件を満足することができない。検証を、指定の意図される用途の特定の要件が一貫して満たされる旨の試験および客観的証拠の提示による確認と説明することができる。この場合、特定のソフトウェアの動作の特徴が適切に機能することが、ソフトウェアにおいてそれらの機能を自動的に行使し、結果、効果、または出力の客観的証拠を収集することによって検証するための処理が実行される。
【００１９】
据付時適格性確認（Ｉｎｓｔａｌｌａｔｉｏｎ  ｑｕａｌｉｆｉｃａｔｉｏｎ：ＩＱ）は、ＦＤＡによって、コンピュータ・システム・ソフトウェア開発専門用語集のＦＤＡの用語解説において、プロセス設備および付属のシステムが適切な符号および承認された設計目標に準拠している旨および製造者の推奨が適切に考慮されている旨の信頼の確立と定義されている。本明細書における技術を、コンピュータシステムが書面によるあらかじめ承認された仕様に従って設置されている旨の確認および／または文書化に関連して使用することができる。クロマトグラフィのシステムまたは機器についての例として、ＩＱは、システムが設計されたとおりに受領され、適切に設置され、システムの設置が製造者の仕様に照らして適切であることを証明する。
【００２０】
稼働性能適格性確認（Ｏｐｅｒａｔｉｏｎａｌ  ｑｕａｌｉｆｉｃａｔｉｏｎ：ＯＱ）は、ＦＤＡによって、コンピュータ・システム・ソフトウェア開発専門用語集のＦＤＡの用語解説において、プロセス設備およびサブシステムが設定された限界および公差の範囲内で一貫して稼働できるとの信頼を確立することと定義されている。
【００２１】
本明細書における技術を、コンピュータシステムが指定された動作範囲の全体において書面によるあらかじめ承認された仕様に従って動作する旨の検証および／または文書化に関連して使用することができる。クロマトグラフィのシステムまたは機器における例として、ＯＱは、統合システムにおける役割を含んでよい重要な構成要素またはその主たる機能が、選択された環境において動作の仕様に従って動作できる旨を保証する。例えば、２１  ＣＦＲ  Ｐａｒｔ  １１の電子記録および電子署名に関する規制の要件の順守を手助けするセキュリティ機能を、自動化された試験ソフトウェアを使用して試すことができ、そのような試験の結果および出力を、この機能が個々の配備の環境において正しく働く旨の文書化された証拠として収集することができる。
【００２２】
ソフトウェア（クロマトグラフィ・データ・システムあるいは同様のデータ収集および／または編成システム）の稼働時適格性確認（Ｐｅｒｆｏｒｍａｎｃｅ  ｑｕａｌｉｆｉｃａｔｉｏｎ：ＰＱ）を、統合されたコンピュータシステムによって実行されるプロセスが意図される用途に関して期待されるとおりに一貫して働く旨の文書化された証拠を適切な試験および客観的証拠の収集を通じて確立することと定義することができる。例えば、コンピュータシステムのセキュリティを保証するためのプロセスの特定の手段の全体または一部を、自動化された試験ソフトウェアを使用して試すことができ、そのような試験の結果および出力を、この意図された用途における適切性の文書化された証拠として収集することができる。本明細書における技術を、コンピュータシステムが指定された動作環境において書面によるあらかじめ承認された仕様に従って実行が求められるプロセスのアクティビティを実行または制御できる旨の検証および／または文書化に関連して使用することができる。
【００２３】
機器または機器システムの適格性確認は、例えば、ここでの言及によって本明細書に援用される２００２年９月２４日発行のＡｎｄｒｅｗｓらの「Ａｕｔｏｍａｔｅｄ  Ｔｅｓｔ  Ｐｒｏｔｏｃｏｌ」という米国特許第６，４５６，９５５号にさらに詳しく説明されている。
【００２４】
本明細書における技術の上述の典型的使用および他の典型的使用が、以下の段落および図において、さらに詳しく説明される。
【００２５】
図１のシステムの構成要素が、この例においてはネットワーク環境において通信するものとして示されているが、これらの構成要素が、別の通信媒体を利用して互いの通信および／または他の構成要素との通信を行なってもよく、これらの構成要素が、ネットワーク化されていても、ネットワーク化されていなくてもよいことを、当業者であれば理解できるであろう。例えば、図１の構成要素は、ネットワーク接続および／または技術的に公知の他の種類のリンク（これらに限られるわけではないが、インターネット、イントラネット、あるいは他の無線および／または有線の接続、など）を利用して互いの通信および／または１つ以上の構成要素との通信を行なうことができる。さらに、上述のように、本明細書における技術を、ネットワークへの接続性の有無にかかわらず自立的に動作するスタンドアロンのコンピュータを有する実施形態において使用することが可能である。
【００２６】
次に、図２を参照すると、本明細書における技術による実施形態におけるクライアントコンピュータおよびサーバコンピュータに含まれることができる構成要素の例が示されている。クライアントコンピュータ５０ａが、データ・システム・クライアント・ソフトウェア５２と、自動試験ツール５７と、スクリプトおよびレポート５７と、オペレーティングシステムおよび他のソフトウェア５６とを備えることができる。データ・システム・クライアント・ソフトウェア５２は、例えば、機器を制御および管理するための上述のデータシステムのクライアント部分であってよい。一実施形態においては、クライアントを、シン（ｔｈｉｎ）クライアントまたはファット（ｆａｔ）クライアントとして特徴付けることができる。シンクライアントにおいては、アプリケーションの機能の大部分が、サーバ５０ｂに含まれるソフトウェアによって実行される。対照的に、シック（ｔｈｉｃｋ）またはファットクライアントにおいては、アプリケーションの機能の大部分がクライアントソフトウェア５２によって実行され、あるいはクライアントソフトウェア５２に具現化されている。クライアントおよびサーバによって実行される機能の個々の区切りは、アプリケーションごとにさまざまであってよい。要素５７が、スクリプトおよびレポートならびにおそらくは自動試験ツール５４によって使用または生成される他の入力および出力を表わす。自動試験ツール５４は、アプリケーションのクライアントソフトウェア５２の自動試験を実行し、より一般的にはクライアントまたはコンピュータシステムの他の部分からアクセスされるときのアプリケーションの自動試験を実行するために、スクリプトを使用することができる。スクリプトを用いた試験の実行の出力として、ツール５４は、この例ではクライアント上に位置するものとして示されているレポートを生成することができる。本明細書における技術のいくつかの実施形態においては、５７の試験スクリプトが、試験のセッションおよびツール５４の実行を駆動または制御するコマンドを含むことができる。これは、以下の段落でさらに詳しく説明される。要素５６が、オペレーティングシステムおよびおそらくはクライアントソフトウェア５２ａ上に位置することができる他のソフトウェアを表わしている。オペレーティングシステムは、例えばＭｉｃｒｏｓｏｆｔ  ＣｏｒｐｏｒａｔｉｏｎによるＷｉｎｄｏｗｓ（登録商標）ベースのオペレーティングシステムなど、種々の市販または独自のオペレーティングシステムのいずれかであってよい。
【００２７】
サーバコンピュータ５０ｂは、データ・システム・サーバ・ソフトウェアと、データベース６４と、オペレーティングシステムおよび他のソフトウェア６２とを含むことができる。
【００２８】
図２には示されていないが、クライアントコンピュータ５０ａおよびサーバコンピュータ５０ｂの各々は、１つ以上の処理装置、メモリ、ネットワーク・インターフェイス・ユニット、ストレージ、などを備えることができる。コンピュータの構成および種類に応じて、そのメモリは、揮発性（ＲＡＭなど）、不揮発性（ＲＯＭやフラッシュメモリなど）、または両者の何らかの組み合わせであってよい。ストレージとして、これらに限られるわけではないがＵＳＢデバイス、磁気または光ディスク、あるいはテープなど、コンピュータシステムにおいて使用するためのリムーバブルおよび／または非リムーバブルなストレージを挙げることができる。そのようなストレージデバイスに、コンピュータによって利用することができ、例えばコンピュータによってアクセスすることができるハードディスクまたはＣＤ−ＲＯＭドライブを含むことができる、コンピュータにとって読み取り可能な関連する媒体を有する。コンピュータストレージ媒体として、コンピュータにとって読み取り可能なインストラクション、データ構造、プログラムモジュール、または他のデータなどの情報を保存するための任意の方法または技術にて実現された揮発性および不揮発性のリムーバブルおよび非リムーバブルな媒体が挙げられる。コンピュータストレージ媒体として、これらに限られるわけではないがＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、（ＤＶＤ）、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報を保存するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体が挙げられる。さらに、コンピュータの各々が、例えば入力デバイスおよび出力デバイスなどの他のデバイスおよび構成要素との通信を容易にするための通信接続を含むことができる。入力デバイスとして、例えばキーボード、マウス、ペン、音声入力装置、タッチ入力装置、バーコードリーダ、などを挙げることができる。出力デバイス（複数可）として、例えば表示装置、スピーカ、プリンタ、などを挙げることができる。これらのデバイスおよび他のデバイスが、技術的に周知である。
【００２９】
上述のように、データ・システム・クライアント・ソフトウェア５２およびサーバソフトウェア６０は、図１の機器に関して使用されるデータシステムまたはアプリケーションを備えることができる。例えば、そのようなソフトウェアを、液体クロマトグラフィシステムまたは質量分析計の動作の制御、機器を動作させるために使用される機器パラメータの設定、機器によって実行された分析の結果などのデータの収集および保存、などに使用することができる。データシステムなどのアプリケーションを、機器のシステムのセキュリティを管理し、機器によって使用されるデータおよび機器によって生成されるデータの保存を安全に提供し、そのようなデータへのアクセスおよびアプリケーションにおけるアクションを役割、許可、などに応じてユーザに関して制御するために使用することができる。一実施形態においては、試験ツール５４およびスクリプトを、データ・システム・クライアント・ソフトウェア５２のインストールと同時にクライアント５０ａにインストールすることができる。
【００３０】
本明細書における技術による一実施形態においては、ツール５４を、試験スクリプトを実行することによるアプリケーション５２のクライアントソフトウェアの自動試験に関して使用することができる。本明細書における技術に従って実行される試験を、以下の段落においてアプリケーションの試験としてより一般的に説明できることに、注意すべきである。スクリプトを、アプリケーションおよびその機器に関連した使用の種々の態様の機能を試験するために使用することができる。例えば、本明細書における試験の技術を、アプリケーションが種々のユーザ、役割、許可、などへと提供することができる特権およびアクセスの種々の異なるレベルに応じてデータまたは機器へと適切なアクセス、制御、およびセキュリティを提供することを試験および検証するために使用することができる。また、本明細書における試験の技術を、例えば、アプリケーションが機器の動作パラメータの設定に使用される場合にそのような設定が実際に正しく実行されたことを検証する、機器の動作の結果として生成されたデータが予想されるデータであることを検証する（機器についてのＰＱの一部としてなど）、などのために使用することもできる。本明細書における試験ツール、スクリプト、および技術を、アプリケーションそのもの、そのインストール、などの適格性確認および検証に使用することができる。ツールを、アプリケーションを自動的に試験し、現在の導入環境において正しく機能していることを確認するために使用することができる。例えば、ツールの実施形態は、詳細な動作および性能の試験を実行し、試験の実行の証拠（例えば、画像、アクション、メッセージ）を集め、試験の合格または不合格／エラーを判断するために、ソフトウェア自動化技術を使用することができる。本明細書における技術は、これらの情報を記録および報告することができる。
【００３１】
ツールは、メニューの選択を生じさせるグラフィカル・ユーザ・インターフェイス（ＧＵＩ）とのユーザのやり取りを、ユーザがそのような選択を手動で実行することなくエミュレートするなど、試験の自動化を通じてアプリケーションとのユーザの手動のやり取りをエミュレートするために、本明細書における試験技術を実行することができる。むしろ、そのようなエミュレーションによるユーザのアクティビティ、ならびにそのようなユーザのやり取りの結果のさらなる処理および分析を、スクリプトを実行するツール５４によって本明細書における技術を使用して自動化された方法で実行することができる。この方法で、ツールがアプリケーションのソフトウェア・ユーザ・インターフェイスを使用し、ユーザが行なうであろうアクティビティを実行する。本明細書における技術による一実施形態においては、ツールが入力情報を受け付け、ユーザが行なうのと同じようにフィールドへのデータエントリを行なうことができる。ツールがアプリケーションを構成し、そのような構成の設定を試験することができる。例えば、アプリケーションのセキュリティの設定および他の構成されたパラメータを指定でき、次いでアプリケーションの動作環境において自動化された方法でツールによって実行される試験によって検証することができる。
【００３２】
システムの各々のクライアントコンピュータが、図２に関して説明および図示した構成要素と同様の構成要素を備えることができることに、注意すべきである。
【００３３】
図３を参照すると、本明細書における技術に関連した構成要素およびデータの動作の流れに関するさらなる詳細をもたらす例６００が示されている。例６００は、クライアントコンピュータに含まれることができるものとしての試験ツールの使用を示している。一実施形態においては、スクリプトをパラメータ化し、各々の試験場所またはシステムに合わせたカスタマイズをもたらすことができる。例えば、以下の段落で説明されるように、パラメータ化されたスクリプト６０８が、ユーザアカウントまたは識別子、設定可能なシステムパラメータ、など、試験において使用されるパラメータを含むことができる。パラメータについての値を、カスタマイズされた試験入力６１０にて指定することができる。ツール６０４は、パラメータ化されたスクリプト６０８およびカスタマイズされた試験入力６１０を入力として得、種々のパラメータについてもたらされた値の適切な置き換えを行ない、カスタマイズされたパラメータ値６０２を有するスクリプトを生成することができる。パラメータ化されたスクリプト６０８を、６０２によって表わされるスクリプトを生成するために種々の入力６１０とともに使用されるようにカスタマイズされたテンプレートとして特徴付けることができる。ツール６０４によって実行することができるスクリプトは、６０２によって表わされるスクリプトであってよい。図３に説明および図示されるデータの流れおよび動作を、本明細書における技術による実施形態における第１のステップの一部として、後の試験において使用される６０２のスクリプトを生成するために実行することができる。
【００３４】
図４を参照すると、本明細書における技術に従って自動化された試験を実行するためのツールの実行に関連した構成要素およびデータの動作の流れを示す例６５０が示されている。例６５０は、図３の処理に続いて実行することが可能であり、カスタマイズされたパラメータ値を有するスクリプト６０２を入力として得るツール６０４を示している。ツール６０４が、試験に関連してデータベース、機器、などといったシステムの他の構成要素とやり取りでき、そのような試験の結果に関するレポート６０６を生成することができる。本明細書に記載のとおり、試験ツールを、試験または他の目的のためにアプリケーションのユーザインターフェイスとのユーザのやり取りをエミュレートし、より一般的には自動化する６０２のスクリプトを実行するために使用することができる。例えば、ツールを、役割に合わせた適切な特権が割り当てられており、機器の制御パラメータを設定し、分析を生成し、機器を動作させ、機器の動作の結果を調べる、などを行なう化学者として自動的にログオンするために使用することができる。例えば、ツールを、システムおよびアプリケーションの他のユーザに関してアプリケーションの管理を実行することができる高い特権を有する管理者としてのログインの試験、ならびに例えば新たなユーザアカウントの生成、ユーザアカウントの選択肢の変更または設定、システムの設定（例えば、アプリケーションのログインのタイムアウト）の変更、などの試験を自動化するために使用することができる。以上を、ＧＵＩを使用してアプリケーションとやり取りをするユーザによって実行でき、本明細書における実施形態において試験ツールおよびスクリプトを使用する自動化技術によって生成することができる。スクリプトを実行するツールを、ＧＵＩによるユーザアクションを実行し、その行為の結果として生じるデータ（そのようなデータをＧＵＩを使用して表示することができる）を取得し、結果として生じたデータが正しいこと、または予想どおりであることを確認するために、使用することができる。
【００３５】
本明細書における技術の説明に関して、典型的なスクリプトの構文、典型的な使用、および他の詳細を、本明細書に提示することができる。しかしながら、本明細書における技術が、さらに広い適用可能性を有し、本明細書において提示される詳細を、限定として解釈してはならないことを、当業者であれば理解できるであろう。
【００３６】
スクリプトのカスタマイゼーションをもたらすパラメータ化されたスクリプトを説明するための例として、アプリケーションの構成の選択肢の設定を試験するためのコマンドを含む試験スクリプトの例を考える。例えば、試験スクリプトは、アプリケーションのタイムアウト値を設定および試験するためのコマンドを含むことができる。アプリケーションのタイムアウト値は、その時点においてアプリケーションにログインしているユーザがログアウトとなり、スクリーンセーバまたは何らかの他の適切な動作の起動がもたらされるまでの時間を指定することができる。タイムアウト値は、スクリプトパラメータとして表わされる設定可能な値であってよい。試験対象のアプリケーションを使用する顧客が、試験スクリプトにおいて使用するための入力としてタイムアウトの値を入力することができる。以下が、そのような試験スクリプトに含まれる記述を表わすことができる。
１  Ｓｅｔ  ｔｉｍｅｏｕｔ＝ｔ＄
２  ＜ｗａｉｔ  ｔ＄＞
３  ａｔｔｅｍｐｔ  ａｐｐｌｉｃａｔｉｏｎ  ｕｓｅ
４  ｉｆ  ｍｅｓｓａｇｅ  ｂｏｘ  ｅｘｉｓｔｓ
５        ｖｅｒｉｆｙ  ｍｅｓｓａｇｅ  ｏｆ  ｍｅｓｓａｇｅ  ｂｏｘ＝“ｔｉｍｅｏｕｔ  ｍｅｓｓａｇｅ”
【００３７】
上述のスクリプトに関して、記述１は、タイムアウト値をパラメータｔ＄へと設定することを表わすことができる。顧客が、カスタマイズされたスクリプトを生成するための図３の処理に関連して試験入力としてｔ＄の値を指定することができる。後の時点において、カスタマイズされたスクリプトが、図４に関して説明したとおりに実行される。記述１が実行されるとき、試験の可変のタイムアウトが、ユーザまたは顧客によってもたらされた入力に設定される。記述２は、実行されたときに、試験ツールをｔ＄の現在の値によって示される時間（数秒など）だけ待機させる。記述５は、実行されたときに、ｔ＄によって示される時間の待機後に予想される「タイムアウトメッセージ」を有するメッセージボックスが表示されるかどうかを試験する。
【００３８】
試験入力を、例えばユーザによってＧＵＩを通じてもたらすことができることに、注意すべきである。そのような入力を、値についてのデータの完全性を保証するために処理することもできる。例えば、入力値のチェックを、受信された試験入力データが、すべてが数字などの必要な形式であるか否か、データフォーマットなどの必要とされるフォーマットを有しているか否か、予想される値の範囲内にあるか否か、などを確認するために実行することができる。また、一実施形態においては、スクリプトのそのようなパラメータについて、ユーザによってもたらされる値によって上書きされてよい一式のデフォルト値を用意してもよい。
【００３９】
図５を参照すると、試験の実行の対象であるアプリケーションを使用してＧＵＩを介して表示することができるスクリーンショットの例が示されている。例１００が、例えばユーザアカウントについてのアプリケーション管理作業を実行する管理者に関連して表示することができる設定マネージャウインドウを示している。ウインドウは、ウインドウの仕切りを呈する左窓および右窓を含むことができる。アプリケーションの現在のユーザアカウントを閲覧するために、メニューから１０２の選択を行なうことができる。１０２の選択に応答して、情報１０４をウインドウの右窓に表または他の形式で表示することができる。試験ツールおよびスクリプトを、１０４の内容が予想される１つ以上のデータアイテムを含むことを検証するために、本明細書における技術に関連して使用することができる。例えば、特定のユーザＩＤおよび／または種類を有するものとして表わすことができる管理者のアカウントが、所定のしきい値数よりも多くてはならない可能性がある。より一般的には、試験を、左窓におけるメニューアイテムの選択の結果として生成される右窓の内容またはデータを検証するために実行することができる。窓におけるアイテムの位置を、ウインドウ識別子、窓、窓内の領域、ならびに領域内のアイテムまたは要素を指定することによって特定することができる。より一般的には、アイテムの位置を、
（ウインドウＩＤ．窓ＩＤ．領域ＩＤ．アイテムＩＤ）
と表わすことができる。
【００４０】
ウインドウＩＤは、例１００の設定マネージャなどについて、ウインドウを一意に特定する識別子であってよい。窓ＩＤは、各々のウインドウが１つ以上の窓へと仕切られている可能性がある場合において、各々のウインドウ内の窓を一意に特定する識別子であってよい。例えば、図３を参照すると、第１の窓ＩＤを、左窓を特定するために使用することができ、第２の窓ＩＤを、右窓を特定するために使用することができる。同じそのような窓ＩＤ（右窓および左窓をそれぞれ指すべく右（ＲＩＧＨＴ）および左（ＬＥＦＴ）などの所定のキーワードであってよい）を、各々のウインドウにおいて使用することができる。各々の窓を、１つ以上の領域へとさらに分割することができ、各々の領域が、各々の窓において領域を一意に特定するための自身の識別子を有することができる。例えば、図５を参照すると、右窓がただ１つの領域だけを有することができ、ただ１つのアイテムだけを含むことができる。データ１０４の表全体が、単一のアイテムであってよいが、表の単一のセルまたは要素をアイテムとして参照する実施形態をもたらすこともできる。
【００４１】
ウインドウ内のアイテムの位置を特定するために使用される種々の識別子の各々を、種々のさまざまな方法で実現できることに、注意すべきである。例えば、ある実施形態は、すべてのウインドウについて窓ＩＤおよび領域ＩＤを表わすためにあらかじめ定められるキーワードを使用することができる。ウインドウＩＤは、個々のウインドウを特定するためにオペレーティングシステムによって使用される識別子であってよい。アイテムＩＤは、個々のアイテムに組み合わせられた識別子であってよい。アイテムの識別子は、ＧＵＩデータに関して個々のアイテムを指してアプリケーションによって使用される識別子であってよい。アイテム識別子を、例えば、表示されるメニューの文字列にもとづいて決定することができ、アプリケーションの開発者によって指定することができる（後に同じアイテムＩＤが試験スクリプトの記述において開発者によって使用される）。各々のウインドウ、窓、領域、およびアイテムを、より一般的には、ＧＵＩのデータ要素と称することができる。一実施形態においては、アイテム識別子、ならびに特定のウインドウ、窓、および／または領域に組み合わせられる他のタグまたは識別子を、ＧＵＩにおける各々のそのようなデータ要素を一意に特定するためにアプリケーションによって管理および指定することができる。例えば、アプリケーションは、一意の名称のアイテムＩＤを使用してデータ１０４の表を参照することができる。アプリケーションが、アイテムＩＤをデータ１０４に関連付け、選択１０２に応答してＧＵＩへとデータ１０４およびアイテムＩＤをもたらすことができる。したがって、本明細書における技術による実施形態は、そのようなアイテムＩＤを、選択１０２に応答して生成される個々のデータ項目を特定するために試験スクリプトにおいて使用することもできる。このようにして、試験スクリプトにおいてＧＵＩデータ要素を指すために使用される識別子が、データ要素ＧＵＩ識別子を生成および管理するための他の技術を使用して生じうる変化と無関係である。例えば、一実施形態は、文字列、メニューアイテムのテキスト記述、またはＧＵＩにおける表示のためにもたらされる他の情報にもとづいてＵＩデータ要素のタグまたはＩＤを生成できる。この場合に、表示される文字列または他のＧＵＩコンテンツが変化するため（例えば、言語（例えば、フランス語、英語、ドイツ語、中国語、など）、文字セット、単純なアルファベットの格変化、などにつれて変化する可能性がある）、試験スクリプトを、そのような変化につれてやはり変化する異なるデータ要素の識別子を参照するように変更しなければならない可能性がある。アプリケーションによって管理される一意の識別子の使用は、そのような識別子が表示されるＧＵＩデータから決定されるのではない場合、そのような表示データの変化（例えば、文字セット、言語、などの変化）とは無関係な方法でのＧＵＩのデータ要素の特定をもたらす。
【００４２】
データアイテムが、例えばリスト、表、表の単一のセルまたは項目、データの列、データの行、ダイアログボックスに含まれ、あるいは他の方法で組み合わせられるテキストなどの情報、ラジオボタン、など、ユーザインターフェイスに関連して表示される任意の要素を広く指すことができることに、注意すべきである。
【００４３】
図６を参照すると、本明細書における技術による実施形態において、データアイテムをＧＵＩにおいて特定できる方法をより一般的に説明する例が示されている。例２００は、個々のウインドウの特定に使用されるウインドウＩＤを含んでいる。ウインドウ２０２を、１つ以上の窓へと仕切ることができる。この例２００においては、３つの窓が存在している。窓２など、そのような窓の各々を、１つ以上の領域へとさらに分割することができる。例２００においては、窓２が４つの領域を含むことができる。領域２などの各々の領域が、１つ以上のデータアイテムを含むことができる。例２００においては、領域２が、３つのアイテムを含むものとして示されている。要素２１０は、表示されるＧＵＩにおいて特定の位置を有するアイテムを指定するために使用することができる１つの構文を使用する一般的な書式を表わしている。要素２１０を、特定のデータアイテムを指すために試験スクリプトにおいて使用することができ、試験ツールおよびスクリプトを使用して試験すべき値を有するデータアイテムを取得または参照するために使用される構文とすることができる。
【００４４】
上述され、図６の要素２１０によって表わされるとおり、データアイテムを、ウインドウ内のデータアイテムの位置に対応するパス識別子を使用して指定される位置を有するものとして特定することができる。特定の数の領域および窓が示されるかもしれないが、実施形態は、任意の数を有することができる。また、各々のパス識別子が、２１０においては４つのレベルのデータ要素識別子を備えるものとして示されているが、実施形態は、データアイテムに組み合わせられるパス識別子に関して任意の数のレベルを用意することができる。
【００４５】
図７を参照すると、ウインドウ内の種々のＧＵＩデータ要素について、いくつかのレベルからなる階層として代表例が示されている。例３００は、データアイテムのパス識別子におけるレベルの数に一致する複数のレベルを有するツリー表現である。ツリー構造における各々のデータ要素（例えば、ウインドウ、窓、領域、またはアイテム）を、ウインドウＩＤ  ３０２によって示されているツリーの根元からの経路を有するものとして示すことができる。３００のツリーは、ウインドウ、窓、領域、およびアイテムに対応する４つのレベルを含んでいる。ツリーは、ウインドウＩＤ  ３０２によって示されている根元に第１のレベルまたは最上位レベルを含んでいる。各々の窓が、窓１  ３０４など、ツリーの第２のレベルのノードとして位置している。各々の領域が、Ａ１  ３１０など、ツリーの第３のレベルのノードとして位置している。各々のアイテムが、Ｉ１  ３１２など、ツリーの第４のレベルのノードとして位置している。ツリーは、この例ではレベル４である最下位に葉を有している。ツリー、したがってＧＵＩにおけるあらゆるノードの位置を、根元を始点とする経路を使用して指定することができる。完全な経路は、ツリーの第４のレベルまたは最下位レベルに位置するデータアイテムに関する経路を指すことができる。任意のデータ要素に関する部分的な経路は、データ要素を表わすツリーにおいて特定のノードの位置を特定できるようにする完全な経路に満たない経路の指定を指すことができる。より一般的には、経路内のいずれかのデータ要素が省略される場合、経路を部分的な経路と称することができる。例えば、Ｉ１  ３１２についての完全な経路は、ツリーにおいて３１２の特定を可能にする「ウインドウＩＤ．窓１．Ａ１．Ｉ１」である（例えば、根元３０２からアイテム３１２に対応するノードまでの特定の経路）。アイテム３１２についての部分的な経路を、経路内の省略された１つ以上のレベルを示す構文を使用して指定することができる。例えば、経路から省略された１つ以上のレベルを、「＊」を使用して「ウインドウＩＤ．窓１．＊．Ｉ１」と示すことができる。この場合、部分ツリーまたは一部分３１３がアイテム３１２を含むものとして指定されている点で、３１２  Ｉ１についての経路の一部だけが指定されている。換言すると、部分的な経路の上述の表現は、ツリー内のノードについて領域またはレベル３の識別子の指定を省略し、データアイテムＩ１がウインドウの任意の領域に位置できる旨を表わしている。
【００４６】
各々のウインドウについてのツリーが、システム内のすべてのウインドウについてのより大きなシステムの階層的表現に含まれてよいことに、注意すべきである。
【００４７】
ウインドウ内の特定の位置を有する特定のデータアイテムを参照する試験スクリプトに関して、データアイテムの位置が変化する場合の試験について、問題または面倒が存在しうる。ＧＵＩにおけるデータ項目に関するそのような変化は、一般的でありうる。試験スクリプトに関して、試験スクリプトが、データアイテムが同じウインドウ内の別の領域または窓へと配置し直される場合に、そのような変化に対応するための変更を必要とする可能性がある。本明細書における技術による実施形態において、アイテムの位置がウインドウ内で変更される場合に試験スクリプトの書き直しまたは変更を必要とすることなく自動的に適応するスクリプト言語を使用することができる。本明細書における技術に関連して、アイテムを参照する場合に、アイテムを、上述のようなウインドウの識別の階層において変化するレベル数を提供する構文を使用して試験スクリプトにおいて特定または参照することができる。データアイテムを、完全な経路または部分的な経路を使用して特定することができる。完全な経路が指定される場合、試験ツールは、指定されたＧＵＩ内の１つの位置においてのみデータアイテムを探すことができる。部分的な経路が指定される場合、試験ツールは、表わされた考えられる位置のうちの１つ以上においてデータアイテムを探すことができる。例えば、上述のような「ウインドウＩＤ．窓１．＊．Ｉ１」に関して、これは、領域またはレベル３の識別子がツリー内のノードについて省略されており、データアイテムＩ１がウインドウの任意の領域に位置してよい旨を表わしている部分的な経路を表わすことができる。部分的な経路に関連して、試験ツールは、ウインドウの任意の領域においてアイテムＩ１を捜索または検索することができる。したがって、Ｉ１の位置が同じウインドウ内の領域間で移動する場合、上述の部分的な経路を使用してＩ１を参照するスクリプトは、変更を必要としない。再び図７を参照すると、上述の部分的な経路を使用すると、試験ツールは、スクリプトを処理し、部分ツリー３１３のどこかの葉ノードとしてＩ１を捜索する。データアイテムを特定するための試験スクリプトにおける部分的な経路の使用に関して、部分的な経路の指定から省略された経路部分が変化しても、データアイテムの参照は正しいままである。
【００４８】
部分的な経路の指定において、試験スクリプトは、一般に、アイテム（あるいはより一般的には、任意のＧＵＩデータ要素）の位置を表わすために入れ子のレベルを使用することができる。データアイテムについての部分的な経路を、ウインドウＩＤとアイテムとの間の経路における介在のノードの１つ以上のレベルを省略することによって指定することができる。省略されたノードまたはレベルを、スクリプト言語の構文において１つ以上の文字（例えば、上述のような「＊」）を使用して示すことができる。アイテムの根元および葉ノードだけが、
ウインドウＩＤ．＊．アイテムＩＤ
のように指定される部分的な経路の指定によれば、ツールが、図７に示されるとおりのウインドウまたはツリーの全体のどこかでアイテムを検索する。根元と葉ノードとの間の１つ以上の介在のレベルの指定は、ツールによるアイテムの検索について、ウインドウおよびＧＵＩデータ要素に関する階層の一部分への限定をもたらす。
【００４９】
以上は、本明細書における技術による実施形態におけるスクリプト言語に含まれてよい１つの典型的な構文に過ぎない。別の例として、ある実施形態は、以下のようにキーワードを使用して完全または部分的な経路の指定をもたらす構文を使用することができる。
【００５０】
ウインドウＩＤ＝ＩＤ，窓＝Ｐ１，アイテム＝アイテム１
この例は、窓の指定を可能にするが、特定の領域は指定しない。
【００５１】
部分的または完全な経路を指定することによって、スクリプトの開発者は、データアイテムの位置特定および取得のためにツールによって実行される検索を制限する検索の基準または制限を効果的に指定する。例えば、再び図５を参照すると、選択１０２に応答して表示されるユーザ情報１０４は、ＧＵＩの特定の部分へと再配置または移動させられる可能性が決してなく、部分的な経路の指定の使用が、データアイテムの特定における柔軟性だけでなく、検索およびデータアイテムを発見することができるウインドウ内の考えられる位置の制限ももたらす。一実施形態は、他の構文を使用して単一のデータアイテム、データアイテムのグループ、または任意のデータアイテムの決定に関する検索基準の指定ももたらすことができる。例えば、一実施形態は、アイテムの捜索時に検索されない階層またはウインドウの部分を特定する否定の検索基準を指定するためのスクリプト構文を含むことができる。基準または制限のための典型的な構文は、窓１または領域２のデータアイテムを検索しない旨を示す、
ＥＸＣＬＵＤＥ（窓＝窓１；領域＝Ａ２）
であってよい。
【００５２】
上述のように、特定の用途およびシステムが本明細書において説明されるが、この試験技術を、手動のユーザのやり取りをエミュレートし、ＧＵＩを使用して表示することができるとおりの結果を検証するために、あらゆるアプリケーションとのユーザインターフェイスの試験において広く使用することができる。
【００５３】
本明細書における技術を、システムまたはアプリケーションの管理、セキュリティ、アクセス、データの完全性を試験し、データの処理に関係する動作の試験などのためにデータの処理またはワークフローを検証し、電子記録を生成、変更、または削除する作業者の入力および行為の日時の記録を確認するために使用することができる。例えば、本明細書における技術を、監査証跡機能の試験を自動化するために使用することができる。他の例として、本明細書における技術を、機器によって生成される動作データなどのデータを検証するために使用することができる。例えば、本明細書における技術を、機器の適格性確認を自動化するために使用することができる。
【００５４】
例えば、スクリプトが、液体クロマトグラフィまたは質量分析計を実行またはエミュレートする機器を動作させ、それによりデータまたはエミュレーションデータの生成をもたらすためのコマンドを含むことができる。データは、２次元における一連のＸ，Ｙ座標からのグラフとしてＧＵＩ表示装置上にプロットされるクロマトグラムまたはエミュレーションによるクロマトグラムについてのデータであってよい。クロマトグラムのデータを、ＧＵＩ表示装置にグラフィカルな形態で表示されるデータアイテムとして特定することができる。データを、２つの列、すなわちデータ点のＸ座標についてのＸ列およびデータ点のＹ座標についてのＹ列を有する表またはアレイに保存することができる。試験スクリプトが、データの表を検索し、試験スクリプトの一部としてデータをさらに処理するための記述を含むことができる。
【００５５】
次に、本明細書における技術に関連してツールによって実行される処理を説明する。図８を参照すると、アプリケーション４０２、データベース４０４、ＵＩ  ４０６、ツール４１４、スクリプト４１２、ＤＬＬ（より一般的には、ライブラリまたは符号モジュール）４１０、およびＵＩ結果４０８を含む例４００が示されている。要素４０２および４０４は、所与のデータシステムについてクライアントおよびサーバ上に位置する構成要素を集合的に表わすことができる。例えば、データベース４０４を、図１の機器を管理および制御するためにアプリケーション４０２を使用して本明細書に記載のとおりのシステムのためのデータを保存するために使用することができる。試験技術を、アプリケーション４０２の自動化された試験を実行するために使用することができ、機器の適格性確認の側面のためのアプリケーションの使用に関連して使用することができる。スクリプト４１２が、任意のカスタマイズされた試験入力を有するカスタマイズされたスクリプトを含むと仮定される。動作において、ツール４１４が、ＵＩ４０６との手動のユーザのやり取りのエミュレーションを表わすＵＩリクエストＡ１の発行をもたらすスクリプト４１２の１つ以上の記述を実行する。例えば、Ａ１は、メニューからのユーザの選択を表わすことができる。Ａ１に続いて、メニューの選択に応答したＵＩ  ４０６からアプリケーション４０２へのデータの要求を表わすＡ２が実行される。アプリケーション４０２が、メニュー選択によるユーザのリクエストへの応答に関連して、データベース４０４にアクセスしてデータ、メタデータ、および他の情報を検索することができる（ステップＡ３）。アプリケーション４０２に返される情報が、Ａ４によって表わされている。次いで、アプリケーションは、要求されたデータのＵＩ  ４０６への送信Ａ５を行なう。例えば、再び図５を参照すると、エミュレートされるユーザの行為は、１０２の選択であってよい。応答して、ＵＩ  ４０６へと戻されるデータは、１０４の情報（図８においては、画面または他のＵＩ出力装置に表示することができるＵＩ結果４０８として示されている）であってよい。
【００５６】
次いで、試験ツール４１４は、データまたはＵＩ結果を得るための後続の処理を実行することができる。換言すると、図８は、ＵＩ  ４０６へと送られるデータまたはＵＩ結果４０８をもたらす自動化された試験技術によるユーザのやり取りまたはリクエストのエミュレーションを表わしている。図９に関する処理ステップの第２の組において、今やツール４１４は、データまたはＵＩ結果を取得するための処理を実行する。したがって、ツール４１４が、ＵＩ結果またはデータへのハンドルまたはポインタを得るためのリクエストをＵＩ  ４０６へと発行することができる。ハンドルを、所望のデータアイテムのポインタまたは識別子として特徴付けることができる。ハンドルは、例えば、ＵＩ  ４０６によって使用されるとおりのデータアイテムのアドレスを表わすことができる。ハンドルＨ１を、ツール４１４へと返すことができる。この時点で、ツール４１４は、データアイテムそのものは有しておらず、データアイテムのハンドルＨ１だけを有している。図１０Ａに関する処理ステップの第３の組において、ツール４１４が、ステップＳ１においてＤＬＬ  ４１０と通信し、データアイテムの取得をＤＬＬに要求する。ステップＳ１は、データアイテムについての完全な経路の識別子など、ハンドルＨ１およびデータアイテムをパラメータとして含むＡＰＩ（アプリケーション・プログラミング・インターフェイス）の使用を含むことができる。上述のように、データアイテムは、例えばアプリケーションによって管理および参照される識別子またはタグであってよい一意の識別子によって参照されるデータの表であってよい。次いで、ＤＬＬが、アプリケーション４０２と通信し、所望のデータを要求Ｓ２および取得Ｓ３する。次いで、ＤＬＬ  ４１０は、ＵＩ  ４０６によって返されたデータをツール４１４が期待する書式にするために必要な処理を実行することができる。このようにして、ツール４１４が、ＵＩ  ４０６と通信して所望のデータを得るようにＤＬＬを利用することができる。ＤＬＬが、試験ツール４１４を例えばＵＩ  ４０６によって返されるデータの書式の変化から防護する。さらに、ＤＬＬ  ４１０を、試験ツール４１４および任意のアプリケーションにおいて使用することができる。
【００５７】
部分的な経路の指定の使用などによってデータアイテムを検索するときに実行される処理を、ツール４１４とＤＬＬ  ４１０との間でさまざまな異なる方法で分配することができる。例えば、一実施形態においては、ツール４１４が、１つ以上のデータアイテムを得るべくＤＬＬへと一連のコールを発行でき、データアイテムおよびウインドウにおいてデータアイテムを特定するために使用される関連の経路の表現を保存することができる。そのような表現を、スクリプトの特定のインストラクションにもとづいて必要に応じて構成することができる。ひとたびデータアイテムおよび経路の表現が構成されると、情報を、後のスクリプトの処理に関連して再使用することができる。
【００５８】
図１０Ｂを参照すると、本明細書における技術による実施形態において実行することができる処理ステップのフロー図の例が示されている。フロー図７００が、本明細書に記載の処理を要約している。ステップ７０２において、試験入力値をパラメータ値として受け取ることができる。ステップ７０４において、カスタマイズされたスクリプトを、ステップ７０２からの試験入力値を使用して生成することができる。ステップ７０６において、カスタマイズされたスクリプトが、本明細書に記載のとおりの自動化された試験を行なうために実行される。ステップ７０８において、ステップ７０６からの試験結果を含むレポートを生成することができる。
【００５９】
図１０Ｃを参照すると、本明細書における技術による実施形態において生成することができるレポートの書式の代表例が示されている。典型的なレポートの書式７５０は、実行されたすべての試験についての概要ページ７５２、７５４および７５６によって示されるような各々の試験の実行についての情報、ならびにツールを用いたスクリプトの実行によって生じたエミュレーションによるユーザのやり取りの結果として表示されたＧＵＩのスクリーンキャプチャ７５８を含むことができる。７５４などによって表わされる実行された各々の試験に関する情報は、試験のパラメータおよび値７５４ａ、試験のステップおよび結果７５４ｂ、ならびに試験のレビューおよびサインオフシート７５４ｃを含むことができる。図１０Ｃの上述の内容は、以下でさらに詳しく例示および説明される。
【００６０】
図１１Ａ〜図１１Ｉを参照すると、図１０Ｃにおいて大まかに説明したように本明細書における技術による実施形態において生成されるレポートに含まれることができる情報の例が示されている。いくつかの実施形態において、試験に関連して生成されるレポートを、変更できない文書として保存してもよいことに、注意すべきである。例えば、レポートを、アプリケーションに関連して使用されるデータベースまたは他のデータコンテナに保存することができ、アプリケーションのいかなるユーザもレポートを変更できないように適切な保護を設定することができる。
【００６１】
図１１Ａを参照すると、レポートに含まれることができる情報の第１のページが示されている。例１０００が、本明細書における技術を使用して実行された試験に関する情報の第１の概要ページを示している。例１０００は、図１０Ｃの要素７５２をさらに詳しく示している。この典型的なレポートに関連して、１００４によって示されているように、設定の検証、パスワードの複雑さの検証、およびアクセスの検証のための３つのスクリプトを実行することができる。設定の検証は、例えばアプリケーションの管理者によって設定または指定することができる選択肢などを含むアプリケーションの設定に関する検証に関する場合がある。１００２によって示されるとおり、全部で３つの試験またはスクリプトが実行され、１つが不合格である。第１のページは、試験対象のアプリケーションおよびシステムについての他の情報１００６、開始日および終了日などの各々の試験の実行についての情報、試験の合格または不合格１００８、なども含むことができる。第１のページは、実行された試験の実行の順序を１００２における出現の順序にもとづいて示すことができる。この例には示されていないが、機器の制御、ＰＱ試験および検証などに関する機器のデータの取得、などに関係する他の試験を実行することもできる。
【００６２】
図１１Ｂを参照すると、設定検証試験の設定検証試験パラメータに関する情報が示されている。例１１００が、試験入力を使用してもたらすことができる試験スクリプトパラメータおよび関連のカスタマイズされた値を含んでおり、図１０Ｃの要素７５４ａのさらに詳しい説明をもたらしている。パラメータ名１１０２が、１１０６に示されるとおりの値を有する試験スクリプトパラメータを指している。１１０６の値は、試験対象のアプリケーションの顧客またユーザによってもたらされるカスタマイズされた試験入力値であってよい。１１０６の値を、カスタマイズされた試験スクリプトを生成するために、試験スクリプトの実行に先立って指定することができる。
【００６３】
図１１Ｃを参照すると、設定検証試験についての試験ステップおよび結果に関して含まれることができる情報の例が示されている。例１２００が、設定検証試験に関して含まれることができる図１０Ｃの要素７５４ｂに関するさらなる詳細をもたらしている。例１２００は、設定検証試験スクリプトに関して実行されるステップおよび手順に関する詳細をもたらすことができ、予想される結果、実際の結果、およびステップが合格または不合格のどちらであるかを示すこともできる。
【００６４】
図１１Ｄを参照すると、試験のレビューおよびサインオフに関して含まれることができる情報の例が示されている。例１３００が、設定検証試験に関して含まれることができる図１０Ｃの要素７５４ｃに関するさらなる詳細をもたらしている。
【００６５】
図１１Ｅ１を参照すると、パスワード複雑性検証試験のパスワード複雑性試験パラメータに関する情報が示されている。図１１Ｂに関して説明した方法と同様の方法で、例１４００が、試験入力を使用してもたらすことができる試験スクリプトパラメータおよび関連のカスタマイズされた値を含んでおり、第２の試験のための図１０Ｃの要素７５４ａのさらに詳しい説明をもたらしている。
【００６６】
図１１Ｅ２を参照すると、アクセス検証試験のパスワード複雑性試験パラメータに関する情報が示されている。図１１Ｂに関して説明した方法と同様の方法で、例１４５０が、試験入力を使用してもたらすことができる試験スクリプトパラメータおよび関連のカスタマイズされた値を含んでおり、第３の試験のための図１０Ｃの要素７５４ａのさらに詳しい説明をもたらしている。
【００６７】
図１１Ｆを参照すると、パスワード複雑性検証試験についての試験ステップおよび結果に関して含まれることができる情報の例が示されている。図１１Ｃに関して説明した方法と同様の方法で、例１５００が、パスワード複雑性検証試験に関して含まれることができる図１０Ｃの要素７５４ｂに関するさらなる詳細をもたらしている。例１５００において、１５０２および１５０４によって、ステップ１が不合格であり、ＧＵＩ表示装置のスクリーンキャプチャがレポートの終わりに位置するスクリーンショットに含まれるＡｃｃｅｓｓＶｅｒｉｆｉｃａｔｉｏｎ＿Ｓｔｅｐ１＿Ｐｉｃｔｕｒｅ１（図１１Ｉ）によって特定される画像に関するレポートに示されていることに、注意すべきである。
【００６８】
図１１Ｇ、図１１Ｈ、および図１１Ｉは、画像に組み合わせられた識別子によって指し示される特定の手順およびステップの実行の結果として得られたスクリーンショットの画像である。例えば、図１１Ｉを参照すると、識別子１８０２が、図１１Ｆの１５０２によって示されるレポートの先行する部分において対応する使用を有している。
【００６９】
典型的なレポートおよび書式に関連して示したとおり、レポートは、実行された各々の試験のステップを、行なわれたステップを説明および図示し、試験の結果をキャプチャするレポートに埋め込まれた画像とともに、概説することができる。レポートが、試験のステップ、結果、エラー、入力、および試験結果に関する客観的証拠についての単一の文書をもたらす。
【００７０】
本明細書における技術による一実施形態および使用に関して、試験ならびにツールおよびスクリプトの使用を、機器の供給者または製造者などのサービス提供者が、その顧客のために実行することができる。以上を、顧客の指定による試験入力を使用して顧客の現場でアプリケーションまたはシステムの検証を実行するための顧客のためのサービスとして実行することができる。パラメータ化されたスクリプトを、第１の顧客の入力を用いた第１の顧客のための第１のカスタマイズされたスクリプトの生成に関して使用することができる。同じパラメータ化されたスクリプトを、第２の顧客の入力を用いた第２の顧客のための第２のカスタマイズされたスクリプトの生成に関して使用することができる。以上を、顧客が実行してもよく、ソフトウェアによって自動的に実行（例えば、バックグラウンドプロセスとしての実行など）してもよく、スケジュールにもとづいて実行してもよく、もしくは他の方法で、必要に応じ、あるいは１つ以上の所定のイベントトリガ事象の発生の結果として実行してもよいことにも、注意すべきである。
【００７１】
本明細書における技術を、ユーザインターフェイスを有する任意のソフトウェアを広く試験するために使用することができる。いくつかの典型的なシステムおよび用途を上述した。上述した例示の例として、本明細書における技術を、単独または機器との組み合わせにおけるデータシステムの種々の側面の試験において使用することができる。さらなる例として、本明細書における技術を、科学的な情報の収集、処理、および配布の機能を提供するＮｕＧｅｎｅｓｉｓ（Ｒ）  Ｓｃｉｅｎｔｉｆｉｃ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ（ＳＤＭＳ）などの他のシステムの種々の側面を試験するために使用することができる。ＳＤＭＳによれば、研究所が、あらゆる分析技術からの情報を自動的に取得し、セキュアにし、アクセスし、広めることができる。ＳＤＭＳを、あらゆる種類の科学的データを中央のデータベースにおいて保存および管理し、多数の研究アプリケーションとの統合を提供する自動化された電子レポジトリと特徴付けることができる。より一般的には、種々の場所で充分に述べたように、本明細書における技術を、ユーザインターフェイスを通じたユーザ入力の生成を生じさせるスクリプトを使用し、自動化された試験を通じてのユーザのやり取りをエミュレートすることによって、ソフトウェアのユーザインターフェイスを通じたソフトウェアの試験に使用することができる。ユーザ入力は、ユーザインターフェイスによるユーザの手動での入力および選択などによってもたらされるユーザ入力と同じである。したがって、本明細書における試験技術は、手動でのユーザの選択および入力などによる試験に関して生じるものと同じ環境および条件を複製することによる試験を提供する。
【００７２】
また、科学機器を使用する実施形態が本明細書において説明されていることに、注意すべきである。より一般的には、本明細書における技術を、任意の種類の器具または他の装置を用いる実施形態において使用することができ、ならびに、いかなる種類の装置にも接続されず、いかなる種類の装置も利用しないソフトウェアシステムに関して使用することもできる。
【００７３】
本明細書における技術を、コンピュータにとって読み取り可能な媒体の任意の１つ以上の異なる形態に保存された符号を実行することによって実行することができる。コンピュータにとって読み取り可能な媒体として、リムーバブルであっても、リムーバブルでなくてもよい種々の形態の揮発性の記憶装置（例えば、ＲＡＭ）および不揮発性の記憶装置（例えば、ＲＯＭ、フラッシュメモリ、磁気または光ディスク、あるいはテープ）を挙げることができる。
【００７４】
本発明を、詳しく図示および説明した好ましい実施形態に関連して開示したが、それらについての変形および改良が、当業者にとって容易に明らかになるであろう。したがって、本発明の技術的思想および技術的範囲は、以下の特許請求の範囲によってのみ限定されるべきである。
【図１】
2013539122.tif 000003
【図２】
2013539122.tif 000004
【図３】
2013539122.tif 000005
【図４】
2013539122.tif 000006
【図５】
2013539122.tif 000007
【図６】
2013539122.tif 000008
【図７】
2013539122.tif 000009
【図８】
2013539122.tif 000010
【図９】
2013539122.tif 000011
【図１０Ａ】
2013539122.tif 000012
【図１０Ｂ】
2013539122.tif 000013
【図１０Ｃ】
2013539122.tif 000014
【図１１Ａ】
2013539122.tif 000015
【図１１Ｂ】
2013539122.tif 000016
【図１１Ｃ】
2013539122.tif 000017
【図１１Ｄ】
2013539122.tif 000018
【図１１Ｅ−１】
2013539122.tif 000019
【図１１Ｅ−２】
2013539122.tif 000020
【図１１Ｆ】
2013539122.tif 000021
【図１１Ｇ】
2013539122.tif 000022
【図１１Ｈ】
2013539122.tif 000023
【図１１Ｉ】
2013539122.tif 000024
【国際調査報告】
2013539122.tif 000025