(57)【特許請求の範囲】
【請求項１】
アプリケーションユーザーインターフェース自動テスト方法であって、電子装置に実行
され、
テスト対象のアプリケーションをテストするための、アプリケーションユーザーインターフェースのテストソフトウェアのプログラムコードを、サービス要求層、メソッド定義層及びメソッド実装層に分けるステップであって、
前記サービス要求層は、前記テスト対象のアプリケーションの各機能コントロールに対応する同義名前集合を定義し、かつ、各機能コントロールの各場面に対応するサービスプロセスを実装するよう定義し、
前記メソッド定義層は、前記サービス要求層の各サービスプロセスの記述言語を解析して実行するためのプロセス定義を行うために用いられ、
前記メソッド実装層は、各プロセス定義にそれぞれ対応するプログラムブロックを特定する情報を記述するために用いられるステップと、
テストソフトウェアを修正するためのユーザーの要求を受信した場合、要求されたソフトウェアのコントロール名を修正し、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップと、
確認されたプロセス定義のうち前記メソッド実装層に基づいて確認されたプロセス定義に対応するプログラムブロックを探すステップと、
探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を、修正されたコントロール名に置き換えるステップを備える、
ことを特徴とするアプリケーションユーザーインターフェース自動テスト方法。
【請求項２】
前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップは、
修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属するかどうかを解析し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属する場合、修正されたコントロール名に対応するサービスプロセスを探し、前記メソッド定義層に基づいて、探されたサービスプロセスに対応するプロセス定義を確認し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属さない場合、第一注意情報を生成し、「修正されたコントロール名をそれに対応する同義名前集合に加えるようユーザーに注意し、修正されたコントロール名が同義名前集合に加わった後に、前記サービス要求層及び前記メソッド定義層に基づいて、修正                                                                         されたコントロール名に対応するプロセス定義を確認するステップと、を備える、
ことを特徴とする請求項１に記載のアプリケーションユーザーインターフェース自動テスト方法。
【請求項３】
ユーザーが機能コントロールの場面の修正要求を受信する場合、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップと、
前記メソッド定義層に基づいて、確認されたサービスプロセスに対応するプロセス定義を探すステップと、
前記メソッド実装層に基づいて、確認されたプロセス定義に対応するプログラムブロックを探すステップと、
テストソフトウェアにおける元の場面に対応するプログラムブロックを探されたプログラムブロックに置き換えるステップを更に備える、
ことを特徴とする請求項１に記載のアプリケーションユーザーインターフェース自動テスト方法。
【請求項４】
サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップは、
修正された場面がサービス要求層によって定義される場面に属するかどうかを解析し、修正された場面がサービス要求層によって定義される場面に属する場合、修正された場面に対応するサービスプロセスを確認し、修正された場面がサービス要求層によって定義される場面に属さない場合、第二注意情報を生成し、修正された場面及びそれに対応するサービスプロセスをサービス要求層に加えるようユーザーに注意し、かつ、前記メソッド定義層において、修正された場面に対応するサービスプロセスのプロセス定義を増加し、前記メソッド実装層において、修正された場面に対応するプロセス定義のプログラムブロックを増加するようユーザーに注意するステップを含む、
ことを特徴とする請求項３に記載のアプリケーションユーザーインターフェース自動テスト方法。
【請求項５】
記憶装置及び処理器を備える電子装置であって、前記記憶装置は、アプリケーションユーザーインターフェース自動テストシステムを記憶することに用いられ、前記アプリケーションユーザーインターフェース自動テストシステムは、前記処理器によって、
テスト対象のアプリケーションをテストするための、アプリケーションユーザーインターフェースのテストソフトウェアのプログラムコードを、サービス要求層、メソッド定義層及びメソッド実装層に分けるステップであって、
前記サービス要求層は、前記テスト対象のアプリケーションの各機能コントロールに対応する同義名前集合を定義し、かつ、各機能コントロールの各場面に対応するサービスプロセスを実装するよう定義し、
前記メソッド定義層は、前記サービス要求層の各サービスプロセスの記述言語を解析して実行するためのプロセス定義を行うために用いられ、
前記メソッド実装層は、各プロセス定義にそれぞれ対応するプログラムブロックを特定する情報を記述するために用いられるステップと、
テストソフトウェアのコントロール名を修正するためのユーザーの要求を受信した場合、要求されたソフトウェアのコントロール名を修正し、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップと、
確認されたプロセス定義のうち前記メソッド実装層に基づいて確認されたプロセス定義に対応するプログラムブロックを探すステップと、
探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を修正されたコントロール名に置き換えるステップを実行することに用いる
ことを特徴とする電子装置。
【請求項６】
前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップは、
修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属するかどうかを解析し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属する場合、修正されたコントロール名に対応するサービスプロセスを探し、前記メソッド定義層に基づいて、探されたサービスプロセスに対応するプロセス定義を確認し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属さない場合、第一注意情報を生成し、「修正されたコントロール名を、対応する同義名前集合に加えるようユーザーに注意し、修正されたコントロール名が同義名前集合に加わった後に、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップを含む、
ことを特徴とする請求項５に記載の電子装置。
【請求項７】
前記アプリケーションユーザーインターフェース自動テストシステムは、前記処理器によって、
機能コントロールの場面のユーザーの修正要求を受信する場合、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップと、
前記メソッド定義層に基づいて、確認されたサービスプロセスに対応するプロセス定義を探すステップと、
前記メソッド実装層に基づいて、探されたプロセス定義に対応するプログラムを探すステップと、
テストソフトウェアにおいて、元の場面に対応するプログラムブロックを探されたプログラムブロックに置き換えるステップと、
が実行されることに用いることを特徴とする請求項５に記載の電子装置。
【請求項８】
サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップは、
修正された場面がサービス要求層によって定義される場面に属するかどうかを解析し、修正された場面がサービス要求層によって定義される場面に属する場合、修正された場面に対応するサービスプロセスを確認し、修正された場面がサービス要求層によって定義される場面に属さない場合、第二注意情報を生成し、修正された場面及びそれに対応するサービスプロセスをサービス要求層に加えるようユーザーに注意し、かつ、前記メソッド定義層において、修正された場面に対応するサービスプロセスのプロセス定義を増加し、前記メソッド実装層における修正された場面に対応するプロセス定義のプログラムブロックを増加するようユーザー注意するステップと、を含む
ことを特徴とする請求項５に記載の電子装置。
【請求項９】
アプリケーションユーザーインターフェース自動テストシステムであって、分割モジュールと、判定モジュールと、コントロール名修正モジュールと、を備え、
前記分割モジュールは、アプリケーションユーザーインターフェースのテストソフトウェアのフレームを、サービス要求層、メソッド定義層及びメソッド実装層に分け、
前記サービス要求層は、テスト対象のアプリケーションの各機能コントロールに対応する同義名前集合を定義し、かつ、各機能コントロールの各場面に対応するサービスプロセスを実装するよう定義し、
前記メソッド定義層は、前記サービス要求層の各サービスプロセスの記述言語を解析して実行するためのプロセス定義を行うために用いられ、
前記メソッド実装層は、各プロセス定義にそれぞれ対応するプログラムブロックを特定する情報を記述することに用いられ、
前記判定モジュールは、テストソフトウェアを修正するためのユーザーの要求を受信したかどうかを判定することに用いられ、
前記コントロール名修正モジュールは、ユーザーがテストソフトウェアのコントロール名を修正するための要求を受信した場合、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認し、確認されたプロセス定義のうち前記メソッド実装層に基づいて確認されたプロセス定義に対応するプログラムブロックを探し、探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を、修正されたコントロール名に置き換えるために用いられる
ことを特徴とするアプリケーションユーザーインターフェース自動テストシステム。
【請求項１０】
アプリケーションユーザーインターフェース自動テスト記憶媒体であって、
一つ又は複数の処理器によって以下のステップが実行されることができる、コンピュータ読み取り可能なコマンドを記憶した不揮発性の記憶媒体であって、
アプリケーションユーザーインターフェースのテストシステムのフレームを、サービス要求層、メソッド定義層及びメソッド実装層に分け、前記サービス要求層は、テスト対象のアプリケーションの各機能コントロールに対応する同義名前集合を定義し、かつ、各機能コントロールの各場面に対応するサービスプロセスを実装するよう定義し、前記メソッド定義層は、前記サービス要求層の各サービスプロセスの記述言語を解析して実行するためのプロセス定義を行うために用いられ、前記メソッド実装層は、各プロセス定義にそれぞれ対応するプログラムブロックを特定する情報を記述するために用いられるステップと、
テストシステムを修正するためのユーザーの要求を受信した場合、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認し、
前記メソッド実装層に基づいて、確認されたプロセス定義に対応するプログラムブロックを探し、
探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を修正されたコントロール名に置き換える
ために用いられることを特徴とするアプリケーションユーザーインターフェース自動テスト記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２０１６年３月２日に出願され、「アプリケーションユーザーインターフェース自動化検出方法及び電子装置」と題された中国特許出願第２０１６１０１１９６０４．７号の優先権を主張し、その全体の内容が参照により本明細書に組み込まれている。
【０００２】
本発明は、検出技術分野に関するものであり、アプリケーションユーザーインターフェース自動テスト方法、電子装置、システム及び記憶媒体に関するものである。
【背景技術】
【０００３】
ユーザーインターフェース（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ、ＵＩ、使用者インターフェースとも呼ばれる）とは、ソフトウェアに対する人と機械相互の、操作論理、インターフェース美観の全体的な設計を指し、コンピュータシステムとユーザーとの間交互の情報交換を行う媒介である。ユーザーインターフェースは、ユーザーとハードウェアとの間で相互に通信するためのソフトウェアであり、ユーザーはハードウェアを便利かつ有効に操作することによって双方向の通信を実現し、ハードウェアで行うことを望む作業を完了できるようにすることを目的とする。
【０００４】
優れたＵＩデザインは、ソフトウェアに個性と高品位を与えるだけでなく、ソフトウェアの操作を快適、簡単、自由にして、ソフトウェアの位置づけ及び機能が十分に体現される。
【０００５】
コンピュータのハードウェアの急速な発展に伴って、従来のアプリケーション（ソフトウェア製品）は、既にユーザーの要求を満たすことができない。ソフトウェア製品は、激しい市場競争の中で豊富な機能だけでは遥かに足りなく、最強の相手に勝つことができない。先見がある企業は、ＵＩがソフトウェア製品にセールスポイントをもたらすことを意識し始めている。実際に、各企業は、製品の外観と使いやすい設計で少ないお金を投入する限り、多くの産出を獲得することができる。その投入産出の比率は、機能的先進性開発への投資より遥かに大きい。
【０００６】
現在、業界内のソフトウェア製品ＵＩを自動で検出する時に、図１に示すように、新しい要求または改訂版がある場合、全ての自動テストコードを書き直す必要があるため、自動テストを維持して実施することは、多くの人力及び時間がかかり、従って実施し続け難い。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記したような従来の技術において、前記問題点を解決するためになされたものであり、新しい要求または改訂版がある場合、自動テストコードを書き直す必要がないため、アプリケーションユーザーインターフェース自動テスト方法、電子装置、システム及び記憶媒体を提供することにその目的がある。
【課題を解決するための手段】
【０００８】
アプリケーションユーザーインターフェース自動テスト方法は、電子装置に実行され、以下のステップを備える。すなわち、
アプリケーションユーザーインターフェースのテストソフトウェアのフレームは、サービス要求層、メソッド定義層及びメソッド実装層に分けられ、前記サービス要求層は、各機能コントロールの同義名前集合及び各機能コントロールの異なる場面に対応するサービスプロセスを定義し、前記メソッド定義層は、サービス要求層を反映し、前記サービス要求層の各サービスプロセスにそれに対応するプロセスを定義するために用いられ、前記メソッド実装層は、メソッド定義層を反映し、各サービスプロセスのプロセス定義に対応するプログラムブロックを定義するために用いられ、
ユーザーがテストソフトウェアを修正するための修正要求を受信した場合、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認し、
前記メソッド実装層に基づいて確認されたプロセス定義に対応するプログラムブロックを探し、
探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を修正されたコントロール名に置き換える。
【０００９】
なお、好ましくは、「前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認する」とは、以下のステップを備える。すなわち、
修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属するかどうかを解析し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属する場合、修正されたコントロール名に対応するサービスプロセスを探し、前記メソッド定義層に基づいて、探されたサービスプロセスに対応するプロセス定義を確認し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属さない場合、第一注意情報を生成し、「修正されたコントロール名をそれに対応する同義名前集合に加えるようユーザーに注意し、修正されたコントロール名が同義名前集合に加わった後に、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認する。
【００１０】
好ましくは、アプリケーションユーザーインターフェース自動テスト方法は、以下のステップを備える。すなわち、
ユーザーが機能コントロールの場面の修正要求を受信する場合、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認し、
前記メソッド定義層に基づいて、確認されたサービスプロセスに対応するプロセス定義を探し、
前記メソッド実装層に基づいて、確認されたプロセス定義に対応するプログラムブロックを探し、
テストソフトウェアにおける元の場面に対応するプログラムブロックを探されたプログラムブロックに置き換える。
【００１１】
なお、好ましくは、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップは、以下のステップを備える。すなわち、
修正された場面がサービス要求層によって定義される場面に属するかどうかを解析し、修正された場面がサービス要求層によって定義される場面に属する場合、修正された場面に対応するサービスプロセスを確認し、修正された場面がサービス要求層によって定義される場面に属さない場合、第二注意情報を生成し、修正された場面及びそれに対応するサービスプロセスをサービス要求層に増加し、前記メソッド定義層において、修正された場面に対応するサービスプロセスのプロセス定義を増加する」、「前記メソッド実装層における修正された場面に対応するプロセス定義のプログラムブロックを増加するようユーザーに注意する。
【００１２】
電子装置は、記憶装置及び処理器を備える。前記記憶装置は、アプリケーションユーザーインターフェース自動テストシステムを記憶することに用いられ、前記アプリケーションユーザーインターフェース自動テストシステムは、前記処理器によって以下のステップを実行する。すなわち、
アプリケーションユーザーインターフェースのテストソフトウェアのフレームを、サービス要求層、メソッド定義層及びメソッド実装層に分け、前記サービス要求層は、各機能コントロールの同義名前集合及び各機能コントロールの異なる場面に対応するサービスプロセスを定義し、前記メソッド定義層は、サービス要求層を反映し、前記サービス要求層の各サービスプロセスに対応するプロセスを定義するために用いられ、前記メソッド実装層は、メソッド定義層を反映し、各サービスプロセスのプロセス定義に対応するプログラムブロックを定義するために用いられ、
テストソフトウェアを修正するためのユーザーの要求を受信した場合、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認し、
前記メソッド実装層に基づいて確認されたプロセス定義に対応するプログラムブロックを探し、
探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を修正されたコントロール名に置き換える。
【００１３】
なお、好ましくは、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップは、以下のステップを備える。すなわち、
修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属するかどうかを解析し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属する場合、修正されたコントロール名に対応するサービスプロセスを探し、前記メソッド定義層に基づいて、探されたサービスプロセスに対応するプロセス定義を確認し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属さない場合、第一注意情報を生成し、ユーザーに「修正されたコントロール名をそれに対応する同義名前集合に加えるようユーザーに注意し、修正されたコントロール名が同義名前集合に加わった後に、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認する。
【００１４】
好ましくは、前記アプリケーションユーザーインターフェース自動テストシステムは、前記処理器によって以下のステップを実行し、
機能コントロールの場面のユーザーの修正要求を受信する場合、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認し、
前記メソッド定義層に基づいて、確認されたサービスプロセスに対応するプロセス定義を探し、
前記メソッド実装層に基づいて、探されたプロセス定義に対応するプログラムを探し、
テストソフトウェアにおいて元の場面に対応するプログラムブロックを探されたプログラムブロックに置き換える。
【００１５】
なお、好ましくは、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップは、以下のステップを備える。すなわち、
修正された場面がサービス要求層によって定義される場面に属するかどうかを解析し、修正された場面がサービス要求層によって定義される場面に属する場合、修正された場面に対応するサービスプロセスを確認し、修正された場面がサービス要求層によって定義される場面に属さない場合、第二注意情報を生成し、修正された場面及びそれに対応するサービスプロセスをサービス要求層に加えるようユーザーに注意し、かつ、前記メソッド定義層において、修正された場面に対応するサービスプロセスのプロセス定義を増加し、前記メソッド実装層における修正された場面に対応するプロセス定義のプログラムブロックを増加するようユーザーに注意する。
【００１６】
アプリケーションユーザーインターフェース自動テストシステムは、分割モジュールと、判定モジュールと、コントロール名修正モジュールと、を備え、
前記分割モジュールは、アプリケーションユーザーインターフェースのテストソフトウェアのフレームを、サービス要求層、メソッド定義層及びメソッド実装層に分け、前記サービス要求層は、各機能コントロールの同義名前集合及び各機能コントロールの異なる場面に対応するサービスプロセスを定義し、前記メソッド定義層は、サービス要求層を反映し、前記サービス要求層の各サービスプロセスに対応するプロセスを定義するために用いられ、前記メソッド実装層は、メソッド定義層を反映し、各サービスプロセスのプロセス定義に対応するプログラムブロックを定義することに用いられ、
テストソフトウェア１１のコントロール名を修正するためのユーザーの要求を受信したかどうかを判定することに用いられる判定モジュールと、
前記コントロール名修正モジュールは、ユーザーがテストソフトウェアのコントロール名を修正するための要求を受信した場合、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認し、前記メソッド実装層に基づいて確認されたプロセス定義に対応するプログラムブロックを探し、探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を修正されたコントロール名に置き換えるために用いられる。
【００１７】
好ましくは、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップは、以下のステップを備える。すなわち、
修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属するかどうかを解析し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属する場合、修正されたコントロール名に対応するサービスプロセスを探し、前記メソッド定義層に基づいて、探されたサービスプロセスに対応するプロセス定義を確認し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属さない場合、第一注意情報を生成し、修正されたコントロール名をそれに対応する同義名前集合に加えるようユーザーに」注意し、かつ、修正されたコントロール名を同義名前集合に加えた後に、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップを含む。
【００１８】
好ましくは、前記アプリケーションユーザーインターフェース自動テストシステムは、場面修正モジュールをさらに備え、前記場面修正モジュールは、
機能コントロールの場面のユーザーの修正要求を受信する場合、前記サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認し、
前記メソッド定義層に基づいて、確認されたサービスプロセスに対応するプロセス定義を探し、
前記メソッド実装層に基づいて、探されたプロセス定義に対応するプログラムを探し、
テストソフトウェアにおいて、元の場面に対応するプログラムブロックを探されたプログラムブロックに置き換えることに用いられる。
【００１９】
好ましくは、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップは、以下のステップを備える。すなわち、
修正された場面がサービス要求層によって定義される場面に属するかどうかを解析し、修正された場面がサービス要求層によって定義される場面に属する場合、修正された場面に対応するサービスプロセスを確認し、修正された場面がサービス要求層によって定義される場面に属さない場合、第二注意情報を生成し、修正された場面及びそれに対応するサービスプロセスをサービス要求層に加えるようユーザーに注意し、かつ、前記メソッド定義層において修正された場面に対応するサービスプロセスのプロセス定義を増加し、前記メソッド実装層において修正された場面に対応するプロセス定義のプログラムブロックを増加するようユーザーに注意する。
【００２０】
アプリケーションユーザーインターフェース自動テスト記憶媒体は、コンピュータ読み取り可能なコマンドは一つ又は複数の処理器によって以下のステップが実行されることができる、コンピュータ読み取り可能なコマンドを記憶した不揮発性の記憶媒体であって、
アプリケーションユーザーインターフェースのテストシステムのフレームを、サービス要求層、メソッド定義層及びメソッド実装層に分け、前記サービス要求層は、各機能コントロールの同義名前集合及び各機能コントロールの異なる場面に対応するサービスプロセスを定義し、前記メソッド定義層は、サービス要求層を反映し、前記サービス要求層の各サービスプロセスにそれに対応するプロセスを定義するために用いられ、前記メソッド実装層は、メソッド定義層を反映し、各サービスプロセスのプロセス定義に対応するプログラムブロックを定義するために用いられるステップと、
テストシステムのコントロール名を修正するためのユーザーの要求を受信した場合、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認し、
前記メソッド実装層に基づいて確認されたプロセス定義に対応するプログラムブロックを探し、
探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を修正されたコントロール名に置き換えるために用いられる。
【００２１】
好ましくは、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップは、以下のステップを備える。すなわち、
修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属するかどうかを解析し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属する場合、修正されたコントロール名に対応するサービスプロセスを探し、前記メソッド定義層に基づいて、探されたサービスプロセスに対応するプロセス定義を確認し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属さない場合、第一注意情報を生成し、「修正されたコントロール名を、対応する同義名前集合に加えるようユーザーに注意し、修正されたコントロール名を同義名前集合に加わった後に、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認するステップを含む。
【００２２】
好ましくは、コンピュータ読み取り可能なコマンドは一つ又は複数の処理器によって、
機能コントロールの場面のユーザーの修正要求を受信する場合、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップと、
前記メソッド定義層に基づいて、確認されたサービスプロセスに対応するプロセス定義を探すステップと、
前記メソッド実装層に基づいて、確認されたプロセス定義に対応するプログラムブロックを探すステップと、
テストソフトウェアにおける元の場面に対応するプログラムブロックを探されたプログラムブロックに置き換えるステップと、
を実行する。。
【００２３】
好ましくは、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認するステップは、以下のステップを備える。すなわち、
修正された場面がサービス要求層によって定義される場面に属するかどうかを解析し、修正された場面がサービス要求層によって定義される場面に属する場合、修正された場面に対応するサービスプロセスを確認し、修正された場面がサービス要求層によって定義される場面に属さない場合、第二注意情報を生成し、修正された場面及びそれに対応するサービスプロセスをサービス要求層に加えるようユーザーに注意し、かつ、前記メソッド定義層において、修正された場面に対応するサービスプロセスのプロセス定義を増加し、前記メソッド実装層において、修正された場面に対応するプロセス定義のプログラムブロックを増加するようユーザーに注意するステップを備える。
【発明の効果】
【００２４】
本発明のアプリケーションユーザーインターフェース自動テスト方法、電子装置、システム及び記憶媒体は、新しい要求または改訂版がある場合、自動テストコードを書き直す必要がないため、人力及び時間を節約し、効率を向上させるという効果を奏することができる。
【図面の簡単な説明】
【００２５】
【図１】例示によりソフトウェア製品のユーザーインターフェースの改訂版を説明する図である。
【図２】本発明に係るアプリケーションユーザーインターフェース自動テストシステムのハードウェア環境図である。
【図３】本発明に係るアプリケーションユーザーインターフェース自動テストシステムの好ましい実施形態のブロック図である。
【図４】本発明に係るアプリケーションユーザーインターフェース自動テスト方法の好ましい実施形態のブロック図である。
【発明を実施するための形態】
【００２６】
図２に示すように、本発明に係るアプリケーションユーザーインターフェース自動テストシステムのハードウェア環境図である。
【００２７】
本発明の好ましい実施形態において、アプリケーションユーザーインターフェース自動テストシステム１０は、電子装置１に格納して実行される。前記電子装置１は、タブレットパソコンやデスクトップパソコンやノートパソコンタなどのようなパソコン、サーバーであっても良い。本発明の他の実施形態において、前記電子装置１は、いずれかの適切な電子装置であることができる。
【００２８】
前記電子装置１には、一つの複数のアプリケーションユーザーインターフェースのテストソフトウェア１１が格納されている。前記アプリケーションユーザーソフトウェアは、ソフトウェア製品のヒューマンマシン、操作論理、インターフェース美観の全体的な設計を提供し、且つ前記設計を表示装置１２に表示することができる。
【００２９】
電子装置１は、バスシステムを介して接続された処理器１３及び記憶装置１４をさらに備える。前記処理器１３は、電子装置全体を実行するための計算能力及び制御能力を提供することに用いられる。前記記憶装置１４には、上述したテストソフトウェア１１、オペレーティングシステム及びアプリケーションユーザーインターフェース自動テストシステム１０が格納されている。図２に示すように、いくつかの実施形態において、記憶装置１４は、内蔵メモリ１４１及び不揮発性記憶媒体１４２を備え、テストソフトウェア１１、オペレーティングシステム及びアプリケーションユーザーインターフェース自動テストシステム１０は、不揮発性記憶媒体１４２に格納されている。内蔵メモリ１４１は、オペレーティングシステム及びアプリケーションユーザーインターフェース自動テストシステム１０に高速なキャッシュの実行環境を提供する。いくつかの実施形態において、アプリケーションユーザーインターフェース自動テストシステム１０は、少なくとも1つのコンピュータ実行可能プログラム命令コードを含む。前記少なくとも1つのコンピュータ実行可能プログラム命令コードは、処理器１３によって実行されて本実施形態のアプリケーションユーザーインターフェース自動テスト方法を実現することができる。前記方法の具体的なステップは後続の内容を参考する。
【００３０】
この技術分野の技術者は、図２に示すような構造が本発明に係る技術方案に関する一部分の構造のブロック図であり、本発明に係る電子装置を限定するものではないことを理解できる。具体的に、電子装置は、図示されているより多くのまたはより少ない構成要素、または構成要素の組み合わせ、または異なる構成要素の配置を有する。
【００３１】
図３に示すように、本発明に係るアプリケーションユーザーインターフェース自動テストシステムの好ましい実施形態のブロック図である。
【００３２】
前記アプリケーションユーザーインターフェース自動テストシステム１０のプログラムコードは、異なる機能に従って、複数の機能モジュールに分割される。本実施形態において、前記アプリケーションユーザーインターフェース自動テストシステム１０は、分割モジュール１００と、判定モジュール１０１と、コントロール名修正モジュール１０２と、を備える。
【００３３】
前記分割モジュール１００は、アプリケーションユーザーインターフェースのテストソフトウェア１１のフレームを、サービス要求層、メソッド定義層及びメソッド実装層に分けるために用いられる。
【００３４】
前記サービス要求層は、各機能コントロールの同義名前集合を定義する。例えば、「ログオン」、「ログアウト」、「再ログイン」等々は、同義名前であり、同一の同義名前集合に分類され、「パスワードを忘れた」及び「ログインに問題が発生した」は、同一の同義名前集合に分類され、各機能コントロールの異なる場面に対応するサービスプロセスを定義する。例えば、ログアウトコントロールに対応する場面が「ログアウト」である場合、該場面に対応するサービスプロセスは、「ログアウトログインコマンドを受信した時、既にシステムにログインした場合、ログアウトを完成できる」であり、ログアウトコントロールに対応する場面が「ログアウトした際に、いずれかの過去データを削除しないという情報をユーザーに通知する」である場合、該場面に対応するサービスプロセスは、「ログアウトログインコマンドを受信した時、既にシステムにログインした場合、ログアウトするかどうかを確認するという注意情報を出力し、ユーザーによって確認されたログアウトコマンドを受信した後に、ログアウトを完成できる」である。前記サービス要求層は、記述言語を介して要求を記述するとともに、これらの要求は場面をテストする例であり、同じ機能コントロールの異なるサービスプロセスの機能を同じサービス要求層に集合し、例えば、「正しいユーザー名及び正しいパスワードを入力してログインする」、「正しいユーザー名及び間違ったパスワードを入力してログインする」、「間違ったユーザー名及び正しいパスワードを入力してログインする」、「間違ったユーザー名及び間違ったパスワードを入力してログインする」などであり、これらはログインコントロールの異なる場面に属し、ログインコントロールの異なる場面に対応するサービスプロセスを同一のサービス要求層に集合してログインコントロール全体のサービスプロセスを体現することができる。
【００３５】
前記メソッド定義層は、サービス要求層を反映し、前記サービス要求層の各サービスプロセスにそれに対応するプロセスを定義し、サービス要求層の記述言語はどのように解析して実行するかは、前記メソッド定義層で関連の定義を行う必要がある。
【００３６】
前記メソッド実装層は、メソッド定義層を反映し、メソッド実装の具体的な操作であり、前記メソッド実装層は、各サービスプロセスのプロセス定義に対応するプログラムブロックを定義する。
【００３７】
前記判定モジュール１０１は、ユーザーがテストソフトウェア１１を修正するための修正要求を受信し、且つ修正要求のタイプを判定する。前記テストソフトウェア１１を修正するための修正要求は、コントロール名の修正要求及び場面の修正要求を備える。
【００３８】
前記コントロール名修正モジュール１０２は、ユーザーがテストソフトウェア１１を修正するための修正要求を受信した場合、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認し、前記メソッド実装層に基づいて確認されたプロセス定義に対応するプログラムブロックを探し、探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を修正されたコントロール名に置き換える。
【００３９】
幾つかの実施形態において、前記アプリケーションユーザーインターフェース自動テストシステム１０は、場面修正モジュール１０３をさらに備える。前記場面修正モジュール１０３は、ユーザーが機能コントロールの場面の修正要求を受信する場合、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認する。前記メソッド定義層に基づいて、確認されたサービスプロセスに対応するプロセス定義を探す。前記メソッド定義層に基づいて、確認されたプロセス定義に対応するプログラムブロックを探す。テストソフトウェア１１における元の場面に対応するプログラムブロックを探されたプログラムブロックに置き換える。
【００４０】
図４に示すように、本発明に係るアプリケーションユーザーインターフェース自動テスト方法の好ましい実施形態のブロック図である。本発明に係るアプリケーションユーザーインターフェース自動テスト方法は、ブロック図に示すようなステップを限定するものではないことを理解できる。そのブロック図に示すステップの中のあるステップは省略でき、ステップの間の手順も変更することができる。
【００４１】
ステップＳ１０：分割モジュール１００において、アプリケーションユーザーインターフェースのテストソフトウェア１１のフレームが、サービス要求層、メソッド定義層及びメソッド実装層に分けられる。
【００４２】
なお、前記サービス要求層は、各機能コントロールの同義名前集合を定義する。例えば、「ログオフ」、「ログアウト」、「再ログイン」等々は、同義名前であり、同一の同義名前集合に分類され、「パスワードを忘れた」及び「ログインに問題が発生した」は、同一の同義名前集合に分類され、各機能コントロールの異なる場面に対応するサービスプロセスを定義する。例えば、ログアウトコントロールに対応する場面が「ログアウト」である場合、該場面に対応するサービスプロセスは、「ログアウトログインコマンドを受信した時、既にシステムにログインした場合、ログアウトを完成できる」であり、ログアウトコントロールに対応する場面が「ログアウトした際に、いずれかの過去データを削除しないという情報をユーザーに通知する」である場合、該場面に対応するサービスプロセスは、「ログアウトログインコマンドを受信した時、既にシステムにログインした場合、ログアウトするかどうかを確認するという注意情報を出力し、ユーザーによって確認されたログアウトコマンドを受信した後に、ログアウトを完成できる」である。前記サービス要求層は、記述言語を介して要求を記述するとともに、これらの要求は場面をテストする例であり、同じ機能コントロールの異なるサービスプロセスの機能を同じサービス要求層に集合し、例えば、「正しいユーザー名及び正しいパスワードを入力してログインする」、「正しいユーザー名及び間違ったパスワードを入力してログインする」、「間違ったユーザー名及び正しいパスワードを入力してログインする」、「間違ったユーザー名及び間違ったパスワードを入力してログインする」などであり、こちらはログインコントロールの異なる場面に対応するサービスプロセスを同一のサービス要求層に集合してログインコントロール全体のサービスプロセスを体現する。
【００４３】
前記メソッド定義層は、サービス要求層を反映し、前記サービス要求層の各サービスプロセスにそれに対応するプロセスを定義し、サービス要求層の記述言語はどのように解析して実行するかは、前記メソッド定義層で関連の定義を行う必要がある。
【００４４】
前記メソッド実装層は、メソッド定義層を反映し、メソッド実装の具体的な操作であり、前記メソッド実装層は、各サービスプロセスのプロセス定義に対応するプログラムブロックを定義する。
【００４５】
ステップＳ１１：判定モジュール１０１は、テストソフトウェア１１のコントロール名を修正するためのユーザーの修正要求を受信するかどうかを判定する。ユーザーがテストソフトウェア１１のコントロール名を修正するための修正要求を受信する場合、下記のステップＳ１２及びステップＳ１４を実行する。ユーザーがテストソフトウェア１１のコントロール名を修正するための修正要求を受信しない場合、下記のステップＳ１５を実行する。
【００４６】
ステップＳ１２：前記コントロール名修正モジュール１０２は、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認する。該ステップは、以下のサブステップを備え、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属するかどうかを解析し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属する場合、修正されたコントロール名に対応するサービスプロセスを探し、前記メソッド定義層に基づいて、探されたサービスプロセスに対応するプロセス定義を確認し、修正されたコントロール名が前記サービス要求層によって定義される同義名前集合に属さない場合、第一注意情報を生成し、ユーザーに「修正されたコントロール名をそれに対応する同義名前集合に増加する」を注意させ、修正されたコントロール名をそれに対応する同義名前集合に増加した後に、前記サービス要求層及び前記メソッド定義層に基づいて、修正されたコントロール名に対応するプロセス定義を確認する。
【００４７】
ステップＳ１３：前記コントロール名修正モジュール１０２は、前記メソッド実装層に基づいて、確認されたプロセス定義に対応するプログラムブロックを探す。
【００４８】
ステップＳ１４：前記コントロール名修正モジュール１０２は、探したプログラムブロックにおける修正されたコントロール名と同一の同義名前集合に属する他の名前を探し、且つ探したプログラムブロックにおける探された他の名前を修正されたコントロール名に置き換える。
【００４９】
ステップＳ１５：判定モジュール１０１は、テストソフトウェア１１の機能コントロールの場面を修正するためのユーザーの修正要求を受信するかどうかを判定する。ユーザーがテストソフトウェア１１の機能コントロールの場面を修正するための修正要求を受信する場合、下記のステップＳ１６乃至ステップＳ１９を実行する。そうでなく、ユーザーがテストソフトウェア１１の機能コントロールの場面を修正するための修正要求を受信しない場合、プロセスを終了する。
【００５０】
ステップＳ１６：前記場面修正モジュール１０３は、サービス要求層に基づいて、修正された場面に対応するサービスプロセスを確認する。該ステップは以下のサブステップを備え、修正された場面がサービス要求層によって定義される場面に属するかどうかを解析し、修正された場面がサービス要求層によって定義される場面に属する場合、修正された場面に対応するサービスプロセスを確認し、修正された場面がサービス要求層によって定義される場面に属さない場合、第二注意情報を生成し、修正された場面及びそれに対応するサービスプロセスをサービス要求層に加えるようユーザーに注意し、かつ、前記メソッド定義層における修正された場面に対応するサービスプロセスのプロセス定義を増加し、前記メソッド実装層における修正された場面に対応するプロセス定義のプログラムブロックを増加するようユーザーに注意する。
【００５１】
ステップＳ１７：前記メソッド定義層に基づいて、確認されたサービスプロセスに対応するプロセス定義を探す。
【００５２】
ステップＳ１８：前記メソッド実装層に基づいて、確認されたプロセス定義に対応するプログラムブロックを探す。
【００５３】
ステップＳ１９：テストソフトウェア１１における元の場面に対応するプログラムブロックを、探されたプログラムブロックに置き換える。
【００５４】
この技術分野の技術者が理解できることは、上述した実施形態の方法の中の全体または一部分のステップを実行することは、コンピュータプログラムによって関連のハードウェアを命令して完成することができ、前記プログラムは、コンピュータ読み取り可能な記憶媒体に格納され、前記プログラムが実行される時に、上述した方法の中のプロセスを含む。なお、前記コンピュータ読み取り可能な記憶媒体は、磁気ディスク、光ディスク、読み取り専用メモリ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ、ＲＯＭ）などのような不揮発性記憶媒体又はランダムアクセスメモリ（Ｒａｎｄｏｍ   Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ＲＡＭ）等々であることができる。
【００５５】
上述した各実施形態の技術特徴は任意に組み合わせることが可能であり、説明を簡潔にするために、各実施形態における各技術特徴の組み合わせは全て記載していないが、これらの技術特徴の組み合わせに矛盾がない限り、本明細書に記載された範囲に属するべきである。
【００５６】
最後に説明するべきであることは、以上の実施形態は、本発明の技術方案を説明するためだけで、限定を構成するものではない。好ましい実施形態を参照して詳細に説明したが、この技術分野の技術者は、本発明の技術方案に対して様々な変更と同等の代替を行うことができ、本発明の精神と範囲を逸脱しないことを理解できる。
【図１】
0006516343.tif 000002
【図２】
0006516343.tif 000003
【図３】
0006516343.tif 000004
【図４】
0006516343.tif 000005