JP2017111798A - イベント駆動型ソフトウェア試験 - Google Patents

イベント駆動型ソフトウェア試験 Download PDF

Info

Publication number
JP2017111798A
JP2017111798A JP2016212764A JP2016212764A JP2017111798A JP 2017111798 A JP2017111798 A JP 2017111798A JP 2016212764 A JP2016212764 A JP 2016212764A JP 2016212764 A JP2016212764 A JP 2016212764A JP 2017111798 A JP2017111798 A JP 2017111798A
Authority
JP
Japan
Prior art keywords
interactive
event
interactive element
state
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016212764A
Other languages
English (en)
Inventor
リ・ポン
Peng Li
英生 谷田
Hideo Tanida
英生 谷田
パン・ホアシヌ
Huaxin Pang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2017111798A publication Critical patent/JP2017111798A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】イベント駆動型ソフトウェアを試験する。【解決手段】イベント駆動型ソフトウェアアプリケーションから複数の対話式要素を得て502、各対話式要素について、1又は複数の座標を得て506、前記座標のうちの任意の1つにおいて、当該対話式要素が最上位層対話式要素であるかどうかを決定することにより、ユーザ対話式要素を特定し504、当該ユーザ対話式要素に基づきユーザ対話式要素に基づき、イベント駆動型ソフトウェアアプリケーションを試験する510。【選択図】図5

Description

