JP7387773B2 - 継続的インテグレーションテスト方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラム - Google Patents

継続的インテグレーションテスト方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラム Download PDF

Info

Publication number
JP7387773B2
JP7387773B2 JP2022006332A JP2022006332A JP7387773B2 JP 7387773 B2 JP7387773 B2 JP 7387773B2 JP 2022006332 A JP2022006332 A JP 2022006332A JP 2022006332 A JP2022006332 A JP 2022006332A JP 7387773 B2 JP7387773 B2 JP 7387773B2
Authority
JP
Japan
Prior art keywords
information
test device
test
hardware parameter
environment information
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.)
Active
Application number
JP2022006332A
Other languages
English (en)
Other versions
JP2022158903A (ja
Inventor
タオ・イァン
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022158903A publication Critical patent/JP2022158903A/ja
Application granted granted Critical
Publication of JP7387773B2 publication Critical patent/JP7387773B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • 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
    • 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/3692Test management for test results analysis
    • 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/3696Methods or tools to render software testable

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)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本出願は、コンピュータの技術分野に関し、具体的にクラウドコンピューティング、テストの技術分野に関し、特に継続的インテグレーションテスト方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラムに関する。
継続的なインテグレーションテストは、ソフトウェア品質を保障する重要なテスト方法として、現在のアジャイル開発モードの主流のテスト手法となっており、その本質は、頻繁に統合することにより、ソフトウェアの品質を検証することである。
従来技術において、現在のエンタープライズレベルのソフトウェアの分野に対しては、依然としてテスト効率が低く、テストコストが高いという問題がある。
継続的インテグレーションテストの方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラムを提供する。
第1の態様によれば、サービス側に用いられる継続的インテグレーションテスト方法であって、テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得するステップと、テスト装置クラスタから前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するステップと、前記環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得るステップと、前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するステップとを備える継続的インテグレーションテスト方法を提供している。
第2の態様によれば、サービス側に用いられる継続的インテグレーションテストシステムであって、システムは、継続的インテグレーションサーバと、リソース管理サーバとを備え、前記継続的インテグレーションサーバは、テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得し、前記複数の環境情報を含むテストリクエストを前記リソース管理サーバに送信するように構成され、前記リソース管理サーバは、前記テストリクエストを受信したことに応答して、テスト装置クラスタから前記環境情報のハードウェアパラメータ情報に適合するテスト装置を選択し、前記環境情報の非ハードウェアパラメータ情報に基づいて、前記テスト装置情報が示すテスト装置を初期化して、初期化済みテスト装置を得るように構成され、前記継続的インテグレーションサーバはさらに、前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するように構成される、継続的インテグレーションテストシステムを提供している。
第3の態様によれば、サービス側に用いられる継続的インテグレーションテスト装置であって、テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得するように構成される取得ユニットと、テスト装置クラスタから、前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するように構成される選択ユニットと、前記環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得るように構成される初期化ユニットと、前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するように構成されるテストユニットとを備える継続的インテグレーションテスト装置を提供している。
第4の態様によれば、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信可能に接続されるメモリとを備える電子機器であって、メモリに少なくとも1つのプロセッサによって実行されることが可能な指令又は命令が格納され、指令が少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに継続的インテグレーションテスト方法の任意の実施例に記載の方法を実行させることができる電子機器を提供している。
第5の態様によれば、コンピュータに継続的インテグレーションテスト方法の任意の実施例に記載の方法を実行させるためのコンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体を提供している。
第6の態様によれば、プロセッサによって実行されると、継続的インテグレーションテスト方法の任意の実施例に記載の方法を実現するコンピュータプログラムを提供している。
本出願の技術的手段によれば、ハードウェアパラメータ情報に応じて、テスト装置を選択するとともに、装置を初期化することで、装置をテスト環境に適合させ、それによって従来技術において大量の異なるテスト環境の装置を準備する必要があることにつながる高価なテストコストの問題を防止し、テストの過程中に装置への占用を低下させ、テストコストを削減することができる。
本出願の他の特徴、目的及び利点は、以下の図面を参照してなされる非限定的な実施例に係る詳細な説明を読むことにより、より明らかになる。
本出願のいくつかの実施例を適用できる例示的なシステムアーキテクチャである。 本出願に係る継続的インテグレーションテスト方法の一実施例のフローチャートである。 本出願に係る継続的インテグレーションテスト方法の一適用シーンの概略図である。 本出願に係る継続的インテグレーションテスト方法の別の実施例のフローチャートである。 本出願に係る継続的インテグレーションテストシステムの一実施例の構造概略図である。 本出願に係る継続的インテグレーションテスト装置の一実施例の構造概略図である。 本出願の実施例の継続的インテグレーションテスト方法を実現するための電子機器のブロック図である。
以下は、理解を助けるために本出願の実施例の様々な詳細を含む添付図面を参照して、本出願の例示的な実施例を説明し、それらは単なる例示として見なされるべきである。したがって、当業者は、本出願の範囲及び精神から逸脱することなく、本明細書に記載された実施例に対して様々な変更及び修正を行うことができることは認識すべきである。同様に、以下の説明では、明確かつ簡潔にするために、周知の機能及び構造についての記述を省略する。
本出願の技術的手段において、関わるユーザの個人情報の取得、記憶及び応用などは、関連する法律法規の規定に合致し、必要な守秘措置を講じて、公序良俗に反することはない。
なお、本出願の実施例及び実施例における特徴は、矛盾を生じない限り、相互に組み合わせることができる。以下、添付図面及び実施例を参照しながら、本出願を詳細に説明する。
図1は、本出願の継続的インテグレーションテスト方法又は継続的インテグレーションテスト装置の実施例を適用できる例示的なシステムアーキテクチャ100が示されている。
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103、ネットワーク104及びサーバ105を含んでもよい。ネットワーク104は、端末装置101、102、103とサーバ105との間で通信リンクを提供するための媒体として使用される。ネットワーク104は、有線、無線通信リンク又は光ファイバケーブルなどの様々なタイプの接続を含んでもよい。
ユーザは、メッセージを送受信する等のために、端末装置101、102、103を使用してネットワーク104を介してサーバ105と情報のやり取りをすることができる。端末装置101、102、103には、例えば、映像アプリケーション、生放送アプリケーション、インスタントメッセンジャー、メールボックスクライアント、ソーシャルプラットフォームソフトウェア等のような様々な通信クライアントアプリケーションがインストールされていてもよい。
端末装置101、102、103は、ハードウェアであってもよいし、ソフトウェアであってもよい。端末装置101、102、103がハードウェアである場合には、表示画面を有する様々な電子機器であってもよく、スマートフォン、タブレットコンピュータ、電子ブックリーダー、ラップトップコンピュータ及びデスクトップコンピュータなどを含むが、これらに限定されない。端末装置101、102、103がソフトウェアである場合には、上記に挙げられた電子機器にインストールされてもよい。これは、複数のソフトウェア又はソフトウェアモジュール(例えば、分散サービスを提供するための複数のソフトウェア又はソフトウェアモジュール)として実現されてもよいし、単一のソフトウェア又はソフトウェアモジュールとして実現されてもよい。ここでは、特に限定しない。
サーバ105は、例えば、端末装置101、102、103をサポートするバックエンドサーバ等の、様々なサービスを提供するサーバであってもよい。バックエンドサーバは、受信したテスト対象のスクリプト等のデータに対して解析などの処理を行うとともに、テスト結果などの処理結果を端末装置にフィードバックすることができる。
なお、本出願の実施例に係る継続的インテグレーションテスト方法は、サーバ105によって実行され、それによって、継続的インテグレーションテスト装置は、サーバ105に設けられてもよい。
図1における端末装置、ネットワーク及びサーバの数は、単なる例示的なものに過ぎないことを理解されたい。実装の必要に応じて、端末装置、ネットワーク及びサーバの数を任意に加減してもよい。
引き続き図2を参照する。図2には、本出願に係る継続的インテグレーションテスト方法の一実施例のフロー200が示されている。該継続的インテグレーションテスト方法は、サービス側に用いられ、ステップ201~ステップ204を備える。
ステップ201では、テスト対象のスクリプトを取得して、テストに要する複数の環境情報を取得する。ここで、環境情報は、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む。
本実施例において、継続的インテグレーションテスト方法を実行する実行主体(例えば、図1に示すサーバ)は、テスト対象のスクリプトを取得することができ、その上、テストに要する複数の環境情報をさらに取得することができる。環境情報とは、テストに採用された環境であるヘテロジニアス環境を指す。
環境情報におけるハードウェアパラメータ情報とは、CPUアーキテクチャ、ディスクタイプ、GPUカードタイプなどの機器のハードウェアに関連する情報を指す。非ハードウェアパラメータ情報とは、前記ハードウェアパラメータ情報を除く環境情報を指し、具体的には、オペレーティングシステムなどの様々な環境情報であってもよい。
前記サービス側は、単一のサーバ装置のみを備えてもよいし、サーバクラスタを備えてもよい。
ステップ202では、テスト装置クラスタから、環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択する。
本実施例において、複数の環境情報のうちの環境情報に対して、前記実行主体は、テスト装置クラスタから、テスト装置を選択することができ、該テスト装置が該環境情報(例えば、少なくとも1つの環境情報)におけるハードウェアパラメータ情報に適合する。つまり、前記実行主体は、ハードウェアパラメータ情報に基づいて、テストのための装置を選択する。例えば、選択したテスト装置は、ハードウェアパラメータ情報により限定された、CPUアーキテクチャ、ディスクタイプ、CPUカードタイプを含むすべての情報に適合する必要がある。本出願に係る装置は、物理マシンであってもよいし、仮想マシンであってもよい。
ステップ203では、環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得る。
本実施例において、前記実行主体は、該環境情報における非ハードウェアパラメータ情報に基づいて、選択したテスト装置を初期化することによって、初期化済みテスト装置を該環境情報における非ハードウェアパラメータ情報に適合させることができる。
ステップ204では、初期化済みテスト装置を用いて、テスト対象のスクリプトをテストして、環境情報に対応するテスト結果を生成する。
本実施例において、前記実行主体は、初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストすることによって、テスト結果を生成することができる。該テスト結果は、該環境情報に対応し、つまり、該環境情報を採用してテストして得られたものである。
本出願の前記実施例に係る方法は、ハードウェアパラメータ情報に応じて、テスト装置を選択するとともに、装置を初期化することで、装置をテスト環境に適合させ、それによって、従来技術における大量の異なるテスト環境の装置を準備する必要があることにつながる高価なテストコストの問題を防止し、テスト過程中に装置への占用を低下させ、テストコストを削減することができる。
次に、図3を参照し、図3は本実施例に係る継続的インテグレーションテスト方法の適用シーンの概略図である。図3の適用シーンにおいて、実行主体301は、テスト対象のスクリプト302を取得して、150個の環境情報など、テストに要する複数の環境情報303を取得し、ここで、環境情報303は、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む。実行主体301は、テスト装置クラスタから、環境情報303におけるハードウェアパラメータ情報に適合するテスト装置304を選択し、環境情報303における非ハードウェアパラメータ情報に基づいて、該テスト装置304を初期化して、初期化済みテスト装置305を得、初期化済みテスト装置305を用いて、テスト対象のスクリプト302をテストして、環境情報に対応するテスト結果306を生成することを含むテストステップを実行する。
さらに、複数の環境情報を取得するフロー400が示される図4を参照されたい。該フロー400は、ステップ401~ステップ402を備える。
ステップ401では、テスト対象の少なくとも2つの環境パラメータ値を取得する。ここで、環境パラメータ値は、ハードウェアパラメータ情報のハードウェアパラメータ値及び非ハードウェアパラメータ情報の非ハードウェアパラメータ値を含む。
本実施例において、継続的インテグレーションテスト方法を実行する実行主体(例えば、図1に示すサーバ又は端末装置)は、テスト対象の少なくとも2つの環境パラメータ値を取得することができる。例えば、ハードウェアパラメータ情報にはディスクタイプが含まれる場合に、該ハードウェアパラメータ情報のハードウェアパラメータ値はSSDタイプであってもよい。非ハードウェアパラメータ情報にはオペレーティングシステムが含まれる場合に、該非ハードウェアパラメータ情報の非ハードウェアパラメータ値はCentOS Xであってもよい。
本実施例における実行主体は、本出願の任意の実施例における実行主体であってもよいし、他の実行主体であってもよい。
ステップ402では、少なくとも2つの環境パラメータ値に対して順列組合せを行い、得られた順列組合せ結果に基づいて複数の環境情報を確定する。
本実施例において、前記実行主体は、少なくとも2つの環境パラメータ値に対して順列組合せを行うことにより、順列組合せ結果を得ることができる。このようにして、前記実行主体は、得られた順列組合せ結果に基づいて前記複数の環境情報を確定することができる。
実際には、前記実行主体は、様々な方法を採用して順列組合せ結果に基づいて前記複数の環境情報を確定することができる。例えば、前記実行主体は、順列組合せ結果を直接前記複数の環境情報としてもよい。また、前記実行主体は、順列組合せ結果に対して前処理を行うとともに、前処理の結果を前記複数の環境情報としてもよい。ここで、前処理とは、例えば、順列組合せ結果のうち指定された順列組合せ結果を削除することであってもよい。
本実施例は、順列組合せを行うことにより、テストに要する全ての環境を快速に得ることができる。
本実施例のいくつかのオプション的な実施形態において、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の少なくとも2つの環境パラメータ値が行列で表され、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の数が、行列の行数に等しい。
これらのオプション的な実施形態において、少なくとも2つの環境パラメータ値が行列の形式で存在してもよい。各行列の行が1つの環境パラメータに対応する。環境パラメータは、前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む。
例えば、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報が合計で4つあり、それぞれがハードウェアパラメータ情報(MACHINE)、オペレーティングシステム(OS)、カーネル(KERNEL)及びオペレーティングシステムのソフトウェアバージョン(ENV)であり、行列が4行存在してもよく、それぞれが、
MACHINE: [“Cloud.2c8g”, “Bare-metal.gpu”]
OS: [“CentOS 7.3”, “CentOS 7.5”, “CentOS 8.0”, “Ubuntu 20.04”]
KERNEL: [“3.10.0”, “4.18.1”]
ENV: [“Docker:18.03”, “Docker:19.03”]
である。
本実施例は、ヘテロジニアス行列の形式を採用して、ヘテロジニアス環境情報を構成する必要がある様々なパラメータを明確に示すことができ、それによって、環境情報を効率的で、正確的に生成することができる。
本出願の任意の実施例のいくつかのオプション的な実施形態において、前記方法は、複数の環境情報に対して、テストの同時並行処理環境数を確定するステップをさらに含み、テスト装置クラスタから、環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するステップは、複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから、同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択することを含む。
これらのオプション的又は任意選択的な実施形態において、前記実行主体は、同時並行処理環境数を確定するとともに、同時並行処理環境数を該環境情報の数としてもよい。その後、前記実行主体は、前記同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択することができる。具体的には、該同時並行処理環境数は、本装置又は他の電子機器から直接取得したものであってもよいし、予め設定された規則に従ってリアルタイムで確定したものであってもよい。
同時並行処理環境数とは、1回当たりのテストに採用された環境情報の数を指す。選択されたテスト装置の数は、前記同時並行処理環境数以上である。
これらの実施形態は、環境情報の同時並行処理数を限定することにより、装置への占用及びテスト進展を効果的に制御する。
本出願の任意の実施例のいくつかのオプション的な実施形態において、初期化済みテスト装置を用いて、テスト対象のスクリプトをテストした後に、前記方法はさらに、複数の環境情報のうち採用されていない環境情報が存在することに応答して、複数の環境情報のうち、テストしていない他の環境情報に対して、ステップ202~ステップ204を順次実行して、前記他の環境情報に対応するテスト結果を得るステップを備えてもよい。
これらのオプション的な実施形態において、前記実行主体は、前記少なくとも1つの環境情報をテストした後に、他の環境情報に対してさらなるテストを行うことができる。したがって、テストに要する複数の環境情報に対して完全なテストを行うことができる。つまり、前記実行主体は、複数の環境情報のすべてに関するテスト終了まで、テストステップを繰り返してもよい。
前記実行主体は、複数の環境情報に関するすべてのテストを完了した後に、すべてのテスト結果を統合し、最終的なテストレポートを生成して、開発者の端末装置にフィードバックしてもよい。
実際には、上述した順次実行とは、複数の環境情報のうちの環境情報に対してシリアル又はパラレル(つまり、連続又は並列)でテストステップを実行することを指してもよい。
これらの実施形態は、複数の環境情報に対する広範囲の検出を実現することができる。
本出願の任意の実施例のいくつかのオプション的な実施形態において、前記初期化済みテスト装置を用いて、テスト対象のスクリプトをテストした後に、前記方法はさらに、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するステップを備えてもよい。
これらのオプション的な実施形態において、前記実行主体は、最後に採用した環境情報(例えば、前記少なくとも1つの環境情報)に対してテスト終了した場合に、テスト装置を回収してもよい。具体的には、前記実行主体は、選択したテスト装置の状態タグを未選択状態に修正することにより、これらの装置が使用可能な状態にされ、後続のテストに参加し続けることができる。テスト過程中に、前記テスト装置は、選択済み状態である使用不可状態にタグ付けされてもよい。ここで、選択したテスト装置は、最後のテストに選択したテスト装置である。実際には、1回当たりのテスト終了後に、前記実行主体は、該実施形態における技術的手段を採用してもよい。
これらの実施形態は、テスト装置をタイムリーに回収することにより、装置への過度の占用を防止することができる。
本出願の任意の実施例のいくつかのオプション的な実施形態において、前記初期化済みテスト装置を用いて、テスト対象のスクリプトをテストするステップは、選択したテスト装置の、IPアドレスを含む登録条件情報を確定することと、登録条件情報及び初期化済みテスト装置により、テスト対象のスクリプトをテストすることとを備えてもよい。
これらのオプション的な実施形態において、前記実行主体は、テスト装置を利用する前に、テスト装置の登録条件情報を確定してもよい。実際には、該登録条件情報を有する場合に、前記実行主体は、テスト装置を用いてテストすることができる。該登録条件情報は、IPアドレスを含むなど、様々なものであってもよく、さらに、登録パスワード、コンピュータルームの位置などを含んでもよい。
これらの実施形態は、登録条件情報により、テスト装置を用いてスムーズにテストするように確保することができる。
図5に示すように、本出願は、サービス側に用いられ、継続的インテグレーションサーバ510と、リソース管理サーバ520とを備える継続的インテグレーションテストシステム500を提供し、前記継続的インテグレーションサーバは、テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得し、前記複数の環境情報を含むテストリクエストを前記リソース管理サーバに送信するように構成され、前記リソース管理サーバは、前記テストリクエストを受信したことに応答して、テスト装置クラスタから、前記環境情報のハードウェアパラメータ情報に適合するテスト装置を選択し、前記環境情報の非ハードウェアパラメータ情報に基づいて、前記テスト装置情報が示すテスト装置を初期化して、初期化済みテスト装置を得るように構成され、前記継続的インテグレーションサーバはさらに、前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するように構成される。
本実施例は、ハードウェアパラメータ情報に基づいてテスト装置を選択し、装置を初期化することで、装置をテスト環境に適合させ、それによって従来技術における大量の異なるテスト環境の装置を準備する必要があることにつながる高価なテストコストの問題を防止し、テスト過程中に装置への占用を効果的に低下させ、テストコストを削減することができる。
本実施例のいくつかのオプション的な実施形態において、システムは、テスト対象のスクリプトを構築するための構築コードを受信したことに応答して、構築コードを含む構築トリガー情報を継続的インテグレーションサーバに送信するように構成されるコードリポジトリサーバ530(オプション)をさらに備える。継続的インテグレーションサーバはさらに、構築トリガー情報を受信したことに応答して、構築コードに基づいて、テスト対象のスクリプトを構築するように構成される。
これらのオプション的な実施形態において、システムはさらに、開発者により提出された構築コードを受信するとともに、継続的インテグレーションサーバをトリガーしてテスト対象のスクリプトを構築することを実現可能なコードリポジトリサーバを備えてもよい。
本実施例のいくつかのオプション的な実施形態において、継続的インテグレーションサーバはさらに、複数の環境情報に対して、テストの同時並行処理環境数を確定するように構成され、リソース管理サーバはさらに、複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから、同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択するように構成される。
これらの実施形態は、環境情報の同時並行処理数を限定することにより、装置への占用及びテスト進展を効果的に制御する。
本実施例のいくつかのオプション的な実施形態において、継続的インテグレーションサーバはさらに、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、リソース管理サーバにテスト終了情報を送信するように構成され、リソース管理サーバはさらに、テスト終了情報を受信したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するように構成される。
これらの実施形態は、テスト装置をタイムリーに回収することにより、装置への過度の占用を防止することができる。
本実施例のいくつかのオプション的な実施形態において、複数の環境情報を取得するステップは、テスト対象の少なくとも2つの環境パラメータ値を取得することであって、環境パラメータ値は、ハードウェアパラメータ情報のハードウェアパラメータ値及び非ハードウェアパラメータ情報の非ハードウェアパラメータ値を含むことと、少なくとも2つの環境パラメータ値に対して順列組合せを行い、得られた順列組合せ結果に基づいて、複数の環境情報を確定することとを備える。
オプション的に、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の少なくとも2つの環境パラメータ値が行列で表され、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の数が、行列の行数に等しい。
本実施例のいくつかのオプション的な実施形態において、継続的インテグレーションサーバはさらに、選択したテスト装置の、IPアドレスを含む登録条件情報を確定し、登録条件情報及び初期化済みテスト装置により、テスト対象のスクリプトをテストするように構成される。
さらに図6を参照して、上記各図に示される方法の実施態様として、本出願は、図2に示される方法の実施例に対応する継続的インテグレーションテスト装置の一実施例を提供し、該装置の実施例は、以下に記載する特徴以外に、図2に示される方法の実施例と同様或いは対応する特徴又は効果を更に含んでもよい。該装置は、具体的には、様々な電子機器に適用することができる。
図6に示すように、本実施例の継続的インテグレーションテスト装置600は、取得ユニット601、選択ユニット602、初期化ユニット603及びテストユニット604を備える。取得ユニット601は、テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得するように構成される。選択ユニット602は、テスト装置クラスタから、環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するように構成される。初期化ユニット603は、環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得るように構成される。テストユニット604は、初期化済みテスト装置を用いて、テスト対象のスクリプトをテストして、環境情報に対応するテスト結果を生成するように構成される。
本実施例において、継続的インテグレーションテスト装置600の取得ユニット601、選択ユニット602、初期化ユニット603及びテストユニット604の具体的な処理及びそれらによる技術的効果は、図2の対応する実施例におけるステップ201、ステップ202、ステップ203及びステップ204の関連説明をそれぞれ参照することができ、ここでその説明を省略する。
本実施例のいくつかのオプション的な実施形態において、複数の環境情報を取得するステップは、テスト対象の少なくとも2つの、ハードウェアパラメータ情報のハードウェアパラメータ値及び非ハードウェアパラメータ情報の非ハードウェアパラメータ値を含む環境パラメータ値を取得することと、少なくとも2つの環境パラメータ値に対して順列組合せを行い、得られた順列組合せ結果に基づいて複数の環境情報を確定することとを備える。
本実施例のいくつかのオプション的な実施形態において、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の少なくとも2つの環境パラメータ値が行列で表され、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の数が、行列の行数に等しい。
本実施例のいくつかのオプション的な実施形態において、装置は、複数の環境情報に対して、テストの同時並行処理環境数を確定するように構成される確定ユニットをさらに備え、選択ユニットは、複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから、同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択することによって、テスト装置クラスタから、前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択することを実行するようにさらに構成される。
本実施例のいくつかのオプション的な実施形態において、装置は、初期化済みテスト装置を用いて、テスト対象のスクリプトをテストした後に、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するように構成される修正ユニットをさらに備える。
本実施例のいくつかのオプション的な実施形態において、テストユニットはさらに、選択したテスト装置、IPアドレスを含む登録条件情報を確定し、登録条件情報及び初期化済みテスト装置により、テスト対象のスクリプトをテストすることを行うことによって、初期化済みテスト装置を用いてテスト対象のスクリプトをテストすることを実行するように構成される。
本出願の実施例によれば、本出願は、電子機器、可読記憶媒体及びコンピュータプログラムをさらに提供する。
図7に示すように、本出願の実施例に係る継続的インテグレーションテスト方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図される。電子機器はさらに、パーソナルデジタルアシススタント、セルラ電話、スマートフォン、ウェアラブルデバイス、及び他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことができる。本明細書に示されるコンポーネント、それらの接続及び関係、並びにそれらの機能は、単なる例示的なものに過ぎず、本明細書に記載され、及び/又は要求される(つまり、記載される又は要求されるあるいはそれらの両方)本出願の実施形態を限定することを意図するものではない。
図7に示すように、該電子機器は、1つ又は複数のプロセッサ701と、メモリ702と、各コンポーネントを接続するためのインタフェース(高速インタフェースと低速インタフェースとを含む)とを含む。各コンポーネントは、異なるバスにより互いに接続されており、共通のマザーボード上に実装されていてもよいし、又は必要に応じて他の形態で実装されていてもよい。プロセッサは、電子機器内で実行される指令又は命令を処理することができ、前記指令は、インタフェースに結合された表示装置等の外部入出力装置にグラフィカルユーザインタフェース(GUI,Graphical User Interface)のグラフィック情報を表示するために、メモリ内又はメモリ上に格納される指令を含む。他の実施形態では、必要に応じて、複数のプロセッサ及び/又は複数のバス(つまり、複数のプロセッサ又は複数のバスあるいはそれらの両方)を、複数のメモリとともに使用することができる。また、複数の電子機器が接続されていてもよく、各機器は、例えば、サーバアレイ、ブレードサーバ群又はマルチプロセッサシステムなど、一部の必要な動作を提供する。図7では、1つのプロセッサ701を例としている。
メモリ702は、本出願に係る非一時的コンピュータ可読記憶媒体である。ここで、メモリには、本出願に係る継続的インテグレーションテスト方法を少なくとも1つのプロセッサによって実行させるために、少なくとも1つのプロセッサによって実行可能な指令が格納されている。本出願の非一時的コンピュータ可読記憶媒体は、コンピュータ指令を格納し、該コンピュータ指令はコンピュータに本出願に係る継続的インテグレーションテスト方法を実行させるために用いられる。
メモリ702は、非一時的コンピュータ可読記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータ実行可能なプログラム、及び本出願の実施例における継続的インテグレーションテスト方法に対応するプログラム指令/モジュール(例えば、図6に示す取得ユニット601、選択ユニット602、初期化ユニット603及びテストユニット604)などのモジュールを格納するために用いられてもよい。プロセッサ701は、メモリ702に格納された非一時的なソフトウェアプログラム、指令及びモジュールを実行することにより、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち上記の方法の実施例における継続的インテグレーションテスト方法を実現する。
メモリ702は、オペレーティングシステム、少なくとも1つの機能に要するアプリケーションプログラムを記憶することができるプログラム記憶領域と、継続的インテグレーションテスト方法を実施する電子機器の使用によって作成されるデータなどを記憶することができるデータ記憶領域とを備えてもよい。また、メモリ702は、高速ランダムアクセスメモリを含んでもよく、さらに、少なくとも1つの磁気ディスクメモリデバイス、フラッシュメモリデバイス、又は他の非一時的なソリッドステートメモリデバイスなどの、非一時的メモリを含んでもよい。いくつかの実施例において、メモリ702は、オプション的に、プロセッサ701に対して遠隔に設置されるメモリを含んでもよく、これらの遠隔メモリは、継続的インテグレーションテストを行う電子機器にネットワークを介して接続されてもよい。上記ネットワークの例としては、インターネット、企業イントラネット、ローカルエリアネットワーク、移動体通信ネットワーク及びこれらの組み合わせを含むことができるが、それらに限定されない。
継続的インテグレーションテスト方法を実行する電子機器はさらに、入力装置703及び出力装置704を含んでもよい。プロセッサ701、メモリ702、入力装置703及び出力装置704は、バス又はその他の方式で接続されていてもよく、図7ではバスで接続されている例を示している。
入力装置703(例えばタッチパネル、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、1つ又は複数のマウスボタン、トラックボール、ジョイスティックなど)は、入力された数字又は文字情報を受信でき、継続的インテグレーションテストの電子機器のユーザ設定及び機能制御に関するキー信号入力を生成することができる。出力装置704は表示装置、補助照明装置(例えば、LED)および触覚フィードバック装置(例えば、振動モータ)等を含んでもよい。該表示装置は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイおよびプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態において、表示装置はタッチパネルであってもよい。
ここで記述するシステムおよび技術の各実施形態はデジタル電子回路システム、集積回路システム、特定用途向け集積回路(Application Specific Integrated Circuit,ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせ(つまり、デジタル電子回路システム、集積回路システム、特定用途向け集積回路、コンピュータハードウェア、ファームウェア、ソフトウェア、又はそれらの組み合わせ、あるいはそれらの全て)において実装され得る。これらの各実施形態は、1つ又は複数のコンピュータプログラムに実装され、該1つ又は複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行及び/又は解釈すること(つまり、実行すること又は解釈することあるいはそれらの両方)ができ、該プログラマブルプロセッサは専用又は汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置および少なくとも1つの出力装置からデータおよび指令を受信することができ、且つデータおよび指令を該記憶システム、該少なくとも1つの入力装置および該少なくとも1つの出力装置に伝送することを含み得る。
これらのコンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーション又はコードとも呼ばれ、プログラマブルプロセッサの機械命令を含み、且つ高度プロセス及び/又はオブジェクト指向(つまり、高度プロセス又はオブジェクト指向あるいはそれらの両方)のプログラミング言語、及び/又はアセンブリ言語/機械語(つまり、プログラミング言語又はアセンブリ言語/機械語あるいはそれらの両方)により実装され得る。ここで、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械指令及び/又はデータ(つまり、機械指令又はデータあるいはそれらの両方)をプログラマブルプロセッサに供給するための任意のコンピュータプログラム、機器、及び/又は装置(つまり、コンピュータプログラム、機器、又は装置、あるいはそれらの全て)(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味し、機械可読信号である機械命令を受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令及び/又はデータをプログラマブルプロセッサに供給するための任意の信号を意味する。
ユーザとのやりとりを行うために、ここで記述するシステムと技術は、ユーザに情報を表示するための表示装置(例えば、陰極線管(Cathode Ray Tube,CRT)又はLCD(液晶ディスプレイ)モニタ)と、キーボードおよびポインティングデバイス(例えば、マウス又はトラックボール)とを備えるコンピュータ上で実装することができ、ユーザが該キーボードおよび該ポインティングデバイスを介してコンピュータに入力を提供できる。他の種類の装置もユーザとのやりとりを行うことに用いることができる。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、又は触覚フィードバックであるいかなる形態のセンシングフィードバックであってもよく、且つ音響入力、音声入力若しくは触覚入力を含むいかなる形態でユーザからの入力を受信してもよい。
ここで記述したシステムおよび技術は、バックグラウンドコンポーネントを含む演算システム(例えば、データサーバ)に実施されてもよく、又はミドルウェアコンポーネントを含む演算システム(例えば、アプリケーションサーバ)に実施されてもよく、又はフロントエンドコンポーネントを含む演算システム(例えば、グラフィカルユーザインタフェース又はウェブブラウザを有するユーザコンピュータ)に実施されてもよく、ユーザは該グラフィカルユーザインタフェース又はウェブブラウザを介してここで記述したシステムおよび技術の実施形態とやりとりを行っていてもよく、又はこのようなバックグラウンドコンポーネント、ミドルウェアコンポーネント又はフロントエンドコンポーネントのいずれかの組み合わせを含む演算システムに実施されてもよい。また、システムの各コンポーネントの間は、通信ネットワーク等の任意の形態又は媒体を介してデジタルデータ通信により接続されていてもよい。通信ネットワークとしては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットなどを含む。
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントとサーバは、通常、互いに離れており、通信ネットワークを介してやりとりを行う。クライアントとサーバとの関係は、互いにクライアント-サーバの関係を有するコンピュータプログラムをそれぞれのコンピュータ上で動作することによって生成される。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバ又はクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムにおけるホスト製品であり、従来の物理ホストと仮想専用サーバ(「Virtual Private Server」又は「VPS」と略称する)サービスにおける管理の難度が大きく、ビジネスの拡張性が弱いという欠陥を解決する。サーバは、分散システムのサーバ、あるいはブロックチェーンを結合したサーバであってもよい。
図面のうちのフローチャートおよびブロック図は、本出願の様々な実施例に係るシステム、方法およびコンピュータプログラムによって実現できるアーキテクチャ、機能および動作の表示例である。これについては、フローチャート又はブロック図における各ブロックは、モジュール、プログラムセグメント、又はコードの一部を表すことができる。当該モジュール、プログラムセグメント、又はコードの一部には、所定のロジック機能を実現するための1つ又は複数の実行可能な指令が含まれている。なお、いくつかの代替となる実施態様においては、ブロックに示されている機能は図面に示されているものとは異なる順序で実行することも可能である。例えば、連続して示された2つのブロックは、実際には係る機能に応じて、ほぼ並行して実行されてもよく、時には逆の順序で実行されてもよい。なお、ブロック図及び/又はフローチャート(つまり、ブロック図又はフローチャートあるいはそれらの両方)におけるすべてのブロック、ならびにブロック図及び/又はフローチャートにおけるブロックの組み合わせは、所定の機能又は動作を実行する専用のハードウェアベースのシステムで実装されてもよく、又は専用のハードウェアとコンピュータ指令との組み合わせで実装されてもよい。
本出願の実施例に記載されたユニットは、ソフトウェアで実装されてもよいし、ハードウェアで実装されてもよい。記載されたユニットは、プロセッサに設定されてもよく、例えば、「取得ユニットと、選択ユニットと、初期化ユニットと、テストユニットとを備えるプロセッサ」というように記載されてもよい。ここで、これらのユニットの名称は、ある場合において当該ユニットその自体を限定するものではなく、例えば、取得ユニットは、「テスト対象のスクリプトを取得して、テストに要する複数の環境情報を取得するユニット」として記載されてもよい。
一方、本出願は、コンピュータ可読媒体を更に提供し、当該コンピュータ可読媒体は、上記実施例に記載された装置に含まれるものであってもよく、該装置に実装されずに別体として存在するものであってもよい。上記コンピュータ可読媒体には一つ又は複数のプログラムが担持されており、上記一つ又は複数のプログラムが該装置に実行されると、テスト対象のスクリプトを取得して、テストに要する複数の環境情報を取得するステップであって、環境情報は、ハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含むステップと、テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得し、テスト装置クラスタから、前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択し、前記環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得、前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成することを含むテストステップとを装置に実行させる。
以上の記載は、本出願の好ましい実施例、及び使用される技術的原理に関する説明に過ぎない。当業者であれば、本出願に係る発明の範囲は、上記の技術的特徴の特定の組み合わせからなる技術案に限定されることなく、上記の発明の技術的思想を逸脱しない限り、前記技術的特徴又はそれらの均等の特徴の任意の組み合わせからなる他の技術案も含むべきであることを理解すべきである。例えば、前記特徴と、本出願に開示された類似の機能を持っている技術的特徴(これらに限定されていない)とを互いに置き換えてなる技術案が挙げられる。
なお、出願当初の特許請求の範囲の記載は以下の通りである。
請求項1:
テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得するステップと、
テスト装置クラスタから、前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するステップと、
前記環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得るステップと、
前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するステップと
を備える、サービス側に用いられる継続的インテグレーションテスト方法。
請求項2:
前記複数の環境情報を取得するステップは、
テスト対象の少なくとも2つの環境パラメータ値を取得することであって、前記環境パラメータ値は、ハードウェアパラメータ情報のハードウェアパラメータ値及び非ハードウェアパラメータ情報の非ハードウェアパラメータ値を含むことと、
前記少なくとも2つの環境パラメータ値に対して順列組合せを行い、得られた順列組合せ結果に基づいて、前記複数の環境情報を確定することと
を備える請求項1に記載の方法。
請求項3:
前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の少なくとも2つの環境パラメータ値が行列で表され、前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の数が前記行列の行数に等しい、請求項2に記載の方法。
請求項4:
前記方法は、前記複数の環境情報に対してテストの同時並行処理環境数を確定するステップをさらに含み、
テスト装置クラスタから前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するステップは、前記複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから前記同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択することを含む、請求項1に記載の方法。
請求項5:
前記初期化済みテスト装置を用いて前記テスト対象のスクリプトをテストした後に、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するステップをさらに含む、請求項1~4のいずれか一項に記載の方法。
請求項6:
前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストするステップは、
選択したテスト装置の、IPアドレスを含む登録条件情報を確定することと、
前記登録条件情報及び前記初期化済みテスト装置により、前記テスト対象のスクリプトをテストすることと
を含む、請求項1~4のいずれか一項に記載の方法。
請求項7:
サービス側に用いられる継続的インテグレーションテストシステムであって、前記システムは、継続的インテグレーションサーバとリソース管理サーバとを備え、
前記継続的インテグレーションサーバは、テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得し、前記複数の環境情報を含むテストリクエストを前記リソース管理サーバに送信するように構成され、
前記リソース管理サーバは、前記テストリクエストを受信したことに応答して、テスト装置クラスタから前記環境情報のハードウェアパラメータ情報に適合するテスト装置を選択し、前記環境情報の非ハードウェアパラメータ情報に基づいて、前記テスト装置情報が示すテスト装置を初期化して、初期化済みテスト装置を得るように構成され、
前記継続的インテグレーションサーバはさらに、前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するように構成される、継続的インテグレーションテストシステム。
請求項8:
前記システムは、前記テスト対象のスクリプトを構築するための構築コードを受信したことに応答して、前記構築コードを含む構築トリガー情報を前記継続的インテグレーションサーバに送信するように構成されるコードリポジトリサーバをさらに備え、
前記継続的インテグレーションサーバはさらに、前記構築トリガー情報を受信したことに応答して、前記構築コードに基づいて、前記テスト対象のスクリプトを構築するように構成される、請求項7に記載のシステム。
請求項9:
前記継続的インテグレーションサーバはさらに、前記複数の環境情報に対してテストの同時並行処理環境数を確定するように構成され、
前記リソース管理サーバはさらに、前記複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから前記同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択するように構成される、請求項7又は8に記載のシステム。
請求項10:
前記継続的インテグレーションサーバはさらに、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、テスト終了情報を前記リソース管理サーバに送信するように構成され、
前記リソース管理サーバはさらに、テスト終了情報を受信したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するように構成される、請求項7又は8に記載のシステム。
請求項11:
テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得するように構成される取得ユニットと、
テスト装置クラスタから前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するように構成される選択ユニットと、
前記環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得るように構成される初期化ユニットと、
前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するように構成されるテストユニットと
を備える、サービス側に用いられる継続的インテグレーションテスト装置。
請求項12:
前記複数の環境情報を取得することは、
テスト対象の少なくとも2つの環境パラメータ値を取得することであって、前記環境パラメータ値は、ハードウェアパラメータ情報のハードウェアパラメータ値及び非ハードウェアパラメータ情報の非ハードウェアパラメータ値を含むことと、
前記少なくとも2つの環境パラメータ値に対して順列組合せを行い、得られた順列組合せ結果に基づいて、前記複数の環境情報を確定することと
を備える、請求項11に記載の装置。
請求項13:
前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の少なくとも2つの環境パラメータ値が行列で表され、前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の数が、前記行列の行数に等しい、請求項12に記載の装置。
請求項14:
前記装置は、前記複数の環境情報に対して、テストの同時並行処理環境数を確定するように構成される確定ユニットをさらに備え、
前記選択ユニットは、前記複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから前記同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択することによって、テスト装置クラスタから前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択することを実行するようにさらに構成される、請求項11に記載の装置。
請求項15:
前記初期化済みテスト装置を用いて前記テスト対象のスクリプトをテストした後に、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するように構成される修正ユニットをさらに備える、請求項11~14のいずれか一項に記載の装置。
請求項16:
前記テストユニットはさらに、選択したテスト装置の、IPアドレスを含む登録条件情報を確定することと、前記登録条件情報及び前記初期化済みテスト装置により、前記テスト対象のスクリプトをテストすることとを行うことによって、前記初期化済みテスト装置を用いて前記テスト対象のスクリプトをテストすることを実行するように構成される、請求項11~14のいずれか一項に記載の装置。
請求項17:
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサと通信可能に接続されるメモリと
を備える電子機器であって、
前記メモリには、前記少なくとも1つのプロセッサによって実行可能な指令が格納され、前記指令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに請求項1~6のいずれか一項に記載の方法を実行させることができる、電子機器。
請求項18:
コンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体であって、前記コンピュータ指令はコンピュータに請求項1~6のいずれか一項に記載の方法を実行させるために用いられる、非一時的コンピュータ可読記憶媒体。
請求項19:
プロセッサによって実行されると、請求項1~6のいずれか一項に記載の方法を実現する、コンピュータプログラム。

Claims (16)

  1. テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得するステップと、
    テスト装置クラスタから、前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するステップと、
    前記環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得るステップと、
    前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するステップと
    前記複数の環境情報に対してテストの同時並行処理環境数を確定するステップと
    を備え
    テスト装置クラスタから前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するステップは、前記複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから前記同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択することを含む、サービス側に用いられる継続的インテグレーションテスト方法。
  2. 前記複数の環境情報を取得するステップは、
    テスト対象の少なくとも2つの環境パラメータ値を取得することであって、前記環境パラメータ値は、ハードウェアパラメータ情報のハードウェアパラメータ値及び非ハードウェアパラメータ情報の非ハードウェアパラメータ値を含むことと、
    前記少なくとも2つの環境パラメータ値に対して順列組合せを行い、得られた順列組合せ結果に基づいて、前記複数の環境情報を確定することと
    を備える請求項1に記載の継続的インテグレーションテスト方法。
  3. 前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の少なくとも2つの環境パラメータ値が行列で表され、前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の数が前記行列の行数に等しい、請求項2に記載の継続的インテグレーションテスト方法。
  4. 前記初期化済みテスト装置を用いて前記テスト対象のスクリプトをテストした後に、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するステップをさらに含む、請求項1~のいずれか一項に記載の継続的インテグレーションテスト方法。
  5. 前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストするステッ
    プは、
    選択したテスト装置の、IPアドレスを含む登録条件情報を確定することと、
    記登録条件情報及び前記初期化済みテスト装置により、前記テスト対象のスクリプトをテストすることと
    を含む、請求項1~のいずれか一項に記載の継続的インテグレーションテスト方法。
  6. サービス側に用いられる継続的インテグレーションテストシステムであって、前記継続的インテグレーションテストシステムは、継続的インテグレーションサーバとリソース管理サーバとを備え、
    前記継続的インテグレーションサーバは、テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得し、前記複数の環境情報を含むテストリクエストを前記リソース管理サーバに送信するように構成され、
    前記リソース管理サーバは、前記テストリクエストを受信したことに応答して、テスト装置クラスタから前記環境情報のハードウェアパラメータ情報に適合するテスト装置を選択し、前記環境情報の非ハードウェアパラメータ情報に基づいて、前記テスト装置を初期化して、初期化済みテスト装置を得るように構成され、
    前記継続的インテグレーションサーバはさらに、前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するように構成され
    前記継続的インテグレーションサーバはさらに、前記複数の環境情報に対してテストの同時並行処理環境数を確定するように構成され、
    前記リソース管理サーバはさらに、前記複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから前記同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択するように構成される、継続的インテグレーションテストシステム。
  7. 前記継続的インテグレーションテストシステムは、前記テスト対象のスクリプトを構築するための構築コードを受信したことに応答して、前記構築コードを含む構築トリガー情報を前記継続的インテグレーションサーバに送信するように構成されるコードリポジトリサーバをさらに備え、
    前記継続的インテグレーションサーバはさらに、前記構築トリガー情報を受信したことに応答して、前記構築コードに基づいて、前記テスト対象のスクリプトを構築するように構成される、請求項に記載の継続的インテグレーションテストシステム。
  8. 前記継続的インテグレーションサーバはさらに、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、テスト終了情報を前記リソース管理サーバに送信するように構成され、
    前記リソース管理サーバはさらに、テスト終了情報を受信したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するように構成される、請求項又はに記載の継続的インテグレーションテストシステム。
  9. テスト対象のスクリプトを取得して、テストに要するハードウェアパラメータ情報及び非ハードウェアパラメータ情報を含む複数の環境情報を取得するように構成される取得ユニットと、
    テスト装置クラスタから前記環境情報におけるハードウェアパラメータ情報に適合するテスト装置を選択するように構成される選択ユニットと、
    前記環境情報における非ハードウェアパラメータ情報に基づいて、該テスト装置を初期化して、初期化済みテスト装置を得るように構成される初期化ユニットと、
    前記初期化済みテスト装置を用いて、前記テスト対象のスクリプトをテストして、前記環境情報に対応するテスト結果を生成するように構成されるテストユニットと
    前記複数の環境情報に対して、テストの同時並行処理環境数を確定するように構成される確定ユニットと
    を備え
    前記選択ユニットは、前記複数の環境情報のうちの同時並行処理環境数の環境情報に対して、テスト装置クラスタから前記同時並行処理環境数の環境情報のハードウェアパラメータ情報に適合するテスト装置を選択するようにさらに構成される、サービス側に用いられる継続的インテグレーションテスト装置。
  10. 前記複数の環境情報を取得することは、
    テスト対象の少なくとも2つの環境パラメータ値を取得することであって、前記環境パラメータ値は、ハードウェアパラメータ情報のハードウェアパラメータ値及び非ハードウェアパラメータ情報の非ハードウェアパラメータ値を含むことと、
    前記少なくとも2つの環境パラメータ値に対して順列組合せを行い、得られた順列組合せ結果に基づいて、前記複数の環境情報を確定することと
    を備える、請求項に記載の継続的インテグレーションテスト装置。
  11. 前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の少なくとも2つの環境パラメータ値が行列で表され、前記ハードウェアパラメータ情報及び非ハードウェアパラメータ情報の両方の数が、前記行列の行数に等しい、請求項10に記載の継続的インテグレーションテスト装置。
  12. 前記初期化済みテスト装置を用いて前記テスト対象のスクリプトをテストした後に、採用した環境情報のうち最後に採用した環境情報をテスト終了したことに応答して、選択したテスト装置の状態タグを未選択状態に修正するように構成される修正ユニットをさらに備える、請求項11のいずれか一項に記載の継続的インテグレーションテスト装置。
  13. 前記テストユニットはさらに、選択したテスト装置の、IPアドレスを含む登録条件情報を確定することと、前記登録条件情報及び前記初期化済みテスト装置により、前記テスト対象のスクリプトをテストすることとを行うことによって、前記初期化済みテスト装置を用いて前記テスト対象のスクリプトをテストすることを実行するように構成される、請求項11のいずれか一項に記載の継続的インテグレーションテスト装置。
  14. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサと通信可能に接続されるメモリと
    を備える電子機器であって、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な指令が格納され、前記指令が前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに請求項1~のいずれか一項に記載の継続的インテグレーションテスト方法を実行させることができる、電子機器。
  15. コンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体であって、前記コンピュータ指令はコンピュータに請求項1~のいずれか一項に記載の継続的インテグレーションテスト方法を実行させるために用いられる、非一時的コンピュータ可読記憶媒体。
  16. プロセッサによって実行されると、請求項1~のいずれか一項に記載の継続的インテグレーションテスト方法を実現する、コンピュータプログラム。
JP2022006332A 2021-05-14 2022-01-19 継続的インテグレーションテスト方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラム Active JP7387773B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110528919.8 2021-05-14
CN202110528919.8A CN113238943A (zh) 2021-05-14 2021-05-14 持续集成测试的方法和装置

Publications (2)

Publication Number Publication Date
JP2022158903A JP2022158903A (ja) 2022-10-17
JP7387773B2 true JP7387773B2 (ja) 2023-11-28

Family

ID=77134418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022006332A Active JP7387773B2 (ja) 2021-05-14 2022-01-19 継続的インテグレーションテスト方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラム

Country Status (5)

Country Link
US (1) US20220138093A1 (ja)
EP (1) EP4075283A1 (ja)
JP (1) JP7387773B2 (ja)
KR (1) KR20220013947A (ja)
CN (1) CN113238943A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115373927B (zh) * 2022-10-25 2023-04-21 深圳市亿联无限科技股份有限公司 产品测试方法、装置、电子设备和计算机可读介质
CN116881064B (zh) * 2023-09-06 2023-12-15 Tcl通讯科技(成都)有限公司 终端测试方法、装置、设备和存储介质
CN117149665B (zh) * 2023-10-31 2024-02-20 芯瞳半导体技术(山东)有限公司 持续集成方法、控制设备、持续集成系统及存储介质
CN117555626A (zh) * 2023-11-29 2024-02-13 沐曦集成电路(上海)有限公司 基于Jenkins的硬件测试方法、电子设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071838A1 (en) 2003-09-30 2005-03-31 Keisuke Hatasaki System-updating method and computer system adopting the method
US20070168970A1 (en) 2005-11-07 2007-07-19 Red Hat, Inc. Method and system for automated distributed software testing
WO2020008991A1 (ja) 2018-07-04 2020-01-09 日本電気株式会社 検証自動化装置、検証自動化方法、およびコンピュータ読み取り可能な記録媒体
WO2020171952A1 (en) 2019-02-22 2020-08-27 Microsoft Technology Licensing, Llc Machine-based recognition and dynamic selection of subpopulations for improved telemetry

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0793187A (ja) * 1993-09-27 1995-04-07 Matsushita Electric Ind Co Ltd 自動テスト方法および自動テスト装置
US7337431B1 (en) * 2003-12-23 2008-02-26 Sprint Communications Company L.P. Distributed large-scale application benchmark system
US8433953B1 (en) * 2007-08-13 2013-04-30 The Mathworks, Inc. Automatic configuration of a test environment
US8533676B2 (en) * 2011-12-29 2013-09-10 Unisys Corporation Single development test environment
CA2889387C (en) * 2011-11-22 2020-03-24 Solano Labs, Inc. System of distributed software quality improvement
US9495281B2 (en) * 2012-11-21 2016-11-15 Hewlett Packard Enterprise Development Lp User interface coverage
GB2516986B (en) * 2013-08-06 2017-03-22 Barclays Bank Plc Automated application test system
CN106933729A (zh) * 2015-12-29 2017-07-07 苏宁云商集团股份有限公司 一种基于云平台的测试方法和系统
CN110706147B (zh) * 2019-09-29 2023-08-11 阿波罗智联(北京)科技有限公司 图像处理的环境确定方法、装置、电子设备和存储介质
CN111309602A (zh) * 2020-02-04 2020-06-19 北京同邦卓益科技有限公司 一种软件测试方法、装置及系统
US20220138089A1 (en) * 2020-10-30 2022-05-05 EMC IP Holding Company LLC Smart test executor
CN112306880A (zh) * 2020-11-02 2021-02-02 百度在线网络技术(北京)有限公司 测试方法、装置、电子设备和计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071838A1 (en) 2003-09-30 2005-03-31 Keisuke Hatasaki System-updating method and computer system adopting the method
JP2005107803A (ja) 2003-09-30 2005-04-21 Hitachi Ltd システム更新方法、および、それを実行するための計算機システム
US20070168970A1 (en) 2005-11-07 2007-07-19 Red Hat, Inc. Method and system for automated distributed software testing
WO2020008991A1 (ja) 2018-07-04 2020-01-09 日本電気株式会社 検証自動化装置、検証自動化方法、およびコンピュータ読み取り可能な記録媒体
WO2020171952A1 (en) 2019-02-22 2020-08-27 Microsoft Technology Licensing, Llc Machine-based recognition and dynamic selection of subpopulations for improved telemetry

Also Published As

Publication number Publication date
CN113238943A (zh) 2021-08-10
KR20220013947A (ko) 2022-02-04
US20220138093A1 (en) 2022-05-05
EP4075283A1 (en) 2022-10-19
JP2022158903A (ja) 2022-10-17

Similar Documents

Publication Publication Date Title
JP7387773B2 (ja) 継続的インテグレーションテスト方法、システム及び装置、電子機器、記憶媒体並びにコンピュータプログラム
US10387292B2 (en) Determining application test results using screenshot metadata
CN110765024B (zh) 模拟测试方法、装置、电子设备和计算机可读存储介质
JP7074964B2 (ja) セッション推奨方法、装置及び電子機器
US20210081309A1 (en) Mapping interactive elements in an application user interface
JP7030177B2 (ja) テスト方法及び装置
CN111582477B (zh) 神经网络模型的训练方法和装置
CN111639027B (zh) 一种测试方法、装置及电子设备
CN111582453A (zh) 生成神经网络模型的方法和装置
US11843674B2 (en) Virtual workspace experience visualization and optimization
US11216482B2 (en) Systems and methods for access to multi-tenant heterogeneous databases
WO2022100075A1 (zh) 性能检测方法、装置、电子设备和计算机可读介质
US11954013B2 (en) Method of testing applet performance, electronic device, and computer-readable medium
CN109815119A (zh) 一种app链接渠道的测试方法及装置
CN107229565B (zh) 测试方法和装置
JP2022078129A (ja) データラベリング方法、装置、電子デバイス、コンピュータ可読記憶媒体及びコンピュータプログラム
CN111813407B (zh) 游戏开发方法、游戏运行方法、装置和电子设备
KR20210038975A (ko) 세션 추천 방법, 장치 및 전자 기기
CN113377638B (zh) 性能测试工具的生成方法和装置
CN111639032B (zh) 用于测试应用的方法和装置
CN113836021A (zh) 测试方法、装置、电子设备及介质
CN117033188A (zh) 界面设计器的测试方法、装置、存储介质及计算机设备
CN116541224A (zh) 性能测试方法、装置、电子设备与可读存储介质
CN111582375A (zh) 数据增强策略搜索方法、装置、设备以及存储介质
CN117785584A (zh) 芯片测试方法、装置、电子设备、介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230714

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230719

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231013

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20231020

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231115

R150 Certificate of patent or registration of utility model

Ref document number: 7387773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150