(57)【要約】  本発明は、ファームウェアとして電子デバイスに組み込まれているコンピュータプログラム、システム又はソフトウェアなどのシステム（１０１）の試験方法を提供する。本方法は、少なくとも、被試験システムのモデルを作成し、システム上で静的コード分析を実行して被試験システムのエラーを示す１つ又は複数のアラートを生成し、アラートを使用してシステムのモデル（１０５）を適合させ、適合したシステムのモデルを使用してテストスイート（１０７）を生成し、生成されたテストスイートを被試験システム上で実行することを含む。本発明は、また、静的コード分析ツールとモデルベースの試験ツールとを含む対応する試験キットを提供し、モデルベース試験ツールは静的コード分析ツールによって生成された結果を使用する。本システム試験方法及び試験キットは、他よりも多くの試験を必要とする被試験システムの一部又複数の部分を静的コード分析によって識別し、他よりも多くシステムのそれらの部分に集中させてテストスイートの実行することができるという利点を有する。したがって、試験サイクルの長さを短縮しながら、システム内の欠陥、バグ又はエラーを発見する機会を増加させることができる。【選択図】図１
2019537779.tif 000002
【特許請求の範囲】
【請求項１】
システム（１０１）の試験方法であって、前記方法は、少なくとも、
被試験システムのモデルを作成し、
前記被試験システム上で静的コード分析を実行して前記被試験システムのエラーを示す１つ又は複数のアラート（１０３）を生成し、
前記アラートを使用して前記システムのモデルを適合させ、
前記適合したシステムのモデル（１０５）を使用してテストスイート（１０７）を生成し、
前記生成されたテストスイートを実行すること、を含む方法。
【請求項２】
有限数の異なる状態で存在することができ、かつ、前記異なる状態のそれぞれの有限状態機械の統計的確率を示す動作プロファイルを有し、前記有限状態機械として前記被試験システムをモデル化するマルコフ連鎖モデルとして前記被試験システムのモデルを作成し、
前記１つ又は複数のアラートを使用して、１つ又は複数の前記統計的確率のそれぞれを変更することによって有限状態機械の動作プロファイルを適合させる請求項１に記載の方法。
【請求項３】
前記状態に対するアラートの数に比例して、前記異なる状態の前記有限状態機械の前記統計的確率を変更する請求項２に記載の方法。
【請求項４】
前記適合したシステムのモデルは、１つ又は複数のテストスクリプトを含み、前記方法は、
前記適合したモデルから少なくとも１つの前記テストスクリプトを使用して前記テストスイートを生成し、
試験自動化を使用して前記被試験システム上で前記テストスイートを実行することを含む請求項１乃至請求項３のいずれか一項に記載の方法。
【請求項５】
前記被試験システムは、複数の異なる動作モードを含み、前記方法は、
複数の異なるモジュールを含む前記被試験システムのモデルを作成し、
各モードの前記アラート数に応じて、前記被試験システムの前記動作モードのそれぞれで静的コード分析を実行し、
各モードの前記アラート数に応じて、前記システムの動作モードのそれぞれで１つ又は複数のテストシナリオを作成することによって前記テストスイートを生成し、
前記システムの動作モードのそれぞれで前記生成されたテストシナリオを動作することによって前記被試験システム上で前記テストスイートを実行することを含む請求項１乃至請求項４のいずれか一項に記載の方法。
【請求項６】
さらに、前記テストスイートを実行することによって発見した１つ又は複数のエラーを修復するためにシステムを修正し、
回帰テストとして、請求項１乃至請求項５のいずれか一項に記載の方法を前記修正されたシステムに適用することを含む請求項１乃至請求項５のいずれか一項に記載の方法。
【請求項７】
前記被試験システムは、電子デバイスに組み込まれるコンピュータプログラム、コード、システム又はソフトウェアである請求項１乃至請求項６のいずれか一項に記載の方法。
【請求項８】
静的コード分析ツール（１０２）と、
モデルベース試験ツール（１０６）と、を含み、
前記静的コード分析ツール（１０２）は、前記システム上で静的コード分析を実行するように構成され、前記被試験システムのエラーを示すアラートを生成し、前記アラートが使用されて前記被試験システムのモデル（１０５）を適合させ、
前記モデルベース試験ツール（１０６）は、前記被試験システムでの実行のために、前記アラートに基づいて適合したシステムのモデルからテストスイートを生成するように構成されるシステム試験キット。
【請求項９】
さらに、前記被試験システム上で前記生成されたテストスイートを実行するように構成された試験自動化ツールを含む請求項８に記載のシステム試験キット。
【請求項１０】
請求項１乃至請求項７のいずれか一項に記載の方法に従って試験されたコンピュータプログラム、コード、システム又はソフトウェアを含む電子デバイス。
【請求項１１】
請求項８又は請求項９に記載のシステム試験キットを使用して試験されたコンピュータプログラム、コード、システム又はソフトウェアを含む電子デバイス。
【請求項１２】
前記電子デバイスは、台所家電製品、洗濯機、食器洗い機、回転式乾燥機、冷蔵庫、冷凍庫、調理器具、照明、暖房、換気、空調及び／又は温水システム、軟水化装置、セキュリティシステム、ホームシネマシステム及びハイファイオーディオシステムの少なくとも一方を含むホームエンターテイメントシステム、テレビ、視聴覚装置、スチル又はビデオカメラ、携帯型ナビゲーションデバイス、ゲーム機、電子ブックリーダ、携帯電話、車両制御システム、医療デバイス、ホームオートメーションシステム、自動販売機、現金自動預け払い機、及び売上精算機のいずれか１つである請求項１０又は請求項１１に記載の電子デバイス。
【請求項１３】
電子デバイスは、少なくとも、コンピュータプログラム、コード、システム又はソフトウェアを含み、かつ、前記電子デバイスの製造方法は、少なくとも、請求項１乃至請求項７のいずれか一項に記載のシステムの試験方法を前記コンピュータプログラム、コード、システム又はソフトウェアに適用することを含む電子デバイスの製造方法。
【請求項１４】
請求項１乃至請求項７及び請求項１２のいずれか一項に記載の１つ又は複数の前記方法を実行するためのコンピュータプログラム製品若しくはプログラムコード又はシステム。
【請求項１５】
請求項８又は請求項９に記載のシステム試験キットを実施するコンピュータプログラム若しくはプログラムコード又はシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、請求項１に記載のシステムの試験方法、請求項８に記載のシステム試験キット、請求項１０又は請求項１１に記載の電子デバイス、請求項１３に記載の電子デバイスの製造方法、及び請求項１４又は請求項１５に記載のコンピュータプログラム製品若しくはプログラムコード又はシステムに関する。
【背景技術】
【０００２】
新しい電子デバイスに対する消費者の要望は、消費者が、可能な限りの最短時間で、可能な限りの最低コストで、及び、そのようなデバイスの中に組み込まれるあらゆるコンピュータプログラム、システム又はソフトウェア（以下、簡潔に「デバイスソフトウェア」と呼ぶ）の可能な限りの最小限のバグやエラーで、各新世代技術を切望することである。そのようなデバイスソフトウェアは、多くの場合ファームウェアと呼ばれる。これは、その信頼性を維持しながら、可能な限り迅速に各新世代のデバイスソフトウェアを生産するように、電子デバイスの生産者に圧力をかける。これは、伝統的な方法に代わり、デバイスソフトウェアを生産するための「アジャイル」方法を開発することを導いた。アジャイル方法においては、一度でデバイスソフトウェアの最終版をリリースするよりは、むしろ新機能を追加し、かつ、エンドユーザーの経験を反映させながら、デバイスソフトウェアの新たなバージョンが継続的にリリースされる。その結果、回帰テストは、新たにリリースされる各バージョンに対して実行されなければならない。回帰テストは、デバイスソフトウェアの最新バージョンが、以前の修正されたバージョンよりも、多く及び／又は新たなエラーを示す状態に回帰されているかどうかをチェックするので、そのように呼ばれる。回帰テストの目的は、あらゆるそのような欠陥又はエラーを識別し、修正を可能にすることである。最小数のエラーとするためは、１つのテストサイクルだけでなく複数でデバイスソフトウェアの詳細な試験を行うことが望ましい。一方、テレビなどの複雑なシステムのデバイスソフトウェアの一回のテストサイクルであっても、かなりの時間を要する。これは、試験品質を低下させることなく、テストサイクルを短縮することを目指した効果的な試験設計の新技術の開発につながっている。
【０００３】
１つの公知技術は、コード内のエラーを識別するために、コンピュータプログラムコードの静的コード分析を行う。静的コード分析とは、コードを実行しないコンピュータプログラムコードの分析をいう。対照的に、動的コード解析とは、実際の又は仮想のプロセッサ上でコードを実行することによって行われるコンピュータプログラムコードの分析をいう。静的コード分析では、分析はテストツールによって行うことができ、１つ又は複数のアラートを生成し、各アラートは試験されたコードのエラーを示す。
【０００４】
モデルベース試験は、コンピュータプログラム又はシステムの別の試験方法であり、被試験システム（ＳＵＴ）のモデルを作成する。モデルは、ＳＵＴの、期待され、意図され、又は予測される動作を抽象的表したものである。モデルベース試験では、モデルが使用されて、モデルと同程度の抽象レベルでの１つ又は複数の以上のテストシナリオを作成する。これらのテストシナリオは、同時に抽象的なテストスイートを形成する。次に、期待され、意図され又は予測されるＳＵＴの動作と比較するために、抽象的なテストスイートが使用され、ＳＵＴそれ自体で実行のための対応する実行可能なテストスイートを作成する。
【０００５】
モデルベース試験を実行する公知方法の１つは、マルコフ連鎖を使用することである。この技術は、ある場合において適用可能であり、動作プロファイルを有する有限状態機械としてＳＵＴのモデルを作成する。有限状態機械（ＦＳＭ）は、有限数の異なる状態で存在することができるシステムである。動作プロファイルは、これらの異なる状態のそれぞれのＦＳＭの統計的確率を示す。例えば、動作プロファイルは、異なる状態のうちの第１の状態から異なる状態のうちの第２の状態への１つ又は複数の遷移を行うＦＳＭの１つ又は複数の統計的確率を含むことができる。
【０００６】
テスト自動化は、コンピュータプログラム又はシステムを試験するためのさらに別の方法である。これは、被試験のコンピュータプログラム又はシステムと異なるコンピュータソフトウェアを使用し、１つ又は複数のテストシナリオをＳＵＴに適用し、これらのテストシナリオの結果としてのＳＵＴの実際の動作と、期待され、意図され又は予測されるＳＵＴの動作とを比較する。
【０００７】
静的コード分析、モデルベース試験及びテスト自動化はすべて伝統的な試験手法に対する改良であるが、デバイスソフトウェアを作成するアジャイル方法に対応することができ、かつ、そのようなアジャイル方法を用いて作成されたデバイスソフトウェアを含む電子デバイスの信頼性を改良することができるシステムの改良された試験方法を提供することが依然として望まれている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
したがって、本発明の目的は、システムの試験方法、システム試験キット、そのような方法に従って試験された又はそのような試験キットを使用したシステムを含む電子デバイス、そのようなシステムの効果的な試験方法による電子デバイスの製造方法、及び別のシステムを試験するためのコンピュータプログラム製品若しくはプログラムコード又はシステムを提供する。
【課題を解決するための手段】
【０００９】
本発明の目的は、請求項１に記載のシステムの試験方法によって解決される。本方法は、少なくとも、被試験システムのモデルを作成するステップと、システム上で静的コード分析を実行して、被試験システムのそれぞれのエラーを示す１つ又は複数のアラートを生成するステップと、アラートを使用してシステムのモデルを適合させるステップと、適合したシステムのモデルを使用してテストスイートを生成するステップと、被試験システム上で生成されたテストスイートを実行するステップと、を含む。
【００１０】
言い換えれば、本システムの試験方法は、システムのモデルベース試験に対して適合したシステムのモデルを使用する前に、システムの静的コード分析の結果を取得し、これらの結果を使用して演繹的なシステムのモデルを適合させる。本手法は、他よりも多くの試験を必要とするシステムの一部又は複数の部分を静的コード分析によって識別することができ、他よりも多くシステムのそれらの部分に集中させてシステム上のテストスイートの実行することができるという利点を有する。したがって、テストスイート内の異なるテストシナリオの総数及び／又はモデルベース試験を実行するのに必要な時間の両方を削減することができる一方で、システム内のあらゆる欠陥、バグ又はエラーを発見する機会を増やすことができる。さらに、システム内のあらゆる欠陥、バグ又はエラーを発見する機会を、システムの全ての部分を詳細に掘り下げる必要なく増加させることができる。
【００１１】
本システムの試験方法の技術的効果は、システムがそのような試験を受けていない場合よりも、そのようなシステムを含む電子デバイスをより安定化させ、欠陥又はエラーを起こしにくいようにすることを含む。本方法の技術的効果は、そのようなシステムを含む電子デバイスの開発、試験及び製造に必要な時間も、そのデバイスの信頼性を低下させることなく、かつ、そのようなデバイスの製造コストに対する付随する利点を伴って減らすことができることを含む。
【００１２】
本発明の有利な実施形態は、任意の請求項及び／又は以下の説明の一部に従って構成することができる。
【００１３】
好ましくは、被試験システムのモデルは、有限数の異なる状態で存在することができ、かつ、動作プロファイルを有する有限状態機械（ＦＳＭ）として被試験システムをモデル化するマルコフ連鎖モデルとして作成される。動作プロファイルは、これらの異なる状態のそれぞれの有限状態機械の統計的確率を示す。次に、静的コード分析によって生成された１つ又は複数のアラートを使用して、これらの統計的確率の１つ又は複数のそれぞれを変更することによって、有限状態機械の動作プロファイルを適合させる。動作プロファイルが異なる状態間で１つ又は複数の遷移を行うＦＳＭの１つ又は複数の統計的確率を含む場合、動作プロファイルは、静的コード分析によって生成されたアラートに基づいてこれらの状態遷移の確率をそれぞれの変更することによって適合することができる。
【００１４】
被試験システムのモデルがマルコフ連鎖モデルとして作成される場合、好ましくは、異なる状態にある有限状態機械の統計的確率は、その状態に対するアラートの数に比例して変更される。例えば、ＦＳＭには２個の状態しかないとする。システムの静的コード分析が、これら２個の状態のうちの第１の状態に対して４個のアラートを生成し、２個の状態のうちの第２の状態に対して７個のアラートを生成する場合、この例によれば、モデルは、第１の状態にある有限状態機械の統計的確率と、第２の状態にある有限状態機械の統計的確率も４：７の比になるように適合すべきである。
【００１５】
好ましくは、適合したシステムのモデルは１つ又は複数のテストスクリプトを含む。もしそうであれば、本方法は、好ましくは、適合したモデルからテストスクリプトのうちの少なくとも１つを使用してテストスイートを生成するステップと、テスト自動化を使用して被試験システム上でテストスイートを実行するステップと、を含む。これは、全体の試験手順、が静的コード分析、モデルベース試験ト及びテスト自動化を全て一緒に使用して統合された全体として実行することができるという利点を有し、これら３つの異なる試験手法のそれぞれの結果を、次の試験手法の入力として順番に使用することができる。
【００１６】
被試験システムが複数の異なる動作モードを含む場合、本方法は、被試験システムの異なる動作モードのそれぞれ対応する複数の異なるモジュールを含む被試験システムのモデルを作成するステップを含むことが好ましい。そうであれば、本方法は、また、被試験システムの動作モードのそれぞれに対して静的コード分析を実行し、各モードに対してそれぞれのアラート数を生成するステップと、各モードのそれぞれのアラート数に応じてシステムの各動作モードに対して１つ又は複数のテストシナリオを作成することによってテストスイートを生成するステップと、システムのそれぞれの動作モード上で生成されたテストシナリオを動作することによって被試験システム上でテストスイートを実行するステップと、を含む。例えば、異なる動作モードは、被試験システムの異なる機能モジュールであってもよい。そうであれば、これは、エラーを起こしやすい機能モジュールが静的コード分析によって識別され、同じエラーを起こしやすい機能モジュールが、識別されなかったモジュールよりも多くのテストシナリオを受けることを可能にする。
【００１７】
好ましくは、本方法は、さらに、テストスイートを実行することによって発見された１つ又は複数のエラーを修復するために被試験システムを修正するステップと、回帰テストとして修正されたシステムに上述したいずれかの方法を適用するステップと、を含む。 したがって、本方法は、新しく開発されたシステム又は他の方法を使用して以前に試験されたシステムだけに適用する必要はなく、既に以前に同じ試験方法を受けたシステムの修正バージョンにも適用することができる。
【００１８】
本発明は、また、システム試験キットにも関する。システム試験キットは、少なくとも、静的コード分析ツール及びモデルベース試験ツールを含む。静的コード分析ツールは、システム上で静的コード分析を実行して被試験システム内のエラーを示すアラートを生成するように構成され、アラートを使用して被試験システムのモデルを適合させる。モデルベース試験ツールは、被試験システムでの実行のために、アラートに基づいて適合したシステムのモデルからテストスイートを生成するように構成される。
【００１９】
好ましくは、システム試験キットは、さらに、被試験システムで生成されたテストスイートを実行するように構成された試験自動化ツールを含む。
【００２０】
本発明は、さらに、請求項１〜７のいずれか一項に記載の方法に従って試験される、若しくは、請求項８又は請求項９に記載のシステム試験キットを使用する、コンピュータプログラム、コード、システム又はソフトウェアを含む電子デバイスに関する。電子デバイスは、台所家電製品、洗濯機、食器洗い機、回転式乾燥機、冷蔵庫、冷凍庫、調理器具、照明、暖房、換気、空調及び／又は温水システム、軟水化装置、セキュリティシステム、ホームシネマシステム及びハイファイオーディオシステムの少なくとも一方を含むホームエンターテイメントシステム、テレビ、視聴覚装置、スチル又はビデオカメラ、携帯型ナビゲーションデバイス、ゲーム機、電子ブックリーダ、携帯電話、車両制御システム、医療デバイス、ホームオートメーションシステム、自動販売機、現金自動預け払い機、及び売上精算機のいずれか１つであってもよい。一般に、電子デバイスは、継続的な修正を受け、時としてファームウェアとしても知られる、組み込みデバイスソフトウェアを含むあらゆる電子デバイスであってもよい。
【００２１】
本発明は、また、電子デバイスの製造方法に関する。電子デバイスは、少なくとも、コンピュータプログラム、コード、システム又はソフトウェアを含み、電子デバイスの製造方法は、少なくとも、電子デバイスのコンピュータプログラム、コード、システム又はソフトウェアに請求項１〜７のいずれか一項に記載のシステムの試験方法を適用することを含む。
【００２２】
本発明は、さらに、本明細書に記載の方法の１つ又は複数を実行する、若しくは、請求項８又は請求項９に記載のシステム試験キットを実行する、コンピュータプログラム製品又はプログラムコード又はシステムに関する。
【００２３】
本発明のさらなる特徴、目的及び利点を、本発明の例示的な構成要素が示される添付の図面とともに説明する。それらの機能に関して互いに少なくとも本質的に同等である本発明に係るデバイス及び方法の構成は、同じ参照番号によって示すことができ、そのような構成要素は、全ての図面において示され、又は説明される必要はない。
【００２４】
以下の説明において、本発明は、添付の図面に関しては単なる例として説明される。
【図面の簡単な説明】
【００２５】
【図１】システムの試験方法の概略ブロック図である。
【図２】システムの試験方法の一実施形態の概略フロー図である。
【図３】被試験システムの第１モデルの概略図である。
【図４】図３と同じ被試験システムの第２モデルの概略図である。
【発明を実施するための形態】
【００２６】
図１は、システムの試験方法のブロック図を概略的に示す。図１において、直角の矩形ボックスはアーチファクトを表し、丸角の長方形のボックスはツールを表す。ボックス１０１は、電子デバイスに組み込むための新しいバージョンのコンピュータプログラム、システム、又はソフトウェア（以下、単に「デバイスソフトウェア」という）などの被試験システム（ＳＵＴ）を表す。ボックス１０２は、デバイスソフトウェア１０１上で静的コード分析を実行するための静的コード分析ツールを表す。ボックス１０３は、静的コード分析の結果を表し、それは１つ又は複数のアラートであってもよく、各アラートはデバイスソフトウェア１０１のそれぞれのエラーを示す。ボックス１０４は、静的コード分析１０３の結果を使用し、例えば、ＳＵＴのモデル内の１つ又は複数の状態遷移の統計的確率を修正することによって、ＳＵＴのモデルを適合させることを表す。したがって、ボックス１０５は、適合したＳＵＴのモデルを表す。ボックス１０６は、一連のテストシナリオを生成するためのモデルベース試験ツールを表す。したがって、モデルベース試験ツール１０６は、適合したモデル１０５を使用してテストスイート１０７を生成し、テストスイート１０７は、デバイスソフトウェア内の欠陥、バグ又はエラーを発見するために、被試験システム１０１上で実行される。
【００２７】
図２は、システムの試験方法の一実施形態のフロー図を概略的に示す。ボックス２０１は、静的コード分析ツールによる被試験システム（ＳＵＴ）上の静的コード分析の実行を表す。矢印２０２は、１つ又は複数のアラートなどの静的コード分析の結果を表し、各アラートは、ＳＵＴ内のそれぞれのエラーを示す。ボックス２０３は、静的コード分析の結果２０２に従ってＳＵＴのモデルを適合させることを表す。矢印２０４は、モデルベース試験ツールによって適合したモデル２０３から生成された一連のテストシナリオを表す。ボックス２０５は、試験自動化ツールによるＳＵＴ上の本テストスイートのその後の実行を表す。したがって、本実施形態は、システムの試験方法と同じ試験手法、すなわち、静的コード分析、モデルベース試験及び試験自動化の異なる３種類の組み合わせを表す。
【００２８】
一例として、図３は被試験システムのモデルを示す。被試験システムは、いわゆる「スマート」テレビシステム、すなわちインターネット接続性も含むテレビシステムである。この例では、スマートテレビシステムは１１個の異なる動作モードを有する。これらは、
電子番組ガイド（ＥＰＧ）、
オープンソースブラウザ（ＯＢ）、
ＹｏｕＴｕｂｅ（登録商標）（ＹＴ）、
ウェブなどのウェブポータル、インターネット又はイントラネットポータル（Ｐｏｒｔａｌ）、
ＢＢＣｉＰｌａｙｅｒ（登録商標）（ｉＰｌａｙｅｒ）、
デジタルリビングネットワークアライアンス（ＤＬＮＡ（登録商標））、
４Ｋハイビジョンテレビ放送（ＴＶ−４Ｋ／ＨＤ）、
Ｎｅｔｆｌｉｘ（登録商標）、
メディアブラウザ（ＭＢ）、
ハイブリッド放送ブロードバンドＴＶ（ＨＢＢＴＶ）、及び
テレビ番組追跡アプリ（ＦＴＶ）
である。
【００２９】
したがって、図３に示されるテレビシステムのモデルは、１１個の異なるモジュールを含み、それぞれがスマートテレビシステムの異なる動作モードのうちの１つにそれぞれ対応する。このモデルはマルコフ連鎖モデルでもある。したがって、モデルは、開始状態３０１（図３の左側に示す）、モード選択状態３０２、モード終了状態３０３、及び停止状態３０４（図３の右側に示す）、並びにモデルの１１個の異なるモジュールの１つにそれぞれが対応する１１個の他の状態３０５を有する有限状態機械である。有限状態機械は動作プロファイルも有するので、モデルでは、統計的確率が異なる状態間の可能な遷移のそれぞれに割り当てられる。図３から分かるように、開始状態３０１からモード選択状態３０２への状態遷移に割り当てられる統計的確率は１である。モード選択状態３０２からモデルの１１個の異なるモジュールの１つにそれぞれが対応する１１個の状態３０５の１つへの各状態遷移に割り当てられる統計的確率は、全て最初は互いに等しく１１／１１＝０．０９０９・・・に設定される。これら１１個の状態３０５の１つからモード終了状態３０３への各状態遷移に割り当てられた統計的確率も全て１に等しい。一方、モード終了状態３０３からモード選択状態３０２及びモード終了状態に戻る、並びに、モード終了状態３０３から停止状態３０４への状態遷移に割り当てられた統計的確率もまた全て最初は互いに等しく０．５に設定される。言い換えれば、モデルは、最初はシステムが期待通りに動作する（すなわちモード選択状態３０２に戻る）のと同じくらい故障する（すなわち停止状態３０４に達する）ことがあり得ると予測する。
【００３０】
ＭａＴｅＬｏ（登録商標）などのモデルベース試験ツールをこのモデルに適用する場合、被試験スマートテレビシステムの動作モードごとに１０個のテストシナリオが作成される。被試験システムが１１個の動作モードを有するので、合計１１０個のテストシナリオのテストスイートが生成される。出願人によって開発されたＶｅｓＴＡと呼ばれる独自の試験自動化ツールを使用してスマートテレビシステムでこのテストスイートを実行すると約５時間かかることがわかり、ＹｏｕＴｕｂｅ（登録商標）の動作モードの試験中の１つと、ＤＬＮＡ（登録商標）の動作モードの試験中の１つ、の２つの故障問題を発見した。
【００３１】
次に、システムの各動作モードに対して静的コード分析を実行し、各モードについてそれぞれのアラート数を生成した。この例では、これにより合計１０６個のアラートが生成され、システムの１１個の異なる動作モードの間で以下のように区分された。
ＥＰＧ：                    ４
ＯＢ：                      １２
ＹＴ：                      ２２
ポータル：                  ２２
ｉＰｌａｙｅｒ：            ９
ＤＬＮＡ（登録商標）：      ４
ＴＶ−４Ｋ／ＨＤ：          １
Ｎｅｔｆｌｉｘ（登録商標）：８
ＭＢ：                      ３
ＨＢＢＴＶ：                ８
ＦＴＶ：                    １３
【００３２】
次に、システムの各動作モードに対するこれらのアラート数を使用し、以下のように、それぞれのアラート数に比例してモード選択状態３０２から１１個の状態３０５のそれぞれへの状態遷移に割り当てられた統計的確率を変更することによって、システムのモデルにおける動作プロファイルを適合させた。
ＥＰＧの部分確率＝４／（４＋１２＋２２＋２２＋９＋４＋１＋８＋３＋８＋１３）＝４／１０６＝０．０３７
ＯＢの部分確率＝１２／１０６＝０．１１３
ＹＴの部分確率＝２２／１０６＝０．２０７
ポータルの部分確率＝２２／１０６＝０．２０７
ｉＰｌａｙｅｒの部分確率＝９／１０６＝０．０８４
ＤＬＮＡ（登録商標）の部分確率＝４／１０６＝０．０３７
ＴＶ−４Ｋ／ＨＤの部分確率＝１／１０６＝０．００９
Ｎｅｔｆｌｉｘ（登録商標）の部分確率＝８／１０６＝０．０７５
ＭＢの部分確率＝３／１０６＝０．０２８
ＨＢＢＴＶの部分確率＝８／１０６＝０．０７５
ＦＴＶの部分確率＝１３／１０６＝０．１２２
【００３３】
さらに、モード終了状態３０３からモード選択状態３０２へ戻る状態遷移に割り当てられた統計確率を０．９９と設定し、モード終了状態３０３から停止状態３０４への状態遷移に割り当てられた統計確率を０．１と設定した。言い換えれば、適合したモデルは、システムが１％の期間だけ故障し（すなわち停止状態３０４に達する）し、９９％の期間だけ期待通りに動作する（すなわちモード選択状態３０２に戻る）ことを予測する。
【００３４】
図４は、適合したモデルの異なる状態遷移に対してこれらの新しく割り当てられた統計的確率の全てを示す。同じモデルベース試験ツールがこの適合したモデルに適用された場合、代わりに合計８７個のテストシナリオの新たなテストスイートが生成された。テストシナリオのこの総数は、以下のようにスマートテレビシステムの動作モード間で区分された。
ＥＰＧ：                    ６
ＯＢ：                      ６
ＹＴ：                      １７
ポータル：                  ６
ｉＰｌａｙｅｒ：            ６
ＤＬＮＡ（登録商標）：      １４
ＴＶ−４Ｋ／ＨＤ：          １
Ｎｅｔｆｌｉｘ（登録商標）：６
ＭＢ：                      １３
ＨＢＢＴＶ：                ６
ＦＴＶ：                    ６
【００３５】
前回と同じ独自の試験自動化ツールを使用して、スマートテレビシステムでこの新たなテストスイートを実行すると、約３時間しかかからないことが分かったが、合計５個のエラーが発生し、スマートテレビシステムはＹｏｕＴｕｂｅ（登録商標）の動作モードで３回、メディアブラウザの動作モードで２回のリセットを引き起こした。言い換えれば、この改良された方法を使用すると、テストサイクルは完了までに約４０％少ない時間（約５時間ではなく約３時間）かかるが、１５０％多くのシステムエラー（２個のエラーではなく５個のエラー）を発見した。そのため、テストシナリオの総数（１１０個ではなく８７個）及び総試験時間の両方が削減されても、この改善された方法を使用して重大なエラーを正しく表示することができる。
【００３６】
そのような試験方法は、しばしばファームウェアとしても知られ、継続的及び／又は反復的な修正を受けることがある、組み込み型デバイスソフトウェアを含むあらゆる電子デバイスに適用可能である。したがって、上述した具体例はスマートテレビシステムに関するものであるが、この試験方法は広範囲の異なる電子デバイス、特に有限状態機械としてモデル化できるものに適用可能である。
【００３７】
記載された方法は、そのような電子デバイスの動作をより安定化させ、欠陥又はエラーを起こしにくいようにすることだけでなく、それらの開発、試験及び製造の速度を改善しコストを下げることを含む、さまざまな技術的効果を有する。
【００３８】
したがって、要約すると、本発明は、ファームウェアとして電子デバイスに組み込まれるコンピュータプログラム、システム又はソフトウェアなどのシステムの試験方法を提供する。本方法は、少なくとも、被試験システムのモデルを作成するステップと、システム上で静的コード分析を実行して、被試験システムのそれぞれのエラーを示す１つ又は複数のアラートを生成するステップと、アラートを使用してシステムのモデルを適合させるステップと、適合したシステムのモデルを使用して、テストスイートを生成するステップと、被試験システム上で生成されたテストスイートを実行するステップと、を含む。本発明は、また、静的コード分析ツール及びモデルベース試験ツールを含む対応するテストキットを提供し、モデルベース試験ツールは静的コード分析ツールによって生成された結果を使用する。本システム試験方法及びシステム試験キットは、他よりも多くの試験を必要とする被試験システムの１つ又は複数の部分を静的コード分析によって識別することができ、他よりも多くシステムのそれらの部分に集中させてシステムのテストスイートを実行することができるという利点を有する。したがって、テストサイクルの長さを短縮しながら、システム内の欠陥、バグ、又はエラーを発見する機会を増加させることができる。
【符号の説明】
【００３９】
１０１  デバイスソフトウェアバージョン
１０２  静的コード解析ツール
１０３  静的コード解析結果（アラート）
１０４  適合した状態遷移確率
１０５  モデル
１０６  モデルベース試験ツール
１０７  一連のテストシナリオ
２０１  静的コード分析
２０２  静的コード解析結果
２０３  適合したシステムのモデル
２０４  一連のテストシナリオ
２０５  テスト自動化
３０１  開始状態
３０２  モード選択状態
３０３  モード終了状態
３０５  被試験システムの動作モードに対応する状態
【図１】
2019537779.tif 000003
【図２】
2019537779.tif 000004
【図３】
2019537779.tif 000005
【図４】
2019537779.tif 000006
【国際調査報告】
2019537779.tif 000007
2019537779.tif 000008