本願明細書で議論される実施形態は、イベント駆動型ソフトウェアの試験に関する。
ソフトウェアを確認し又は検証するような、ソフトウェアの試験は、情報技術(IT)組織の中で共通の活動である。例えば、ソフトウェアが、1又は複数のクライアントコンピュータシステムにおいて実行するデスクトップアプリケーション、モバイル装置で実行するモバイル装置アプリケーション、又は1又は複数のサーバコンピュータシステムで実行するウェブアプリケーションであるかに拘わらず、ソフトウェアの品質を検証することは重要である場合が多い。ソフトウェアの中の幾つかの種類のエラーはユーザに不快感又は不便を引き起こすだけだが、他の種類のエラーは、データ及び経済的損失のような他の問題を引き起こす可能性がある。
よりユビキタスになっているある種のソフトウェアは、グラフィカルユーザインタフェース(GUI)に基づくアプリケーション及びウェブに基づくアプリケーションのような、イベント駆動型ソフトウェアである。イベント駆動型ソフトウェアでは、ソフトウェアプログラムのフローは、ユーザ動作(マウスクリック、キー押下)、センサ出力、又は他のプログラム/スレッドからのメッセージのようなイベントにより決定されても良い。イベント駆動型ソフトウェアは、多数の異なるイベント、及び試験中に探索され得る対応するイベントシーケンスを有しても良い。多くの場合、多数のイベント及びイベントシーケンスは、イベントシーケンスの急増を生み出し得る。イベントシーケンスの急増は、結果として、時間のかかる及び/又はリソース集中型のイベント駆動型ソフトウェアの試験をもたらす。幾つかの例では、イベントシーケンスの急増から要求される処理の量は、試験を行うことができないほどになる場合がある。
本願明細書で請求される主題は、上述のような欠点を解決する実施形態や上述のような環境でのみ機能する実施形態に限定されない。むしろ、この背景技術は、単に、本願明細書に記載される複数の実施形態が実施される技術分野の一例を説明するために提供される。
一実施形態の一態様によると、コンピュータにより実施されるソフトウェア試験の方法は、イベント駆動型ソフトウェアアプリケーションから複数の対話式要素を得るステップを有しても良い。対話式要素は、ユーザにより選択されるよう及び選択されるとイベント駆動型ソフトウェアアプリケーションにおいてイベントを生じるよう構成されても良い。方法は、イベント駆動型ソフトウェアアプリケーションの第1の状態において、対話式要素のうちのどれがユーザ対話式であるかを決定するステップを更に有しても良い。幾つかの実施形態では、対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、第1の対話式要素の1又は複数の座標を得るステップと、第1の対話式要素が1又は複数の座標のうちの任意の1つにおいて最上位層対話式要素であるかどうかを決定するステップと、有しても良い。方法は、ユーザ対話式要素に基づきイベント駆動型ソフトウェアアプリケーションを試験するステップを更に有しても良い。
実施形態の目的及び利点が理解され、少なくとも特に特許請求の範囲で指摘された要素、特徴及び組合せを用いて達成されるだろう。
上述の全体的説明及び以下の詳細な説明の両方は、例示及び説明のためであり、本発明の範囲を限定しないことが理解される。
例示的な実施形態は、添付の図面を用いて、更なる特異性及び詳細事項と共に記載され説明される。
ソフトウェアを試験するよう構成される例示的なシステムを表す図である。 イベント駆動型ソフトウェアの試験に関して使用され得る例示的なフローの図である。 例示的な対話式要素を示す。 例示的な対話式要素のオーバレイを示す。 イベント駆動型ソフトウェアアプリケーションを試験し得る例示的な装置を示す。 ソフトウェア試験の例示的な方法のフローチャートである。 ソフトウェア試験の別の例示的な方法のフローチャートを示す。 ソフトウェア試験の別の例示的な方法のフローチャートを示す。
本願明細書に記載される幾つかの実施形態は、電子装置のグラフィカルユーザインタフェース(GUI)に基づくアプリケーション及びウェブに基づくアプリケーションのような、イベント駆動型ソフトウェアアプリケーションを試験する方法及びシステムに関する。イベント駆動型ソフトウェアアプリケーションのフローは、ソフトウェアにおいて「イベント」を生じる、ユーザに提示される異なる対話式要素との異なる人間の相互作用により決定され得る。イベント駆動型ソフトウェアアプリケーションは、試験中に調査され得る多数の異なるイベント及び対応するイベントシーケンスを有し得る。これは、イベント駆動型ソフトウェアアプリケーションを分析するとき、イベントシーケンスの急増問題に繋がり得る。
以下に詳述するように、イベント駆動型ソフトウェアアプリケーションの所与の状態は、機械可視対話式要素のセットを有しても良い。機械可視対話式要素の一部は、ユーザ対話式要素を有しても良い。本開示に記載される方法及びシステムは、ユーザ対話式であるイベント駆動型ソフトウェアアプリケーションの所与の状態における対話式要素を決定するよう構成されても良い。ユーザ対話式要素を識別することにより、イベントシーケンスは、イベント駆動型ソフトウェアアプリケーションを試験するために、ユーザ対話式要素のみを用いて構成され得る。ユーザ対話式要素のみを含むイベントシーケンスを構成することにより、生成されるイベントシーケンスの数は削減される。これにより、処理時間、リソース、複雑性、及び/又はイベント駆動型ソフトウェアアプリケーションを試験する他の特長を削減する。
幾つかの実施形態では、イベント駆動型ソフトウェアアプリケーションの所与の状態における対話式要素は、対話式要素の構造的属性、例えば符号化用語(coding nomenclature)、及びトポロジ属性、例えば対話式要素のユーザへの提示位置、に基づき、ユーザ対話式であると決定されても良い。例えば、それらが表示され及びユーザ入力を受信し得ることを示し並びにディスプレイの中に提示される対話式要素の中の最上位位置を有する構造的属性を含む対話式要素は、所与の状態のユーザ対話式要素であると決定されても良い。
本開示の実施形態を、添付の図面を参照して以下に説明する。
図1は、本願明細書に記載の少なくとも1つの実施形態に従い構成される、ソフトウェアを試験するよう構成される例示的なシステム100を示す図である。システム100は、イベント駆動型ソフトウェアアプリケーションの試験結果170を生成するために、イベント駆動型ソフトウェアアプリケーションの被試験ソフトウェア102に関して試験を実行するよう構成される試験システム110を有しても良い。被試験ソフトウェア102は、例えばイベント駆動型ソフトウェアアプリケーション、イベント駆動型ソフトウェアアプリケーションのコード、ライブラリ、アプリケーション、スクリプト、又は処理装置による実行のための他のロジック若しくは命令のような、電子データを有しても良い。幾つかの実施形態では、被試験ソフトウェア102は、イベント駆動型ソフトウェアアプリケーションの完全なインスタンスを有しても良い。追加又は代替で、被試験ソフトウェア102は、イベント駆動型ソフトウェアアプリケーションの一部を有しても良い。被試験ソフトウェア102は、イベント駆動型ソフトウェアアプリケーションのために使用され得る任意の適切な種類のコンピュータ言語で書かれても良い。
以下に詳述するように、試験システム110は、被試験ソフトウェア102を検査するのに役立ち得る、被試験ソフトウェア102に関する一連の工程を実行するよう構成されても良い。図示のように、試験システム110は、処理モジュール120と、シーケンスモジュール130と、対話モジュール140と、状態管理モジュール150と、シンボル実行モジュール160と、を有しても良い。
処理モジュール120は、被試験ソフトウェア102を得るよう構成されても良い。例えば、被試験ソフトウェア102は、ウェブサイトのHTMLコードであっても良い。上述の及び他の実施形態では、処理モジュール120は、ウェブサイトのウェブアドレスを用いる、ウェブサイトのhtmlコードを要求しても良い。
被試験ソフトウェア102を得た後に、処理モジュール120は、被試験ソフトウェア102をパースし、パースした被試験ソフトウェア102を試験システム110の助けとなるフォーマットで格納しても良い。上述の及び他の実施形態では、処理モジュール120は、被試験ソフトウェア102の中の対話式要素を識別しても良い。上述の及び他の実施形態では、処理モジュール120は、対話式要素の特性に基づき、対話式要素を識別しても良い。例えば、対話式要素は、要素が対話式であることを示す符号化用語に基づき、被試験ソフトウェア102の中で定められても良い。代替で又は追加で、処理モジュール120は、被試験ソフトウェア102に関する他の情報へのアクセスに基づき、要素が対話式かどうかを決定しても良い。例えば、被試験ソフトウェア102がウェブページからのHTMLである場合、処理モジュール120は、要素の文書オブジェクトモデル(document object model:DOM)属性に基づき、要素が対話式であると決定しても良い。幾つかの実施形態では、処理モジュール120は、ヘッドレスウェブブラウザ及びJavaScript(登録商標)インタプリタであっても良い。代替で又は追加で、処理モジュール120は、何らかの他のソフトウェアであっても良い。
概して、対話式要素は、ユーザに提示される及びユーザにより相互作用されるよう構成される任意の要素であっても良い。例えば、対話式要素は、ボタン、ラベル、リンク、フィールド、又はグラフィックス、特にユーザが被試験ソフトウェア102と相互作用することを可能にする他のグラフィックユーザインタフェース要素、であっても良い。幾つかの実施形態では、対話式要素とのユーザの相互作用は、被試験ソフトウェア102の中でイベントを生じ得る。被試験ソフトウェア102の中のイベントは、被試験ソフトウェア102の中の任意の変化であっても良い。例えば、対話式要素とのユーザの相互作用は、被試験ソフトウェア102の中の変数の変化を生じ得る。代替で又は追加で、イベントは、被試験ソフトウェア102によりユーザに提示されるものを変化しても良い。例えば、イベントは、結果として、前の表示と異なる及び前の表示の特長を含まない新しい表示をユーザに提示させても良い。代替で又は追加で、イベントは、結果として、ユーザに提示されている現在の表示に変化を生じても良い。例えば、ボックスのチェックは、前にユーザ対話式でなかった対話式要素を活性化しても良い。
幾つかの実施形態では、被試験ソフトウェア102の中のイベントの発生は、結果として、被試験ソフトウェア102の新しい状態を生じても良い。被試験ソフトウェア102の各々の状態は、相互作用されると結果として被試験ソフトウェア102が異なる状態に変化するイベントを生じ得る1又は複数の対話式要素を有しても良い。同じ対話式要素は、被試験ソフトウェア102の複数の状態においてユーザによる相互作用のために利用可能であっても良い。幾つかの実施形態では、被試験ソフトウェア102の状態は、前の状態の対話式要素とのユーザ相互作用に基づきアクセスされても良い。したがって、状態は、イベントのシーケンスに基づき、被試験ソフトウェア102の中でアクセスされても良い。
状態、イベント、及び対話式要素の一例は、オンライン購入のためのソフトウェアについて以下に提供される。ソフトウェアの第1の状態は、異なる商品に関連付けられるカートを空にするボタン及び複数のカートに追加するボタンのような複数の対話式要素を有しても良い。これらの対話式要素の各々は、ユーザにより相互作用されても良い。例えば、ユーザは、表示された商品について、カートに追加するボタンを選択しても良い。その結果、価格フィールドは、カートの中の商品の価格を示すよう変化しても良く、例示的なソフトウェアは第2の状態に入っても良い。第2の状態では、購入ボタンが、カートを空にするボタン及び複数のカートに追加するボタンと一緒に、ソフトウェアにより提示されても良い。第2の状態では、ユーザは、購入ボタンを選択しても良い。購入ボタンの選択は、ソフトウェアを第3の状態に入らせても良い。第3の状態では、支払いフィールドを有する購入ディスプレイが提供されても良い。購入ディスプレイは、カートに追加するボタンがもはやユーザ対話式ではないように、カートに追加するボタンを覆っても良い。
試験システム110による被試験ソフトウェア102の試験は、可能なイベントシーケンスを決定するステップと、被試験ソフトウェア102の中のエラー又は他の問題について各々のイベントシーケンスを試験するステップと、を有しても良い。シーケンスモジュール130は、所与の状態の中で生じ得るイベントを決定し、及び相応して異なるイベントシーケンスを生成するよう構成されても良い。例えば、所与の状態は、該状態に到達するために、イベントシーケンスA、B、Cを有しても良い。状態の中で、処理モジュール120は、対話式要素D、E、Fに基づき生じ得る3つの異なるイベントD、E、Fが存在することを示しても良い。
所与の状態及び該状態に関連する異なるイベントに基づき、イベントシーケンスを決定する前に、シーケンスモジュール130は、処理モジュール120が所与の状態の中で対話式であると示す全ての要素を得ても良い。所与の状態の中で処理モジュール120により対話式であると決定された要素は、機械対話式要素として参照されても良い。シーケンスモジュール130は、対話モジュール140に機械対話式要素を提供しても良い。
処理モジュール120は所与の状態の中で要素を対話式要素であると決定するが、これは、対話式要素がユーザ対話式であることを意味しないことに留意する。例えば、処理モジュール120は、所与の状態の中で要素が対話式であると示すが、被試験ソフトウェア102が実施されるとき、要素は所与の状態の中でユーザ対話式ではない場合がある。例えば、オンライン購入のためのソフトウェアに関して前述した例では、処理モジュール120は、購入ディスプレイを有する第3の状態の中で、カートに追加するボタンが対話式であることを示しても良い。しかしながら、オンライン購入のための例示的なソフトウェアの実際の実装では、購入ディスプレイは、第3の状態の間にユーザがカートに追加するボタンと相互作用できないように、カートに追加するボタンを覆っても良い。要するに、要素の符号化用語又は要素の列挙される属性に完全に依存することは、所与の状態の中で要素がユーザ対話式であることを正しく示さない場合がある。要素の符号化用語又は対話式要素の列挙される属性は、被試験ソフトウェア102の所与の状態の中で要素が対話式であり得ることを示すが、所与の状態で、該所与の状態の中の対話式要素がユーザ対話式要素であることを示さない場合がある。上述の及び他の実施形態では、符号化用語又は対話式要素の列挙される属性に基づき決定されるような対話式要素が対話式である状態では、対話式要素は、機械対話式要素として参照されても良い。対話モジュール140は、所与の状態で対話式要素がユーザ対話式要素に適するように、所与の状態について、対話式要素がユーザと相互作用されるかどうかを決定するよう構成されても良い。
対話モジュール140は、所与の状態の機械対話式要素を受信しても良く、機械対話式要素のうちのどれが所与の状態についてユーザ対話式要素であるかを決定しても良い。幾つかの実施形態では、対話モジュール140は、被試験ソフトウェア102の実際の実行を用いて、機械対話式要素のうちのどれがユ―ザ対話式要素であるかを決定しても良い。上述の及び他の実施形態では、対話モジュール140は、被試験ソフトウェア102にコードを注入し、被試験ソフトウェア102に関する情報を得るために、被試験ソフトウェア102を正しく走らせても良い。得られた情報を用いて、対話モジュール140は、ユーザ対話式要素を決定しても良い。
上述の及び他の実施形態では、対話モジュール140は、ユーザ対話式要素が所与の状態において最上位の提示位置にあることに基づき、該所与の状態についてユーザ対話式要素を決定しても良い。所与の状態において最上位の提示位置は、対話式要素の少なくとも一部が所与の状態においてユーザに提示され、別の要素、ディスプレイ、ページ、又は他の提示により完全に覆われ又は見えなくされないことを示しても良い。対話モジュール140の機能の一例は、図2を参照して提供され、対話式要素が見えなくなることは、図3Bに更に示される。対話モジュール140は、所与の状態について機械対話式要素のうちのどれがユーザ対話式要素であるかを示しても良い。
所与の状態についてユーザ対話式要素の指示を与えた後に、シーケンスモジュール130は、ユーザ対話式要素のイベントシーケンスを構築しても良く、ユーザ対話式要素ではない機械対話式要素を無視しても良い。シーケンスモジュール130は、状態管理モジュール150にユーザ対話式イベントシーケンスを提供しても良い。例えば、所与の状態に到達するためにイベントA、B、C、及び所与の状態における対話式要素D、E、Fに基づき生じ得る3つの異なるイベントD、E、Fを有する前出の例を続ける。シーケンスモジュール130が、要素D及びFがユーザ対話式であるが、要素Eがユーザ対話式ではないことの指示を受信する場合、要素Eは所与の状態においてユーザ対話式要素ではないので、シーケンスモジュール130は、ユーザ対話式要素D及びFからのイベントD及びFに基づくがイベントEには基づかないイベントシーケンスを生成しても良い。したがって、シーケンスモジュール130は、A,B,C及びD、並びにA,B,C,及びFのユーザ対話式イベントシーケンスを構築しても良い。対話モジュール140を有しないで、シーケンスモジュール130は、3つのイベントシーケンス、つまりA,B,C及びD;A,B,C及びE;A,B,C,及びF、を生成しても良い。別の状態では、要素Eは、ユーザ対話式要素であると決定されても良い。したがって、イベントEは、他の状態においてシーケンスモジュール130により生成されるユーザ対話式イベントシーケンスの部分であり得る。
状態管理モジュール150は、シンボル実行モジュール160による試験の現在の状態を管理するよう構成されても良い。上述の及び他の実施形態では、状態管理モジュール150は、シーケンスモジュール140からユーザ対話式イベントシーケンスを受信しても良く、試験のためのユーザ対話式イベントシーケンスをシンボル実行モジュール160に提供しても良い。状態管理モジュール150は、シンボル実行モジュール160から、新しい状態の指示も受信しても良い。新しい状態に基づき、状態管理モジュール150は、各々の状態のユーザ対話式イベントシーケンスについて、シーケンスモジュール130に要求しても良い。
シンボル実行モジュール160は、状態管理モジュール150により提供されるイベントシーケンスを用いて、被試験ソフトウェア102をシンボル実行するよう構成されても良い。上述の及び他の実施形態では、シンボル実行モジュール160は、被試験ソフトウェア102の中の変数をシンボル変数で置き換え、シンボル変数を用いて被試験ソフトウェア102を実行しても良い。シンボル変数を用いるコードの実行は、結果としてシンボル式を生じても良い。シンボル実行モジュール160は、シンボル式を解くよう構成されても良い。シンボル式を解くことができるとき、イベントシーケンスは所与の具体的入力があれば実行できるように符号化されることを示し得る。さらに、シンボル式を解くことは、被試験ソフトウェア102の更なる試験のために所与のイベントシーケンスを実際に実行できる入力と共にテストケースが生成できるようにする。シンボル式を解くことができないとき、イベントシーケンスは所与の具体的入力と共に実行されないように符号化されることを示し得る。上述の及び他の実施形態では、イベントシーケンスは、被試験ソフトウェア102における論理フロー又は被試験ソフトウェア102における何らかの他のエラーに基づき実行されなくても良い。幾つかの実施形態では、シンボル実行モジュール160は、状態管理モジュール150に新しい状態情報を提供するよう更に構成されても良い。
幾つかの実施形態では、シンボル実行モジュール160は、被試験ソフトウェア102のシンボル実行に関する更なる情報を提供しても良い。例えば、情報は、他の情報の中でも特に、解かれるべきイベントシーケンスの数、解決不可能イベントシーケンスの数、に関連しても良い。幾つかの実施形態では、被試験ソフトウェア102の試験に関する情報は、テストケースと共に、テスト結果170として試験システム110により出力されても良い。幾つかの実施形態では、シンボル実行モジュール160及び/又は試験システム110は、被試験ソフトウェア102の他の試験を実行するよう構成されても良い。上述の及び他の実施形態では、試験システム110により試験されるイベントシーケンスは、ユーザ対話式要素から生じるイベントを有し構築されても良い。例えば、イベントシーケンスは、被試験ソフトウェア102の中で識別された全ての対話式要素ではないが、ユーザ対話式要素から生じるイベントのみを用いて構築されても良い。イベントシーケンスの中のイベントの数、又はイベントシーケンスの数を削減することにより、試験システム110は、被試験ソフトウェア102を試験するための処理時間及び/又は処理リソースを削減できる。
本開示の範囲から逸脱することなくシステム100に対し変更、追加又は省略が行われても良い。例えば、試験システム110は、複数の異なる構成で構成されても良い。例えば、試験システム110の中のモジュールのうちの1又は複数は、モジュールのうちの他のものと結合され又は追加モジュールに分割されても良い。幾つかの実施形態では、モジュールは、プロセッサにより実行されるよう構成される命令群であっても良い。上述及び他の実施形態では、命令は異なるグループ又は構成にグループ化されても良い。代替又は追加で、追加命令は、試験システム110に追加され又はそれから除去されても良い。さらに、試験システム110は、被試験ソフトウェア102のシンボル試験に加えて、他の種類の試験を実行するよう構成されても良い。上述の及び他の実施形態では、ユーザ対話式要素は、被試験ソフトウェア102を試験するための処理時間及び/又は処理リソースを削減するために、全ての対話式要素から区別されても良い。
図2は、本願明細書に記載の少なくとも一実施形態に従う、イベント駆動型ソフトウェアの試験に関して使用され得る例示的なフロー200の図である。幾つかの実施形態では、フロー200は、被試験ソフトウェア202において対話式要素がユーザ対話式要素であるか否かを決定するための一実施形態を説明するために構成されても良い。特に、フロー200は、被試験ソフトウェア202の第1の状態において対話式要素がユーザ対話式要素であるか否かを決定するよう構成されても良い。上述及び他の実施形態では、フロー200の一部は、図1の試験システム110の中の対話モジュール140の動作の一例であっても良い。
フロー200は、ブロック210で開始しても良い。ブロック210で、被試験ソフトウェア202の中の対話式要素が決定されても良い。被試験ソフトウェア202の中の対話式要素は、被試験ソフトウェア202の静的又は活動分析に基づき決定されても良い。幾つかの実施形態では、対話式要素は、対話式要素の符号化用語に基づき決定されても良い。例えば、対話式要素は、関数であっても良く、又はディスプレイに要素を提示することに関する、選択された符号化言語の中のコマンドのような、命令を含む関数を呼び出しても良い。例えば、被試験ソフトウェア202が文書マークアップ言語であるとき、用語が対話式要素であることを決定するために、要素が「display」又は「bisibility」のカスケード型シート要素を含むかどうかが決定されても良い。
代替又は追加で、対話式要素は、タッチスクリーン、マウス、キーボード、又は何らかの他の入力/出力装置のような入力/出力装置からユーザ入力を受信することに関して、選択された符号化言語の中のコマンドのような命令を有しても良い。幾つかの実施形態では、符号化コマンド、関数、又は他の符号セグメントのような他の符号化用語は、要素が対話式要素であることを示しても良い。決定された対話式要素は、機械対話式要素212であっても良い。
ブロック220で、機械対話式要素212のうちの1つは、選択対話式要素222として選択されても良い。ブロック230で、選択対話式要素222がディスプレイの中でユーザに提示可能であるかどうかが決定されても良い。選択対話式要素222が提示可能であるかどうかを決定するために、被試験ソフトウェア202は、実行機械を用いて実際に実行されても良い。例えば、被試験ソフトウェア202が、HTML及び/又はJavaScriptのような文書マークアップ言語である場合、ウェブブラウザ、ウェブブラウザドライバ、又は同様のソフトウェアは、選択対話式要素222がウェブブラウザによりディスプレイの中でユーザに提示可能であるかどうかを決定するために、被試験ソフトウェア202を実際に実行するために使用されても良い。例えば、幾つかの実施形態では、選択対話式要素222がユーザに提示可能かどうかを決定するために、Seleniumのようなソフトウェアを用いて試験コードが実行されても良い。別の例として、選択対話式要素222がユーザに提示可能かどうかを決定するために、Selendroidのようなソフトウェアを用いて試験コードが実行されても良い。
選択対話式要素222がディスプレイの中でユーザに提示可能ではないように、被試験ソフトウェア202が構成される場合、フロー200はブロック220に進んでも良い。ブロック220に戻ると、機械対話式要素212のうちの別の1つが、選択対話式要素222として選択されても良い。選択対話式要素222として選択されていない機械対話式要素212がもはや存在しない場合、フロー200は終了しても良い。選択対話式要素222がディスプレイの中でユーザに提示可能であるように、被試験ソフトウェア202が構成される場合、フロー200はブロック240に進んでも良い。
ブロック240で、選択対話式要素222の座標及び寸法242が得られても良い。上述の及び他の実施形態では、選択対話式要素222の座標及び寸法242は、選択対話式要素222がディスプレイ上でユーザに提示可能であるとき、選択対話式要素222の座標及び寸法を表しても良い。上述の及び他の実施形態では、座標は、選択対話式要素222の角であっても良く、寸法は、選択対話式要素222の周囲のサイズ及び構成であっても良い。例えば、選択対話式要素222は、ユーザに提示されるとき、長方形形状を有しても良い。上述の及び他の実施形態では、選択対話式要素222の座標は、選択対話式要素222の右上角のディスプレイ上のピクセル位置、又は選択対話式要素222の何らかの他の位置であっても良い。選択対話式要素222の寸法は、選択対話式要素222の4辺のピクセル単位の長さを有しても良い。幾つかの実施形態では、座標及び寸法242は、被試験ソフトウェア202に注入されたコードセグメントにより得られても良い。上述の及び他の実施形態では、コードセグメントは、被試験ソフトウェア202が実際に実行されるとき、座標及び寸法242を提供するためにコードを実行する命令を有しても良い。代替又は追加で、座標及び寸法242は、選択対話式要素222の座標及び寸法242を含み得るコード定義を得るために、選択対話式要素222を静的分析することにより得られても良い。
図3Aは、本願明細書に記載の少なくとも一実施形態による例示的な対話式要素300aを示す。対話式要素300aは、集合的に座標302として参照される、第1の座標302a、第2の座標302b、第3の座標302c、第4の座標302d、第5の座標302e、を有しても良い。図示のように、第1の座標302aは座標であっても良く、寸法は、対話式要素300aの4辺の長さであっても良い。
図2に戻ると、ブロック250で、選択対話式要素222の複数の座標252は、座標及び寸法242を用いて計算されても良い。幾つかの実施形態では、座標252は、選択対話式要素222の頂点であっても良い。例えば、選択対話式要素222が長方形形状を有するとき、長方形の4つの角のピクセル位置が座標であっても良い。代替又は追加で、座標252は、ユーザに提示されるとき、選択対話式要素222により覆われる追加座標を有しても良い。例えば、座標252は、選択対話式要素222の頂点、及び選択対話式要素222の内部にある1又は複数の座標を有しても良い。選択対話式要素222の内部にある1又は複数の座標は、選択対話式要素222の中央、又は選択対話式要素222の何らかの他の内部座標を有しても良い。
例えば、図3Aに示すように、対話式要素300aの頂点は、第1の座標302a、第2の座標302b、第3の座標302c、第4の座標302dであっても良い。上述の及び他の実施形態では、図2のブロック250で計算される座標252は、座標302のうちの1又は複数であっても良い。幾つかの実施形態では、図2のブロック250で計算される座標252は、対話式要素300aの内部にある第5の座標302eを有しても良い。
図2に戻ると、ブロック260で、座標252に対応する最上位層対話式要素262が得られても良い。上述の及び他の実施形態では、最上位層対話式要素262は、被試験ソフトウェア202の所与の状態の層対話式要素であっても良い。最上位層がユーザに提示可能である、対話式要素のスタックを想定すると、最上位層対話式要素262は、ユーザに提示されている及び最上位層にあって別の対話式要素により隠されていない又は覆われていない要素であっても良い。座標252に対応する最上位層対話式要素262は、座標252を含む、所与の状態の最上位層対話式要素であっても良い。
幾つかの実施形態では、対話式要素は、各々の座標252について得られても良い。したがって、座標252と同数の最上位層対話式要素262が存在する。しかしながら、上述の及び他の実施形態では、1又は複数の、及び幾つかの実施形態では全部の最上位層対話式要素262は、同じ対話式要素であっても良い。例えば、第1の最上位層対話式要素が座標252の全部を覆う場合、最上位層対話式要素262は、座標252の各々に対応する第1の最上位層対話式要素のみを含んでも良い。代替で、異なる最上位層対話式要素が座標252の各々に対応しても良い。したがって、最上位層対話式要素262は、座標252の数と等しい数の異なる対話式要素を含んでも良い。
幾つかの実施形態では、最上位層対話式要素262は、被試験ソフトウェア202に注入されたコードセグメントにより得られても良い。上述の及び他の実施形態では、コードセグメントは、被試験ソフトウェア202が実際に実行されるとき、座標252の各々について最上位層対話式要素262を提供するためにコードを実行するソフトウェアの命令を有しても良い。例えば、被試験ソフトウェア202がHTML又はJavaScriptである場合、座標252について最上位層対話式要素262を得るために、JavaScriptのdocument.elementFromPoint()のような関数がコードに注入されても良い。
代替又は追加で、最上位層対話式要素262は、選択対話式要素222の座標及び寸法242を含み得るコード定義を得るために、座標252を静的分析することにより得られても良い。
例えば、図3Bは、本願明細書に記載の少なくとも一実施形態による例示的な対話式要素のオーバレイを示す。例えば、図3Bは、対話式要素300aにオーバレイしているオーバレイ要素310を示す。図3Bに示すように、オーバレイ要素310と対話式要素300aの両者は、ユーザに提示されている。しかしながら、オーバレイ要素310は、対話式要素300aの一部にオーバレイしている。したがって、オーバレイ要素310に含まれる座標では、他の対話式要素がオーバレイ要素310の一部を覆っていないので、オーバレイ要素310は、最上位対話式要素と考えられる。したがって、第2の座標302b、第4の座標302d、第5の座標302eでは、オーバレイ要素310は、最上位層対話式要素であると考えられる。これに対し、第1の座標302a及び第2の座標302bでは、対話式要素300aは、最上位層対話式要素と考えられる。
図3Bに示す例では、図2のフロー200において、座標302は座標252に対応すると仮定すると、第5の座標302に対応する最上位層対話式要素262は、対話式要素300a及びオーバレイ要素310であり得る。上述の及び他の実施形態では、対話式要素300aは、第1の座標302a及び第3の座標302cに対応し、オーバレイ要素310は、第2の座標302b、第4の座標302d、及び第5の座標302eに対応し得る。
図2に戻ると、ブロック270で、選択対話式要素222は、最上位層対話式要素262と比較される。選択対話式要素222が最上位層対話式要素262のうちの1つに合致するとき、選択対話式要素222は、ユーザ対話式要素であり得る最上位層対話式要素である。上述及び他の実施形態では、フロー200は、ブロック280へと継続しても良い。選択対話式要素222が最上位層対話式要素262のうちの1つに合致しないとき、選択対話式要素222は、最上位層対話式要素ではない。結果として、選択対話式要素222は、座標252のうちのいずれにおいてもユーザにより相互作用されず、ユーザ対話式要素ではないと決定できる。上述及び他の実施形態では、フロー200は、ブロック220へと継続しても良い。ブロック280で、選択対話式要素222は、ユーザ対話式要素としてラベル付けされても良い。フロー200はブロック220に進んでも良い。
ブロック220に戻ると、機械対話式要素212のうちの別の1つが、選択対話式要素222として選択されても良い。選択対話式要素222として選択されるべき機械対話式要素212がもはや存在しない場合、フロー200は終了しても良い。フロー200の終わりに、機械対話式要素212の部分集合は、ユーザ対話式要素としてラベル付けされても良い。幾つかの実施形態では、ユーザ対話式要素としてラベル付けされた対話式要素は、図1に関して記載したような被試験ソフトウェア202の試験のために使用されても良い。代替又は追加で、ユーザ対話式要素としてラベル付けされた対話式要素は、任意の他の目的のために使用されても良い。
本開示の範囲から逸脱することなくフロー200に対し変更、追加又は省略が行われても良い。例えば、当業者は、この処理及び本願明細書に開始した他の処理及び方法において、その処理及び方法で実行される機能が異なる順序で実施されても良いことを理解するだろう。さらに、概略のステップ及び動作は、単に例として提供され、幾つかのステップ及び動作は、開示の実施形態の本質から逸脱することなく、任意であり、より少ないステップ及び動作に組み合わされ、又は追加ステップ及び動作に拡張されても良い。例えば、ブロック230は、フロー200から省略されても良い。代替又は追加で、ブロック240乃至270は、フロー200から省略されても良い。
図4は、本願明細書に記載の少なくとも一実施形態による例示的なシステム400を示す。システム400は、ソフトウェアを試験するよう構成される任意の適切なシステム、機器、又は装置を有しても良い。システム400は、プロセッサ410、メモリ420、データ記憶装置430を有しても良く、これらは全て通信可能に結合されても良い。データ記憶装置430は、試験モジュール432、被試験ソフトウェア434、試験結果436、及びテストケース438のような種々のデータを有しても良い。
概して、プロセッサ410は、任意の適切な特定用途向け又は汎用コンピュータ、コンピューティングエンティティ、又は種々のコンピュータハードウェア若しくはソフトウェアモジュールを有しても良く、任意の適切なコンピュータ可読媒体に格納された命令を実行するよう構成され得る処理装置を用いて実施されても良い。例えば、プロセッサ410は、マイクロプロセッサ、マイクロコントローラ、デジタシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)又はプログラム命令を解釈し及び/若しくは実行し並びに/又はデータを処理するよう構成された任意の他のデジタル若しくはアナログ回路を有しても良い。
図4には単一のプロセッサを示したが、プロセッサ410は、本願明細書に記載の任意の数の演算を個々に又は共同で実行するよう構成される任意の数のネットワーク又は物理的位置に渡り分散される任意の数のプロセッサを有しても良いことが理解される。幾つかの実施形態では、プロセッサ410は、プログラム命令を解釈し及び/又は実行し、及び/又はメモリ420、データ記憶装置430又はメモリ420及びデータ記憶装置430に格納されたデータを処理してもよい。幾つかの実施形態では、プロセッサ410は、データ記憶装置430からプログラム命令をフェッチし、該プログラム命令をメモリ420にロードしても良い。
プログラム命令がメモリ420にロードされた後、プロセッサ410は、それぞれ図2、5、6A、6Bのフロー200及び/又は方法500及び600を実行するための命令のようなプログラム命令を実行しても良い。例えば、プロセッサ410は、試験モジュール432をメモリ420にロードし、被試験ソフトウェア434を試験するために試験モジュール432の中で命令を実行しても良い。命令の実行は、結果として、それぞれ図1、2、5、6A、6Bの試験システム110、フロー200及び/又は方法500及び600を実行するための命令のようなプログラム命令を実行しても良い。上述の及び他の実施形態では、被試験ソフトウェア434を試験するために試験モジュール432を実行することは、結果として、試験結果436及びテストケース438を生成する。
メモリ420及びデータ記憶装置430は、コンピュータ実行可能命令又はデータ構造を伝える又は格納しているコンピュータ可読記憶媒体又は1又は複数のコンピュータ可読記憶媒体を含み得る。このようなコンピュータ可読媒体は、プロセッサ410のような汎用又は特定目的コンピュータによりアクセスできる任意の利用可能な媒体であり得る。
例として且つ限定ではなく、このようなコンピュータ可読媒体は、RAM(Random Access Memory)、ROM(Read−Only Memory)、EEPROM(Electrically Erasable Programmable Read−Only Memory)、CD−ROM(Compact Disc Read−Only Memory)又は他の光ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、フラッシュメモリ装置(例えば、固体メモリ素子)を含む非一時的コンピュータ可読記憶媒体、又はコンピュータにより実行可能な命令若しくはデータ構造の形式で所望のプログラムコード手段を伝える若しくは格納するために用いられ汎用若しくは特定目的コンピュータによりアクセス可能な他の記憶媒体を有し得る。上述の組合せも、コンピュータ可読記憶媒体の範囲に包含され得る。コンピュータ実行可能命令は、例えば、プロセッサ410に特定の工程又は工程のグループを実行させるよう構成される命令及びデータを含み得る。
本開示の範囲から逸脱することなくシステム400に対し変更、追加又は省略が行われても良い。例えば、データ記憶装置430は、複数の場所に置かれ且つネットワークを通じてプロセッサ410によりアクセスされる複数の異なる記憶媒体であっても良い。
図5は、本願明細書に説明される少なくとも一実施形態による、ソフトウェア試験の例示的な方法500のフローチャートである。幾つかの実施形態では、方法500に関連する工程のうちの1又は複数は、試験システム110により実行されても良い。代替又は追加で、方法500は、任意の適切なシステム、機器、又は装置により実行されても良い。例えば、図4のシステム400のプロセッサ410は、方法500に関連する工程のうちの1又は複数を実行しても良い。別個のブロックとして示したが、所望の実装に依存して、方法500のブロックのうちの1又は複数に関連するステップ及び工程は、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。
方法500は、ブロック502で開始し、イベント駆動型ソフトウェアアプリケーションからの複数の対話式要素が得られても良い。対話式要素は、ユーザにより選択されるよう及び選択されるとイベント駆動型ソフトウェアアプリケーションにおいてイベントを生じるよう構成されても良い。ブロック504で、イベント駆動型ソフトウェアアプリケーションの第1の状態において、対話式要素のうちのどれがユーザ対話式であるかが決定されても良い。
ブロック506で、第1の対話式要素の1又は複数の座標が得られても良い。幾つかの実施形態では、第1の対話式要素の角の座標及び中央座標を含む複数の座標が得られても良い。
ブロック508で、1又は複数の座標のうちの任意の1つにおいて、第1の対話式要素が最上位層対話式要素であるかどうかが決定されても良い。幾つかの実施形態では、第1の対話式要素が1又は複数の座標のうちの1つにおいて最上位層対話式要素であるとき、第1の対話式要素は、ユーザ対話式であると決定されても良い。
幾つかの実施形態では、対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、第1の対話式要素がユーザインタフェースの中で表示可能であるか否かを決定するステップを更に有しても良い。上述の及び他の実施形態では、第1の対話式要素が表示可能であることに応答して、1又は複数の座標が得られても良く、第1の対話式要素が最上位層対話式要素であるかどうかが決定されても良い。
幾つかの実施形態では、対話式要素のうちのどれがユーザ対話式要素であるかを決定するステップは、イベント駆動型ソフトウェアアプリケーションの第1の状態について対話式要素を得るステップと、対話式要素のうちの1つを選択するステップと、を更に有しても良い。上述の及び他の実施形態では、対話式要素のうちの1つを選択するステップ、1又は複数の座標を得るステップ、及び選択対話式要素が最上位層対話式要素でるかどうかを決定するステップは、イベント駆動型ソフトウェアアプリケーションの第1の状態について対話式要素のうちのどれがユーザ対話式であるかを決定するために、第1の状態の対話式要素の各々について繰り返されても良い。
ブロック510で、イベント駆動型ソフトウェアアプリケーションは、ユーザ対話式要素に基づき試験されても良い。
当業者は、この処理及び本願明細書に開始した他の処理及び方法において、その処理及び方法で実行される機能が異なる順序で実施されても良いことを理解するだろう。さらに、概略のステップ及び動作は、単に例として提供され、幾つかのステップ及び動作は、開示の実施形態の本質から逸脱することなく、任意であり、より少ないステップ及び動作に組み合わされ、又は追加ステップ及び動作に拡張されても良い。
例えば、方法500は、イベント駆動型ソフトウェアアプリケーションの第2の状態において、対話式要素のうちのどれがユーザ対話式であるかを決定するステップを更に有しても良い。第2の状態は、第1の状態の中の対話式要素の選択を通じて、イベント駆動型ソフトウェアアプリケーションの中で得られても良い。方法500は、ユーザ対話式である対話式要素を用いて第3の状態についてイベントシーケンスを構築するステップを更に有しても良い。上述の及び他の実施形態において、イベント駆動型ソフトウェアアプリケーションは、イベントシーケンスに基づき試験されても良い。
上述の及び他の実施形態では、第1の対話式要素が、イベント駆動型ソフトウェアアプリケーションの第1の状態及び第2の状態において、ユーザ対話式であるか否かが決定されても良い。
図6A及び6Bは、本願明細書に説明される少なくとも一実施形態による、ソフトウェア試験の別の例示的な方法600のフローチャートである。幾つかの実施形態では、方法600に関連する工程のうちの1又は複数は、試験システム110により実行されても良い。代替又は追加で、方法600は、任意の適切なシステム、機器、又は装置により実行されても良い。例えば、図4のシステム400のプロセッサ410は、方法600に関連する工程のうちの1又は複数を実行しても良い。別個のブロックとして示したが、所望の実装に依存して、方法600のブロックのうちの1又は複数に関連するステップ及び工程は、更なるブロックに分割され、少ないブロックに結合され、又は除去されても良い。
方法600は、ブロック602で開始し、イベント駆動型ソフトウェアアプリケーションからの複数の対話式要素が得られても良い。対話式要素は、ユーザにより選択されるよう及び選択されるとイベント駆動型ソフトウェアアプリケーションにおいてイベントを生じるよう構成されても良い。
ブロック604で、イベント駆動型ソフトウェアアプリケーションの実際の実行を通じて、イベント駆動型ソフトウェアアプリケーションの第1の状態において、対話式要素のうちのどれがユーザ対話式であるかが決定されても良い。
ブロック606で、イベント駆動型ソフトウェアアプリケーションの第1の状態の対話式要素が得られても良い。ブロック608で、第1の状態の対話式要素のうちの1つの第1の対話式要素が選択されても良い。ブロック610で、第1の対話式要素がユーザインタフェースに表示可能でるか否かが決定されても良い。
ブロック612で、第1の対話式要素が表示可能であることに応答して、第1の対話式要素の1又は複数の座標が得られても良い。幾つかの実施形態では、第1の対話式要素の角の座標及び中央座標を含む複数の座標が得られても良い。
ブロック614で、1又は複数の座標のうちの任意の1つにおいて、第1の対話式要素が最上位層対話式要素であるかどうかが決定されても良い。幾つかの実施形態では、第1の対話式要素が1又は複数の座標のうちの1つにおいて最上位層対話式要素であるとき、第1の対話式要素は、ユーザ対話式であると決定されても良い。
幾つかの実施形態では、第1の状態において対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、第1の状態の対話式要素のうちの第2の対話式要素を選択するステップと、第2の対話式要素がユーザインタフェースに表示可能か否かを決定するステップと、を更に有しても良い。幾つかの実施形態では、第2の対話式要素が表示可能であることに応答して、方法600は、第2の対話式要素の1又は複数の座標を得るステップと、第2の対話式要素の1又は複数の座標のうちの任意の1つにおいて第2の対話式要素が最上位層対話式要素であるかどうかを決定するステップと、を有しても良い。
ブロック616で、イベント駆動型ソフトウェアアプリケーションは、ユーザ対話式要素に基づきシンボル実行されて、式を生成しても良い。ブロック618で、式が解かれ、イベント駆動型ソフトウェアアプリケーションのテストケースを生成しても良い。
当業者は、この処理及び本願明細書に開始した他の処理及び方法において、その処理及び方法で実行される機能が異なる順序で実施されても良いことを理解するだろう。さらに、概略のステップ及び動作は、単に例として提供され、幾つかのステップ及び動作は、開示の実施形態の本質から逸脱することなく、任意であり、より少ないステップ及び動作に組み合わされ、又は追加ステップ及び動作に拡張されても良い。
例えば、方法600は、イベント駆動型ソフトウェアアプリケーションの第2の状態において、対話式要素のうちのどれがユーザ対話式であるかを決定するステップを更に有しても良い。第2の状態は、第1の状態の中の対話式要素の選択を通じて、イベント駆動型ソフトウェアアプリケーションの中で得られても良い。方法600は、ユーザ対話式である対話式要素を用いて第3の状態についてイベントシーケンスを構築するステップを更に有しても良い。上述の及び他の実施形態において、イベント駆動型ソフトウェアアプリケーションは、イベントシーケンスに基づきシンボル実行されて、式を生成しても良い。上述の及び他の実施形態では、第1の対話式要素が、イベント駆動型ソフトウェアアプリケーションの第1の状態及び第2の状態において、ユーザ対話式であるか否かが決定されても良い。
上述のように、本願明細書に記載した実施形態は、以下に更に詳細に議論するように、種々のコンピュータハードウェア又はソフトウェアモジュールを備えた特定用途向け又は汎用コンピュータ(例えば、図4のプロセッサ410)の使用を含み得る。さらに、上述のように、本願明細書に記載の実施形態は、コンピュータ実行可能命令又はデータ構造を伝える又はそれを格納されたコンピュータ可読媒体(例えば、図4のメモリ420又はデータ記憶装置430)を用いて実施されても良い。
本願明細書で用いられるように、用語「モジュール」又は「コンポーネント」は、モジュール若しくはコンポーネントの動作を実行するよう構成される特定ハードウェア実装、及び/又はコンピューティングシステムの汎用ハードウェア(例えばコンピュータ可読媒体、処理装置、等)に格納され及び/又はそれらにより実行され得るソフトウェアオブジェクト若しくはソフトウェアルーチンを表しても良い。幾つかの実施形態では、本願明細書に記載されたのと異なるコンポーネント、モジュール、エンジン及びサービスは、(例えば、別個のスレッドとして)コンピューティングシステムで実行されるオブジェクト又は処理として実施されても良い。本願明細書に記載のシステム及び方法の幾つかは概して(汎用ハードウェアに格納される及び/又はそれにより実行される)ソフトウェアで実装されるように記載されたが、専用ハードウェアの実装又はソフトウェアと専用ハードウェアの組み合わせの実装も可能であり考えられる。この説明では、「コンピュータエンティティ」は、本願明細書で先に定められたようにコンピューティングシステム、又はコンピューティングシステムで実行されるモジュール若しくはモジュールの組合せであっても良い。
本開示で及び特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本体)で使用される用語は、概して、広義の(open)用語と考えられる(例えば、用語「含む(including)」は「含むが、限定されない」と解釈されるべきであり、用語「有する(having)」は「少なくとも有する」と解釈されるべきであり、用語「含む(includes)」は「含むが、限定されない」と解釈されるべきである)。
さらに、特定数の導入された請求項の引用が意図される場合、このような意図は、請求項の中に明示的に示され、このような引用が存在しない場合はこのような意図が存在しない。例えば、理解の助けとして、以下の添付の特許請求の範囲は、請求項の引用を導入するために、「少なくとも1つの」及び「1又は複数の」をいう前置語句の使用を含み得る。しかしながら、このような語句の使用は、同じ請求項が前置語句「1又は複数」又は「少なくとも1つの」及び「a又はan」のような不定冠詞を含むときでも、不定冠詞「a、an」による請求項引用の導入がこのような導入された請求項引用を含む任意の特定の請求項をこのような引用を1つだけ含む実施形態に限定することを示すと考えられてはならない(例えば、「a」及び/又は「an」は「少なくとも1つの」又は「1又は複数の」を意味すると解釈されるべきである)。同様のことは、請求項引用を導入するために使用される定冠詞の使用についても該当する。
さらに、特定数の導入された請求項引用が明示的に引用される場合、当業者は、このような引用が少なくとも引用された番号を意味することと解釈されるべきであることを認識するだろう(例えば、「2つの引用」はそのままで、他の変更が無ければ、少なくとも2つの引用、又は2以上の引用を意味する)。さらに、「A、B、C、等のうちの少なくとも1つ」又は「A、B、C、等のうちの1又は複数」に類似する慣例が用いられる例では、通常、このような構成は、Aのみ、Bのみ、Cのみ、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、又はA、B、Cを一緒に、等を含むと意図される。
さらに、2以上の代替用語を表す任意の離接語又は語句は、説明、請求項、又は図面の中であるかに係わらず、用語のうちの1つ、用語のうちのいずれか、又は両方の用語を含む可能性を包含すると理解されるべきである。例えば、語句「A又はB」は、「A」又は「B」又は「A及びB」の可能性を含むと理解されるべきである。
本願明細書に記載された全ての例及び条件文は、教育上の目的で、読者が本発明の原理及び発明者により考案された概念を理解するのを助け、技術を促進させるためであり、これらの特に記載された例及び条件に限定されないものと考えられるべきである。本開示の実施形態が詳細に記載されたが、種々の変更、置換及び修正が本開示の精神及び範囲から逸脱することなく行われうることが理解されるべきである。
以上の実施形態に加えて、更に以下の付記を開示する。
(付記1) コンピュータにより実施されるソフトウェア試験の方法であって、前記方法は、
イベント駆動型ソフトウェアアプリケーションから複数の対話式要素を得るステップであって、前記対話式要素は、ユーザにより選択されるよう、及び選択されると結果として前記イベント駆動型ソフトウェアアプリケーションの中でイベントを生じるよう構成される、ステップと、
前記イベント駆動型ソフトウェアアプリケーションの第1の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記決定するステップは、
第1の対話式要素の1又は複数の座標を得るステップ、及び
前記第1の対話式要素が、前記1又は複数の座標のうちの任意の1つにおいて最上位層対話式要素であるかどうかを決定するステップ、
を含む、ステップと、
前記のユーザ対話式要素に基づき、前記イベント駆動型ソフトウェアアプリケーションを試験するステップと、
を有する方法。
(付記2) 前記第1の対話式要素が前記1又は複数の座標のうちの1つにおいて前記最上位層対話式要素であるとき、前記第1の対話式要素は、前記第1の状態においてユーザ対話式であると決定される、付記1に記載のコンピュータにより実施される方法。
(付記3) 前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、前記第1の対話式要素がユーザインタフェースに表示可能でるか否かを決定するステップを更に有し、前記第1の対話式要素が表示可能であることに応答して、1又は複数の座標を得るステップと、前記第1の対話式要素が最上位層対話式要素であるかどうかを決定するステップと、を実行する、付記1に記載のコンピュータにより実施される方法。
(付記4) 前記第1の対話式要素の角の座標及び中央座標を含む複数の座標が得られる、付記1に記載のコンピュータにより実施される方法。
(付記5) 前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、
前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態について、前記対話式要素を得るステップと、
前記対話式要素のうちの1つを選択するステップであって、前記の選択された対話式要素は前記第1の対話式要素である、ステップと、
前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態について前記対話式要素のうちのどれがユーザ対話式であるかを決定するために、前記第1の状態の前記対話式要素の各々について、前記対話式要素のうちの1つを選択するステップ、1又は複数の座標を得るステップ、及び前記の選択された対話式要素が最上位層対話式要素であるかどうかを決定するステップ、を繰り返すステップと、
を更に有する、付記1に記載のコンピュータにより実施される方法。
(付記6) 前記イベント駆動型ソフトウェアアプリケーションの第2の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記第2の状態は、前記第1の状態の対話式要素の選択を通じて、前記イベント駆動型ソフトウェアアプリケーションの中で得られる、ステップと、
ユーザ対話式である前記対話式要素を用いて前記第2の状態のイベントシーケンスを構築するステップであって、前記イベント駆動型ソフトウェアアプリケーションは、前記イベントシーケンスに基づき試験される、ステップと、
を更に有する付記1に記載のコンピュータにより実施される方法。
(付記7) 前記第1の対話式要素は、前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態及び前記第2の状態において、ユーザ対話式であるか否かが決定される、付記6に記載のコンピュータにより実施される方法。
(付記8) ソフトウェアを試験するためにシステムに工程を実行させるよう構成されるコンピュータ実行可能命令を含む非一時的コンピュータ可読記憶媒体であって、前記工程は、
イベント駆動型ソフトウェアアプリケーションから複数の対話式要素を得るステップであって、前記対話式要素は、ユーザにより選択されるよう、及び選択されると結果として前記イベント駆動型ソフトウェアアプリケーションの中でイベントを生じるよう構成される、ステップと、
前記イベント駆動型ソフトウェアアプリケーションの第1の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、
第1の対話式要素の1又は複数の座標を得るステップ、及び
前記第1の対話式要素が、前記1又は複数の座標のうちの任意の1つにおいて最上位層対話式要素であるかどうかを決定するステップ、
を含む、ステップと、
前記のユーザ対話式要素に基づき、前記イベント駆動型ソフトウェアアプリケーションを試験するステップと、
を有する、非一時的コンピュータ可読記憶媒体。
(付記9) 前記第1の対話式要素が前記1又は複数の座標のうちの1つにおいて前記最上位層対話式要素であるとき、前記第1の対話式要素は、前記第1の状態においてユーザ対話式であると決定される、付記8に記載の非一時的コンピュータ可読記憶媒体。
(付記10) 前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、前記第1の対話式要素がユーザインタフェースに表示可能であるか否かを決定するステップであって、前記第1の対話式要素が表示可能でることに応答して、前記の得るステップ及び前記決定するステップを実行する、ステップを含む工程を有する、付記8に記載の非一時的コンピュータ可読記憶媒体。
(付記11) 前記第1の対話式要素の角の座標及び中央座標を含む複数の座標が得られる、付記8に記載の非一時的コンピュータ可読記憶媒体。
(付記12) 前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、
前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態について、前記対話式要素を得るステップと、
前記対話式要素のうちの1つを選択するステップであって、前記の選択された対話式要素は前記第1の対話式要素である、ステップと、
前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態について前記対話式要素のうちのどれがユーザ対話式であるかを決定するために、前記第1の状態の前記対話式要素の各々について、前記対話式要素のうちの1つを選択するステップ、1又は複数の座標を得るステップ、及び前記第1の対話式要素が最上位層対話式要素であるかどうかを決定するステップ、を繰り返すステップと、
を更に有する、付記8に記載の非一時的コンピュータ可読記憶媒体。
(付記13) 前記工程は、
前記イベント駆動型ソフトウェアアプリケーションの第2の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記第2の状態は、前記第1の状態の対話式要素の選択を通じて、前記イベント駆動型ソフトウェアアプリケーションの中で得られる、ステップと、
ユーザ対話式である前記対話式要素を用いて前記第2の状態のイベントシーケンスを構築するステップであって、前記イベント駆動型ソフトウェアアプリケーションは、前記イベントシーケンスに基づき試験される、ステップと、
を更に有する、付記8に記載の非一時的コンピュータ可読記憶媒体。
(付記14) 前記第1の対話式要素は、前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態及び前記第2の状態において、ユーザ対話式であるか否かが決定される、付記13に記載の非一時的コンピュータ可読記憶媒体。
(付記15) コンピュータにより実施されるソフトウェア試験の方法であって、前記方法は、
イベント駆動型ソフトウェアアプリケーションから複数の対話式要素を得るステップであって、前記対話式要素は、ユーザにより選択されるよう、及び選択されると結果として前記イベント駆動型ソフトウェアアプリケーションにイベントを生じるよう構成される、ステップと、
前記イベント駆動型ソフトウェアアプリケーションの実際の実行を通じて、前記対話式要素のうちのどれが前記イベント駆動型ソフトウェアアプリケーションの第1の状態においてユーザ対話式であるかを決定するステップであって、前記決定するステップは、
前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態の前記対話式要素を得るステップ、
前記第1の状態の前記対話式要素のうちの第1の対話式要素を選択するステップ、
前記第1の対話式要素がユーザインタフェースで表示可能か否かを決定するステップ、
前記第1の対話式要素が表示可能であることに応答して、前記第1の対話式要素の1又は複数の座標を得るステップ、及び
前記第1の対話式要素が前記1又は複数の座標のうちの任意の1つにおいて最上位層対話式要素であるかどうかを決定するステップ、
を含む、ステップと、
式を生成するために、前記のユーザ対話式要素に基づき、前記イベント駆動型ソフトウェアアプリケーションをシンボル実行するステップと、
前記イベント駆動型ソフトウェアアプリケーションを試験するためのテストケースを生成するために、前記式を解くステップと、
を有する方法。
(付記16) 前記第1の対話式要素の角の座標及び中央座標を含む複数の座標が得られる、付記15に記載のコンピュータにより実施される方法。
(付記17) 前記第1の対話式要素が前記1又は複数の座標のうちの1つにおいて前記最上位層対話式要素であるとき、前記第1の対話式要素は、前記第1の状態においてユーザ対話式であると決定される、付記15に記載のコンピュータにより実施される方法。
(付記18) 前記対話式要素のうちのどれが第1の状態においてユーザ対話式であるかを決定するステップは、
前記第1の状態の前記対話式要素のうちの第2の対話式要素を選択するステップと、
前記第2の対話式要素がユーザインタフェースで表示可能であるか否かを決定するステップと、
前記第2の対話式要素が表示可能であることに応答して、前記第2の対話式要素の1又は複数の座標を得るステップと、
前記第2の対話式要素が前記第2の対話式要素の前記1又は複数の座標のうちの任意1つにおいて最上位層対話式要素であるかどうかを決定するステップと、
を更に有する、付記15に記載のコンピュータにより実施される方法。
(付記19) 前記イベント駆動型ソフトウェアアプリケーションの第2の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記第2の状態は、前記第1の状態の対話式要素の選択を通じて、前記イベント駆動型ソフトウェアアプリケーションの中で得られる、ステップと、
ユーザ対話式である前記対話式要素を用いて前記第2の状態のイベントシーケンスを構築するステップであって、前記イベント駆動型ソフトウェアアプリケーションは、前記式を生成するために、前記イベントシーケンスに基づきシンボル実行される、ステップと、
を更に有する付記15に記載のコンピュータにより実施される方法。
(付記20) 前記第1の対話式要素は、前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態及び前記第2の状態において、ユーザ対話式であるか否かが決定される、付記19に記載のコンピュータにより実施される方法。
100 システム
102 被試験ソフトウェア
110 試験システム
120 処理モジュール
130 シーケンスモジュール
140 対話モジュール
150 状態管理モジュール
160 シンボル実行モジュール
170 試験結果
400 システム
410 プロセッサ
420 メモリ
430 データ記憶装置
432 試験モジュール
434 被試験ソフトウェア
436 試験結果
438 テストケース

