(58)【調査した分野】(Int.Cl.,DB名)
前記第1のインストラクションが、前記一番上のレベルに相当するウインドウ識別子と、前記一番下のレベルに相当する前記ユーザインターフェイスデータ要素についてのデータ要素識別子とを含む、請求項3に記載の方法。
前記階層が、4つのレベルを含み、前記部分的な経路の指定が、前記一番上のレベルおよび前記一番下のレベル以外のすべてのレベルの特定を省略している、請求項4に記載の方法。
前記第1のインストラクションが、前記階層において前記ユーザインターフェイスデータ要素を捜索するときに、階層のうちの除外すべき部分を示す基準を含む、請求項6に記載の方法。
前記試験スクリプトが、前記パラメータについての第1の入力をもたらす第1の顧客、および前記パラメータについての前記第1の入力とは異なる第2の入力をもたらす第2の顧客に関して使用される、請求項8に記載の方法。
前記試験ツールによって、第1の符号モジュールへと前記ハンドルを使用して前記ユーザインターフェイスデータ要素を取り出すための第2のリクエストを発行するステップと、
前記第1の符号モジュールによって、前記アプリケーションへと前記ハンドルを使用して前記ユーザインターフェイスデータ要素を取り出すための第3のリクエストを発行するステップと、
前記アプリケーションにより、前記第3のリクエストに応答して、前記ユーザインターフェイスデータ要素を含む第1のデータを前記第1の符号モジュールへと提供するステップと、
前記第1の符号モジュールにより、前記ユーザインターフェイスデータ要素を前記試験ツールへと提供するステップと
をさらに含む、請求項10に記載の方法。
前記第1の符号モジュールが、前記第1のデータを処理し、前記試験ツールが期待する書式の前記ユーザインターフェイスデータ要素を生成する、請求項11に記載の方法。
前記データ要素識別子が、前記ユーザインターフェイスデータ要素を他のユーザインターフェイスデータ要素から一意に特定する前記アプリケーションによって参照される名称である、請求項4に記載の方法。
前記装置が、液体クロマトグラフィおよび質量分析、超臨界流体クロマトグラフィ、キャピラリ電気泳動、アナログ−デジタル信号変換および/または伝送、ならびにガスクロマトグラフィのいずれかを実行する機器である、請求項18に記載の方法。
前記試験スクリプトが、前記ユーザインターフェイスを使用してグラフとして表示される第1のデータを検証するために使用され、該第1のデータは、前記機器の性能試験に関連して該機器によって生成される、請求項19に記載の方法。
前記試験スクリプトが、管理者による前記アプリケーションの管理に関連して実行される管理作業に使用される、請求項23に記載のコンピュータにとって読み取り可能な媒体。
前記試験スクリプトが、前記アプリケーションへのセキュリティおよびアクセスの試験に関連して使用される、請求項24に記載のコンピュータにとって読み取り可能な媒体。
1つ以上のアプリケーション設定が、管理者ログインを使用して前記試験スクリプトを使用して指定され、該試験スクリプトが、適切なアクセスおよびセキュリティが前記1つ以上のアプリケーション設定に従ってもたらされているか否かを試験する、請求項25に記載のコンピュータにとって読み取り可能な媒体。
前記アプリケーション設定のうちの第1のアプリケーション設定が、前記アプリケーションの1人以上のユーザにとって実行可能であるアクセスおよび操作のいずれかを制限する、請求項26に記載のコンピュータにとって読み取り可能な媒体。
前記第1のアプリケーション設定が、前記アプリケーションを使用して動作の制御が行なわれる装置に関してアクセスおよび操作のいずれかを制限する、請求項27に記載のコンピュータにとって読み取り可能な媒体。
【発明を実施するための形態】
【0010】
図1を参照すると、本明細書に記載の技術の実行に使用することができるコンピュータ環境の実施形態の例が示されている。
図1に示されているコンピュータ環境は、適切なコンピュータ環境の一例に過ぎず、本明細書に記載される技術の使用または機能の範囲に関して、いかなる限界も意味するものではない。本明細書に記載される技術が、他の汎用および専用のコンピュータ環境および構成における使用にも適することができることを、当業者であれば理解できるであろう。周知のコンピュータシステム、環境、および/または構成の例として、これらに限られるわけではないが、パーソナルコンピュータ、サーバコンピュータ、携帯デバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサ基盤のシステム、プログラマブルな家庭用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、上述のシステムまたはデバイスのいずれかを含む分散コンピューティング環境、などが挙げられる。
【0011】
本明細書に記載される技術を、1つ以上のコンピュータまたは他のデバイスによって実行されるプログラムモジュールなど、コンピュータにおいて実行可能なインストラクションの全体的な関連において説明することができる。一般に、プログラムモジュールは、特定のタスクを実行し、あるいは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造、などを含む。典型的には、プログラムモジュールの機能を、種々の実施形態において所望のとおりに組み合わせることができ、あるいは分散させることができる。
【0012】
図1には、機器20a〜20n、クライアントコンピュータ30a、30b、サーバコンピュータ40、およびネットワーク14が含まれている。クライアントコンピュータ30a、30bおよびサーバコンピュータ40は、1つ以上のプログラムモジュールの実行に使用することができる標準的な市販のコンピュータまたは専用のコンピュータを含むことができる。クライアントコンピュータ30a、30bおよび/またはサーバコンピュータ40にインストールされたアプリケーションなどのソフトウェアの試験の促進に関連して、クライアントコンピュータ30a、30bおよび/またはサーバコンピュータ40によって実行することができるプログラムモジュールが、本明細書の他の場所においてさらに詳しく説明される。コンピュータ30a、30b、および40は、ネットワーク環境において動作し、他のコンピュータ、機器、および
図1には示されていない他のコンポーネントと通信することができる。機器20a〜20nは、液体クロマトグラフィシステム、超臨界流体クロマトグラフィシステム、キャピラリ電気泳動、ガスクロマトグラフィシステム、質量分析計、ならびに例えばネットワーク14へと接続されてクライアントコンピュータ30a、30bおよびサーバコンピュータ40と通信し、アナログ−デジタルの信号変換および/または送信を実行することができる他の種類の機器、などの科学機器であってよい。他のコンピュータは、
図1に示したコンピュータシステムの範囲内にあり、あるいは
図1に示したコンピュータシステムの外部に位置するが本明細書に記載の技術を使用して試験することができるファイル・キャプチャ・クライアント、プリント・キャプチャ・クライアント、または他のコンピュータであってよい。機器20a〜20nとして、例えばマサチューセッツ州MilfordのWaters Corporation(または、任意の他の供給者)によって提供されている1つ以上の科学機器を挙げることができる。
【0013】
当業者にとって明らかであるとおり、本明細書に記載の技術を、試験対象のソフトウェアを有するコンピュータがネットワークに接続されずにスタンドアロンで動作する実施形態において使用することも可能である。例えば、ソフトウェアを、ネットワークを介することなく1つ以上の機器へと直接接続されたコンピュータシステムにおいて実行することができる。さらに、より一般的には、本明細書における技術を、いかなる機器にも組み合わせられていなくてよいスタンドアロンのコンピュータまたはネットワークへと接続されたコンピュータ上で実行されるソフトウェアを試験するための実施形態において使用することができる。例示の目的で、典型的な実施形態を、科学機器などの機器とともに使用されるコンピュータに関して説明することができるが、そのような実施形態に限られると解釈してはならない。さらに、本明細書の技術を使用して実行される試験は、ソフトウェアだけを試験する目的であってよく、あるいはコンピュータシステムの認証、検査、および検証のアクティビティに関する種々の態様の一部であってよい。本明細書の技術の上述の態様および使用ならびに他の態様および使用が、以下の段落においてさらに詳しく説明される。
【0014】
クライアントコンピュータ30a、30bおよびサーバコンピュータ40は、機器20a〜20nとの関連において使用するためにクライアントコンピュータ30a、30bおよびサーバコンピュータ40において実行される1つ以上のアプリケーションを有することができる。本明細書における試験の技術を、機器の試験に関連して使用することができる。さらに、本明細書における技法を、機器との通信を通じてのコンピュータシステム(例えば、クライアントおよび/またはサーバシステムならびに後述のデータシステムなどのクライアントおよび/またはサーバシステム上のソフトウェアアプリケーション)の試験ならびにそれらの機器に関連して生じうる診断、制御、およびデータ取得の試験に関連して使用することもできる。一実施形態においては、1つ以上のアプリケーションが、マサチューセッツ州MilfordのWaters CorporationのEmpower(TM) 3またはUNIFI(TM)などのデータシステムに含まれてよい。データシステムを、機器の制御および管理、アプリケーションにおけるアクティビティならびにシステム上のデータおよびデバイスへのアクセスを制御することによるセキュリティの提供、データ処理の実行、専用の演算の生成、分析の設計、および報告などに関連して使用することができる。例えば、データシステムがデータベースを含むことができ、データシステムを、組み込みのリレーショナルデータベースを使用して規制された研究所を支援してデータの保存および検索のためのセキュアなデータ環境をもたらし、データの取得および種々の機器の制御を行ない、機器およびソフトウェアの認証を行なう、などのために使用することができる。機器20a〜20nのうちの1つから取得することができるデータの例は、その機器が質量分析計である場合、時間とともに収集される一連のスペクトルまたはスキャンである。当該技術分野で公知のとおり、質量−電荷のスペクトルの強度が、m/zの関数としてプロットされる。スペクトルの各要素、すなわち単一の質量−電荷の比を、チャネルと称することができる。単一のチャネルを時間をかけて眺めることで、該当の質量−電荷の比についてのクロマトグラフがもたらされる。生成された質量−電荷のスペクトルまたはスキャンを取得し、ハードディスク駆動装置などの記憶媒体またはコンピュータにとってアクセス可能な他の記憶媒体に記録することができる。典型的には、スペクトルまたはクロマトグラフが、値のアレイとして記録され、例えばサーバ40上のデータシステムのデータベースに保存可能である。サーバ40上に保存されたスペクトルに、表示および後の分析などのために、クライアントコンピュータ30a、30bのうちの1つを使用してアクセスすることができる。Empower 3などのアプリケーションに関連し、上述などのデータを、リレーショナルデータベースまたは他の保管設備などのデータコンテナまたはレポジトリに保存し、複数のクライアントなどによって遠方から共有することができる。別の例として、データシステムを、機器20a〜20nのための設定の提供に関連して使用することができる。例えば、データシステムを、質量分析計および液体クロマトグラフィシステムの種々のパラメータの設定ならびにそのような設定の変更に関する適切なアクセスおよび制御の保証に関連して使用することができる。本明細書における試験の技術を、そのようなアクセスおよび制御をもたらす機器およびデータシステムの態様を試験するために使用することができる。この例では、試験のための技術を、セキュリティおよびデータ処理の機能に関連して使用することができ、あるいはより一般的には、データシステムによってもたらされるデータ取得以外の管理上の機能に関連して使用することができる。さらに、本明細書における試験の技術は、データシステムのソフトウェアを使用して機器のパラメータを設定し、次いで現在の機器の設定を読み出すことで、データシステムのソフトウェアによって機器のパラメータが適切に設定されたことを確認し、さらにはそのように設定された機器が期待どおりに動作できることを確認することができる。
【0015】
以下の段落においてさらに詳しく説明されるように、本明細書における技術を、データシステムまたはその一部についての自動化されたソフトウェアの試験の実行に関して使用することができる。本明細書における技術を、データシステムの種々の態様の正確かつ適切な動作を確認するために使用することができる。例えば、本明細書における技術を、機器の制御パラメータの設定およびそれらの設定の検証、データシステムのアクセス、セキュリティ、および制御の設定の検証(例えば、適切な特権を有する特定のユーザだけが特定の操作を実行できることを確認する)、データの処理(例えば、システムが演算を正しく実行することを保証する)、アプリケーションにおける専用のフィールドの生成、他のアプリケーションとのやり取り、レコードまたはシステムオブジェクトを生成または更新するアクティビティのログを生成および維持するシステムの能力の確認、などに関して使用することができる。機器の認証に関して、本明細書における自動試験技術を、これらに限られるわけではないが、ソフトウェアのインストールの認証、ソフトウェアの動作の認証および/または性能の認証、試運転、など、ソフトウェアの検証のアクティビティにおいて使用することができる。
【0016】
いくつかのシステムおよび用途によれば、ソフトウェアの検証が、一般に、指定された要件が満たされている旨、ならびに単独または組み合わせにて働いて製造システムが意図される用途に適合している旨を検証するための体系的な手法が適切に導入されて正しく機能している旨の客観的証拠の提供を通じて、ISOおよびASTMによって承認と見なされることができる。以上は、システムが、認証、試運転および認証、検査、システムの検証、などの使用に適合することを保証するためのあらゆる種類の手法を包含する「包括的」な用語である。
【0017】
他のシステムおよび用途によれば、ソフトウェアの検証を、FDAによってGeneral Principles of Software ValidationというFDAの手引き(医療装置の関連において適用可能)の関連において定められるとおりに特徴付けることができる。この場合、ソフトウェアの検証を、ソフトウェア開発の全過程の個々の段階の設計出力が、その段階について指定されたすべての要件を満たしている旨の客観的証拠を提供すると特徴付けることができる。ソフトウェアの検証は、ソフトウェアが開発されるときに、ソフトウェアの一貫性、完全性、および正確性、ならびにそれを裏付ける文書化を求め、後にソフトウェアが有効であると結論付けるための裏付けをもたらす。ソフトウェアの試験は、ソフトウェア開発における出力が入力された要件を満たしている旨を確認する目的の多数の検証アクティビティのうちの1つである。他の検証アクティビティとして、種々の静的および動的な分析、符号および文書の検査、実地検証、および他の技術が挙げられる。ソフトウェアの検証は、FDAによって、医療装置の関連におけるソフトウェアの検証のためのFDAの手引きにおいて、「ソフトウェアの仕様がユーザのニーズおよび意図される用途に一致している旨ならびにソフトウェアを通じて満たされる特定の要件を一貫して果たすことができる旨の試験および客観的証拠の提示による確認」と具体的に定義されている。
【0018】
認証を、一般に、設備または付属のシステムが適切に導入され、正しく働き、製造者の期待する結果に実際につながっている旨の証明および文書化の行為と説明することができる。認証は、検証の部分集合であってよいが、個別の認証段階だけでは、意図される用途への適合を確立するという検証の要件を満足することができない。検証を、指定の意図される用途の特定の要件が一貫して満たされる旨の試験および客観的証拠の提示による確認と説明することができる。この場合、特定のソフトウェアの動作の特徴が適切に機能することが、ソフトウェアにおいてそれらの機能を自動的に行使し、結果、効果、または出力の客観的証拠を収集することによって検証するための処理が実行される。
【0019】
据付時適格性確認(Installation qualification:IQ)は、FDAによって、コンピュータ・システム・ソフトウェア開発専門用語集のFDAの用語解説において、プロセス設備および付属のシステムが適切な符号および承認された設計目標に準拠している旨および製造者の推奨が適切に考慮されている旨の信頼の確立と定義されている。本明細書における技術を、コンピュータシステムが書面によるあらかじめ承認された仕様に従って設置されている旨の確認および/または文書化に関連して使用することができる。クロマトグラフィのシステムまたは機器についての例として、IQは、システムが設計されたとおりに受領され、適切に設置され、システムの設置が製造者の仕様に照らして適切であることを証明する。
【0020】
稼働性能適格性確認(Operational qualification:OQ)は、FDAによって、コンピュータ・システム・ソフトウェア開発専門用語集のFDAの用語解説において、プロセス設備およびサブシステムが設定された限界および公差の範囲内で一貫して稼働できるとの信頼を確立することと定義されている。
【0021】
本明細書における技術を、コンピュータシステムが指定された動作範囲の全体において書面によるあらかじめ承認された仕様に従って動作する旨の検証および/または文書化に関連して使用することができる。クロマトグラフィのシステムまたは機器における例として、OQは、統合システムにおける役割を含んでよい重要な構成要素またはその主たる機能が、選択された環境において動作の仕様に従って動作できる旨を保証する。例えば、21 CFR Part 11の電子記録および電子署名に関する規制の要件の順守を手助けするセキュリティ機能を、自動化された試験ソフトウェアを使用して試すことができ、そのような試験の結果および出力を、この機能が個々の配備の環境において正しく働く旨の文書化された証拠として収集することができる。
【0022】
ソフトウェア(クロマトグラフィ・データ・システムあるいは同様のデータ収集および/または編成システム)の稼働時適格性確認(Performance qualification:PQ)を、統合されたコンピュータシステムによって実行されるプロセスが意図される用途に関して期待されるとおりに一貫して働く旨の文書化された証拠を適切な試験および客観的証拠の収集を通じて確立することと定義することができる。例えば、コンピュータシステムのセキュリティを保証するためのプロセスの特定の手段の全体または一部を、自動化された試験ソフトウェアを使用して試すことができ、そのような試験の結果および出力を、この意図された用途における適切性の文書化された証拠として収集することができる。本明細書における技術を、コンピュータシステムが指定された動作環境において書面によるあらかじめ承認された仕様に従って実行が求められるプロセスのアクティビティを実行または制御できる旨の検証および/または文書化に関連して使用することができる。
【0023】
機器または機器システムの適格性確認は、例えば、ここでの言及によって本明細書に援用される2002年9月24日発行のAndrewsらの「Automated Test Protocol」という米国特許第6,456,955号にさらに詳しく説明されている。
【0024】
本明細書における技術の上述の典型的使用および他の典型的使用が、以下の段落および図において、さらに詳しく説明される。
【0025】
図1のシステムの構成要素が、この例においてはネットワーク環境において通信するものとして示されているが、これらの構成要素が、別の通信媒体を利用して互いの通信および/または他の構成要素との通信を行なってもよく、これらの構成要素が、ネットワーク化されていても、ネットワーク化されていなくてもよいことを、当業者であれば理解できるであろう。例えば、
図1の構成要素は、ネットワーク接続および/または技術的に公知の他の種類のリンク(これらに限られるわけではないが、インターネット、イントラネット、あるいは他の無線および/または有線の接続、など)を利用して互いの通信および/または1つ以上の構成要素との通信を行なうことができる。さらに、上述のように、本明細書における技術を、ネットワークへの接続性の有無にかかわらず自立的に動作するスタンドアロンのコンピュータを有する実施形態において使用することが可能である。
【0026】
次に、
図2を参照すると、本明細書における技術による実施形態におけるクライアントコンピュータおよびサーバコンピュータに含まれることができる構成要素の例が示されている。クライアントコンピュータ50aが、データ・システム・クライアント・ソフトウェア52と、自動試験ツール57と、スクリプトおよびレポート57と、オペレーティングシステムおよび他のソフトウェア56とを備えることができる。データ・システム・クライアント・ソフトウェア52は、例えば、機器を制御および管理するための上述のデータシステムのクライアント部分であってよい。一実施形態においては、クライアントを、シン(thin)クライアントまたはファット(fat)クライアントとして特徴付けることができる。シンクライアントにおいては、アプリケーションの機能の大部分が、サーバ50bに含まれるソフトウェアによって実行される。対照的に、シック(thick)またはファットクライアントにおいては、アプリケーションの機能の大部分がクライアントソフトウェア52によって実行され、あるいはクライアントソフトウェア52に具現化されている。クライアントおよびサーバによって実行される機能の個々の区切りは、アプリケーションごとにさまざまであってよい。要素57が、スクリプトおよびレポートならびにおそらくは自動試験ツール54によって使用または生成される他の入力および出力を表わす。自動試験ツール54は、アプリケーションのクライアントソフトウェア52の自動試験を実行し、より一般的にはクライアントまたはコンピュータシステムの他の部分からアクセスされるときのアプリケーションの自動試験を実行するために、スクリプトを使用することができる。スクリプトを用いた試験の実行の出力として、ツール54は、この例ではクライアント上に位置するものとして示されているレポートを生成することができる。本明細書における技術のいくつかの実施形態においては、57の試験スクリプトが、試験のセッションおよびツール54の実行を駆動または制御するコマンドを含むことができる。これは、以下の段落でさらに詳しく説明される。要素56が、オペレーティングシステムおよびおそらくはクライアントソフトウェア52a上に位置することができる他のソフトウェアを表わしている。オペレーティングシステムは、例えばMicrosoft CorporationによるWindows(登録商標)ベースのオペレーティングシステムなど、種々の市販または独自のオペレーティングシステムのいずれかであってよい。
【0027】
サーバコンピュータ50bは、データ・システム・サーバ・ソフトウェアと、データベース64と、オペレーティングシステムおよび他のソフトウェア62とを含むことができる。
【0028】
図2には示されていないが、クライアントコンピュータ50aおよびサーバコンピュータ50bの各々は、1つ以上の処理装置、メモリ、ネットワーク・インターフェイス・ユニット、ストレージ、などを備えることができる。コンピュータの構成および種類に応じて、そのメモリは、揮発性(RAMなど)、不揮発性(ROMやフラッシュメモリなど)、または両者の何らかの組み合わせであってよい。ストレージとして、これらに限られるわけではないがUSBデバイス、磁気または光ディスク、あるいはテープなど、コンピュータシステムにおいて使用するためのリムーバブルおよび/または非リムーバブルなストレージを挙げることができる。そのようなストレージデバイスに、コンピュータによって利用することができ、例えばコンピュータによってアクセスすることができるハードディスクまたはCD−ROMドライブを含むことができる、コンピュータにとって読み取り可能な関連する媒体を有する。コンピュータストレージ媒体として、コンピュータにとって読み取り可能なインストラクション、データ構造、プログラムモジュール、または他のデータなどの情報を保存するための任意の方法または技術にて実現された揮発性および不揮発性のリムーバブルおよび非リムーバブルな媒体が挙げられる。コンピュータストレージ媒体として、これらに限られるわけではないがRAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CD−ROM、(DVD)、または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気ストレージデバイス、あるいは所望の情報を保存するために使用することができ、コンピュータによってアクセスすることができる任意の他の媒体が挙げられる。さらに、コンピュータの各々が、例えば入力デバイスおよび出力デバイスなどの他のデバイスおよび構成要素との通信を容易にするための通信接続を含むことができる。入力デバイスとして、例えばキーボード、マウス、ペン、音声入力装置、タッチ入力装置、バーコードリーダ、などを挙げることができる。出力デバイス(複数可)として、例えば表示装置、スピーカ、プリンタ、などを挙げることができる。これらのデバイスおよび他のデバイスが、技術的に周知である。
【0029】
上述のように、データ・システム・クライアント・ソフトウェア52およびサーバソフトウェア60は、
図1の機器に関して使用されるデータシステムまたはアプリケーションを備えることができる。例えば、そのようなソフトウェアを、液体クロマトグラフィシステムまたは質量分析計の動作の制御、機器を動作させるために使用される機器パラメータの設定、機器によって実行された分析の結果などのデータの収集および保存、などに使用することができる。データシステムなどのアプリケーションを、機器のシステムのセキュリティを管理し、機器によって使用されるデータおよび機器によって生成されるデータの保存を安全に提供し、そのようなデータへのアクセスおよびアプリケーションにおけるアクションを役割、許可、などに応じてユーザに関して制御するために使用することができる。一実施形態においては、試験ツール54およびスクリプトを、データ・システム・クライアント・ソフトウェア52のインストールと同時にクライアント50aにインストールすることができる。
【0030】
本明細書における技術による一実施形態においては、ツール54を、試験スクリプトを実行することによるアプリケーション52のクライアントソフトウェアの自動試験に関して使用することができる。本明細書における技術に従って実行される試験を、以下の段落においてアプリケーションの試験としてより一般的に説明できることに、注意すべきである。スクリプトを、アプリケーションおよびその機器に関連した使用の種々の態様の機能を試験するために使用することができる。例えば、本明細書における試験の技術を、アプリケーションが種々のユーザ、役割、許可、などへと提供することができる特権およびアクセスの種々の異なるレベルに応じてデータまたは機器へと適切なアクセス、制御、およびセキュリティを提供することを試験および検証するために使用することができる。また、本明細書における試験の技術を、例えば、アプリケーションが機器の動作パラメータの設定に使用される場合にそのような設定が実際に正しく実行されたことを検証する、機器の動作の結果として生成されたデータが予想されるデータであることを検証する(機器についてのPQの一部としてなど)、などのために使用することもできる。本明細書における試験ツール、スクリプト、および技術を、アプリケーションそのもの、そのインストール、などの適格性確認および検証に使用することができる。ツールを、アプリケーションを自動的に試験し、現在の導入環境において正しく機能していることを確認するために使用することができる。例えば、ツールの実施形態は、詳細な動作および性能の試験を実行し、試験の実行の証拠(例えば、画像、アクション、メッセージ)を集め、試験の合格または不合格/エラーを判断するために、ソフトウェア自動化技術を使用することができる。本明細書における技術は、これらの情報を記録および報告することができる。
【0031】
ツールは、メニューの選択を生じさせるグラフィカル・ユーザ・インターフェイス(GUI)とのユーザのやり取りを、ユーザがそのような選択を手動で実行することなくエミュレートするなど、試験の自動化を通じてアプリケーションとのユーザの手動のやり取りをエミュレートするために、本明細書における試験技術を実行することができる。むしろ、そのようなエミュレーションによるユーザのアクティビティ、ならびにそのようなユーザのやり取りの結果のさらなる処理および分析を、スクリプトを実行するツール54によって本明細書における技術を使用して自動化された方法で実行することができる。この方法で、ツールがアプリケーションのソフトウェア・ユーザ・インターフェイスを使用し、ユーザが行なうであろうアクティビティを実行する。本明細書における技術による一実施形態においては、ツールが入力情報を受け付け、ユーザが行なうのと同じようにフィールドへのデータエントリを行なうことができる。ツールがアプリケーションを構成し、そのような構成の設定を試験することができる。例えば、アプリケーションのセキュリティの設定および他の構成されたパラメータを指定でき、次いでアプリケーションの動作環境において自動化された方法でツールによって実行される試験によって検証することができる。
【0032】
システムの各々のクライアントコンピュータが、
図2に関して説明および図示した構成要素と同様の構成要素を備えることができることに、注意すべきである。
【0033】
図3を参照すると、本明細書における技術に関連した構成要素およびデータの動作の流れに関するさらなる詳細をもたらす例600が示されている。例600は、クライアントコンピュータに含まれることができるものとしての試験ツールの使用を示している。一実施形態においては、スクリプトをパラメータ化し、各々の試験場所またはシステムに合わせたカスタマイズをもたらすことができる。例えば、以下の段落で説明されるように、パラメータ化されたスクリプト608が、ユーザアカウントまたは識別子、設定可能なシステムパラメータ、など、試験において使用されるパラメータを含むことができる。パラメータについての値を、カスタマイズされた試験入力610にて指定することができる。ツール604は、パラメータ化されたスクリプト608およびカスタマイズされた試験入力610を入力として得、種々のパラメータについてもたらされた値の適切な置き換えを行ない、カスタマイズされたパラメータ値602を有するスクリプトを生成することができる。パラメータ化されたスクリプト608を、602によって表わされるスクリプトを生成するために種々の入力610とともに使用されるようにカスタマイズされたテンプレートとして特徴付けることができる。ツール604によって実行することができるスクリプトは、602によって表わされるスクリプトであってよい。
図3に説明および図示されるデータの流れおよび動作を、本明細書における技術による実施形態における第1のステップの一部として、後の試験において使用される602のスクリプトを生成するために実行することができる。
【0034】
図4を参照すると、本明細書における技術に従って自動化された試験を実行するためのツールの実行に関連した構成要素およびデータの動作の流れを示す例650が示されている。例650は、
図3の処理に続いて実行することが可能であり、カスタマイズされたパラメータ値を有するスクリプト602を入力として得るツール604を示している。ツール604が、試験に関連してデータベース、機器、などといったシステムの他の構成要素とやり取りでき、そのような試験の結果に関するレポート606を生成することができる。本明細書に記載のとおり、試験ツールを、試験または他の目的のためにアプリケーションのユーザインターフェイスとのユーザのやり取りをエミュレートし、より一般的には自動化する602のスクリプトを実行するために使用することができる。例えば、ツールを、役割に合わせた適切な特権が割り当てられており、機器の制御パラメータを設定し、分析を生成し、機器を動作させ、機器の動作の結果を調べる、などを行なう化学者として自動的にログオンするために使用することができる。例えば、ツールを、システムおよびアプリケーションの他のユーザに関してアプリケーションの管理を実行することができる高い特権を有する管理者としてのログインの試験、ならびに例えば新たなユーザアカウントの生成、ユーザアカウントの選択肢の変更または設定、システムの設定(例えば、アプリケーションのログインのタイムアウト)の変更、などの試験を自動化するために使用することができる。以上を、GUIを使用してアプリケーションとやり取りをするユーザによって実行でき、本明細書における実施形態において試験ツールおよびスクリプトを使用する自動化技術によって生成することができる。スクリプトを実行するツールを、GUIによるユーザアクションを実行し、その行為の結果として生じるデータ(そのようなデータをGUIを使用して表示することができる)を取得し、結果として生じたデータが正しいこと、または予想どおりであることを確認するために、使用することができる。
【0035】
本明細書における技術の説明に関して、典型的なスクリプトの構文、典型的な使用、および他の詳細を、本明細書に提示することができる。しかしながら、本明細書における技術が、さらに広い適用可能性を有し、本明細書において提示される詳細を、限定として解釈してはならないことを、当業者であれば理解できるであろう。
【0036】
スクリプトのカスタマイゼーションをもたらすパラメータ化されたスクリプトを説明するための例として、アプリケーションの構成の選択肢の設定を試験するためのコマンドを含む試験スクリプトの例を考える。例えば、試験スクリプトは、アプリケーションのタイムアウト値を設定および試験するためのコマンドを含むことができる。アプリケーションのタイムアウト値は、その時点においてアプリケーションにログインしているユーザがログアウトとなり、スクリーンセーバまたは何らかの他の適切な動作の起動がもたらされるまでの時間を指定することができる。タイムアウト値は、スクリプトパラメータとして表わされる設定可能な値であってよい。試験対象のアプリケーションを使用する顧客が、試験スクリプトにおいて使用するための入力としてタイムアウトの値を入力することができる。以下が、そのような試験スクリプトに含まれる記述を表わすことができる。
1 Set timeout=t$
2 <wait t$>
3 attempt application use
4 if message box exists
5 verify message of message box=“timeout message”
【0037】
上述のスクリプトに関して、記述1は、タイムアウト値をパラメータt$へと設定することを表わすことができる。顧客が、カスタマイズされたスクリプトを生成するための
図3の処理に関連して試験入力としてt$の値を指定することができる。後の時点において、カスタマイズされたスクリプトが、
図4に関して説明したとおりに実行される。記述1が実行されるとき、試験の可変のタイムアウトが、ユーザまたは顧客によってもたらされた入力に設定される。記述2は、実行されたときに、試験ツールをt$の現在の値によって示される時間(数秒など)だけ待機させる。記述5は、実行されたときに、t$によって示される時間の待機後に予想される「タイムアウトメッセージ」を有するメッセージボックスが表示されるかどうかを試験する。
【0038】
試験入力を、例えばユーザによってGUIを通じてもたらすことができることに、注意すべきである。そのような入力を、値についてのデータの完全性を保証するために処理することもできる。例えば、入力値のチェックを、受信された試験入力データが、すべてが数字などの必要な形式であるか否か、データフォーマットなどの必要とされるフォーマットを有しているか否か、予想される値の範囲内にあるか否か、などを確認するために実行することができる。また、一実施形態においては、スクリプトのそのようなパラメータについて、ユーザによってもたらされる値によって上書きされてよい一式のデフォルト値を用意してもよい。
【0039】
図5を参照すると、試験の実行の対象であるアプリケーションを使用してGUIを介して表示することができるスクリーンショットの例が示されている。例100が、例えばユーザアカウントについてのアプリケーション管理作業を実行する管理者に関連して表示することができる設定マネージャウインドウを示している。ウインドウは、ウインドウの仕切りを呈する左窓および右窓を含むことができる。アプリケーションの現在のユーザアカウントを閲覧するために、メニューから102の選択を行なうことができる。102の選択に応答して、情報104をウインドウの右窓に表または他の形式で表示することができる。試験ツールおよびスクリプトを、104の内容が予想される1つ以上のデータアイテムを含むことを検証するために、本明細書における技術に関連して使用することができる。例えば、特定のユーザIDおよび/または種類を有するものとして表わすことができる管理者のアカウントが、所定のしきい値数よりも多くてはならない可能性がある。より一般的には、試験を、左窓におけるメニューアイテムの選択の結果として生成される右窓の内容またはデータを検証するために実行することができる。窓におけるアイテムの位置を、ウインドウ識別子、窓、窓内の領域、ならびに領域内のアイテムまたは要素を指定することによって特定することができる。より一般的には、アイテムの位置を、
(ウインドウID.窓ID.領域ID.アイテムID)
と表わすことができる。
【0040】
ウインドウIDは、例100の設定マネージャなどについて、ウインドウを一意に特定する識別子であってよい。窓IDは、各々のウインドウが1つ以上の窓へと仕切られている可能性がある場合において、各々のウインドウ内の窓を一意に特定する識別子であってよい。例えば、
図3を参照すると、第1の窓IDを、左窓を特定するために使用することができ、第2の窓IDを、右窓を特定するために使用することができる。同じそのような窓ID(右窓および左窓をそれぞれ指すべく右(RIGHT)および左(LEFT)などの所定のキーワードであってよい)を、各々のウインドウにおいて使用することができる。各々の窓を、1つ以上の領域へとさらに分割することができ、各々の領域が、各々の窓において領域を一意に特定するための自身の識別子を有することができる。例えば、
図5を参照すると、右窓がただ1つの領域だけを有することができ、ただ1つのアイテムだけを含むことができる。データ104の表全体が、単一のアイテムであってよいが、表の単一のセルまたは要素をアイテムとして参照する実施形態をもたらすこともできる。
【0041】
ウインドウ内のアイテムの位置を特定するために使用される種々の識別子の各々を、種々のさまざまな方法で実現できることに、注意すべきである。例えば、ある実施形態は、すべてのウインドウについて窓IDおよび領域IDを表わすためにあらかじめ定められるキーワードを使用することができる。ウインドウIDは、個々のウインドウを特定するためにオペレーティングシステムによって使用される識別子であってよい。アイテムIDは、個々のアイテムに組み合わせられた識別子であってよい。アイテムの識別子は、GUIデータに関して個々のアイテムを指してアプリケーションによって使用される識別子であってよい。アイテム識別子を、例えば、表示されるメニューの文字列にもとづいて決定することができ、アプリケーションの開発者によって指定することができる(後に同じアイテムIDが試験スクリプトの記述において開発者によって使用される)。各々のウインドウ、窓、領域、およびアイテムを、より一般的には、GUIのデータ要素と称することができる。一実施形態においては、アイテム識別子、ならびに特定のウインドウ、窓、および/または領域に組み合わせられる他のタグまたは識別子を、GUIにおける各々のそのようなデータ要素を一意に特定するためにアプリケーションによって管理および指定することができる。例えば、アプリケーションは、一意の名称のアイテムIDを使用してデータ104の表を参照することができる。アプリケーションが、アイテムIDをデータ104に関連付け、選択102に応答してGUIへとデータ104およびアイテムIDをもたらすことができる。したがって、本明細書における技術による実施形態は、そのようなアイテムIDを、選択102に応答して生成される個々のデータ項目を特定するために試験スクリプトにおいて使用することもできる。このようにして、試験スクリプトにおいてGUIデータ要素を指すために使用される識別子が、データ要素GUI識別子を生成および管理するための他の技術を使用して生じうる変化と無関係である。例えば、一実施形態は、文字列、メニューアイテムのテキスト記述、またはGUIにおける表示のためにもたらされる他の情報にもとづいてUIデータ要素のタグまたはIDを生成できる。この場合に、表示される文字列または他のGUIコンテンツが変化するため(例えば、言語(例えば、フランス語、英語、ドイツ語、中国語、など)、文字セット、単純なアルファベットの格変化、などにつれて変化する可能性がある)、試験スクリプトを、そのような変化につれてやはり変化する異なるデータ要素の識別子を参照するように変更しなければならない可能性がある。アプリケーションによって管理される一意の識別子の使用は、そのような識別子が表示されるGUIデータから決定されるのではない場合、そのような表示データの変化(例えば、文字セット、言語、などの変化)とは無関係な方法でのGUIのデータ要素の特定をもたらす。
【0042】
データアイテムが、例えばリスト、表、表の単一のセルまたは項目、データの列、データの行、ダイアログボックスに含まれ、あるいは他の方法で組み合わせられるテキストなどの情報、ラジオボタン、など、ユーザインターフェイスに関連して表示される任意の要素を広く指すことができることに、注意すべきである。
【0043】
図6を参照すると、本明細書における技術による実施形態において、データアイテムをGUIにおいて特定できる方法をより一般的に説明する例が示されている。例200は、個々のウインドウの特定に使用されるウインドウIDを含んでいる。ウインドウ202を、1つ以上の窓へと仕切ることができる。この例200においては、3つの窓が存在している。窓2など、そのような窓の各々を、1つ以上の領域へとさらに分割することができる。例200においては、窓2が4つの領域を含むことができる。領域2などの各々の領域が、1つ以上のデータアイテムを含むことができる。例200においては、領域2が、3つのアイテムを含むものとして示されている。要素210は、表示されるGUIにおいて特定の位置を有するアイテムを指定するために使用することができる1つの構文を使用する一般的な書式を表わしている。要素210を、特定のデータアイテムを指すために試験スクリプトにおいて使用することができ、試験ツールおよびスクリプトを使用して試験すべき値を有するデータアイテムを取得または参照するために使用される構文とすることができる。
【0044】
上述され、
図6の要素210によって表わされるとおり、データアイテムを、ウインドウ内のデータアイテムの位置に対応するパス識別子を使用して指定される位置を有するものとして特定することができる。特定の数の領域および窓が示されるかもしれないが、実施形態は、任意の数を有することができる。また、各々のパス識別子が、210においては4つのレベルのデータ要素識別子を備えるものとして示されているが、実施形態は、データアイテムに組み合わせられるパス識別子に関して任意の数のレベルを用意することができる。
【0045】
図7を参照すると、ウインドウ内の種々のGUIデータ要素について、いくつかのレベルからなる階層として代表例が示されている。例300は、データアイテムのパス識別子におけるレベルの数に一致する複数のレベルを有するツリー表現である。ツリー構造における各々のデータ要素(例えば、ウインドウ、窓、領域、またはアイテム)を、ウインドウID 302によって示されているツリーの根元からの経路を有するものとして示すことができる。300のツリーは、ウインドウ、窓、領域、およびアイテムに対応する4つのレベルを含んでいる。ツリーは、ウインドウID 302によって示されている根元に第1のレベルまたは最上位レベルを含んでいる。各々の窓が、窓1 304など、ツリーの第2のレベルのノードとして位置している。各々の領域が、A1 310など、ツリーの第3のレベルのノードとして位置している。各々のアイテムが、I1 312など、ツリーの第4のレベルのノードとして位置している。ツリーは、この例ではレベル4である最下位に葉を有している。ツリー、したがってGUIにおけるあらゆるノードの位置を、根元を始点とする経路を使用して指定することができる。完全な経路は、ツリーの第4のレベルまたは最下位レベルに位置するデータアイテムに関する経路を指すことができる。任意のデータ要素に関する部分的な経路は、データ要素を表わすツリーにおいて特定のノードの位置を特定できるようにする完全な経路に満たない経路の指定を指すことができる。より一般的には、経路内のいずれかのデータ要素が省略される場合、経路を部分的な経路と称することができる。例えば、I1 312についての完全な経路は、ツリーにおいて312の特定を可能にする「ウインドウID.窓1.A1.I1」である(例えば、根元302からアイテム312に対応するノードまでの特定の経路)。アイテム312についての部分的な経路を、経路内の省略された1つ以上のレベルを示す構文を使用して指定することができる。例えば、経路から省略された1つ以上のレベルを、「
*」を使用して「ウインドウID.窓1.
*.I1」と示すことができる。この場合、部分ツリーまたは一部分313がアイテム312を含むものとして指定されている点で、312 I1についての経路の一部だけが指定されている。換言すると、部分的な経路の上述の表現は、ツリー内のノードについて領域またはレベル3の識別子の指定を省略し、データアイテムI1がウインドウの任意の領域に位置できる旨を表わしている。
【0046】
各々のウインドウについてのツリーが、システム内のすべてのウインドウについてのより大きなシステムの階層的表現に含まれてよいことに、注意すべきである。
【0047】
ウインドウ内の特定の位置を有する特定のデータアイテムを参照する試験スクリプトに関して、データアイテムの位置が変化する場合の試験について、問題または面倒が存在しうる。GUIにおけるデータ項目に関するそのような変化は、一般的でありうる。試験スクリプトに関して、試験スクリプトが、データアイテムが同じウインドウ内の別の領域または窓へと配置し直される場合に、そのような変化に対応するための変更を必要とする可能性がある。本明細書における技術による実施形態において、アイテムの位置がウインドウ内で変更される場合に試験スクリプトの書き直しまたは変更を必要とすることなく自動的に適応するスクリプト言語を使用することができる。本明細書における技術に関連して、アイテムを参照する場合に、アイテムを、上述のようなウインドウの識別の階層において変化するレベル数を提供する構文を使用して試験スクリプトにおいて特定または参照することができる。データアイテムを、完全な経路または部分的な経路を使用して特定することができる。完全な経路が指定される場合、試験ツールは、指定されたGUI内の1つの位置においてのみデータアイテムを探すことができる。部分的な経路が指定される場合、試験ツールは、表わされた考えられる位置のうちの1つ以上においてデータアイテムを探すことができる。例えば、上述のような「ウインドウID.窓1.
*.I1」に関して、これは、領域またはレベル3の識別子がツリー内のノードについて省略されており、データアイテムI1がウインドウの任意の領域に位置してよい旨を表わしている部分的な経路を表わすことができる。部分的な経路に関連して、試験ツールは、ウインドウの任意の領域においてアイテムI1を捜索または検索することができる。したがって、I1の位置が同じウインドウ内の領域間で移動する場合、上述の部分的な経路を使用してI1を参照するスクリプトは、変更を必要としない。再び
図7を参照すると、上述の部分的な経路を使用すると、試験ツールは、スクリプトを処理し、部分ツリー313のどこかの葉ノードとしてI1を捜索する。データアイテムを特定するための試験スクリプトにおける部分的な経路の使用に関して、部分的な経路の指定から省略された経路部分が変化しても、データアイテムの参照は正しいままである。
【0048】
部分的な経路の指定において、試験スクリプトは、一般に、アイテム(あるいはより一般的には、任意のGUIデータ要素)の位置を表わすために入れ子のレベルを使用することができる。データアイテムについての部分的な経路を、ウインドウIDとアイテムとの間の経路における介在のノードの1つ以上のレベルを省略することによって指定することができる。省略されたノードまたはレベルを、スクリプト言語の構文において1つ以上の文字(例えば、上述のような「
*」)を使用して示すことができる。アイテムの根元および葉ノードだけが、
ウインドウID.
*.アイテムID
のように指定される部分的な経路の指定によれば、ツールが、
図7に示されるとおりのウインドウまたはツリーの全体のどこかでアイテムを検索する。根元と葉ノードとの間の1つ以上の介在のレベルの指定は、ツールによるアイテムの検索について、ウインドウおよびGUIデータ要素に関する階層の一部分への限定をもたらす。
【0049】
以上は、本明細書における技術による実施形態におけるスクリプト言語に含まれてよい1つの典型的な構文に過ぎない。別の例として、ある実施形態は、以下のようにキーワードを使用して完全または部分的な経路の指定をもたらす構文を使用することができる。
【0050】
ウインドウID=ID,窓=P1,アイテム=アイテム1
この例は、窓の指定を可能にするが、特定の領域は指定しない。
【0051】
部分的または完全な経路を指定することによって、スクリプトの開発者は、データアイテムの位置特定および取得のためにツールによって実行される検索を制限する検索の基準または制限を効果的に指定する。例えば、再び
図5を参照すると、選択102に応答して表示されるユーザ情報104は、GUIの特定の部分へと再配置または移動させられる可能性が決してなく、部分的な経路の指定の使用が、データアイテムの特定における柔軟性だけでなく、検索およびデータアイテムを発見することができるウインドウ内の考えられる位置の制限ももたらす。一実施形態は、他の構文を使用して単一のデータアイテム、データアイテムのグループ、または任意のデータアイテムの決定に関する検索基準の指定ももたらすことができる。例えば、一実施形態は、アイテムの捜索時に検索されない階層またはウインドウの部分を特定する否定の検索基準を指定するためのスクリプト構文を含むことができる。基準または制限のための典型的な構文は、窓1または領域2のデータアイテムを検索しない旨を示す、
EXCLUDE(窓=窓1;領域=A2)
であってよい。
【0052】
上述のように、特定の用途およびシステムが本明細書において説明されるが、この試験技術を、手動のユーザのやり取りをエミュレートし、GUIを使用して表示することができるとおりの結果を検証するために、あらゆるアプリケーションとのユーザインターフェイスの試験において広く使用することができる。
【0053】
本明細書における技術を、システムまたはアプリケーションの管理、セキュリティ、アクセス、データの完全性を試験し、データの処理に関係する動作の試験などのためにデータの処理またはワークフローを検証し、電子記録を生成、変更、または削除する作業者の入力および行為の日時の記録を確認するために使用することができる。例えば、本明細書における技術を、監査証跡機能の試験を自動化するために使用することができる。他の例として、本明細書における技術を、機器によって生成される動作データなどのデータを検証するために使用することができる。例えば、本明細書における技術を、機器の適格性確認を自動化するために使用することができる。
【0054】
例えば、スクリプトが、液体クロマトグラフィまたは質量分析計を実行またはエミュレートする機器を動作させ、それによりデータまたはエミュレーションデータの生成をもたらすためのコマンドを含むことができる。データは、2次元における一連のX,Y座標からのグラフとしてGUI表示装置上にプロットされるクロマトグラムまたはエミュレーションによるクロマトグラムについてのデータであってよい。クロマトグラムのデータを、GUI表示装置にグラフィカルな形態で表示されるデータアイテムとして特定することができる。データを、2つの列、すなわちデータ点のX座標についてのX列およびデータ点のY座標についてのY列を有する表またはアレイに保存することができる。試験スクリプトが、データの表を検索し、試験スクリプトの一部としてデータをさらに処理するための記述を含むことができる。
【0055】
次に、本明細書における技術に関連してツールによって実行される処理を説明する。
図8を参照すると、アプリケーション402、データベース404、UI 406、ツール414、スクリプト412、DLL(より一般的には、ライブラリまたは符号モジュール)410、およびUI結果408を含む例400が示されている。要素402および404は、所与のデータシステムについてクライアントおよびサーバ上に位置する構成要素を集合的に表わすことができる。例えば、データベース404を、
図1の機器を管理および制御するためにアプリケーション402を使用して本明細書に記載のとおりのシステムのためのデータを保存するために使用することができる。試験技術を、アプリケーション402の自動化された試験を実行するために使用することができ、機器の適格性確認の側面のためのアプリケーションの使用に関連して使用することができる。スクリプト412が、任意のカスタマイズされた試験入力を有するカスタマイズされたスクリプトを含むと仮定される。動作において、ツール414が、UI406との手動のユーザのやり取りのエミュレーションを表わすUIリクエストA1の発行をもたらすスクリプト412の1つ以上の記述を実行する。例えば、A1は、メニューからのユーザの選択を表わすことができる。A1に続いて、メニューの選択に応答したUI 406からアプリケーション402へのデータの要求を表わすA2が実行される。アプリケーション402が、メニュー選択によるユーザのリクエストへの応答に関連して、データベース404にアクセスしてデータ、メタデータ、および他の情報を検索することができる(ステップA3)。アプリケーション402に返される情報が、A4によって表わされている。次いで、アプリケーションは、要求されたデータのUI 406への送信A5を行なう。例えば、再び
図5を参照すると、エミュレートされるユーザの行為は、102の選択であってよい。応答して、UI 406へと戻されるデータは、104の情報(
図8においては、画面または他のUI出力装置に表示することができるUI結果408として示されている)であってよい。
【0056】
次いで、試験ツール414は、データまたはUI結果を得るための後続の処理を実行することができる。換言すると、
図8は、UI 406へと送られるデータまたはUI結果408をもたらす自動化された試験技術によるユーザのやり取りまたはリクエストのエミュレーションを表わしている。
図9に関する処理ステップの第2の組において、今やツール414は、データまたはUI結果を取得するための処理を実行する。したがって、ツール414が、UI結果またはデータへのハンドルまたはポインタを得るためのリクエストをUI 406へと発行することができる。ハンドルを、所望のデータアイテムのポインタまたは識別子として特徴付けることができる。ハンドルは、例えば、UI 406によって使用されるとおりのデータアイテムのアドレスを表わすことができる。ハンドルH1を、ツール414へと返すことができる。この時点で、ツール414は、データアイテムそのものは有しておらず、データアイテムのハンドルH1だけを有している。
図10Aに関する処理ステップの第3の組において、ツール414が、ステップS1においてDLL 410と通信し、データアイテムの取得をDLLに要求する。ステップS1は、データアイテムについての完全な経路の識別子など、ハンドルH1およびデータアイテムをパラメータとして含むAPI(アプリケーション・プログラミング・インターフェイス)の使用を含むことができる。上述のように、データアイテムは、例えばアプリケーションによって管理および参照される識別子またはタグであってよい一意の識別子によって参照されるデータの表であってよい。次いで、DLLが、アプリケーション402と通信し、所望のデータを要求S2および取得S3する。次いで、DLL 410は、UI 406によって返されたデータをツール414が期待する書式にするために必要な処理を実行することができる。このようにして、ツール414が、UI 406と通信して所望のデータを得るようにDLLを利用することができる。DLLが、試験ツール414を例えばUI 406によって返されるデータの書式の変化から防護する。さらに、DLL 410を、試験ツール414および任意のアプリケーションにおいて使用することができる。
【0057】
部分的な経路の指定の使用などによってデータアイテムを検索するときに実行される処理を、ツール414とDLL 410との間でさまざまな異なる方法で分配することができる。例えば、一実施形態においては、ツール414が、1つ以上のデータアイテムを得るべくDLLへと一連のコールを発行でき、データアイテムおよびウインドウにおいてデータアイテムを特定するために使用される関連の経路の表現を保存することができる。そのような表現を、スクリプトの特定のインストラクションにもとづいて必要に応じて構成することができる。ひとたびデータアイテムおよび経路の表現が構成されると、情報を、後のスクリプトの処理に関連して再使用することができる。
【0058】
図10Bを参照すると、本明細書における技術による実施形態において実行することができる処理ステップのフロー図の例が示されている。フロー
図700が、本明細書に記載の処理を要約している。ステップ702において、試験入力値をパラメータ値として受け取ることができる。ステップ704において、カスタマイズされたスクリプトを、ステップ702からの試験入力値を使用して生成することができる。ステップ706において、カスタマイズされたスクリプトが、本明細書に記載のとおりの自動化された試験を行なうために実行される。ステップ708において、ステップ706からの試験結果を含むレポートを生成することができる。
【0059】
図10Cを参照すると、本明細書における技術による実施形態において生成することができるレポートの書式の代表例が示されている。典型的なレポートの書式750は、実行されたすべての試験についての概要ページ752、754および756によって示されるような各々の試験の実行についての情報、ならびにツールを用いたスクリプトの実行によって生じたエミュレーションによるユーザのやり取りの結果として表示されたGUIのスクリーンキャプチャ758を含むことができる。754などによって表わされる実行された各々の試験に関する情報は、試験のパラメータおよび値754a、試験のステップおよび結果754b、ならびに試験のレビューおよびサインオフシート754cを含むことができる。
図10Cの上述の内容は、以下でさらに詳しく例示および説明される。
【0060】
図11A〜
図11Iを参照すると、
図10Cにおいて大まかに説明したように本明細書における技術による実施形態において生成されるレポートに含まれることができる情報の例が示されている。いくつかの実施形態において、試験に関連して生成されるレポートを、変更できない文書として保存してもよいことに、注意すべきである。例えば、レポートを、アプリケーションに関連して使用されるデータベースまたは他のデータコンテナに保存することができ、アプリケーションのいかなるユーザもレポートを変更できないように適切な保護を設定することができる。
【0061】
図11Aを参照すると、レポートに含まれることができる情報の第1のページが示されている。例1000が、本明細書における技術を使用して実行された試験に関する情報の第1の概要ページを示している。例1000は、
図10Cの要素752をさらに詳しく示している。この典型的なレポートに関連して、1004によって示されているように、設定の検証、パスワードの複雑さの検証、およびアクセスの検証のための3つのスクリプトを実行することができる。設定の検証は、例えばアプリケーションの管理者によって設定または指定することができる選択肢などを含むアプリケーションの設定に関する検証に関する場合がある。1002によって示されるとおり、全部で3つの試験またはスクリプトが実行され、1つが不合格である。第1のページは、試験対象のアプリケーションおよびシステムについての他の情報1006、開始日および終了日などの各々の試験の実行についての情報、試験の合格または不合格1008、なども含むことができる。第1のページは、実行された試験の実行の順序を1002における出現の順序にもとづいて示すことができる。この例には示されていないが、機器の制御、PQ試験および検証などに関する機器のデータの取得、などに関係する他の試験を実行することもできる。
【0062】
図11Bを参照すると、設定検証試験の設定検証試験パラメータに関する情報が示されている。例1100が、試験入力を使用してもたらすことができる試験スクリプトパラメータおよび関連のカスタマイズされた値を含んでおり、
図10Cの要素754aのさらに詳しい説明をもたらしている。パラメータ名1102が、1106に示されるとおりの値を有する試験スクリプトパラメータを指している。1106の値は、試験対象のアプリケーションの顧客またユーザによってもたらされるカスタマイズされた試験入力値であってよい。1106の値を、カスタマイズされた試験スクリプトを生成するために、試験スクリプトの実行に先立って指定することができる。
【0063】
図11Cを参照すると、設定検証試験についての試験ステップおよび結果に関して含まれることができる情報の例が示されている。例1200が、設定検証試験に関して含まれることができる
図10Cの要素754bに関するさらなる詳細をもたらしている。例1200は、設定検証試験スクリプトに関して実行されるステップおよび手順に関する詳細をもたらすことができ、予想される結果、実際の結果、およびステップが合格または不合格のどちらであるかを示すこともできる。
【0064】
図11Dを参照すると、試験のレビューおよびサインオフに関して含まれることができる情報の例が示されている。例1300が、設定検証試験に関して含まれることができる
図10Cの要素754cに関するさらなる詳細をもたらしている。
【0065】
図11E1を参照すると、パスワード複雑性検証試験のパスワード複雑性試験パラメータに関する情報が示されている。
図11Bに関して説明した方法と同様の方法で、例1400が、試験入力を使用してもたらすことができる試験スクリプトパラメータおよび関連のカスタマイズされた値を含んでおり、第2の試験のための
図10Cの要素754aのさらに詳しい説明をもたらしている。
【0066】
図11E2を参照すると、アクセス検証試験のパスワード複雑性試験パラメータに関する情報が示されている。
図11Bに関して説明した方法と同様の方法で、例1450が、試験入力を使用してもたらすことができる試験スクリプトパラメータおよび関連のカスタマイズされた値を含んでおり、第3の試験のための
図10Cの要素754aのさらに詳しい説明をもたらしている。
【0067】
図11Fを参照すると、パスワード複雑性検証試験についての試験ステップおよび結果に関して含まれることができる情報の例が示されている。
図11Cに関して説明した方法と同様の方法で、例1500が、パスワード複雑性検証試験に関して含まれることができる
図10Cの要素754bに関するさらなる詳細をもたらしている。例1500において、1502および1504によって、ステップ1が不合格であり、GUI表示装置のスクリーンキャプチャがレポートの終わりに位置するスクリーンショットに含まれるAccessVerification_Step1_Picture1(
図11I)によって特定される画像に関するレポートに示されていることに、注意すべきである。
【0068】
図11G、
図11H、および
図11Iは、画像に組み合わせられた識別子によって指し示される特定の手順およびステップの実行の結果として得られたスクリーンショットの画像である。例えば、
図11Iを参照すると、識別子1802が、
図11Fの1502によって示されるレポートの先行する部分において対応する使用を有している。
【0069】
典型的なレポートおよび書式に関連して示したとおり、レポートは、実行された各々の試験のステップを、行なわれたステップを説明および図示し、試験の結果をキャプチャするレポートに埋め込まれた画像とともに、概説することができる。レポートが、試験のステップ、結果、エラー、入力、および試験結果に関する客観的証拠についての単一の文書をもたらす。
【0070】
本明細書における技術による一実施形態および使用に関して、試験ならびにツールおよびスクリプトの使用を、機器の供給者または製造者などのサービス提供者が、その顧客のために実行することができる。以上を、顧客の指定による試験入力を使用して顧客の現場でアプリケーションまたはシステムの検証を実行するための顧客のためのサービスとして実行することができる。パラメータ化されたスクリプトを、第1の顧客の入力を用いた第1の顧客のための第1のカスタマイズされたスクリプトの生成に関して使用することができる。同じパラメータ化されたスクリプトを、第2の顧客の入力を用いた第2の顧客のための第2のカスタマイズされたスクリプトの生成に関して使用することができる。以上を、顧客が実行してもよく、ソフトウェアによって自動的に実行(例えば、バックグラウンドプロセスとしての実行など)してもよく、スケジュールにもとづいて実行してもよく、もしくは他の方法で、必要に応じ、あるいは1つ以上の所定のイベントトリガ事象の発生の結果として実行してもよいことにも、注意すべきである。
【0071】
本明細書における技術を、ユーザインターフェイスを有する任意のソフトウェアを広く試験するために使用することができる。いくつかの典型的なシステムおよび用途を上述した。上述した例示の例として、本明細書における技術を、単独または機器との組み合わせにおけるデータシステムの種々の側面の試験において使用することができる。さらなる例として、本明細書における技術を、科学的な情報の収集、処理、および配布の機能を提供するNuGenesis(R) Scientific Data Management System(SDMS)などの他のシステムの種々の側面を試験するために使用することができる。SDMSによれば、研究所が、あらゆる分析技術からの情報を自動的に取得し、セキュアにし、アクセスし、広めることができる。SDMSを、あらゆる種類の科学的データを中央のデータベースにおいて保存および管理し、多数の研究アプリケーションとの統合を提供する自動化された電子レポジトリと特徴付けることができる。より一般的には、種々の場所で充分に述べたように、本明細書における技術を、ユーザインターフェイスを通じたユーザ入力の生成を生じさせるスクリプトを使用し、自動化された試験を通じてのユーザのやり取りをエミュレートすることによって、ソフトウェアのユーザインターフェイスを通じたソフトウェアの試験に使用することができる。ユーザ入力は、ユーザインターフェイスによるユーザの手動での入力および選択などによってもたらされるユーザ入力と同じである。したがって、本明細書における試験技術は、手動でのユーザの選択および入力などによる試験に関して生じるものと同じ環境および条件を複製することによる試験を提供する。
【0072】
また、科学機器を使用する実施形態が本明細書において説明されていることに、注意すべきである。より一般的には、本明細書における技術を、任意の種類の器具または他の装置を用いる実施形態において使用することができ、ならびに、いかなる種類の装置にも接続されず、いかなる種類の装置も利用しないソフトウェアシステムに関して使用することもできる。
【0073】
本明細書における技術を、コンピュータにとって読み取り可能な媒体の任意の1つ以上の異なる形態に保存された符号を実行することによって実行することができる。コンピュータにとって読み取り可能な媒体として、リムーバブルであっても、リムーバブルでなくてもよい種々の形態の揮発性の記憶装置(例えば、RAM)および不揮発性の記憶装置(例えば、ROM、フラッシュメモリ、磁気または光ディスク、あるいはテープ)を挙げることができる。
【0074】
本発明を、詳しく図示および説明した好ましい実施形態に関連して開示したが、それらについての変形および改良が、当業者にとって容易に明らかになるであろう。したがって、本発明の技術的思想および技術的範囲は、以下の特許請求の範囲によってのみ限定されるべきである。