特許第6986536号(P6986536)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アクセンチュア グローバル ソリューションズ リミテッドの特許一覧

特許6986536リーン生産法をシステムデリバリテストに適用するウェブベースのアプリケーションプラットフォーム
<>
  • 特許6986536-リーン生産法をシステムデリバリテストに適用するウェブベースのアプリケーションプラットフォーム 図000002
  • 特許6986536-リーン生産法をシステムデリバリテストに適用するウェブベースのアプリケーションプラットフォーム 図000003
  • 特許6986536-リーン生産法をシステムデリバリテストに適用するウェブベースのアプリケーションプラットフォーム 図000004
  • 特許6986536-リーン生産法をシステムデリバリテストに適用するウェブベースのアプリケーションプラットフォーム 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6986536
(24)【登録日】2021年12月1日
(45)【発行日】2021年12月22日
(54)【発明の名称】リーン生産法をシステムデリバリテストに適用するウェブベースのアプリケーションプラットフォーム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20211213BHJP
【FI】
   G06F11/36 164
   G06F11/36 188
   G06F11/36 192
【請求項の数】24
【外国語出願】
【全頁数】22
(21)【出願番号】特願2019-184416(P2019-184416)
(22)【出願日】2019年10月7日
(65)【公開番号】特開2020-91844(P2020-91844A)
(43)【公開日】2020年6月11日
【審査請求日】2019年10月7日
(31)【優先権主張番号】16/153,933
(32)【優先日】2018年10月8日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】リガード,ミシェル エティエンヌ
(72)【発明者】
【氏名】セビロー,アントワーヌ
【審査官】 北川 純次
(56)【参考文献】
【文献】 特開2018−055189(JP,A)
【文献】 特開2011−128940(JP,A)
【文献】 特開2013−069077(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
供給されるソフトウェアシステムのテストのために1つ以上のプロセッサにより実行される、コンピュータに実装された方法であって、前記方法は、
第1のサーバシステムで実行するデータドライブテスト(DDT)プラットフォームによって、テストデータを含む1つ以上のコンピュータ可読ファイルを受信するステップであって、前記テストデータは、顧客のセットにおける各顧客に対して構成可能でありかつ第2のサーバシステムで実行するベンダバックエンドシステムにより少なくとも部分的にホストされるソフトウェアシステムテスト中に少なくとも1つのトランザクションを実行するための、前記顧客のセットのうちの第1の顧客に特有のデータを含、前記受信するステップと、
前記DDTプラットフォームによって、前記ベンダバックエンドシステム上の前記ソフトウェアシステムにより実行される1つ以上のテストシナリオを提供するステップであって、前記1つ以上のテストシナリオは、前記第1の顧客に特有のものであり、前記テストデータの少なくとも一部を使用して前記ソフトウェアシステムによりトランザクションを実施するためのアクティビティのセットを含む、前記提供するステップと、
前記DDTプラットフォームのテストハーネスを使用した前記1つ以上のテストシナリオの実行を、前記DDTプラットフォームのスケジューラによりスケジュールするステップであって、前記1つ以上のテストシナリオの実行は、前記第1の顧客に対して構成されている前記ソフトウェアシステムによってなされるものであり、前記スケジューラは、前記1つ以上のテストシナリオを実行させるために前記テストハーネスと通信し、個々のテストシナリオに対する前記アクティビティのセットのうちの各アクティビティの前記ソフトウェアシステムによる実行のために、アクティビティに特有のコールを前記テストハーネスから前記第2のサーバシステムに提供する、前記スケジュールするステップと、
前記DDTプラットフォームの前記テストハーネスにより前記ベンダバックエンドシステムからテスト結果を受信するステップと、
比較を出力として提供するために、前記テスト結果と予期される結果とを前記DDTプラットフォームの前記テストハーネスにより比較するステップと、
を含む、方法。
【請求項2】
前記1つ以上のテストシナリオの実行は、前記テストハーネスによって、
前記テストデータの少なくとも一部を第1の形式から第2の形式に変換するステップと、
変換されたテストデータの少なくとも一部を、1つ以上のアプリケーションプログラミングインターフェース(API)を介して前記ソフトウェアシステムに送信するステップと、
を少なくとも部分的に含む、請求項1に記載の方法。
【請求項3】
前記1つ以上のAPIは、前記ベンダバックエンドシステムにより公開される、請求項2に記載の方法。
【請求項4】
前記テストハーネスは、前記テスト結果を受信し、前記テスト結果と前記予期される結果とを比較し、前記比較を提供する、請求項1に記載の方法。
【請求項5】
前記1つ以上のテストシナリオは、前記DDTプラットフォームのテスト設計アプリケーションに対するユーザ入力に基づき提供される、請求項1に記載の方法。
【請求項6】
少なくとも1つのテストシナリオは、前記DDTプラットフォームの中央リポジトリに格納されたテストアセットの再利用に部分的に基づく、請求項5に記載の方法。
【請求項7】
前記1つ以上のテストシナリオの実行は、前記ベンダバックエンドシステムのデータベース内に格納された1つ以上のデータオブジェクトに影響を及ぼす、請求項1に記載の方法。
【請求項8】
前記テスト結果の少なくとも一部は、前記1つ以上のデータオブジェクトに対する変更を含み、前記予期されるテスト結果の少なくとも一部は、前記1つ以上のデータオブジェクトに対する予期される変更を含む、請求項7に記載の方法。
【請求項9】
1つ以上のプロセッサに結合され、命令を格納された非一時的コンピュータ可読ストレージ媒体であって、前記命令は、前記1つ以上のプロセッサにより実行されると、供給されるソフトウェアシステムのテストのための動作を前記1つ以上のプロセッサに実行させ、前記動作は、
第1のサーバシステムで実行するデータドライブテスト(DDT)プラットフォームによって、テストデータを含む1つ以上のコンピュータ可読ファイルを受信することであって、前記テストデータは、顧客のセットにおける各顧客に対して構成可能でありかつ第2のサーバシステムで実行するベンダバックエンドシステムにより少なくとも部分的にホストされるソフトウェアシステムテスト中に少なくとも1つのトランザクションを実行するための、前記顧客のセットのうちの第1の顧客に特有のデータを含、前記受信することと、
前記DDTプラットフォームによって、前記ベンダバックエンドシステム上の前記ソフトウェアシステムにより実行される1つ以上のテストシナリオを提供することであって、前記1つ以上のテストシナリオは、前記第1の顧客に特有のものであり、前記テストデータの少なくとも一部を使用して前記ソフトウェアシステムによりトランザクションを実施するためのアクティビティのセットを含む、前記提供することと、
前記DDTプラットフォームのテストハーネスを使用した前記1つ以上のテストシナリオの実行を、前記DDTプラットフォームのスケジューラによりスケジュールすることであって、前記1つ以上のテストシナリオの実行は、前記第1の顧客に対して構成されている前記ソフトウェアシステムによってなされるものであり、前記スケジューラは、前記1つ以上のテストシナリオを実行させるために前記テストハーネスと通信し、個々のテストシナリオに対する前記アクティビティのセットのうちの各アクティビティの前記ソフトウェアシステムによる実行のために、アクティビティに特有のコールを前記テストハーネスから前記第2のサーバシステムに提供する、前記スケジュールすることと、
前記DDTプラットフォームの前記テストハーネスにより前記ベンダバックエンドシステムからテスト結果を受信することと、
比較を出力として提供するために、前記テスト結果と予期される結果とを前記DDTプラットフォームの前記テストハーネスにより比較することと、
を含む、コンピュータ可読ストレージ媒体。
【請求項10】
前記1つ以上のテストシナリオの実行は、前記テストハーネスによって、
前記テストデータの少なくとも一部を第1の形式から第2の形式に変換することと、
変換されたテストデータの少なくとも一部を、1つ以上のアプリケーションプログラミングインターフェース(API)を介して前記ソフトウェアシステムに送信することと、
を少なくとも部分的に含む、請求項9に記載のコンピュータ可読ストレージ媒体。
【請求項11】
前記1つ以上のAPIは、前記ベンダバックエンドシステムにより公開される、請求項10に記載のコンピュータ可読ストレージ媒体。
【請求項12】
前記テストハーネスは、前記テスト結果を受信し、前記テスト結果と前記予期される結果とを比較し、前記比較を提供する、請求項9に記載のコンピュータ可読ストレージ媒体。
【請求項13】
前記1つ以上のテストシナリオは、前記DDTプラットフォームのテスト設計アプリケーションに対するユーザ入力に基づき提供される、請求項9に記載のコンピュータ可読ストレージ媒体。
【請求項14】
少なくとも1つのテストシナリオは、前記DDTプラットフォームの中央リポジトリに格納されたテストアセットの再利用に部分的に基づく、請求項13に記載のコンピュータ可読ストレージ媒体。
【請求項15】
前記1つ以上のテストシナリオの実行は、前記ベンダバックエンドシステムのデータベース内に格納された1つ以上のデータオブジェクトに影響を及ぼす、請求項9に記載のコンピュータ可読ストレージ媒体。
【請求項16】
前記テスト結果の少なくとも一部は、前記1つ以上のデータオブジェクトに対する変更を含み、前記予期されるテスト結果の少なくとも一部は、前記1つ以上のデータオブジェクトに対する予期される変更を含む、請求項15に記載のコンピュータ可読ストレージ媒体。
【請求項17】
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合され、命令を格納されたコンピュータ可読ストレージデバイスと、
を含むシステムであって、前記命令は、前記1つ以上のプロセッサにより実行されると、供給されるソフトウェアシステムのテストのための動作を前記1つ以上のプロセッサに実行させ、前記動作は、
第1のサーバシステムで実行するデータドライブテスト(DDT)プラットフォームによって、テストデータを含む1つ以上のコンピュータ可読ファイルを受信することであって、前記テストデータは、顧客のセットにおける各顧客に対して構成可能でありかつ第2のサーバシステムで実行するベンダバックエンドシステムにより少なくとも部分的にホストされるソフトウェアシステムテスト中に少なくとも1つのトランザクションを実行するための、前記顧客のセットのうちの第1の顧客に特有のデータを含、前記受信することと、
前記DDTプラットフォームによって、前記ベンダバックエンドシステム上の前記ソフトウェアシステムにより実行される1つ以上のテストシナリオを提供することであって、前記1つ以上のテストシナリオは、前記第1の顧客に特有のものであり、前記テストデータの少なくとも一部を使用して前記ソフトウェアシステムによりトランザクションを実施するためのアクティビティのセットを含む、前記提供することと、
前記DDTプラットフォームのテストハーネスを使用した前記1つ以上のテストシナリオの実行を、前記DDTプラットフォームのスケジューラによりスケジュールすることであって、前記1つ以上のテストシナリオの実行は、前記第1の顧客に対して構成されている前記ソフトウェアシステムによってなされるものであり、前記スケジューラは、前記1つ以上のテストシナリオを実行させるために前記テストハーネスと通信し、個々のテストシナリオに対する前記アクティビティのセットのうちの各アクティビティの前記ソフトウェアシステムによる実行のために、アクティビティに特有のコールを前記テストハーネスから前記第2のサーバシステムに提供する、前記スケジュールすることと、
前記DDTプラットフォームの前記テストハーネスにより前記ベンダバックエンドシステムからテスト結果を受信することと、
比較を出力として提供するために、前記テスト結果と予期される結果とを前記DDTプラットフォームの前記テストハーネスにより比較することと、
を含む、システム。
【請求項18】
前記1つ以上のテストシナリオの実行は、前記テストハーネスによって、
前記テストデータの少なくとも一部を第1の形式から第2の形式に変換することと、
変換されたテストデータの少なくとも一部を、1つ以上のアプリケーションプログラミングインターフェース(API)を介して前記ソフトウェアシステムに送信することと、
を少なくとも部分的に含む、請求項17に記載のシステム。
【請求項19】
前記1つ以上のAPIは、前記ベンダバックエンドシステムにより公開される、請求項18に記載のシステム。
【請求項20】
前記テストハーネスは、前記テスト結果を受信し、前記テスト結果と前記予期される結果とを比較し、前記比較を提供する、請求項17に記載のシステム。
【請求項21】
前記1つ以上のテストシナリオは、前記DDTプラットフォームのテスト設計アプリケーションに対するユーザ入力に基づき提供される、請求項17に記載のシステム。
【請求項22】
少なくとも1つのテストシナリオは、前記DDTプラットフォームの中央リポジトリに格納されたテストアセットの再利用に部分的に基づく、請求項21に記載のシステム。
【請求項23】
前記1つ以上のテストシナリオの実行は、前記ベンダバックエンドシステムのデータベース内に格納された1つ以上のデータオブジェクトに影響を及ぼす、請求項17に記載のシステム。
【請求項24】
前記テスト結果の少なくとも一部は、前記1つ以上のデータオブジェクトに対する変更を含み、前記予期されるテスト結果の少なくとも一部は、前記1つ以上のデータオブジェクトに対する予期される変更を含む、請求項23に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、全般的に、システムデリバリテストに関し、特に本開示は、システムデリバリテストにリーン生産法を適用するウェブベースのアプリケーションに関する。
【背景技術】
【0002】
企業は、設計、テストされて顧客に展開されるソフトウェアシステムを提供することができる。そのようなプロセスを、集合的に、デリバリと呼ぶことができる(例えば顧客のランドスケープへのソフトウェアシステムのデリバリ)。ソフトウェアシステムのデリバリ、特にテストは、多大な時間およびリソースを必要とする。サードパーティベンダが、コンピュータ実装されるツールを提供しているが、テストアーティファクトおよびデータを管理する大規模の完全なソリューションスイートはない。例として、従来のツールは、本質的に、テストライフサイクルをカバーするように極めて一般的であるか、またはテストデリバリの特定のフェーズ(例えば自動化)をカバーするように極めて特定的であるかのいずれかである。結果として、種々のテストアクティビティ(例えばテストの設計、テストデータマネジメント、テストアーティファクトの作成および実行、KPIレポート)の対象範囲で、(例えば顧客により)ソフトウェアデリバリプロジェクトに対して体系的に展開されない、または標準のアセットとして展開されない、種々のツールが必要とされる。要するに、確実な統合を可能にし、且つ/またはソフトウェアシステムのデリバリを加速する適切なツールまたはツールのスイートがない。
【発明の概要】
【課題を解決するための手段】
【0003】
本開示の実装は、全般的に、システムデリバリテストを対象とする。特に、本開示の実装は、システムデリバリテストに対してリーン生産法を適用し、テストアーティファクトを構築および実行するためのコンピュータ支援によるテスト設計および実行ツールを含む、ウェブベースのアプリケーションを対象とする。
【0004】
一部の実装において、アクションは、データドライブテスト(DDT:data drive test)プラットフォームによって、テストデータを含む1つ以上のコンピュータ可読ファイルを受信することであって、テストデータは、ベンダバックエンドシステムにより少なくとも部分的にホストされるソフトウェアシステムのテスト中に少なくとも1つのトランザクションを実行するためのデータを含み、ソフトウェアシステムは顧客の使用のために構成される、受信することと、DDTプラットフォームによって、ベンダバックエンドシステム上のソフトウェアシステムにより実行される1つ以上のテストシナリオを提供することであって、1つ以上のテストシナリオは、テストデータの少なくとも一部を使用してソフトウェアシステムによりトランザクションを実施するためのアクティビティのセットを含む、提供することと、DDTプラットフォームのテストハーネスを使用した1つ以上のテストシナリオの実行を、DDTプラットフォームのスケジューラによりスケジュールすることと、DDTプラットフォームによりベンダバックエンドシステムからテスト結果を受信することと、比較を出力として提供するために、テスト結果と予期される結果とをDDTプラットフォームにより比較することと、を含む。この側面の他の実装は、対応するシステムと、装置と、方法のアクションを実行するように構成されコンピュータストレージデバイス上にエンコードされたコンピュータプログラムとを含む。
【0005】
これらおよび他の実装はそれぞれ、次の特徴のうちの1つ以上を任意選択で含むことができる:1つ以上のテストシナリオの実行が、テストハーネスによって、テストデータの少なくとも一部を第1の形式から第2の形式に変換することと、変換されたテストデータの少なくとも一部を、1つ以上のアプリケーションプログラミングインターフェース(API:application programming interface)を介してソフトウェアシステムに送信することと、を少なくとも部分的に含むこと、1つ以上のAPIが、ベンダバックエンドシステムにより公開されること、テストハーネスが、テスト結果を受信し、テスト結果と予期される結果とを比較し、比較を提供すること、1つ以上のテストシナリオが、DDTプラットフォームのテスト設計アプリケーションに対するユーザ入力に基づき提供されること、少なくとも1つのテストシナリオが、DDTプラットフォームの中央リポジトリに格納されたテストアセットの再利用に部分的に基づくこと、1つ以上のテストシナリオの実行が、ベンダバックエンドシステムのデータベース内に格納された1つ以上のデータオブジェクトに影響を及ぼすこと、およびテスト結果の少なくとも一部が、1つ以上のデータオブジェクトに対する変更を含み、予期されるテスト結果の少なくとも一部が、1つ以上のデータオブジェクトに対する予期される変更を含むこと。
【0006】
本開示は、1つ以上のプロセッサに結合され命令が格納されているコンピュータ可読ストレージ媒体も提供し、命令は、1つ以上のプロセッサによって実行されると1つ以上のプロセッサに、本願明細書において提供された方法の実装に従った動作を実行させる。
【0007】
本開示はさらに、本願明細書において提供される方法を実装するシステムを提供する。システムは、1つ以上のプロセッサと、命令が格納され1つ以上のプロセッサに結合されているコンピュータ可読ストレージ媒体とを含み、命令は、1つ以上のプロセッサによって実行されると1つ以上のプロセッサに、本願明細書において提供される方法の実装に従った動作を実行させる。
【0008】
当然のことながら、本開示に従った方法は、本願明細書に記載される側面および特徴の任意の組み合わせを含むことができる。つまり、本開示に従った方法は、本願明細書に具体的に記載される側面および特徴の組み合わせに限定されず、提供される側面および特徴の任意の組み合わせも含む。
【0009】
本開示の1つ以上の実装の詳細は、添付の図面および以下の説明に記載される。本開示の他の特徴および利点は、本記載および図面ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0010】
図1】本開示の実装を実行することができる例示のシステムを示す。
図2】本開示の実装に従った例示の概念アーキテクチャを示す。
図3】本開示の実装に従った例示のモジュールアーキテクチャを示す。
図4】本開示の実装において実行可能な例示のプロセスを示す。
【発明を実施するための形態】
【0011】
本開示の実装は、全般的に、システムデリバリテストを対象とする。特に、本開示の実装は、システムデリバリテストにリーン生産法を適用する、ウェブベースのデータデリバリテスト(DDT)プラットフォームを対象とする。一部の実装において、DDTプラットフォームは、テストアーティファクトを構築および実行するための、コンピュータ支援によるテスト設計および実行ツールを含む。一部の実装において、アクションは、データドライブテスト(DDT)プラットフォームによって、テストデータを含む1つ以上のコンピュータ可読ファイルを受信することであって、テストデータは、ベンダバックエンドシステムにより少なくとも部分的にホストされるソフトウェアシステムのテスト中に少なくとも1つのトランザクションを実行するためのデータを含み、ソフトウェアシステムは顧客の使用のために構成される、受信することと、DDTプラットフォームによって、ベンダバックエンドシステム上のソフトウェアシステムにより実行される1つ以上のテストシナリオを提供することであって、1つ以上のテストシナリオは、テストデータの少なくとも一部を使用してソフトウェアシステムによりトランザクションを実施するためのアクティビティのセットを含む、提供することと、DDTプラットフォームのテストハーネスを使用した1つ以上のテストシナリオの実行を、DDTプラットフォームのスケジューラによりスケジュールすることと、DDTプラットフォームによりベンダバックエンドシステムからテスト結果を受信することと、比較を出力として提供するために、テスト結果と予期される結果とをDDTプラットフォームにより比較することと、を含む。
【0012】
図1は、本開示の実装を実行することができる例示のシステム100を示す。例示のシステム100は、コンピューティングデバイス102、バックエンドシステム108およびネットワーク110を含む。一部の例では、ネットワーク110は、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、インターネットまたはそれらの組み合わせを含み、ウェブサイト、デバイス(例えばコンピューティングデバイス102)およびバックエンドシステム(例えばバックエンドシステム108)を接続する。一部の例において、ネットワーク110には、有線および/または無線の通信リンク上でアクセスできる。例として、スマートフォンなどのモバイルコンピューティングデバイスは、セルラネットワークを利用してネットワーク110にアクセスすることができる。
【0013】
示されている例において、バックエンドシステム108は、少なくとも1つのサーバシステム112およびデータストア114(例えばデータベースおよび知識グラフ構造)を含む。一部の例において、少なくとも1つのサーバシステム112は、ユーザがコンピューティングデバイスを使用して相互作用できるコンピュータ実装された1つ以上のサービスをホストする。例として、サーバシステム112は、本開示の実装に従ったシステムデリバリテストのためにDDTプラットフォームをホストすることができる。
【0014】
一部の例において、コンピューティングデバイス102は、デスクトップコンピュータ、ラップトップコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、携帯情報端末(PDA:personal digital assistant)、携帯電話、ネットワークアプライアンス、カメラ、スマートフォン、拡張汎用パケット無線サービス(EGPRS:enhanced general packet radio service)モバイル電話、メディアプレーヤ、ナビゲーションデバイス、電子メールデバイス、ゲーム機またはこれらのデバイスもしくは他のデータ処理デバイスの任意の2つ以上の適切な組み合わせなど、任意の適切なタイプのコンピューティングデバイスを含むことができる。
【0015】
一部の実装において、バックエンドシステム108は、本開示の実装に従ったシステムデリバリテストのためにDDTプラットフォームをホストする。本願明細書にさらに詳細に記載されるように、本開示のDDTプラットフォームは、ユーザ120(例えばまたは複数のユーザ)が、顧客のためにソフトウェアシステムの構成をテストするためのシナリオを定義することを可能にする。例として、ソフトウェアシステムは、企業により提供可能であり、クライアント側(例えば客先)で統合されるコンポーネントおよびバックエンドシステム110上で実行されるコンポーネントを含むことができる。例として、バックエンドシステム110は、企業により運用可能であり、1つ以上のアプリケーションプログラミングインターフェース(API:application programming interfaces)を介してアクセス可能なソフトウェアシステムのコンポーネントをホストすることができる。ソフトウェアシステムを提供する例示の企業には、ドイツ、ヴァルドルフのSAP SEが含まれるが、限定はされない。例示のソフトウェアシステムには、エンタープライズリソースプラニング(ERP:enterprise resource planning)システムが含まれ得るが、限定はされない。なお、本開示の実装は、任意の企業の任意の適切なソフトウェアシステムを使用して実現できると考えられる。
【0016】
一般に、本願明細書にさらに詳細に記載されるように、本開示のDDTプラットフォームは、ソフトウェアシステムのテストデリバリおよびカスタマイズをサポートする。例として、DDTプラットフォームは、すべてのトランザクションおよびプロセスの統合を含むシステムテストをサポートする。一部の例において、DDTプラットフォームは、完全な統合テストおよび顧客のレガシーシステムとの通信をサポートする。本開示のDDTプラットフォームは、データベース内のデータオブジェクトに直接影響するテストシナリオを実行して、統合が適切に実行するかどうか(例えばデータベース内でデータオブジェクトが適切に更新されたか)を観測する。つまり、従来のツールと比較して、本開示のDDTプラットフォームは、より広範囲のテストを提供する。データオブジェクトに対する変更の影響は、数百のテーブルにわたって、さらに各モジュールにわたって発生する可能性があり、これを本開示のDDTプラットフォームを使用して観測できる。
【0017】
一般に、本願明細書にさらに詳細に記載されるように、DDTプラットフォームは、ユーザ(例えば客先で企業のソフトウェアシステムを統合するコンサルタント)が、(例えば、1つ以上のAPIを介して、統合されるソフトウェアシステムを提供する企業のバックエンドシステム上で実行される、データに基づくテストケースを構築することを可能にする。一部の例において、シナリオは、APIを介して実行される複数のテスト要素(例えばアクティビティ)を含む。一部の例において、アクティビティは、データベース内のデータオブジェクトに対して実行されるトランザクションのセットを含む。本願明細書にさらに詳細に記載されるように、テストシナリオは、(例えば夜間に)アクティビティを実行するDDTプラットフォームのスケジューラにプッシュされる。同じく本願明細書にさらに詳細に記載されるように、DDTプラットフォームのハーネスは、テストファイルからデータを得て、データを適切な形式(例えばJSON)に変換し、テスト中のソフトウェアシステムにAPIを介してデータを送信し、テストの結果を受信し、比較(例えば実際の結果対予期される結果)を提供する。一部の例において、結果は、予期しない何らかの変化を特定するための、データオブジェクトの比較(例えばフィールド対フィールド、テーブル対テーブル)を含む。
【0018】
本開示の実装のコンテキストを提供すると、上記で導入されたとおり、企業が顧客にソフトウェアシステムを提供することができる。ソフトウェアシステムは、デリバリプロセスにおいて顧客に提供され得る。例示のデリバリプロセスは、計画、設計、構築、テストおよび展開フェーズを含むことができるが、限定はされない。従来のソフトウェアシステムデリバリは、1つ以上のデリバリツールを使用して実行され得る。例示のデリバリツールには、アプリケーション設計、モデリングおよび開発ツール(例えばIBM Rational Softwareスイート)、アプリケーションライフサイクルマネジメント(ALM:application lifecycle management)ツール(例えばMicrofocus ALMスイート)およびテストマネジメントツール(例えばXRAYを使うJIRA)が含まれ得る。他の例示のツールには、テストスクリプティングツール(例えばMicrofocus UFT、Worksoft Certify、Tosca Tricentris)が含まれ得るが、限定はされない。
【0019】
テストデータマネジメントのために、サードパーティベンダがソフトウェアシステムのツールを提供している。しかしながら、テストアーティファクトおよびデータを管理する大規模の完全なソリューションスイートを提供するベンダはない。このような従来のツールは、本質的に、テストライフサイクルをカバーするように極めて一般的であるか、またはテストデリバリの特定のフェーズ(例えば自動化)をカバーするように極めて特定的であるかのいずれかである。結果として、種々のテストアクティビティ(例えばテストの設計、テストデータマネジメント、テストアーティファクトの作成および実行、KPIレポート)の対象範囲で、(例えば顧客により)ソフトウェアデリバリプロジェクトに対して体系的に展開されない、または標準のアセットとして展開されない、種々のツールが必要とされる。従来のテストスイートおよびスタック使用量テストの対象範囲のランドスケープは、確実な統合を可能にし且つ/またはソフトウェアシステムのデリバリを加速する適切なツールまたはツールのスイートがないことを示す。
【0020】
ソフトウェアシステムのテスト方法を提供することができる。一部の例において、テスト準備は、構築フェーズにおいて開始され、ソフトウェアシステムの使用のケースのドキュメンテーションを提供することを含むことができる。このテスト準備は、ALMツールおよび/または他のアプリケーション(例えばMicrosoft Excel)によって集約/管理できる。一部の例において、ユーザ(例えばコンサルタント)は、ソフトウェアシステムの予期される挙動(予期される結果)に対して種々のアクション(テストステップ)の文字記述(テストケース)を提供する。
【0021】
一部の例において、テスト準備は、テストケースにより消費される特定のデータの準備を含む。テストデータは、本番データおよび/もしくは移行データのサブセットを含むことができ、さらに/または(例えばユーザにより生成される)テストデータを含むことができる。テストデータの準備(例えば構築フェーズ中またはその後に実行される場合)は、データに適用されるソフトウェアシステムの各モジュールにわたる構成およびルールを深く理解していることを必要とするので、複雑である場合もある。結果として、アプリケーションテスタは、テスト用に特定目的のデータを作成するために、ソフトウェアシステムを完全に理解している必要がある。さらに、テスト準備アクティビティは時間がかかり、本番に展開されるソフトウェアシステムの品質を損なわずに簡潔にすることは難しい。
【0022】
本願明細書にさらに詳細に記載されるように、前述の事項に鑑み、本開示の実装は、シフトレフト自動化(例えばより早期の段階のテスト)、継続的なテスト、データ指向型のテストおよび複数のプロジェクトにわたるテストアーティファクトの再利用という特質を含むDDTプラットフォームを提供する。本開示のDDTプラットフォームは、供給されるソフトウェアシステムをテストするためにシフトレフト手法をとり、ユーザ(例えば設計者)が構成ドキュメンテーションを作成しながらテストコンテンツをシームレスに構築することを可能にするテストツールを提供する。本開示のDDTプラットフォームは、テストプロセスの産業化を加速するためにテストアーティファクトの共有も可能にする。さらに、データモデル主導の手法が提供され、データモデルは、ユーザ間で共有可能である。ソフトウェアシステムを提供する企業のAPIを活用することにより、テストの自動化が実現される。一部の実装において、ソフトウェアシステムの供給されたコンポーネントに対して継続的なテストが提供される。DDTプラットフォームは、テストアーティファクトの設計のための、顧客およびプロジェクト特有のプラットフォームと説明することができる。DDTプラットフォームは、プロジェクト毎に一度、セキュアな形でインスタンス化され、プロジェクト上で、またはクラウドベースのインフラストラクチャにおいて、ホスト可能である。
【0023】
ソフトウェアシステムの顧客への統合の当初に、DDTプラットフォームが顧客に対してプロビジョニングされる(例えばプロジェクトの開始時)。一部の例において、DDTプラットフォームでの使用が開始され、テストコンテンツがユーザ(例えば設計者)により作成される。ユーザは、DDTプラットフォームを使用して、反復型の共有モードでテストのセットを準備および実行することができ、各アクティビティに対してテストデータを作成することができる。一部の例において、ユーザによりセットされた各アクティビティについて、テストアクティビティが、テストパッケージに基づきセットされる種々のアクションおよび使用されるアドホックコンポーネント(例えば手動、自動(オート)、ロボット)によって提供される。
【0024】
オートモデルの場合、関連性のあるデータセットを準備するためにデータテンプレートを作成できる(例えばMS Excelを使用)。1つ以上のデータオブジェクト(例えばクライアント、材料、販売注文)が、テストパッケージに基づいて作成される。一部の例において、ユーザは、複数のテストパッケージをリンクして、テスト環境に対してこのテストパッケージを実行することができる。テストの結果がDDTプラットフォームの1つ以上のユーザインターフェース(UI:user interface)に表示される。一部の例において、複数のユーザが、同じシナリオを使用して共同でシナリオを充実させることができる。一部の例において、テストインスタンスに対して実行されたシナリオの結果が、全体的な構成における任意の変動を特定するために検討される。一部の実装において、ユーザは、テストデータの類型および性質を理解するために、テストアクティビティの詳細にアクセスすることができる。手動モデルの場合、ユーザは、シナリオに対してテストケースを準備して実行し、DDTプラットフォーム上の結果を更新することができる。
【0025】
一部の実装において、プロジェクトの終わりに、DDTプラットフォームは、特定の顧客について撤去される。テストメトリクスを使用してフィードバックループが提供され、テストメタデータが収集され(例えば顧客および/またはプロジェクトの機密情報がないもの)、中央リポジトリに格納される。一部の例において、メトリクスおよびメタデータは、将来のテスト準備および実行を調整して、DDTプラットフォームが推奨を提供することを可能にするために使用できる。
【0026】
一部の実装において、本願明細書にさらに詳細に記載されるように、DDTプラットフォームのコンポーネントは、セキュアプロジェクトデータベース、テスト設計アプリケーション、テストエンジン、スケジューラコンソール、プロジェクト管理コンソールおよびデリバリビューアを含む。一部の例において、セキュアプロジェクトデータベースは、テストアーティファクト情報、メトリクスおよびその他プロジェクト関係のテストアーティファクトを格納する。一部の例において、テスト設計アプリケーションは、テストアクティビティを実行するためにユーザにより使用される。一部の例において、テストエンジンは、エンタープライズAPIを管理する。一部の例において、スケジューラコンソールは、自動のテストタスクを実行する。一部の例において、プロジェクト管理コンソールは、DDTプラットフォームの動作のための参照データへのアクセスをプロビジョニングし、それを管理するために使用される。一部の例において、デリバリビューアは、顧客が設計の進捗を閲覧し、検証することを可能にする。
【0027】
一部の実装において、DDTプラットフォームは、テストアーティファクトを格納する中央アセットリポジトリ(CAR:central asset repository)を含む。一部の例において、CARは、サニタイズされたアセットの中央リポジトリと連携する。一部の例において、CARは、設計の変形、テストアーティファクトのインスタンス化(例えば様々な次元(産業、機能、ロケールなど)別の各プロセスのテストアクティビティ、パッケージ、シナリオ))を格納しており、検索可能である。CARは、それを使用して自己のプロジェクトで再利用可能な設計を発見することができる内部の人員により検索可能である。
【0028】
本開示の実装に従って、CARは、複数の使用ケースをサポートする。例示の使用ケースは、プロジェクト準備ワークフロー、アセット取り込みワークフローならびにアセット共有および伝播を含むが、限定はされない。一部の例において、プロジェクト準備ワークフローは、客先にて供給される製作物のスコープに対応する既存のアセットの選択を含む。一部の例において、アセット取り込みワークフローは、完了したプロジェクトからのアセットの取り込み(既存のベースラインと比較した、差分の生成およびマージ)、アセットカストディアンによる新たなアセットの承認および内部のユーザに対するアセットのパブリッシュを含む。一部の例において、アセットの共有および伝播は、他のプロジェクトでの再利用および検索メカニズムを介したアセットの発見のためにユーザ間でアセットの共有をすることを含む。
【0029】
一部の実装において、テストアーティファクト設計アプリケーションは、供給されるソフトウェアシステムの設計および構成の一貫性を検証するために使用されるテストアーティファクトを構築および実行するためにプロジェクトコンサルタントにより使用される。一部の例において、オブジェクトデータが、設計される各アクティビティ、プロセスおよびシナリオに対して作成される。一部の実装において、プロジェクトマネージャアプリケーションは、プロジェクトコンサルタントおよびプロジェクトマネージャによって、タスクおよび問題を管理し、プロジェクトの進捗に関するレポートを実行し、プロジェクト全体のスコープの設定(リリースの定義など)を管理し、プロジェクトの要件に対するステータスおよびワークフローを設定するために使用される。一部の実装において、プロジェクト管理者アプリケーションは、初期のアセットベースを取り込み、プロジェクトの最後にアセットをエクスポートし、ユーザアクセスを管理し、データベースのバックアップ/復元を実行することにより、プロジェクトのライフサイクルにおいてDDTプラットフォームをサポートする。
【0030】
本開示の実装に従って、統合データモデル(UDM:unified data model)が提供される。より具体的には、テストアーティファクトは、UDMでCARおよびプロジェクトデータベースに格納される。テストアーティファクトに対し加えられる変更は、他のすべてのテストアーティファクトにおいて反映され、すべての要素をバージョニングできる。UDMは柔軟であり、デリバリ手法に対する将来の変更と、種々のタイプのソフトウェアシステムに順応するための拡張とを可能にする。
【0031】
図2は、本開示の実装に従った例示の概念アーキテクチャ200を示す。例示の概念アーキテクチャ200は、ソフトウェアシステムを顧客に供給するためにバックエンドシステム204と相互作用するDDTプラットフォーム202を含む。一部の例において、バックエンドシステム204は、顧客に供給されるソフトウェアシステムをホストする。図2の例において、DDTプラットフォーム202は、ユーザ208(例えばコンサルタント)がコンピューティングデバイス210を使用して相互作用するプロジェクトサーバ206を含む。プロジェクトサーバ206は、スケジューラ212およびテストハーネス214を含む。示されている例では、バックエンドシステム204は、企業バックエンド220、1つ以上のユーザエクスペリエンス(UX:user experience)アプリケーション222および1つ以上のGUI224を含む。
【0032】
一部の実装において、ユーザ208(例えば企業のソフトウェアシステムを顧客に供給するコンサルタント)が、テストデータに基づく1つ以上のテストケース230を構築する。一部の例において、テストケースはコンピュータ可読ファイル(例えばMS Excelファイル)として提供される。一部の例において、テストケースは、DDTアプリケーションを使用して、企業のAPI(例えばSAP SEにより提供されるビジネスAPI(BAPI:business API))にリンクされる。一部の例において、企業側アクティビティとAPIとの間のマッピングが、DDTデータベースに格納される。ユーザは、設定がバックエンドシステム204においてセットされるとき、機能テストシナリオに基づきAPIをリンクする。一部の例において、リンクは、変数および定数のバインドを使用して実現される。1つ以上のテストシナリオインターフェース232が提供され、これを介してユーザはリンクを実行することができる。
【0033】
一部の実装において、1つ以上のシナリオの実行がスケジュールされる。例として、スケジューラ212は、シナリオの実行をスケジュールする。一部の例において、シナリオは、臨時に、または毎日、実行するようにスケジュール可能である。テストハーネス214は、リクエストサービス(例えばAPI+JSON)を実行する。テストケースおよびシナリオは、バックエンドシステム204上で実行され、テスト結果が出力として提供される。より具体的には、テストハーネス214は、テスト結果(例えばデータ、ログファイル)をバックエンドシステム204から受信する。一部の例において、予期される結果(例えばJSONで提供される)が実際の結果(例えばJSONで提供される)と比較され、比較出力が提供される。一部の例において、比較出力は、(例えばMS Excelシート(単数または複数)として)インターフェース232に表示される。
【0034】
図3は、本開示の実装に従った例示のモジュールアーキテクチャ300を示す。例示のモジュールアーキテクチャ300は、DDTアプリケーション302、中央テストアセットリポジトリ304、中央閲覧アプリケーション306、テスト設計アプリケーション308、テストパッケージ構築モジュール310、テストシナリオ構築モジュール312、シナリオ実行モジュール314、中央管理アプリケーション316、プロジェクトマネジメントアプリケーション318およびプロジェクト管理アプリケーション320を含む。一部の例において、DDTアプリケーション302はプロジェクトデータベースを含み、中央テストアセットリポジトリ304は中央データベースを含む。一部の実装において、本願明細書にさらに詳細に記載されるように、DDTアプリケーション302は、顧客に供給されるソフトウェアシステムにおいてテストパッケージおよびテストシナリオを実行する。
【0035】
一部の実装において、ユーザ(例えば設計コンサルタント)は、中央閲覧アプリケーション306およびテスト設計アプリケーション308と相互作用して、本開示のDDTプラットフォームを使用してテストパッケージおよびテストシナリオを構築および実行する。一部の例において、ユーザは、テストパッケージ構築モジュール310、テストシナリオ構築モジュール312、シナリオ実行モジュール314と相互作用して、テスト設計アプリケーション308を介してテストパッケージおよびテストシナリオを構築および実行する。
【0036】
一部の実装において、ユーザ(例えば中央管理者)は、中央管理アプリケーション316を介してDDTプラットフォームと相互作用する。一部の実装において、ユーザ(例えばプロジェクトマネージャ、品質保証(QA:quality assurance))は、プロジェクトマネジメントアプリケーション318を介してDDTプラットフォームと相互作用する。一部の実装において、ユーザ(例えばプロジェクト管理者)は、プロジェクト管理アプリケーション318を介してDDTプラットフォームと相互作用する。
【0037】
本開示の実装に従って、テスト設計アプリケーション308は、アクティビティのテストに使用されるコンポーネント(単数または複数)をユーザが設計することを可能にする。例示のUIは、テストアクティビティ定義インターフェースおよびテストパッケージ定義インターフェースを含むが、限定はされない。一部の例において、テストアクティビティ定義インターフェースは、ユーザが、アクティビティ記述と整合したテストアクティビティを定義することを可能にする。一部の例において、テストアクティビティ定義インターフェースは、ユーザが、アクティビティのテストの適切な対象範囲を設定するために、使用されるテストアーティファクト(製作物のパッケージ)の性質およびタイプを選択することを可能にする。一部の例において、テストパッケージ定義インターフェースは、ユーザが、外部ドキュメント(例えばMS Excelスプレッドシート)から、テストケースに基づいて構造化されたいくつかのデータを準備して読み込むことを可能にする。
【0038】
一部の実装において、テストコンテンツの作成に関して、ユーザはウェブブラウザを開いて、DDTプラットフォーム(例えばテスト設計アプリケーション308)にアクセスする。ユーザは、テストアクティビティの記述を提供して、カバーするテストケースに対応しテストされるソフトウェアシステムの構成に関係するテストパッケージを作成することができる。一部の例において、テストケースは、障害メッセージをテストするために(例えば意図的にエラーをトリガする)エラーテストケースを含むことができる。一部の例において、テストアクティビティインターフェースが表示され、記述されたアクティビティに関するユーザ入力を受信する。例として、テストアクティビティインターフェースは、テストアクティビティの記述を示す。一部の例において、ユーザは、テストアクティビティインターフェースを介して、実行されるテスト(例えばテストパッケージ)のタイプを選択することができる。ユーザは、アクションのタイプ(例えばAUTO、ROBOT、MANUAL)を選択することができる。
【0039】
一部の実装において、AUTOオプションは、ソフトウェアシステムを提供する企業のAPIを介してテストケースを実行するために選択できる。アクティビティに対応するAPIを選択できる。一部の例において、アクティビティのために使用できる既存のAPIがない場合、APIを、トランザクション、ならびにAPIをコールするJSONコールの形式で作成できる。一部の例において、リスト(例えばドロップダウンリスト)の中のAPIを容易に区別するために、APIの名前は、アクティビティに対応する。一般に、すべてのAPIは、データモデルの中の個々のアクティビティに関連する。
【0040】
一部の実装において、ユーザは、スプレッドシート(例えばMS Excel)またはテンプレートを使用して、テストケースを作成する。一部の例において、複数のテストケースが提供され、ともにテストパッケージにまとめられる。一部の例において、複数のテストパッケージを提供できる。スプレッドシートを例として使用すると、変数とされるフィールドを特定できる。テストパッケージファイルは、保存し、必要に応じて後に変更を加えることができる。一部の例において、テストパッケージは、ファイルが保存されると自動的に作成される。
【0041】
一部の実装において、テストシナリオ構築モジュール312(テストシナリオアプリケーションとも呼ばれる)は、ユーザがアクティビティのテストに使用されるシナリオを構築することを可能にする。例示のインターフェースは、テストシナリオ階層ブラウザ、テストシナリオ定義インターフェースおよびテストシナリオステップ定義インターフェースを含むが、限定はされない。一部の例において、テストシナリオ階層ブラウザは、ユーザが、階層(ビジネス階層)に基づき作成されたテストシナリオを操作(例えば編集)することを可能にする。一部の例において、ユーザは、現在のリポジトリ(例えば中央テストアセットリポジトリ304)からのシナリオを編集、閲覧、作成および/または削除することができる。一部の例において、テストシナリオ定義インターフェースは、各ユーザがテストシナリオの要素を共同した形で操作(例えば編集)することを可能にする。例として、ユーザは、すべてのテストシナリオの間使用される共通変数を構築し、テストシナリオに基づき実行される種々のテストステップを選択し、さらに/またはシナリオがその中で実行されるセションおよび環境を定義することができる。一部の例において、テストシナリオステップ定義インターフェースは、ユーザが、各シナリオステップに対して使用されることになるコンテキスト要素を操作(例えば編集)することを可能にする。例として、ユーザは、動的テストデータ(例えば前のテストステップから作成されたデータ)に変数を代入し、テストシナリオステップのための変数に定数を代入し、さらに/または出力ファイルから予期される結果を管理することができる。
【0042】
テストシナリオの作成に関して、テストシナリオディレクトリを、DDTプラットフォームの(例えばユーザがテストシナリオ構築アプリケーションと相互作用するのに用いる)ウェブブラウザから選択できる。一部の例において、テストシナリオディレクトリは、(例えば階層的なビジネス構造により編成された)複数のテストシナリオを表示する。ユーザは、シナリオを編集、コピー、閲覧、削除および/または作成することができる。一部の例において、オブジェクトブラウザから初期のシナリオを作成するために、シナリオが作成される階層内のポジションが選択され、作成オプションが選択されて作成が開始される。一部の例において、テストシナリオの作成は、テストシナリオの記述を入力すること、添付物を提供すること、および定数を作成することを含む。一部の実装において、テストシナリオは、オートもしくは手動、オートおよびロボット、またはフルロボットとすることができる。一部の例において、外部データがテストシナリオにおいて必要とされる場合、他のユーザにリクエスト可能である。一部の例において、他のユーザは、テストパッケージにアクセスして、テストパッケージにおいて、ステップを追加し、さらに/または特定のデータを作成することができる。一部の例において、アクティビティの中のテストパッケージは、それらを変更することなくテストケースを見るために閲覧可能である。テストパッケージの中の提案されるケースが適切でなければ、更新をリクエストでき、別のテストパッケージを作成でき、またはテストパッケージに変更を加えることができる。一部の実装において、予期される結果を定義するために1つ以上の値をバインドできる。
【0043】
一部の実装において、オートテストシナリオの作成に関して、シナリオの第1のステップを手動で入力できる。一部の例において、テストアクティビティで使用可能なデータを含むアクティビティにテストパッケージにおいてオートタイプが付加された、テストパッケージがあるかどうかを予め判断できる。一部の例において、UI要素(例えば+ボタン)を選択して、テストシナリオステップを作成することができる。アクティビティおよびテストパッケージを選択できる。それに応答して、テスト名およびテストケースを表示できる。一部の例において、UI要素(例えば>アイコン)を選択して、ステップの作成を検証することができる。テストシナリオが作成され、さらにこれを編集できる。一部の例において、テストシナリオの編集は、テストシナリオの中にディレクトリを作成することを含むことができ、これは、テストシナリオの中のステップのリストを提供する。一部の例において、ディレクトリはテストシナリオブラウザにおいて見ることができる。一方、シナリオステップを移動/削除するためにステップを選択でき、前のステップおよび/または後のステップの任意の制約が示される(例えば色または任意の適切なグラフィック処理により視覚的に強調される)。このようにして、矛盾を回避することができる。
【0044】
一部の実装において、テストシナリオの編集中、シナリオ編集メニューからの環境変数を用いてステップを実行でき、出力が提供される。一部の例において、入力ファイルから提供された変数が表示される。一部の例において、変数出力エリアならびに出力閲覧、予期される結果編集および予期される結果保存のインターフェース要素は、当初、グレーアウトされている。変数に定数が代入される場合、シナリオに対して提案される定数のリストの中の定数の名前を含むリストから定数を選択できる。別のテストパッケージから値が選択される場合、チェーンインターフェース要素を選択でき、これにより、メニューが表示され、そこから利用可能な変数を、またはテストステップ、テストケースおよび変数名別の変数を選択できる。一部の実装において、出力変数を作成するために、出力ファイルのテーブル、列および場合によってはデータに対する特定のフィルタの参照のための名前が提供される。すべての変数が作成されてバインドされた後、変更が保存される。テストシナリオが、再び表示されることが可能であり、入力ファイル、出力ファイルおよび比較ファイルを示す。一部の例において、出力ファイルが適切であれば、予期される結果ファイルとして保存できる。
【0045】
一部の実装において、オートシナリオステップに関して、オートシナリオステップは、テストシナリオ設計UIから実行できる。このようにして、渡されるパラメータおよび値を、正確さについて確認できる。一部の例において、オートシナリオステップの実行は、スケジューラに、リクエストを、スケジューラにおいてハーネステストを実行するためのすべての情報とともに送る。実行の戻りの値は、送り返されて、メッセージ(例えば成功、接続エラー、エラーAPI)とともにシナリオステップ行に表示される。一部の例において、実行時に、セッション名の選択がリクエストされ、さらにリクエストを実行するための環境/クライアントパラメータの選択がリクエストされる。セッションの実行は、セッション読み込み/調査UIで見ることができる。
【0046】
一部の実装において、スケジューラがそのセッションを終えると、ハーネステストの戻りコードを(例えば成功または失敗のアイコンの形で)見ることができるようになる。一部の例において、エラーまたは成功メッセージを表示するために、戻りコード(例えばアイコン)を選択(またはその上をホバリング)できる。一部の例において、ステップが編集され、出力ファイルが表示されることが可能である。出力ファイルは、予期される結果として保存できる。
【0047】
一部の実装において、オートテストシナリオの実行に関して、シナリオ全部を実行できる(例えば、すべて実行オプションを選択)。このケースにおいて、シナリオステップおよびそれらのコンテキスト(例えば定数、入力変数、出力変数、入力ファイル、予期される結果)のすべてが、ハーネステストに対する実行のスケジューラに送られる。既存のセッションが選択されていない場合、セッション名の入力フィールドならびに環境の入力フィールド、および実行クライアントが表示される。この情報を用いて、スケジューラはセッションを実行することができる。スケジューラがセッションを終えると、ハーネステストの戻りコードを(例えば成功または失敗のアイコンの形で)見ることができるようになる。その上にマウスポインタを置くと、エラーまたは成功メッセージを読み取ることができなければならない。一部の例において、エラーまたは成功メッセージを表示するために、戻りコード(例えばアイコン)を選択(またはその上をホバリング)できる。一部の例において、ステップが編集され、出力ファイルが表示されることが可能である。出力ファイルは、予期される結果として保存できる。
【0048】
一部の実装において、セッションを、実行結果の戻りが表示されるセッション名、実行日、ユーザ名により(例えばセッション読み込みアイコンを選択することによって)選択できる。一部の例において、現在のセッションを選択できる。
【0049】
一部の実装において、自動のテストを周期的に(例えば毎日)実行できる。一部の例において、これは、スケジューラにより直接、実行される。一部の例において、シナリオの実行のタスクおよび制約(前、後)が、スケジューリングの準備を任されたオペレータと共有される。シナリオは、新たなセッション(シナリオの全体のコンテキストを含む)に基づき体系的に実行される。各シナリオステップは、API処理のためのテストハーネスを呼び出す。一部の例において、シナリオ実行の結果は、セッションの検索(例えば「セッション<日付>」、実行日、オペレータのユーザ)によって提供できる。
【0050】
一部の実装において、プロジェクト管理アプリケーション320は、DTDアプリケーション302のクライアントインスタンスを維持することを担当するユーザにより使用される。一部の例において、プロジェクト管理アプリケーション320は、クライアントプロジェクトの立ち上げ時、設計中およびプロジェクト終結時の、DDTプラットフォームのライフサイクルをサポートする。一部の例において、プロジェクト立ち上げ時、テストアーティファクトのセット(例えばテストシナリオ、テストパッケージ、入力ファイル、出力ファイル)がDDTプロジェクトインスタンスにインポートされる。プロジェクトの間、中央リポジトリからの追加のアセットを、必要に応じてDDTプラットフォームに追加できる。一部の例において、プロジェクトの終わりに、アセットを、収集のために処理されるようエクスポートできる。プロジェクト実行中、タスクに関連するプロジェクトイベントのライブストリーム、およびプロジェクトで完了される問題が、(例えばリアルタイムまたは準リアルタイムで中央サーバに送られる。このようにして、再利用可能である可能性があるアセットを特定できる。
【0051】
一部の実装において、バックアップおよび復元機能性が提供される。一部の例において、バックアップおよび復元機能性は、ハードウェア障害またはユーザによる間違った操作が原因でインスタンスが破損したケースにおいて、DDTプラットフォームの現在の状態を保存する。一部の実装において、ユーザ、ユーザグループおよびセキュリティを管理するための機能性が提供される。一部の例において、インスタンスに対するアクセスが、DDTプラットフォームに対するユーザ、グループおよびアクセス権を定義するプロジェクト管理者により定義される。
【0052】
一部の実装において、プロジェクトマネジメントアプリケーション318は、ユーザが、テストアクティビティ中にタスクおよび問題を管理することを可能にする。一部の例において、タスクマネジメント機能性は、各ユーザが、DDTプラットフォームにおいて完了する必要がある設計タスクに対応するタスクのリストを得ることを可能にする。ユーザは、各設計タスクを完了するのに伴い、マネジメントチームに最新情報を提供し続けるために、ワークフローの中のタスクのステータスまたはポジションを更新することができる。問題マネジメント機能性は、各ユーザが、設計中に提起されたプロジェクトの問題を文書に記録するための問題マネジメントツールを得ることを可能にする。ユーザは、このツールを使用して、問題を更新し、それらが解決されるのに伴い問題を最終的にクローズすることができる。レポート機能性は、未解決の問題、残っているタスク、取り組み、およびプロジェクトの現在の健全性のダッシュボードに関する情報を提供するプロジェクトレポートのセットを提供する。
【0053】
一部の実装において、中央閲覧アプリケーション306は、ユーザが、中央テストアセットリポジトリ304の中のアセットを検索すること、およびプロジェクトに関する関心のある特定のトピックを追うことを可能にする。一部の例において、ユーザは、その用途のために、中央テストアセットリポジトリ304において、参照用の実装または実装の変形を検索することができる。一部の例において、ユーザは、関心のあるトピック(例えば業界、機能分野)にサブスクライブすることができる。このようにして、プロジェクトが進行するのに伴い、ユーザは、最近開発された関連性のある製作物について知らせを(例えばリアルタイムで)受けることができる。一部の例において、トピックにサブスクライブするために、ユーザは、中央閲覧アプリケーション306と相互作用して、サブスクライブしたい通知のタイプを選ぶことができる。プロジェクトが完了されるのに伴い、通知が中央サーバにパブリッシュされ、それらが自動的にユーザのトピックストリームに追加される。一部の例において、トピックストリームは、ユーザのトピックサブスクリプションならびに他の関連データに基づきユーザに対して自動的に生成される。トピックストリームは、世界中でアクティブなプロジェクトから、それらがユーザに関連し得る様々なタスクおよび問題を完了するのに伴い、イベントのストリームとして提供できる。
【0054】
一部の実装において、ユーザはアセットを検索することができる。一部の例において、ユーザは、中央テストアセットリポジトリ304にあるアセットを発見するために検索画面にアクセスすることができる。一部の例において、検索画面は、関連するアセットを検索しデータの階層ビューを閲覧するために使用できる、テキスト検索機能性を含む。一部の実装において、検索およびユーザ解析を、例として、サブスクライブされるトピック、検索のテキストならびに高需要のアセットに関してレポートするために生成できる。
【0055】
一部の実装において、中央管理アプリケーション316は、ユーザ(例えば中央管理者)が中央閲覧アプリケーション306を制御することを可能にする。一部の例において、中央管理アプリケーション316は、ユーザが、プロジェクトアセットを実装し、新たなプロジェクトのためのテスト開始パックをエクスポートし、中央マネジメントレポートを実施することを可能にする。プロジェクトアセットの実装に関して、中央管理アプリケーション316は、特定のワークフローを用いるプロジェクトテストアセットエクスポートの取り込みを可能にする。一部の例において、この機能性は、インポートされたテストアセットのどれが変化したか、および中央テストアセットリポジトリ304と比較してどのような種類の変化があるかを判断するために、既存の中央リポジトリと差分マージを実行する。このようにして、ユーザは、例として、既存のテストアセットへのマージまたは新たな変形の作成のいずれかを検証することができる。
【0056】
一部の実装において、新たなプロジェクトが開始すると、プロジェクトのスコープに合致するテストアセットを選択するために中央管理アプリケーション316を使用できる。さらに、テストアセットを、DDTプラットフォームのプロジェクトインスタンスに取り込むためにエクスポートできる。一部の実装において、プロジェクトが実行されるとき、プロジェクト実行中の(例えばリアルタイムでの)プロジェクトパフォーマンスフィードバックがあり、これは中央で格納およびレポートされる。(タスクおよび問題に対する)取り組み、およびプロジェクトの進捗に関する情報がレポートされ、各地理的単位および各プロジェクトにわたり比較されることが可能である。
【0057】
図4は、本開示の実装において実行可能な例示のプロセス400を示す。一部の例において、例示のプロセス400は、1つ以上のコンピューティングデバイス(例えば図1のバックエンドシステム108)により実行される1つ以上のコンピュータ実行可能プログラムを使用して提供される。
【0058】
テストデータが受信される(402)。例として、図2および図3を参照して上述されたように、ユーザ(例えば企業のソフトウェアシステムを顧客に供給するコンサルタント)が、テストデータに基づく1つ以上のテストケースを構築する。一部の例において、テストケースは、テストデータを含むコンピュータ可読ファイル(例えばMS Excelファイル)として提供される。一部の例において、テストデータは、テスト実行中に、テスト中のソフトウェアシステムのデータベース内のデータオブジェクトを作成および/または修正するために使用されるデータを含む。テストシナリオが提供される(404)。例として、本願明細書に記載されるように、テストシナリオは、APIを介して実行される複数のテスト要素(例えばアクティビティ)を含む。一部の例において、アクティビティは、データベース内のデータオブジェクトに対して実行されるトランザクションのセットを含む。例示のトランザクションは、データベース内のデータおよび/またはデータオブジェクトを作成、変更および/または削除することを含むことができるが、限定はされない。本願明細書に図3を参照して記載されるように、テストシナリオは、DDTプラットフォームのテストシナリオ構築モジュールを介して提供でき、このモジュールは、アクティビティのテストのために使用されるシナリオをユーザが構築することを可能にする。統合が適切に実行するかどうか(例えばデータベース内でデータオブジェクトが適切に更新されたか)を観測するために、テストシナリオは、実行されると、データベース内のデータオブジェクトに直接影響する。
【0059】
テストの実行がスケジュールされる(406)。例として、本願明細書に記載されるように、DDTプラットフォームのスケジュールがテストシナリオの実行をスケジュールする。一部の例において、スケジューラは、特定の時間(例えば夜間)に実行するようにテストシナリオの実行をスケジュールする。一部の例において、複数のテストシナリオが実行されてもよく、スケジューラは、あらゆる競合を回避するように実行をスケジュールする。テストがハーネスによって実行される(408)。例として、本願明細書に記載されるように、ハーネスは、テストファイルからデータを得て、データを適切な形式(例えばJSON)に変換し、テスト中のソフトウェアシステムに1つ以上のAPIを介してデータを送る。
【0060】
テストの結果が受信される(410)。例として、本願明細書に記載されているように、ハーネスは、テスト中のソフトウェアシステムから出力ファイルを受信する。一部の例において、テスト結果(例えばデータ、ログファイル)が、バックエンドシステムにおいて発生する実際の結果(例えばデータベースの中のデータオブジェクトに対する変更)として提供される。比較が提供される(412)。例として、ハーネスは、予期される結果および受信された実際の結果に基づく比較を提供する。一部の例において、予期される結果(例えばJSONで提供される)が実際の結果(例えばJSONで提供される)と比較され、比較出力が提供される。一部の例において、比較出力は、(例えばMS Excelシート(単数または複数)として)インターフェースに表示される。
【0061】
本明細書に記載された実装およびすべての機能動作は、デジタル電子回路構成において、またはこの明細書で開示された構造およびその構造上の等価物を含むコンピュータソフトウェア、ファームウェアもしくはハードウェアにおいて、またはそれらのうちの1つ以上の組み合わせにおいて実現され得る。実装は、1つ以上のコンピュータプログラム製品として、すなわちデータ処理装置により実行されるよう、またはデータ処理装置の動作を制御するようコンピュータ可読媒体上にエンコードされた、コンピュータプログラム命令の1つ以上のモジュールとして実現されてもよい。コンピュータ可読媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、メモリデバイス、機械可読伝播信号をもたらす物質の構成またはそれらのうちの1つ以上の組み合わせとされてもよい。「コンピューティングシステム」という用語は、データを処理するすべての装置、デバイスおよび機械を含み、例として、プログラマブルプロセッサ、コンピュータまたは複数のプロセッサもしくはコンピュータを含む。装置は、ハードウェアに加えて、プロセッサファームウェア、プロトコルスタック、データベースマネジメントシステム、オペレーティングシステムまたはそれらのうちの1つ以上の組み合わせなどを構成する、対象のコンピュータプログラム(例えばコード)の実行環境を作り出すコードを含んでもよい。伝播信号とは、適切な受信機装置に送信される情報をエンコードするために生成される人工的に生成された信号(例えば機械生成された電気信号、光信号または電磁信号)である。
【0062】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、スクリプトまたはコードとしても知られる)は、コンパイル型またはインタープリタ型言語を含む任意の適切な形態のプログラミング言語で書かれてもよく、スタンドアロンプログラムとして、またはモジュール、コンポーネント、サブルーチンもしくはコンピューティング環境での使用に適した他のユニットとしてを含め、任意の適切な形態で展開されてもよい。コンピュータプログラムは、必ずしもファイルシステム内のファイルに対応するとは限らない。プログラムは、他のプログラムもしくはデータを保持するファイルの一部(例えば、マークアップ言語ドキュメントに格納される1つ以上のスクリプト)、対象のプログラム専用の単一ファイルまたは複数の連携ファイル(例えば1つ以上のモジュール、サブプログラムもしくはコードの一部を格納する複数ファイル)に格納されてもよい。コンピュータプログラムは、1つのコンピュータ上または1つの場所に位置するか、もしくは複数の場所に分散し通信ネットワークにより相互接続された、複数のコンピュータ上で実行されるように展開されてもよい。
【0063】
本明細書に記載されたプロセスおよび論理フローは、入力データに作用し出力を生成することにより機能を実行する1つ以上のコンピュータプログラムを実行する、1つ以上のプログラマブルプロセッサにより実行されてもよい。プロセスおよび論理フローは、専用論理回路構成(例えばFPGA(field programmable gate array:フィールドプログラマブルゲートアレイ)またはASIC(application specific integrated circuit:特定用途向け集積回路))によっても実行でき、装置は専用論理回路構成としても実装できる。
【0064】
コンピュータプログラムの実行に適したプロセッサは、例として、汎用および専用両方のマイクロプロセッサならびに任意の適切な種類のデジタルコンピュータの任意の1つ以上のプロセッサを含む。一般に、プロセッサは、読み取り専用メモリもしくはランダムアクセスメモリまたは両方から命令およびデータを受信する。コンピュータの構成要素は、命令を実行するプロセッサ、ならびに命令およびデータを格納する1つ以上のメモリデバイスを含むことができる。一般に、コンピュータはさらに、データを格納する1つ以上の大容量ストレージデバイス(例えば磁気、光磁気ディスクもしくは光ディスク)を含むか、またはそれからデータを受信するよう、もしくはそれにデータを転送するよう動作可能に結合されるか、またはその両方である。なお、コンピュータはそのようなデバイスを有する必要はない。さらに、コンピュータは、別のデバイス(例えばモバイル電話、携帯情報端末(PDA)、モバイルオーディオプレーヤ、衛星航法システム(GPS:Global Positioning System)受信機)に組み込まれてもよい。コンピュータプログラム命令およびデータを格納するのに適したコンピュータ可読媒体は、あらゆる形態の不揮発性メモリ、媒体およびメモリデバイスを含み、例として、半導体メモリデバイス(例えばEPROM、EEPROMおよびフラッシュメモリデバイス)、磁気ディスク(例えば内蔵ハードディスクまたはリムーバブルディスク)、光磁気ディスクならびにCD ROMおよびDVD−ROMディスクなどが含まれる。プロセッサおよびメモリは、専用論理回路構成により補完されてもよく、またはそれに組み込まれてもよい。
【0065】
ユーザとの相互作用を提供するために、情報をユーザに表示するディスプレイデバイス(例えばCRT(cathode ray tube:陰極線管)、LCD(liquid crystal display:液晶ディスプレイ)、LED(light−emitting diode:発光ダイオード)モニタ、ならびにユーザがコンピュータに入力を提供できるキーボードおよびポインティングデバイス(例えばマウスまたはトラックボール)を有するコンピュータ上で、実装が実現されてもよい。他の種類のデバイスが、同じくユーザとの相互作用を提供するために使用されてもよい。例として、ユーザに提供されるフィードバックは、任意の適切な形態の感覚フィードバック(例えば視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)であってもよく、ユーザからの入力は、音響、発話または触覚入力を含め、任意の適切な形態で受信されてもよい。
【0066】
実装は、バックエンドコンポーネントを含むコンピューティングシステム(例えばデータサーバとして)、またはミドルウェアコンポーネントを含むコンピューティングシステム(例えばアプリケーションサーバ)、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えばユーザが実装と相互作用するのに用いることができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータ)、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネントもしくはフロントエンドコンポーネント1つ以上の任意の適切な組み合わせにおいて実現されてもよい。システムのコンポーネントは、任意の適切な形態または媒体のデジタルデータ通信(例えば通信ネットワーク)により相互接続されてもよい。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、およびワイドエリアネットワーク(「WAN」)(例えばインターネット)を含む。
【0067】
コンピューティングシステムは、クライアントおよびサーバを含んでもよい。クライアントおよびサーバは、一般に、互いに遠隔にあり、典型的には通信ネットワークを介して相互作用する。クライアントおよびサーバの関係は、個々のコンピュータ上で実行され相互にクライアント−サーバ関係を有するコンピュータプログラムにより生じる。
【0068】
本明細書は多数の詳述を含むが、これらは、本開示の範囲または特許請求の範囲に対する限定として解釈されるべきではなく、むしろ特定の実装に特有の特徴の記載として解釈されるべきである。別々の実装との関連で本明細書に記載されている特定の特徴はさらに、単一の実装に組み合わせて実装されることも可能である。逆に、単一の実装との関連で記載されている様々な特徴はさらに、複数の実装において別々に、または任意の適切な一部組み合わせにおいて実装されてもよい。さらに、各特徴は、特定の組み合わせで動作するよう上述されていることもあり、当初そのように請求されていることもあるが、場合によっては、請求されている組み合わせの特徴1つ以上が、その組み合わせから削除されることが可能であり、請求されている組み合わせは、一部組み合わせまたは一部組み合わせの変形物を対象とし得る。
【0069】
同じく、各動作は図面内に特定の順序で示されているが、これは、望ましい結果を達成するために、当該の動作が示されている特定の順序でもしくは順番に実行されること、または示されているすべての動作が実行されることを要求するものと理解されてはならない。特定の状況では、マルチタスクおよび並列処理が有利なこともある。さらに、上述の実装における様々なシステムコンポーネントの分離は、すべての実装においてそのような分離を要求するものと理解されてはならず、当然のことながら、記載されているプログラムコンポーネントおよびシステムは、一般に、単一ソフトウェア製品にともに統合されても、または複数のソフトウェア製品にパッケージ化されてもよい。
【0070】
いくつかの実装が記載された。しかし、当然のことながら、本開示の意図および範囲から逸脱することなく、様々な変更が加えられ得る。例えば、ステップが並べ替え、追加または削除された、上記で示されたフローの種々の形態が使用されてもよい。よって、他の実装は、添付の特許請求の範囲に記載の範囲内にある。
図1
図2
図3
図4