Claims (20)

  1. コンピュータにより実施されるソフトウェア試験の方法であって、前記方法は、
    イベント駆動型ソフトウェアアプリケーションから複数の対話式要素を得るステップであって、前記対話式要素は、ユーザにより選択されるよう、及び選択されると結果として前記イベント駆動型ソフトウェアアプリケーションの中でイベントを生じるよう構成される、ステップと、
    前記イベント駆動型ソフトウェアアプリケーションの第1の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記決定するステップは、
    第1の対話式要素の1又は複数の座標を得るステップ、及び
    前記第1の対話式要素が、前記1又は複数の座標のうちの任意の1つにおいて最上位層対話式要素であるかどうかを決定するステップ、
    を含む、ステップと、
    前記のユーザ対話式要素に基づき、前記イベント駆動型ソフトウェアアプリケーションを試験するステップと、
    を有する方法。
  2. 前記第1の対話式要素が前記1又は複数の座標のうちの1つにおいて前記最上位層対話式要素であるとき、前記第1の対話式要素は、前記第1の状態においてユーザ対話式であると決定される、請求項1に記載のコンピュータにより実施される方法。
  3. 前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、前記第1の対話式要素がユーザインタフェースに表示可能でるか否かを決定するステップを更に有し、前記第1の対話式要素が表示可能であることに応答して、1又は複数の座標を得るステップと、前記第1の対話式要素が最上位層対話式要素であるかどうかを決定するステップと、を実行する、請求項1に記載のコンピュータにより実施される方法。
  4. 前記第1の対話式要素の角の座標及び中央座標を含む複数の座標が得られる、請求項1に記載のコンピュータにより実施される方法。
  5. 前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、
    前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態について、前記対話式要素を得るステップと、
    前記対話式要素のうちの1つを選択するステップであって、前記の選択された対話式要素は前記第1の対話式要素である、ステップと、
    前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態について前記対話式要素のうちのどれがユーザ対話式であるかを決定するために、前記第1の状態の前記対話式要素の各々について、前記対話式要素のうちの1つを選択するステップ、1又は複数の座標を得るステップ、及び前記の選択された対話式要素が最上位層対話式要素であるかどうかを決定するステップ、を繰り返すステップと、
    を更に有する、請求項1に記載のコンピュータにより実施される方法。
  6. 前記イベント駆動型ソフトウェアアプリケーションの第2の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記第2の状態は、前記第1の状態の対話式要素の選択を通じて、前記イベント駆動型ソフトウェアアプリケーションの中で得られる、ステップと、
    ユーザ対話式である前記対話式要素を用いて前記第2の状態のイベントシーケンスを構築するステップであって、前記イベント駆動型ソフトウェアアプリケーションは、前記イベントシーケンスに基づき試験される、ステップと、
    を更に有する請求項1に記載のコンピュータにより実施される方法。
  7. 前記第1の対話式要素は、前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態及び前記第2の状態において、ユーザ対話式であるか否かが決定される、請求項6に記載のコンピュータにより実施される方法。
  8. ソフトウェアを試験するためにシステムに工程を実行させるよう構成されるコンピュータ実行可能命令を含む非一時的コンピュータ可読記憶媒体であって、前記工程は、
    イベント駆動型ソフトウェアアプリケーションから複数の対話式要素を得るステップであって、前記対話式要素は、ユーザにより選択されるよう、及び選択されると結果として前記イベント駆動型ソフトウェアアプリケーションの中でイベントを生じるよう構成される、ステップと、
    前記イベント駆動型ソフトウェアアプリケーションの第1の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、
    第1の対話式要素の1又は複数の座標を得るステップ、及び
    前記第1の対話式要素が、前記1又は複数の座標のうちの任意の1つにおいて最上位層対話式要素であるかどうかを決定するステップ、
    を含む、ステップと、
    前記のユーザ対話式要素に基づき、前記イベント駆動型ソフトウェアアプリケーションを試験するステップと、
    を有する、非一時的コンピュータ可読記憶媒体。
  9. 前記第1の対話式要素が前記1又は複数の座標のうちの1つにおいて前記最上位層対話式要素であるとき、前記第1の対話式要素は、前記第1の状態においてユーザ対話式であると決定される、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  10. 前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、前記第1の対話式要素がユーザインタフェースに表示可能であるか否かを決定するステップであって、前記第1の対話式要素が表示可能でることに応答して、前記の得るステップ及び前記決定するステップを実行する、ステップを含む工程を有する、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  11. 前記第1の対話式要素の角の座標及び中央座標を含む複数の座標が得られる、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  12. 前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップは、
    前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態について、前記対話式要素を得るステップと、
    前記対話式要素のうちの1つを選択するステップであって、前記の選択された対話式要素は前記第1の対話式要素である、ステップと、
    前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態について前記対話式要素のうちのどれがユーザ対話式であるかを決定するために、前記第1の状態の前記対話式要素の各々について、前記対話式要素のうちの1つを選択するステップ、1又は複数の座標を得るステップ、及び前記第1の対話式要素が最上位層対話式要素であるかどうかを決定するステップ、を繰り返すステップと、
    を更に有する、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  13. 前記工程は、
    前記イベント駆動型ソフトウェアアプリケーションの第2の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記第2の状態は、前記第1の状態の対話式要素の選択を通じて、前記イベント駆動型ソフトウェアアプリケーションの中で得られる、ステップと、
    ユーザ対話式である前記対話式要素を用いて前記第2の状態のイベントシーケンスを構築するステップであって、前記イベント駆動型ソフトウェアアプリケーションは、前記イベントシーケンスに基づき試験される、ステップと、
    を更に有する、請求項8に記載の非一時的コンピュータ可読記憶媒体。
  14. 前記第1の対話式要素は、前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態及び前記第2の状態において、ユーザ対話式であるか否かが決定される、請求項13に記載の非一時的コンピュータ可読記憶媒体。
  15. コンピュータにより実施されるソフトウェア試験の方法であって、前記方法は、
    イベント駆動型ソフトウェアアプリケーションから複数の対話式要素を得るステップであって、前記対話式要素は、ユーザにより選択されるよう、及び選択されると結果として前記イベント駆動型ソフトウェアアプリケーションにイベントを生じるよう構成される、ステップと、
    前記イベント駆動型ソフトウェアアプリケーションの実際の実行を通じて、前記対話式要素のうちのどれが前記イベント駆動型ソフトウェアアプリケーションの第1の状態においてユーザ対話式であるかを決定するステップであって、前記決定するステップは、
    前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態の前記対話式要素を得るステップ、
    前記第1の状態の前記対話式要素のうちの第1の対話式要素を選択するステップ、
    前記第1の対話式要素がユーザインタフェースで表示可能か否かを決定するステップ、
    前記第1の対話式要素が表示可能であることに応答して、前記第1の対話式要素の1又は複数の座標を得るステップ、及び
    前記第1の対話式要素が前記1又は複数の座標のうちの任意の1つにおいて最上位層対話式要素であるかどうかを決定するステップ、
    を含む、ステップと、
    式を生成するために、前記のユーザ対話式要素に基づき、前記イベント駆動型ソフトウェアアプリケーションをシンボル実行するステップと、
    前記イベント駆動型ソフトウェアアプリケーションを試験するためのテストケースを生成するために、前記式を解くステップと、
    を有する方法。
  16. 前記第1の対話式要素の角の座標及び中央座標を含む複数の座標が得られる、請求項15に記載のコンピュータにより実施される方法。
  17. 前記第1の対話式要素が前記1又は複数の座標のうちの1つにおいて前記最上位層対話式要素であるとき、前記第1の対話式要素は、前記第1の状態においてユーザ対話式であると決定される、請求項15に記載のコンピュータにより実施される方法。
  18. 前記対話式要素のうちのどれが第1の状態においてユーザ対話式であるかを決定するステップは、
    前記第1の状態の前記対話式要素のうちの第2の対話式要素を選択するステップと、
    前記第2の対話式要素がユーザインタフェースで表示可能であるか否かを決定するステップと、
    前記第2の対話式要素が表示可能であることに応答して、前記第2の対話式要素の1又は複数の座標を得るステップと、
    前記第2の対話式要素が前記第2の対話式要素の前記1又は複数の座標のうちの任意1つにおいて最上位層対話式要素であるかどうかを決定するステップと、
    を更に有する、請求項15に記載のコンピュータにより実施される方法。
  19. 前記イベント駆動型ソフトウェアアプリケーションの第2の状態において、前記対話式要素のうちのどれがユーザ対話式であるかを決定するステップであって、前記第2の状態は、前記第1の状態の対話式要素の選択を通じて、前記イベント駆動型ソフトウェアアプリケーションの中で得られる、ステップと、
    ユーザ対話式である前記対話式要素を用いて前記第2の状態のイベントシーケンスを構築するステップであって、前記イベント駆動型ソフトウェアアプリケーションは、前記式を生成するために、前記イベントシーケンスに基づきシンボル実行される、ステップと、
    を更に有する請求項15に記載のコンピュータにより実施される方法。
  20. 前記第1の対話式要素は、前記イベント駆動型ソフトウェアアプリケーションの前記第1の状態及び前記第2の状態において、ユーザ対話式であるか否かが決定される、請求項19に記載のコンピュータにより実施される方法。
JP2016212764A 2015-12-18 2016-10-31 イベント駆動型ソフトウェア試験 Pending JP2017111798A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/975,408 2015-12-18
US14/975,408 US9811448B2 (en) 2015-12-18 2015-12-18 Event-driven software testing

Publications (1)

Publication Number Publication Date
JP2017111798A true JP2017111798A (ja) 2017-06-22

Family

ID=59067122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016212764A Pending JP2017111798A (ja) 2015-12-18 2016-10-31 イベント駆動型ソフトウェア試験

Country Status (2)

Country Link
US (1) US9811448B2 (ja)
JP (1) JP2017111798A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10176086B2 (en) * 2016-10-03 2019-01-08 Fujitsu Limited Event-driven software test sequence determination
US11422696B2 (en) * 2019-02-25 2022-08-23 Micro Focus Llc Representation of user interface interactive regions

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198586A (ja) * 1997-01-08 1998-07-31 Nec Corp Guiシステム自動操作装置および操作マクロ実行装置
JP2009087355A (ja) * 2007-10-02 2009-04-23 Fujitsu Ltd ウェブアプリケーションを検証するシンボリック実行エンジンを提供するシステム及び方法
JP2009223568A (ja) * 2008-03-14 2009-10-01 Toshiba Corp シナリオ生成装置及びプログラム
JP2010102620A (ja) * 2008-10-27 2010-05-06 Nec Corp ユーザ操作シナリオ生成装置、方法およびプログラム
JP2012018583A (ja) * 2010-07-08 2012-01-26 Canon Inc ソフトウェア開発支援装置及びその処理方法
US20150081598A1 (en) * 2013-09-17 2015-03-19 Xamarin Inc. Generating application models based on discovery based machine learning

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600789A (en) * 1992-11-19 1997-02-04 Segue Software, Inc. Automated GUI interface testing
US5499040A (en) * 1994-06-27 1996-03-12 Radius Inc. Method and apparatus for display calibration and control
US5983001A (en) * 1995-08-30 1999-11-09 Sun Microsystems, Inc. Method and system for facilitating the automatic creation of test scripts
US6002395A (en) * 1996-10-31 1999-12-14 Ncr Corporation System and method for building, testing and integrating a graphical touch user interface
US7272753B2 (en) * 2004-06-30 2007-09-18 International Business Machines Corporation Methods and apparatus for translating application tests for execution with simulation software tools
WO2007055610A1 (en) * 2005-11-11 2007-05-18 Intel Corporation Iterative search with data accumulation in a cognitive control framework
WO2007055612A1 (en) * 2005-11-11 2007-05-18 Intel Corporation Graphical user interface (gui) noise reduction in a cognitive control framework
US20070143678A1 (en) * 2005-12-21 2007-06-21 Feigenbaum Barry A Method and apparatus for persistently resolving events to event source
DE102006036304A1 (de) * 2006-08-03 2008-02-07 Universität Karlsruhe (Th) Verfahren zum Analysieren und/oder Testen zumindest einer Benutzeroberfläche, Datenverarbeitungseinrichtung und Computerprogrammprodukt
US8924938B2 (en) * 2006-09-28 2014-12-30 Nec Laboratories America, Inc. Software testing using machine learning
US8387021B2 (en) * 2008-09-26 2013-02-26 Microsoft Corporation Symbolic runtime checking of quantified contracts
US8539385B2 (en) * 2010-01-26 2013-09-17 Apple Inc. Device, method, and graphical user interface for precise positioning of objects
US20120179935A1 (en) * 2011-01-11 2012-07-12 Nec Laboratories America, Inc. Dynamic test generation for concurrent programs
US8682083B2 (en) * 2011-06-30 2014-03-25 American Express Travel Related Services Company, Inc. Method and system for webpage regression testing
US8793578B2 (en) * 2011-07-11 2014-07-29 International Business Machines Corporation Automating execution of arbitrary graphical interface applications
US8826084B1 (en) * 2011-09-07 2014-09-02 Innovative Defense Technologies, LLC Method and system for implementing automated test and retest procedures
US8781995B2 (en) 2011-09-23 2014-07-15 Fujitsu Limited Range queries in binary decision diagrams
US9037913B2 (en) * 2012-04-30 2015-05-19 Microsoft Technology Licensing, Llc Dynamic event generation for user interface control
US20140143762A1 (en) 2012-11-21 2014-05-22 Fujitsu Limited Symbolic execution of dynamic programming languages
JP6326742B2 (ja) * 2013-08-29 2018-05-23 富士通株式会社 シナリオ生成プログラム、シナリオ実行プログラム、シナリオ生成方法、シナリオ実行方法、シナリオ生成装置、及びシナリオ実行装置
US9336128B2 (en) * 2014-03-21 2016-05-10 Oracle International Corporation Method and system for code analysis using symbolic types
US9396095B2 (en) * 2014-05-15 2016-07-19 Fujitsu Limited Software verification
US9619375B2 (en) * 2014-05-23 2017-04-11 Carnegie Mellon University Methods and systems for automatically testing software
US9152543B1 (en) 2014-06-28 2015-10-06 Fujitsu Limited Symbolic execution with automatic abstractions
CN104063325B (zh) * 2014-07-11 2016-10-26 电子科技大学 一种针对嵌入式软件的测试用例自动化生成装置及其方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10198586A (ja) * 1997-01-08 1998-07-31 Nec Corp Guiシステム自動操作装置および操作マクロ実行装置
JP2009087355A (ja) * 2007-10-02 2009-04-23 Fujitsu Ltd ウェブアプリケーションを検証するシンボリック実行エンジンを提供するシステム及び方法
JP2009223568A (ja) * 2008-03-14 2009-10-01 Toshiba Corp シナリオ生成装置及びプログラム
JP2010102620A (ja) * 2008-10-27 2010-05-06 Nec Corp ユーザ操作シナリオ生成装置、方法およびプログラム
JP2012018583A (ja) * 2010-07-08 2012-01-26 Canon Inc ソフトウェア開発支援装置及びその処理方法
US20150081598A1 (en) * 2013-09-17 2015-03-19 Xamarin Inc. Generating application models based on discovery based machine learning

Also Published As

Publication number Publication date
US9811448B2 (en) 2017-11-07
US20170177465A1 (en) 2017-06-22

Similar Documents

Publication Publication Date Title
US9021428B2 (en) Troubleshooting visuals and transient expressions in executing applications
US10241784B2 (en) Hierarchical directives-based management of runtime behaviors
US20210103515A1 (en) Method of detecting user interface layout issues for web applications
EP3123316B1 (en) Supporting dynamic behavior in statically compiled programs
US9594544B2 (en) Visualized code review
US9128733B2 (en) Display and resolution of incompatible layout constraints
US9836290B2 (en) Supporting dynamic behavior in statically compiled programs
CN110427215A (zh) 一种应用于前端开发的程序版本差异展示方法及装置
CN107480893A (zh) 一种流程编排方法及装置
US20140331179A1 (en) Automated Presentation of Visualized Data
US9792267B2 (en) Simplifying identification of potential non-visibility of user interface components when responsive web pages are rendered by disparate devices
US10782857B2 (en) Adaptive user interface
CN110399063B (zh) 页面元素属性的查看方法及装置
CN104850388A (zh) 网页绘制方法及装置
CN105824647A (zh) 一种表单页面生成方法和装置
JP2017111798A (ja) イベント駆動型ソフトウェア試験
CN107621951B (zh) 一种视图层级优化的方法及装置
CN112860344A (zh) 组件处理方法、装置、电子设备和存储介质
Barker et al. Pro data visualization using R and JavaScript
Milovanovic et al. Python Data Visualization Cookbook
JP2024530763A (ja) ターゲットプログラムのテスト方法、装置、機器、及びコンピュータプログラム
CN116302026A (zh) 应用程序智能刷新方法、装置、计算机设备和存储介质
CN105468265A (zh) 用户行为的响应方法和装置
CN116431305A (zh) 一种应用程序切换方法、装置及介质
Rahman Geo-location Based Search Tool for Tweets

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201006

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210406