(57)【要約】加入者識別モジュール・アプリケーション・ツールキット（ＳＡＴ）機能をテストする方法及びシステム。本発明の方法は、第１のコンピュータプログラムをＳＩＭカードに読み込み、テストシステム、測定システム、及び制御システムの設計のためのソフトウェアツールを備える第２のコンピュータプログラムをコンピュータに読み込むことを含む。第２のコンピュータプログラムは、第１のコンピュータプログラムにプロアクティブ命令を送らせるイベントを起動するために実行される。続けて、プロアクティブ命令データは端末応答命令を介してＳＩＭカードに送られる。【特許請求の範囲】
【請求項１】
加入者識別モジュール・アプリケーション・ツールキット（ＳＡＴ）機能をテストする方法であって、
第１のコンピュータプログラムをＳＩＭカードに読み込む工程と、
テストシステム、測定システム、及び制御システムの設計のためのソフトウェアツールを備える第２のコンピュータプログラムをコンピュータに読み込む工程と、
前記第１のコンピュータプログラムにプロアクティブ命令を送らせるイベントを引き起こすために、前記第２のコンピュータプログラムを実行する工程と、
前記プロアクティブ命令データを端末応答命令によって前記ＳＩＭカードに送る工程と、
新しいプロアクティブ命令をビルドするためにＳＩＭカードメニュー中のメソッドを使う工程と、
前記プロアクティブ命令データが前記ＳＩＭカードに渡された時に、前記ＳＩＭカードによって前記新しいプロアクティブ命令を送る工程と、
を備えることを特徴とする方法。
【請求項２】
ハードコーディングされたプロアクティブ命令を実行するように構成されたＳＩＭカードメニューを用いる工程を更に備えることを特徴とする、請求項１に記載の方法。
【請求項３】
前記ハードコーディングされたプロアクティブ命令が、データを受け取るための命令であることを特徴とする、請求項２に記載の方法。
【請求項４】
前記第２のコンピュータプログラムのメソッドにより、最初にターゲット・テストコード（ＴＴＣ）へと前記プロアクティブ命令のためのデータを送る工程を更に備えることを特徴とする、請求項１に記載の方法。
【請求項５】
少なくとも１つのオープン・プラットフォームＡＰＩ（ＯＰＡ）機能を実行するために前記ＴＴＣを用いる工程を更に備えることを特徴とする、請求項４に記載の方法。
【請求項６】
前記ＴＴＣがＣプログラミング言語で書かれていることを特徴とする、請求項５に記載の方法。
【請求項７】
前記第１のコンピュータプログラムがＪＡＶＡプログラミング言語で書かれていることを特徴とする、請求項１に記載の方法。
【請求項８】
前記第２のコンピュータプログラムが、テストプログラムＬａｂＶｉｅｗで書かれていることを特徴とする、請求項１に記載の方法。
【請求項９】
加入者識別モジュール（ＳＩＭカード）アプリケーション・ツールキット（ＳＡＴ）機能をテストする方法であって、
コンピュータ上で実行されているソフトウェアが、ターゲット・テストコード（ＴＴＣ）を使って、オープン・プラットフォーム・アプリケーション・プログラミング・インタフェース（ＯＰＡ）上のプロアクティブ命令インタフェースを呼ぶ工程と、
前記コンピュータ上で実行されている前記ソフトウェアが、ソフトウェアバックプレーン（ＳｗＢＰ）中の前記ＳＡＴ機能を呼ぶ工程と、
ＳＩＭカードが、ハードコーディングされたプロアクティブ命令を含むメニューを実行する工程と、
移動端末が、前記ＳＩＭカードから送られた前記プロアクティブ命令を実行する工程と、
前記移動端末が前記ＳＩＭカードへの端末応答で応答する工程と、
前記プロアクティブ命令のパラメータを、前記移動端末が応答する前に前記端末応答に加える工程と、
を備えることを特徴とする方法。
【請求項１０】
テストプログラムを動かしているＰＣと、ターゲット・テストコード（ＴＴＣ）を持つ移動端末と、アプレットを自分自身に読み込んでいるＳＩＭカードとを用いてＳＡＴ機能をテストする方法であって、
テストケースを計画する工程と、
前記テストケースを設計する工程と、
前記テストケースを実装する工程と、
前記テストケースの正当性を確認する工程と、
前記テストケースを実行する工程と、
前記テストケースの結果を解析する工程と、
を備えることを特徴とする方法。
【請求項１１】
前記正当性を確認する工程が、前記ＰＣ上の前記テストプログラムと、前記ＳＩＭ上の前記アプレットと、テストケースパラメータとが、正当であることを確認するように設計されていることを特徴とする、請求項１０に記載の方法。
【請求項１２】
前記ＰＣ上の前記テストプログラムがＬａｂＶｉｅｗであり、前記テストケースを実行する工程がＬａｂＶｉｅｗスクリプトを実行することにより着手されることを特徴とする、請求項１１に記載の方法。
【請求項１３】
前記ＬａｂＶｉｅｗスクリプトが前記テストケースを実行し、前記テストケースの手順が自動的に実行されることを特徴とする、請求項１２に記載の方法。
【請求項１４】
前記テストケースの結果が、基準値と比較される端末応答であることを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記テストの結果がＬａｂＶｉｅｗのフロントパネルに表示されることを特徴とする、請求項１４に記載の方法。
【請求項１６】
加入者識別モジュール（ＳＩＭ）アプリケーション・ツールキット（ＳＡＴ）機能をテストする方法であって、
プロアクティブ命令をビルドするように構成されたＪａｖａ（登録商標）アプレットをＳＩＭカード上に読み込む工程と、
プロアクティブ命令をビルドするためのパラメータを生成するように構成されたＬａｂＶｉｅｗテストプログラムをＰＣ上に読み込む工程と、
移動端末のターゲット・テストコード（ＴＴＣ）を実装する工程と、
プロアクティブ命令を送るように構成された、テストケースを伴うＬａｂＶｉｅｗスクリプトを実行する工程と、
プロアクティブ命令の生成のために必要とされるテストケースデータを伴う前記ＬａｂＶｉｅｗスクリプトをサポートするために、設定データファイルを記載する工程と、
テストケース実行の結果データが基準ファイルデータと比較されるように、基準ファイルを記載する工程と、
を備えることを特徴とする方法。
【請求項１７】
前記Ｊａｖａ（登録商標）アプレットを前記ＳＩＭカード上に読み込むためにカードリーダ／ライタデバイスを用いる工程を更に備えることを特徴とする、請求項１６に記載の方法。
【請求項１８】
加入者識別モジュール（ＳＩＭ）アプリケーション・ツールキット（ＳＡＴ）機能をテストする方法であって、
ＬａｂＶｉｅｗスクリプトを用いることにより移動端末のターゲット・テストコード（ＴＴＣ）を介して、パーソナル・コンピュータ（ＰＣ）が移動端末と通信する工程と、
前記ＬａｂＶｉｅｗスクリプトが、ＳＩＭカードへと送られた端末応答を捕捉する工程と、
前記端末応答を、３ＧＰＰ仕様で定義された正しい端末応答と比較する工程と、
を備えることを特徴とする方法。
【請求項１９】
テストケースを作成する工程を更に備えることを特徴とする、請求項１８に記載の方法。
【請求項２０】
前記テストケースを準備する工程と、
前記テストケースを実行する工程と、
前記テストケースを片付ける工程と、
を更に備えることを特徴とする、請求項１９に記載の方法。
【請求項２１】
前記テストケースを準備する工程は、前記移動端末を初期化する工程と、前記テストケースのパラメータを決定する工程とを更に備えることを特徴とする、請求項２０に記載の方法。
【請求項２２】
加入者識別モジュール（ＳＩＭ）アプリケーション・ツールキット（ＳＡＴ）機能をテストする装置であって、
ＳＩＭカード上に読み込まれたアプレットと、
移動端末上に読み込まれたターゲット・テストコード（ＴＴＣ）モジュールと、
ＰＣ上に読み込まれたテストプログラムモジュールとを備え、
前記ＰＣ上の前記テストプログラムの自動化されたスクリプトが、プロアクティブ命令をビルドするためのパラメータを前記移動端末の前記ＴＴＣに送るように構成され、前記移動端末の前記ＴＴＣは、前記プロアクティブ命令の結果として、前記ＳＩＭカードのアプレットに端末応答を送るように構成されていることを特徴とする装置。
【請求項２３】
前記ＳＩＭカードの前記ＪＡＶＡアプレットが、前記移動端末の前記ＴＴＣを介して、前記ＰＣの前記テストプログラムへ端末応答を返すように構成されていることを特徴とする、請求項２２に記載の装置。
【請求項２４】
前記テストプログラムが、自動的に前記プロアクティブ命令と前記端末応答とを基準ファイルと比較するように構成されていることを特徴とする、請求項２３に記載の装置。
【請求項２５】
ＳＡＴをテストするための、３ＧＰＰに定義されているプロアクティブ命令を送るように構成されていることを特徴とする、請求項２４に記載の装置。
【請求項２６】
ＬａｂＶｉｅｗによって書かれたスクリプトによって、前記ＳＩＭカード上のＳＡＴアプリケーションを起動する手段を更に備えることを特徴とする、請求項２２に記載の装置。
【請求項２７】
前記Ｊａｖａ（登録商標）アプリケーションが、カードリーダ／ライタデバイスを用いて前記ＳＩＭカードにダウンロードされることを特徴とする、請求項２２に記載の装置。
【請求項２８】
前記ＳＩＭカードが、前記テストを実行する前に移動端末に挿入されることを特徴とする、請求項２７に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明が関連する技術分野は概ね、加入者識別モジュール（ＳＩＭ）カード上の、加入者識別モジュール（ＳＩＭ）アプリケーション・ツールキットのテストである。
【背景技術】
【０００２】
以下の略語は、本願で用いられる場合において以下の意味を持つ。
ＣＡＤ，カード・アクセプタンス・デバイス；
ＤＵＴ，デバイス・アンダー・テスト（移動端末）；
ＩＣ，集積回路；
ＩＥＣ，国際電気標準会議；
ＩＳＯ，国際標準化機構；
ＴＣ，テストケース；
ＴＴＣ，ターゲット・テストコード；
ＴＶＡ，テスト・アンド・ベリフィケーション・アシスタント；
【０００３】
ＳＩＭ（加入者識別モジュール）カード、これは時にスマートカードとも呼ばれるが、これは、典型的には小さいカード上に配置される電子回路であって、移動ハンドセットを含む移動端末に組み込まれうるものであり、ユーザの移動端末を移動ネットワークへとサブスクライブするために用いられる。ＳＩＭカードは、オペレータのネットワーク上へのアクセスを可能にする、関係する情報を含む。
【０００４】
ＳＡＴ（ＳＩＭアプリケーション・ツールキット）は、ＳＩＭカードがどのように外界と対話すべきかを規定する命令セットであり、ＳＩＭカードと移動端末との間の通信プロトコルを拡張する。ＳＡＴを用いることにより、ＳＩＭカードはハンドセット中でプロアクティブな役割を有する。これは、ＳＩＭカードが移動端末とネットワークとからは独立に命令を開始するように構成されることを意味する。より詳細には、ＳＡＴは仕組みを提供し、この仕組みによってＳＩＭカード上で作られたカスタマイズされたアプリケーションは、移動端末の機能との対話が可能になる。例えばＳＡＴは、顧客が自分の銀行口座を確認できるようにすることが可能であり、適切なＳＡＴ仕様のＳＩＭカードを持つＳＡＴ対応の移動端末を用いて、勘定を支払う、あるいはレストランの場所を探し当てられるようにすることが可能である。
【０００５】
第２世代（２Ｇ）ネットワークでは、ＳＡＴはＧＳＭ１１．１４規格として定義されている。リリース４から先では、ＧＳＭ１１．１４規格は、３ＧネットワークのためのＵＳＩＭカードアプリケーション・ツールキット（ＵＳＡＴ）の規格も含む、３ＧＰＰ３１．１１１によって置き換えられた。
【０００６】
ＳＡＴプロアクティブ命令は、ＳＩＭカード上に存在する命令である。それがプロアクティブであるとは、移動端末によって必要とされる要求に対してＳＩＭカードがサービス提供するということである。すなわち、このカードはサーバとして働き、移動端末はクライアントとして働く。プロアクティブな命令と他の命令との主な違いは、後者の命令はＳＩＭカードによってではなく、移動端末によって発行されるということである。ＳＡＴは、移動端末及び移動端末の製造者とは独立に、ネットワークオペレータがカスタマイズされたサービスを提供することを可能にする方法とみなされうる。顧客が、ＳＡＴを用いる自分の移動端末で受けることができるサービスには、テレフォンバンキング、情報サービス（例えば株価、天気、ニュース等）、移動データ及び移動ＦＡＸ、ＷＡＰ、移動チャットルームを含む。
【０００７】
ＳＡＴによって、ＳＩＭカードは、移動端末上でアクセスされることが可能なアプリケーションと共にプログラムされることができる。アプリケーションは完全にネットワークオペレータによって規定されることが可能で、追加メニューがＳＩＭカードを用いる移動端末にインストールされうる。このことは、ＧＳＭ／ＵＭＴＳ（ユニバーサル・モバイル・テレコミュニケーションズ・システム）サービスを、移動端末バンキングのようなネットワークオペレータ特有のメニューと共に発行することを可能にする。
【０００８】
付加価値サービスが、移動端末上ではなくＳＩＭカード上で展開されることには、様々な理由がある。最も重要な理由は、ＳＩＭカードはネットワークオペレータのものであり、移動端末の所有者又は顧客のものではないということである。カードはネットワークオペレータによって定義、カスタマイズされ、ネットワークサービスと顧客との間の唯一のリンクとなる。遠隔管理ツールを用いて、ＳＩＭカードはどんな時でも遠隔操作で制御されることが可能であり、ネットワークオペレータにアプリケーションを完全に制御すること、ダウンロードすること、及び除去することを認める。
【０００９】
ＳＡＴ機能は、以下のような異なるカテゴリに分類されうる。すなわち、ユーザとの対話、通信サービス、データダウンロード、ユーザアクティビティ管理、及び移動端末／ＳＩＭカード対話管理である。
【００１０】
ユーザとの対話
【００１１】
ＳＩＭカード自体は、ユーザとは直接対話しない。ＳＡＴは、移動端末とＳＩＭカードとの間のインタフェースとして働き、移動端末上の情報にアクセスし、ユーザへと渡す。プロアクティブ命令セットが、この目的のために利用可能である。
【００１２】
ＳＡＴアプリケーションによって用いられる３つの主要なものは、表示画面、キーパッド、及びオーディオインタフェースである。
【００１３】
ＳＩＭカードは、いくつかの対話に携われるように構成されている。ＳＩＭカードは、移動端末がメニューに選択肢のリストを表示することを要求することができる。ユーザは選択を行い、移動端末はその選択をＳＩＭカードに送る。更にＳＩＭカードは、ユーザとの対話レベルを向上させるため、移動端末が文章又はアイコンを表示することを要求することができ、又はユーザへとイベントを通知するため、移動端末がメモリ中の予め定められた音声を再生することを要求することができる。他の対話には、個人識別番号又はショートメッセージのような、一文字又は１つの文字列を入力することが含まれる。
【００１４】
通信サービス
【００１５】
通信チャネルが、移動端末のインタフェースを介して、ＳＩＭカードとネットワークとの間で確立されることができる。ＳＩＭカードは、特定の電話番号へと呼をセットアップすること、又はネットワークに様々なデータ文字列、例えばＳＭＳ（ショート・メッセージ・サービス）、ＳＳ（サプリメンタリ・サービス）、及びＤＴＭＦ（デュアル・トーン・モデュラ・フレクエンシ）を送ることを移動端末に要求することができる。
【００１６】
データダウンロード
【００１７】
ネットワーク又は他のデバイスから移動端末へと送られるデータは、ＳＩＭカードによって受け取られることが可能である。プロアクティブ命令セットは、移動端末との、そしてネットワーク中のリモートサーバとのデータチャネルを、ＳＩＭカードが確立することを可能にする。そして、移動端末はＳＩＭカードとサーバとがこのチャネル上でデータを交換することを可能にする。
【００１８】
ユーザアクティビティ管理
【００１９】
ＳＩＭカードは、様々な活動を実行するために、ユーザのアクティビティの記録を取ることが可能である。ＳＩＭカードはダイアルされた番号と、送られたデータメッセージとを制御することができる。また、外部への呼、やってくるメッセージ及びアイドルモードのような、移動端末での様々なイベントを記憶することができる。ユーザの位置を明らかにするために、ＳＩＭカードは移動端末に対し、情報を要求するように構成されている。ＳＩＭカードはその情報をサーバへと送り、続いてサーバは移動電話のセルベースの位置を計算する。
【００２０】
移動端末／ＳＩＭカード対話管理
【００２１】
一緒にまとめられるいくつかの命令が、移動端末−ＳＩＭカード通信の管理のために用いられる。移動端末は、様々な命令の間にＳＩＭカードが依然存在しているかどうかを決定するためのランダムチェックを行うことができる。命令には、ＳＩＭカードに保持されているファイルをリフレッシュすることと、（例えば、日記にプログラムされた会合のために、又はアクションを処理するために更なる時間を要求するために）移動端末のタイマを管理することと、アプリケーションがどの言語を使うつもりかを特定することとが含まれる。
【００２２】
プロアクティブ命令の説明
【００２３】
プロアクティブ命令は、６つの部分に分けられる。すなわち、マンマシン・インタフェースの制御、通信制御サービス、データダウンロード、ユーザアクティビティ制御、アクセサリ管理、デュアルスロット命令、及び移動端末／ＳＩＭカード対話管理である。
【００２４】
マンマシン・インタフェースの制御
【００２５】
Ｓｅｔ  Ｕｐ  Ｍｅｎｕ：ＳＩＭカードは、初期化中に新しいメニュー項目リストを移動端末へと送り、又は古いメニューを取り除く。移動端末は、新しいメニュー項目を自分自身のメニューに加える。
【００２６】
Ｍｅｎｕ  Ｓｅｌｅｃｔｉｏｎ：メニュー選択機構は、ユーザによって選択されたＳＩＭカードアプリケーションメニュー項目を、ＳＩＭカードへと転送するために用いられる。例えば、ユーザが移動端末上で「旅行」メニューを選択したならば、「旅行」アプリケーションがＳＩＭカードで実行されるだろう。
【００２７】
Ｓｅｌｅｃｔ  Ｉｔｅｍ：ＳＩＭカードは、移動端末に項目リストを持つサブメニューを送る。ユーザは、自分の選択を行い、ＳＩＭカードは命令をサーバに送る。このことは、もし移動端末が利用可能なサービスのリストを表示するならば、ＳＩＭカードがユーザによって選択されたサービスをアクティベートするであろうことを意味する。
【００２８】
Ｄｉｓｐｌａｙ  Ｔｅｘｔ  ａｎｄ／ｏｒ  ｉｃｏｎｓ：ＳＩＭカードは移動端末に、ユーザと情報を交換するために用いられている、例えば「オンライン・リテイラ」のような、文章又は様々なアイコンを表示するよう命令する。ＳＩＭカードはまた移動端末に、ＳＩＭカード上に存在するアイコンを表示するように要求することもできる。
【００２９】
Ｇｅｔ  Ｉｎｋｅｙ：この命令は、ユーザに１つの文字を入力することを要求する。例えば、「命令をＹ／Ｎで出せ」という文字列が移動端末に表示されたとすると、ユーザによって入力された文字がＳＩＭカードへと送り返される。
【００３０】
Ｇｅｔ  Ｉｎｐｕｔ：ＳＩＭカードは、ユーザに文字列を入力することを要求するために、この命令を送る。例えばＳＩＭカードは、「予約の問い合わせを入力せよ」と表示してもよい。すると、ユーザはいくつかの文字からなる商品の問い合わせを入力するかもしれない。
【００３１】
Ｐｌａｙ  Ｔｏｎｅ：この命令は、移動端末にオーディオ音声を再生することを要求する。様々なイベント、例えばＰＩＮコードの誤りや、呼の受信等、に対して再生される音声の一覧は、移動端末中で予め定義されている。
【００３２】
Ｓｅｔｕｐ  Ｉｄｌｅ  Ｍｏｄｅ  Ｔｅｘｔ：この命令は、移動端末が、例えばユーザアクティビティがない、入ってくる呼がない、外部への呼がないといったアイドルモードである場合に、特定のメッセージを表示するために使われる。この命令は例えば、ユーザがローミング中にオペレータの名前を移動端末の画面上に表示するために用いられ得る。
【００３３】
Ｓｏｆｔ  ｋｅｙｓ  ｓｕｐｐｏｒｔ：これは、ＳＥＴ  ＵＰ  ＭＥＮＵ命令及びＳＥＬＥＣＴ  ＩＴＥＭ命令によって実装されることができる。移動端末によって実装されているならば、このソフトキーサポートは、アプリケーションの項目を移動端末上の特定のキーパッドにリンクさせることができ、ユーザの項目選択プロセスを容易にする。
【００３４】
通信制御サービス
【００３５】
Ｌａｕｎｃｈ  ｂｒｏｗｓｅｒ：ＳＩＭカードは、必要ならば移動端末にリモート・コンテンツ・サイトに達するためのブラウザを起動することを要求することができる。この命令は、ブラウザに関連する情報を含むことが可能である。
【００３６】
Ｓｅｔ  Ｕｐ  Ｃａｌｌ：ＳＩＭカードは、特定の番号への自動的な呼を要求するためにこの命令を送る。３つのタイプが定義されている。すなわち、呼をセットアップするが、現在他の呼でビジーではない場合のみであるものと、他の呼がある場合には、他の全ての呼を保留にして呼をセットアップするものと、他の呼がある場合には、最初に他の全ての呼を切断して呼をセットアップするものとが定義されている。
【００３７】
Ｓｅｎｄ  ＳＭＳ：ＳＩＭカードは、移動端末にショートメッセージ（ＳＭＳ）を送るように指示する。これは、天気報告、交通報告又は為替レートのような情報の要求であってもよい。
【００３８】
Ｓｅｎｄ  ＳＳ：ＳＩＭカードは、ネットワークからのＳＳを要求するために、移動端末にＳＳ制御文字列を送る。これは、例えば呼転送や呼拒否を要求するために用いられる。
【００３９】
Ｓｅｎｄ  ＵＳＳＤ（アンストラクチャード・サプリメンタリ・サービス・データ）：ＵＳＳＤは、ＳＳと同じチャネルを通って移動するデータメッセージである。送信者は、メッセージがいつ届いたか、及びメッセージが届いているか否かを、即座に知る。例えば、Ｓｅｎｄ  ＵＳＳＤ命令は、サービスプロバイダに情報を要求するために用いられるだろう。このチャネルはＳＭＳよりも速い。というのも、ＳＭＳセンタや他のサーバを通って移動する必要がないからである。
【００４０】
Ｓｅｎｄ  ＤＴＭＦ：ＳＩＭカードは、デュアル・トーン・モデュラ・フレクエンシ文字列をネットワークへと送る。これは、音声自動応答ベースのサービスにアクセスする時に、特に有用である。サービスにアクセスするためにユーザの１０桁の認証番号を打ち込む代わりに、ユーザはＤＴＭＦ文字列をサーバへと送り出す１つのボタンを押す。
【００４１】
Ｒｕｎ  ＡＴ  Ｃｏｍｍａｎｄ：この機能は、移動端末ユーザが、移動端末とＰＣ、ＰＤＡ等のような補助端末との間でよく用いられるＡＴコマンドを利用することと、ＡＴコマンドをＳＩＭカードに都合が良いように利用することとを可能にする。ＡＴコマンドは、一般的には無線周波数データ、ブロードキャスト速度等に関する情報を移動端末に問い合わせるために、補助端末によって用いられる。Ｒｕｎ  ＡＴ  Ｃｏｍｍａｎｄがあれば、ＳＩＭカードはＡＴコマンドを用いて移動端末に対する要求を行うことができる。
【００４２】
データダウンロード
【００４３】
ＣＢ（Ｃｅｌｌ  Ｂｒｏａｄｃａｓｔ）  Ｄｏｗｎｌｏａｄ：もし、「ＳＭＳ−ＣＢによるデータダウンロード」サービスが割り当てられ、アクティベートされているならば、ＳＭＳ−ＣＢがＳＩＭカードへ転送されうる。ＣＢエンベロープは、特定の地域にいる全ての移動端末に、メッセージをブロードキャストする。移動端末は、ＣＢページをＳＩＭカードに転送できる。この状態でＳＡＴを用いることは、ＳＩＭカードをＣＢメッセージのフィルタとして用いることになり得る。以前に特定の情報メッセージにサブスクライブしているユーザは、ＳＩＭカードのみによって、例えば地域の天気予報のようなサブスクライブしているものを、移動端末上で取得することができるだろう。
【００４４】
ＳＭＳ  ＰＰ  Ｄｏｗｎｌｏａｄ：この機能は、カード・バイ・カード原則（ポイント・ツー・ポイント−ＰＰ）によって、ショートメッセージチャネルによりデータがダウンロードされることを許可するだろう。このデータは、ＳＩＭカード中のアプリケーションによって読まれることができ、又はＳＩＭカード中のアプリケーションに伝達されることができる。
【００４５】
Ｏｐｅｎ  ｃｈａｎｎｅｌ：ＳＩＭカードからのこの要求は、ＳＡＴがＳＭＳ以外のデータチャネルに、ＳＩＭカードによって与えられたパラメータに従って移動端末によって確立されたリンクによってアクセスすることを許可する。データチャネルはＣＳＤ（回線交換型データ）又はＧＰＲＳ（汎用パケット無線サービス）のいずれかであることが可能である。
【００４６】
Ｃｌｏｓｅ  ｃｈａｎｎｅｌ：ＳＩＭカードは、以前に確立されたリンクを閉じることが可能である。
【００４７】
Ｒｅｃｅｉｖｅ  ｄａｔａ：この命令は、専用のデータチャネルからのデータを返すことを移動端末に要求する。この命令を受け取ると、移動端末はＳＩＭカードに、選択されたチャネルに対応する特定のバッファ中で取得可能なデータを返す。
【００４８】
Ｓｅｎｄ  ｄａｔａ：この命令は、以前にセットアップされた、専用のチャネル識別子に対応するデータチャネルを通して、データを送ることを移動端末に要求する。ＳＩＭカードは、データを直ちに送るか、又はより適切な時までデータを保管するかを、移動端末に要求することができる。
【００４９】
Ｇｅｔ  ｃｈａｎｎｅｌ  ｓｔａｔｕｓ：ＳＩＭカードは、様々なデータチャネルに関する情報を返すことを、移動端末に要求することができる。これは、存在するデータチャネルとそのデータチャネルの利用可能性とを調査するために使われることが可能である。
【００５０】
ユーザアクティビティ制御
【００５１】
Ｃａｌｌ  ｃｏｎｔｒｏｌ：このモードがアクティベートされると、ユーザが番号をダイアルする度に、移動端末はＣａｌｌ  ＣｏｎｔｒｏｌエンベロープをＳＩＭカード（ＳＩＭカードはあらゆる外部への呼を制御する）へと送る。
【００５２】
ＭＯ（Ｍｏｂｉｌｅ  Ｏｒｉｇｉｎａｔｅｄ）  Ｓｈｏｒｔ  Ｍｅｓｓａｇｅ  Ｃｏｎｔｒｏｌ：どんなＳＭＳを送る前にも、移動端末はＳＩＭカードに許可を要求する。ＳＩＭカードは応答を返す。応答は許可、拒否、又は変更を伴う許可のいずれかであることが可能である。
【００５３】
Ｅｖｅｎｔ  Ｄｏｗｎｌｏａｄ：この命令は、イベントが発生したことを通知するために移動端末からＳＩＭカードへと送られる。ＳＩＭカードへとダウンロードされるイベントは、移動電話に着信する呼（入ってくる呼）、呼が接続された、呼が切断された、ユーザアクティビティ（ユーザが移動電話上のボタンを押した）、アイドルスクリーンが利用可能である（ブランクスクリーンが存在する）、であることが可能である。この命令は、単純なユーザアクション以外のイベントにも応答する機会をＳＩＭカードに与えるために、特に有用である。
【００５４】
Ｓｅｔ  Ｕｐ  Ｅｖｅｎｔ  Ｌｉｓｔ：ＳＩＭカードは、イベントが起こった場合にＳＩＭカードがそのことについて知りたいイベントの一覧を、移動端末に与える。例えば、画面がブランクである間に短い広告を挿入するために、「アイドルスクリーンが利用可能である」について知らされるよう、ＳＩＭカードは要求することができるだろう。
【００５５】
Ｐｒｏｖｉｄｅ  Ｌｏｃａｌ  Ｉｎｆｏｒｍａｔｉｏｎ：ＳＩＭカードは、国コード、移動ネットワークコード、位置エリアコード、セルアイデンティティ値、言語、ネットワーク測定結果のような、移動端末の現在位置に関する情報を要求することができる。ＳＩＭカードは、サーバへのＳＩＭカードのリクエストメッセージ中に地域情報を含めるため、ユーザがエリア中の番号を探している場合に、これは有用である。更に、アプリケーションは特定のメッセージを表示するためにこの情報を要求してもよい。例えば、ファストフードチェーンは、ユーザが近くにいる時にユーザに販促メッセージを送ることを近くの基地局に要求することによってそのレストランを売り込むように、アプリケーションをセットアップすることができるだろう。
【００５６】
アクセサリ管理：デュアルスロット命令
【００５７】
Ｐｏｗｅｒ  Ｏｎ  Ｃａｒｄ  ａｎｄ  Ｐｏｗｅｒ  Ｏｆｆ  Ｃａｒｄ：この命令は、第２スロットにあるＳＩＭカードの電源を入れるだろう。Ｐｏｗｅｒ  Ｏｆｆ  Ｃａｒｄ命令は、電源を切るだろう。
【００５８】
Ｇｅｔ  Ｒｅａｄｅｒ  Ｓｔａｔｕｓ：ＳＩＭカードは、第２スロットにあるＳＩＭカードのステータスをリーダに要求するだろう。
【００５９】
Ｐｅｒｆｏｒｍ  Ｃａｒｄ  ＡＰＤＵ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  Ｄａｔａ  Ｕｎｉｔ）：ＳＩＭカードは、第２のＳＩＭカードに命令を送るだろう。ＡＰＤＵは、ＩＳＯ／ＩＥＣ  ７８１６−４標準を指す。
【００６０】
移動端末／ＳＩＭカード対話管理
【００６１】
Ｌａｎｇｕａｇｅ  ｎｏｔｉｆｉｃａｔｉｏｎ：ＳＩＭカードは、プロアクティブ命令又は命令応答中のあらゆる文字列に現在用いられている言語について、移動端末に通知するために、この命令を使うことができる。例えば、この命令は移動端末から出る文字列とＳＡＴから出る文字列とを組み合わせる表示画面で言語が混ざることを防ぐために用いられることが可能である。
【００６２】
Ｐｏｌｌ  Ｉｎｔｅｒｖａｌ／Ｐｏｌｌｉｎｇ  ｏｆｆ：ＳＩＭカードが存在しているかどうかを確認するために、移動端末は状態命令を定期的にＳＩＭカードへと送る。ＳＩＭカードは、状態命令の間隔に一定の時間を要求するために、ｐｏｌｌ  ｉｎｔｅｒｖａｌ命令を送ることができる。ｐｏｌｌｉｎｇ  ｏｆｆ命令は、以前のあらゆるｐｏｌｌ  ｉｎｔｅｒｖａｌ命令を取り消す。
【００６３】
Ｔｉｍｅｒ  Ｍａｎａｇｅｍｅｎｔ／Ｔｉｍｅｒ  Ｅｘｐｉｒａｔｉｏｎ：この機能は、ＳＩＭカードが移動端末のタイマを管理することを可能にする。ビープ音のセットで重要な会議又は約束を思い出させるパーソナル・オーガナイザ・アプリケーションで、これは用いられることができるだろう。Ｔｉｍｅｒ  ｅｘｐｉｒａｔｉｏｎ機能は、「会議まで５分」と読める表示メッセージのように、ＳＩＭカードが特定のイベントまでに残っている時間を要求することを可能にする。
【００６４】
Ｍｏｒｅ  Ｔｉｍｅ：Ｍｏｒｅ  Ｔｉｍｅは、要求の処理が通常のＧＳＭ動作に影響を与えるほどに長くかかり、クロックストップがバックグラウンドで処理が起こることを妨げる場合に、要求を処理するためのより多くの時間をＳＡＴに認める。例えば、アプリケーションが２つ以上のＳＭＳ中でダウンロードされ、呼を受け取った時には、「Ｍｏｒｅ  Ｔｉｍｅ」命令がアクティベートされるであろう。
【００６５】
Ｒｅｆｒｅｓｈ：この命令の目的は、ＳＩＭカードは発生するいかなる変更でも移動端末に通知しなければならないので、アプリケーションの間のＳＩＭカードファイル中のあらゆる変更を移動端末に知らせることにある。例えば、番号のセットをＳＩＭカード中のフィックスド・ダイアリング・ナンバ（ＦＤＮ）ファイルにダウンロードすることが起こった場合に、ＳＩＭカードは移動端末に、移動端末自身のファイルのイメージをアップデートするように要求するだろう。
【００６６】
プロアクティブ命令の構造
【００６７】
プロアクティブ命令は、ＳＡＴ  ３ＧＰＰ仕様に従う、１６進数値としての一連のデータに基づく。プロアクティブ命令の構造の理解を容易にするために、「ＤＩＳＰＬＡＹ  ＴＥＸＴ」命令の例が下の表１で示される。プロアクティブ命令は、ＳＩＭカードから移動端末へと送られる。
【００６８】
【表１】
2009528734.tif 000002
【００６９】
端末応答の構造
【００７０】
端末応答は、移動端末からＳＩＭカードへと送られる。端末応答は、プロアクティブ命令が正しく実行されたかどうかを通知する。端末応答の構造は、それぞれのプロアクティブ命令に対し、独自に定められている。下の表２は、「ＤＩＳＰＬＡＹ  ＴＥＸＴ」プロアクティブ命令に対する端末応答である。
【００７１】
【表２】
2009528734.tif 000003
【００７２】
ＳＡＴサービスのアプリケーション
【００７３】
ここで図１を参照する。レストラン予約の例１００は、いかにＳＡＴアプリケーションがユーザに対し役立つサービスを容易に提供できるかを図解する。「地域レストラン予約」サービスを自分のサブスクリプション中に持つユーザが、近くのイタリアンレストランを予約することを所望する。移動端末の電源が入れられる時、ＳＩＭカードは移動端末がＳＡＴ対応であるかどうかを確かめる。ＳＩＭカードはそして、Ｓｅｔ  Ｕｐ  Ｍｅｎｕプロアクティブ命令を移動端末に送り、サービスメニューが移動端末の画面に表示される。一度ユーザが「レストラン予約」アプリケーションを選択すると、移動端末はＭｅｎｕ  ＳｅｌｅｃｔｉｏｎエンベロープをＳＩＭカードへと返す。
【００７４】
図１に見られるように、ユーザは３つの異なったレストラン種類、１０１、１０２、１０３の中から選択することが可能だろう。ＳＩＭカードは、Ｄｉｓｐｌａｙ  Ｍｅｎｕ  Ｉｔｅｍに命令を送り、ユーザがユーザの選択を返すのを待つ。ユーザが「イタリアン」１０３を選択すると、選択された項目を記録するために、ＳＩＭカードはＳｅｌｅｃｔ  Ｉｔｅｍ  Ｌｉｓｔプロアクティブ命令を起動する。ＳＩＭカードはそして、選択された項目（すなわち「イタリアン」１０３）と、ユーザが位置するセルと含む、ＳＭＳ１０４をパッケージとして作る。ＳＭＳ１０４は次に、処理のための専用のショート・メッセージ・サービス・センタに送られる。ネットワークは、地域のレストランの名前と電話番号とを算出し、それらをＳＭＳによってＳＩＭカードへと返す。
【００７５】
図２は、移動端末２０１とＳＩＭカード２０２の、通信手順２００を図示する。図２に見られるように、一度移動端末２０１の電源が入れられると、ＳＩＭカード２０２と移動端末２０１との間で初期化手順が始まる。移動端末２０１は、ＳＡＴ機能をサポートするか否かをＳＩＭカード２０２に通知する端末プロファイルを送ることにより、プロファイル手順を開始する。もし移動端末２０１がＳＡＴをサポートするなら、ＳＩＭカード２０２は、プロアクティブ命令セッションが開始できることを示す状態コードを送る。ＳＩＭカード２０２からのプロアクティブ命令を得るために、取得命令が移動端末２０１から送られる。移動端末２０１がプロアクティブ命令を受け取り、実行すると、移動端末２０１は、プロアクティブ命令の結果を示す端末応答をＳＩＭカード２０２へと送り返す。ＳＩＭカード２０２が端末応答を受け取ると、ＳＩＭカードが次のプロアクティブ命令を送る用意ができていることを示す通知コードが移動端末２０１へと送られる。
【００７６】
Ｊａｖａ  Ｃａｒｄ（登録商標）技術は、非常に限られたメモリしか持たないＳＩＭカードが、Ｊａｖａ（登録商標）技術を使用するアプレットと呼ばれる小さいアプリケーションを実行することを可能にする。この技術は、開発者がアプリケーション及びサービスを、素早く且つ安全に、構成し、試験し、そして展開することを可能にする。Ｊａｖａ  Ｃａｒｄ技術は、移動端末で使われるＳＩＭカードのような、既存のＳＩＭカード標準と互換性がある。Ｊａｖａ  Ｃａｒｄ技術は、異なった製造者のカード上で動作可能なアプリケーションを開発者が作ることを可能にする、オープンアプリケーション標準である。異なった開発者のアプリケーションが、同じＳＩＭカード上で動作できる。このことは、独立したアプリケーション供給者に対して、ＳＩＭカード開発を広げた。
【００７７】
Ｊａｖａ  Ｃａｒｄ技術は、アプリケーション−プログラムインタフェース（ＡＰＩ）のための仕様のセットを備える。ＡＰＩ仕様は、仮想マシンを備える、コアＪａｖａ  Ｃａｒｄクラスライブラリを特定する。バーチャルマシン仕様は、Ｊａｖａ  Ｃａｒｄアプリケーションを扱うためのバーチャルマシンの特徴を記述する。Ｊａｖａ  Ｃａｒｄ実行環境（ＪＣＲＥ）仕様は、どのようにメモリが管理されるか、又はどのようにセキュリティが確保されるか、のような実行時動作を詳細に述べる。及び、アプレット開発
【００７８】
Ｊａｖａ  Ｃａｒｄアプリケーションを作る時の典型的な手順は、Ｊａｖａソースコードを書き、コードをクラスファイルにコンパイルし、クラスファイルをコンバーテッド・アプレット（ＣＡＰ）ファイルに変換し、ＣＡＰファイルをインストールする手順である。Ｊａｖａソースコードを書くためには、開発者はどのようにアプレットを設計するかを知っていなければならない。設計は、実用的なプログラムを維持するために必須である。アプレット設計段階における４つのステップは、アプレットの機能を特定し、アプレットとアプレットクラスを含むパッケージとの双方にＡＩＤ（アプリケーションＩＤ）を要求して割り当て、アプレットプログラムのクラス構造を設計し、アプレットと端末アプリケーションとの間のインタフェースを定義することから成る。アプレットは、外部のカード受取デバイスを用いてＳＩＭカード上にダウンロードされることができ、その後テストされることができる。
【００７９】
アプリケーションＩＤ（ＡＩＤ）は、カード上のそれぞれのアプレットを一意に特定する。ＩＳＯ  ７８１６−５で定義されるように、ＡＩＤは５バイトから１６バイトの間の長さのバイト列である。全てのアプレットは、ｊａｖａｃａｒｄ．ｆｒａｍｅｗｏｒｋ．Ａｐｐｌｅｔクラスから派生していなければならない。このクラスは、Ｊａｖａ  Ｃａｒｄ上に存在する全てのアプレットのためのスーパークラスである。それは、使用期間中にＪＣＲＥと対話するためにアプレットがサポートしなければならない、共通のメソッドを定義する。
【００８０】
ここで図３を参照して、ＪＣＲＥとＪａｖａアプレットとの間で通信するために使われるアプレットのメソッドが与えられる。図３に見られるように、アプレットのライフサイクルは、ステップ３０３で、アプレット３０１がＳＩＭカードにダウンロードされ、ＪＣＲＥ３０２がアプレットのｓｔａｔｉｃ  Ａｐｐｌｅｔ．ｉｎｓｔａｌｌ（）メソッドを実行する時に始まり、ステップ３０４で、アプレットはＡｐｐｌｅｔ．ｒｅｇｉｓｔｅｒ（）を実行することで、自分自身をＪＣＲＥに登録する。一度アプレットがインストールされ登録されると、非選択状態となり、選択及びＡＰＤＵ処理が可能になる。非選択状態の間は、アプレットはアクティブではない。ホストアプリケーションが、（カードリーダにＳＥＬＥＣＴ  ＡＰＤＵ又はＭＡＮＡＧＥ  ＣＨＡＮＮＥＬ  ＡＰＤＵを送るように指示することにより）ＪＣＲＥにカード中の特定のアプレットを選択するように要求すると、アプレットはＡＰＤＵ処理のために選択される。ホストアプリケーションが選択したことをアプレットに知らせるために、ステップ３０５でＪＣＲＥはそのｓｅｌｅｃｔ（）メソッドを呼ぶ。アプレットは、ＡＰＤＵ処理の準備として、一般には適切な初期化を実行する。ステップ３０５で一度選択が行われると、ステップ３０６でそのｐｒｏｃｅｓｓ（）メソッドを呼び出すことで、ＪＣＲＥは入ってきたＡＰＤＵ命令を処理するためにアプレットに渡す。ＪＣＲＥは、アプレットが捕捉することに失敗したあらゆる例外を捕捉する。ホストアプリケーションがＪＣＲＥに他のアプレットを選択することを伝えると、ステップ３０７で、アプレットの選択解除が行われる。ＪＣＲＥは、ステップ３０７で、そのｄｅｓｅｌｅｃｔ（）メソッドを呼ぶことで、アクティブなアプレットに選択解除されたことを通知する。ｄｅｓｅｌｅｃｔ（）メソッドは、一般には何らかのクリーンアップロジックを実行し、アプレットをアクティブでない、非選択状態に戻す。
【００８１】
図４は、リーダ側とカード側との間の通信を図示する。図４に見られるように、リーダ側とＳＩＭカードとの間の通信は、ステップ４０１でカード・アクセプタンス・デバイス（ＣＡＤ）とＪａｖａ  Ｃａｒｄ  Ｆｒａｍｅｗｏｒｋとの間で交換される論理データパケットである、アプリケーション・プロトコル・データ・ユニット（ＡＰＤＵ）を用いて行われる。Ｊａｖａ  Ｃａｒｄ  Ｆｒａｍｅｗｏｒｋは、ＣＡＤによって送られるあらゆる入ってくる命令ＡＰＤＵを受け取り、適切なアプレットに転送する。アプレットは命令ＡＰＤＵを処理し、ステップ４０２で応答ＡＰＤＵを返す。ＡＰＤＵは、国際標準ＩＳＯ／ＩＥＣ  ７８１６−３及び７８１６−４に準拠している。ホストアプリケーションはＰＣや移動端末のような端末上で動作し、ユーザとＪａｖａ  Ｃａｒｄアプレットとの間の通信を扱う。
【００８２】
図５は、典型的なシステム検証場所で使われる、テスト環境を図示する。全てのテストは、基準移動端末ＤＵＴ上で実行される。テスト者は、ＰＣ５０２を介して移動端末ＤＵＴ５０１と対話する。ＰＣ５０２と移動端末ＤＵＴ５０１との間の通信媒体は、ケーブル（ＲＳ２３２）、ＵＳＢケーブル又はＢｌｕｅｔｏｏｔｈ媒体５０３であることが可能である。テスト環境は、移動端末ＤＵＴをテストするために必要な要素、すなわち移動端末機能のためのソースコード、例えばＳＩＭカード、ＳＡＴ、電話帳、ファイルシステム等のためのソースコード、を含むブラックボックスを備えるモバイルプラットフォームソフトウェア５０４と、ソフトウェアプラットフォームと通信するために用いられるインタフェースであるミドルウェア（ＯＰＡ）５０５と、テストケースを実装するために開発されたテストコードであるターゲット・テストコード５０６とを備える。テストコード５０６は、ＯＰＡインタフェースを介して、モバイルプラットフォームソフトウェア中の機能をシミュレートするために用いられる。例えば、プロアクティブ命令機能をテストするために、テストコードはＣで書かれ、それはＯＰＡ上のプロアクティブ命令インタフェースを呼び、続いてＯＰＡ上のプロアクティブ命令インタフェースはＳｗＢＰのＳＡＴ機能を呼ぶ。ＴＶＰソフトウェアモジュール５０７は、ＰＣとＤＵＴとの間のテスト自動化を保証するために、システム検証部門によって開発される。ＴＶＰソフトウェアモジュール５０７はＰＣ５０２とＤＵＴ５０１双方に存在する。ＰＣ側では、ＬａｂＶｉｅｗのような、テストの設計、測定、及び制御システムのためのソフトウェアツールが、テスト者とＤＵＴとの間のインタフェースとして用いられる。
【００８３】
移動端末でのＳＡＴ機能のテストは、以上で述べたようなプロアクティブな役割を持つＳＩＭカードが原因で、複雑である。ＳＩＭカードがプロアクティブ命令を移動端末とは独立に送るために、プロアクティブ命令の実行を制御することは難しい。プロアクティブ命令を生成し、同時にその実行を制御するために利用可能な従来技術は、プロアクティブ命令を比較することにより、移動端末中でのＳＡＴ機能のテストを可能にする。もし送られたプロアクティブ命令が基準ファイルと同じであったならば、その時はテストは正しい。
【００８４】
しかし、従来の方法を用いてＳＡＴ機能をテストすることには、従来方法の全てのプロアクティブ命令がＪＡＶＡファイルを用いてハードコーディングされなければならないために、コストが高く効率性に欠けることと、移動端末によって送られる端末応答と応答との比較が手作業でなされるために、テストを実行するのに必要とされる時間が増加することと、追加テストケースが必要とされる時のテストファイルの更新とを含む、いくつかの不利な点がある。移動端末のためにＳＡＴ機能をテストするための改良された方法及びシステム、特に、向上された柔軟性を持ち、自動化されうる、方法及びシステムが望まれている。
【発明の開示】
【課題を解決するための手段】
【００８５】
本発明は、加入者識別モジュール・アプリケーション・ツールキット（ＳＡＴ）機能をテストするための、方法及びシステムである。本発明の方法は、第１のコンピュータプログラムをＳＩＭカードに読み込む工程と、テストシステム、測定システム、及び制御システムの設計のためのソフトウェアツールを備える第２のコンピュータプログラムをＰＣのようなコンピュータに読み込む工程とを含む。第２のコンピュータプログラムが実行されると、第１のコンピュータプログラムにプロアクティブ命令を送らせるイベントを引き起こす。続けて、前記プロアクティブ命令データは、端末応答命令によって前記ＳＩＭカードに送られる。
【発明を実施するための最良の形態】
【００８６】
記述された主題は、一緒に働いて従来のテスト方法及びシステムと同じ効果を達成する、２つのソフトウェアプログラムを組み合わせる。本発明の第１の実施形態では、第１のプログラムはＪａｖａで書かれてＳＩＭカード上に配置され、第２のプログラムはＬａｂＶｉｅｗのようなプログラムとして作られてＰＣで動作する。記述される実施形態は、プロアクティブ命令を生成して送るように構成され、更にプロアクティブ命令の結果を自動的に比較して、テスト手順を簡単にする。より詳細には、記述された主題はＳＩＭカード上に読み込まれたＪａｖａ  Ｃａｒｄアプレットと、ＰＣ上に配置されたＬａｂＶｉｅｗテストケースとを用いて実現される。Ｊａｖａ  Ｃａｒｄアプレットは、アプレットのサイズが典型的には約４ＫＢであるために、ほとんど全てのＳＩＭカードに読み込まれることができる。記述された実施形態を用いて、テスト者はＳＡＴをテストするために３ＧＰＰに定義された全てのプロアクティブ命令を送ることができる。新しいプロアクティブ命令が、基本的には以前のものと同じであり、違いはプロアクティブ命令が含むデータにしかないために、簡単に実装されることができる。
【００８７】
このことを実現するために、ＳＩＭカード上のＳＡＴアプリケーションを、ＰＣ上に存在するスクリプトによって起動する必要がある。記述した実施形態において、このことはＬａｂＶｉｅｗでこのスクリプトを書くことによって行われる。しかし、このスクリプトは、Ｖｉｓｕａｌ  Ｂａｓｉｃ、Ｃ、Ｃ＋＋、及びＭａｔｌａｂ／Ｓｉｍｕｌｉｎｋを含むがこれらに限定されない他のソフトウェアツールでも書かれることができることを理解すべきである。ＳＡＴアプリケーションにプロアクティブ命令をモバイルプラットフォームへ送らせ、そして手順を開始させるために、ＳＩＭカードと通信するため、ＰＣからの命令が必要とされる。
【００８８】
図６を参照して、ＳＡＴプロアクティブ命令を生成するためのＪａｖａアプリケーションが、まずＪａｖａプログラム６０１で書かれ、カードリーダ／ライタデバイス６０２を用いてＳＩＭカードにダウンロードされる。ＳＩＭカードは次に、テストを実行する前に移動端末に挿入される。
【００８９】
図７で見られるように、ＰＣ７０１は、ＬａｂＶｉｅｗスクリプトを用いて移動端末７０２と通信する。移動端末７０２との全ての通信は、ＴＴＣを介して行われる。プロアクティブ命令が実行される時には、ＬａｂＶｉｅｗスクリプトはＳＩＭカード７０３へ送られた端末応答を捕捉する。移動端末によって送られた端末応答は、３ＧＰＰ仕様に定義された正しい端末応答と比較される。
【００９０】
モバイルプラットフォームでのＳＡＴ機能をテストするために、テストケースが作られなければならない。テストケースは、特定のタスクを実行するテストシナリオである。ある１つのタスクは、例えば、１つのＳＡＴプロアクティブ命令をテストするためのものである。
【００９１】
テストケースは、１つのプロアクティブ命令以上のアクティビティを含む。テストケースは、次の構造を持つ。すなわち、前提状態、実行及び事後状態である。前提状態の目的は、テストケースを準備することにある。例えば、移動端末の初期化及び必要とされるパラメータの決定である。実行の目的は、主要なタスク、例えばＳＡＴプロアクティブ命令、をテストすることである。事後状態の目的は、テストケースを後片付けすることであり、例えばＳＡＴをテストするために必要とされるＳＡＴアクティビティのための接続を除去することである。
【００９２】
以下のアクティビティが、テストケースを設計し実行するために必要とされる。すなわち、テストケースの計画、テストケースの設計、テストケースの実装、テストケースの正当性確認、テストケースの実行、及び結果の解析である。ＳＡＴテストケースを計画するための入力情報は、全てのプロアクティブ命令が記述されている３ＧＰＰ仕様である。テストケースを実装する前に、全てのプロアクティブ命令の構造を理解することが必要である。テストケースはその次に設計される。テストは何をするかを記述するシナリオが書かれる。テストケースの実装は、テストケースの特定の後の最初のアクティビティである。最初のテストは、テストケースの実装の正当性を確認するために、ＤＵＴ上で実行される。このことは、ＬａｂＶｉｅｗコード、Ｊａｖａアプレット及びテストケースパラメータが全て正当であることが確認されていることを意味する。正当性確認のために、コード上又はパラメータ上のあらゆる不一致が修正され、更新されなければならない。テストケースの実行は、ＬａｂＶｉｅｗスクリプトを実行することにより、着手される。スクリプトは、テストケースを実行し、テストケース手順は自動的に実行される。テストケースの結果は、端末応答である。端末応答は基準値と比較され、結果はＬａｂＶｉｅｗのフロントパネルに表示される。全ての利用可能なプロアクティブ命令をテストするために、前述の手順が繰り返される。
【００９３】
本発明は、２つの方法のうち１つで用いられることが可能である。最初の方法とは、スタンドアロンとしてテストケースを実行することである。それは、１度に１つのテストケースということである。第２の方法は、自動化されたテスト手順を用いることである。第２の方法は、テスト者が全てのテストケースを自動的に実行することを可能にする。すなわち、テスト実行中のユーザ対話は必要ない。
【００９４】
テストケース実装
【００９５】
完全なテストケースの実装には、次の各部が要求される。すなわち、Ｊａｖａ  Ｃａｒｄアプレット部の実装、ＬａｂＶｉｅｗ部の実装、ＴＴＣ部の実装（テストコードはＣで書かれるが、Ｃ＋＋、Ｊａｖａ、又は他のソフトウェアプログラミング言語で書かれることも可能である。）、設定データの記載、基準ファイルの記載、である。
【００９６】
Ｊａｖａ  Ｃａｒｄアプレット部の実装
【００９７】
本発明の記載された実施形態の第１の態様は、カードリーダ／ライタデバイスを用いてＪａｖａ  ＣａｒｄアプレットをＳＩＭカード上に開発し、保存することである。いくらかのＳＡＴ機能を持つＪａｖａ  Ｃａｒｄアプレットが生成され、移動シミュレータ及び実際の移動端末上でテストされた。次のセットは、ＪａｖａファイルをＳＩＭカードにインストールすることを必要とする。
【００９８】
本発明の記載された実施形態の次の態様は、基準移動端末上でＪａｖａ  Ｃａｒｄアプレットをテストすることを必要とした。基準ハードウェア設計端末は、メニューシステムを含んでいなくても良い。しかし、メニューはモバイルプラットフォーム中に作られ、ＯＰＡを用いてアクセスされることが可能である。メニュー選択エンベロープ命令が、メニューを選択するため、またメニューが含む方法が実行されたことを検証するために、ＴＶＡ（テスト・アンド・ベリフィケーション・アシスタント）から送られる。ＴＶＡは、ターゲット・テストコード中で刺激を実行するために使われる、ＬａｂＶｉｅｗプログラムである。
【００９９】
プロアクティブ命令及び端末応答を含む、ＴＶＡと移動端末との間の全ての通信は、ＰＣ画面上で記録される。プロアクティブ命令及び端末応答は、３ＧＰＰ仕様に定義された基準値と比較された。
【０１００】
Ｊａｖａ  Ｃａｒｄアプレットが入力されたパラメータを扱える限り、全てのプロアクティブ命令はＰＣから移動端末を介してＳＩＭカードへと送られる。
【０１０１】
ＬａｂＶｉｅｗ部の実装
【０１０２】
ＬａｂＶｉｅｗは、柔軟でスケーラブルなテストを生成するための、グラフィカルな開発環境である。ＬａｂＶｉｅｗの結果は集められ、テストケースウインドウに合格（緑）又は不合格（赤）として表示される。完全なテスト環境を得るために、それぞれのプロアクティブ命令に対するテストケースが開発される。テストケースは、同じ構造、コード規則及び実装の増加を維持するためのガイドラインとして用いられるＬａｂＶｉｅｗのテンプレートから生成される。テンプレートは、ＴＶＰを介して移動端末と通信するために用いられるレイヤを含み、また、テストケース開発のためのメソッドも含む。テストケースは、前実行、実行、及び後実行で構成されるために、基本的には全てのテストに対して同一である。前実行は、移動端末を初期化するために用いられるメソッドであり、実行はテストセッションを実行し、後実行はテストを終了させる。前実行は、移動端末とＳＩＭカードとの間の通信部をアクティベートし、ＳＩＭカード中の２つのメニューをアクティベートする。実行は、ＳＩＭカードにデータを送り、２つのメニューを選択する。第１のメニューが、以下で更に詳細に述べられるように、データパラメータを移動端末から集め、メニュー２はプロアクティブ命令を移動端末へと送る。プロアクティブ命令の結果はＬａｂＶｉｅｗによって集められ、正当性の確認のためにその基準値と比較される。プロアクティブ命令の結果が基準値と適合する場合は、フロントパネルに緑色が表示される。結果が不合格の場合は、フロントパネルに赤色が表示される。テストが終了した時には、後実行が、ＳＡＴ通信を切断するＳＡＴ切断を呼ぶ。
【０１０３】
このプラットフォームにサポートされた全てのプロアクティブ命令をカバーする、３９のテストケースが存在する。新たなテストケースを作成することにより、同じ方法で将来のプロアクティブ命令がテストされることが可能である。
【０１０４】
ＴＴＣ部の実装
【０１０５】
実用的なテストケースを得るためには、ＴＴＣが更新されなければならない。ＴＴＣ、ターゲット・テストコードは、ＬａｂＶｉｅｗによって生成された刺激を実行するアプリケーションである。主要な更新は、ＳｗＢＰからのプロアクティブ命令と端末応答とを集める機能の実装である。ＬａｂＶｉｅｗと移動端末との間の通信がＴＴＣを介して動作するために、これらの実装されようとする機能なしには、ＬａｂＶｉｅｗがＳｗＢＰからのプロアクティブ命令と端末応答とに関する情報を集めることは不可能である。
【０１０６】
設定データの記載
【０１０７】
設定ファイルは、プロアクティブ命令の生成のために必要とされるテストケースデータを持つＬａｂＶｉｅｗスクリプトをサポートする。テストケースによって必要とされる全てのパラメータを含むのは、設定データである。
【０１０８】
基準データの記載
【０１０９】
テストケース実行の結果データは、基準ファイルデータと比較される。基準ファイル中のデータは、３ＧＰＰＰ  ＳＡＴ標準に準拠するように作成される。
【０１１０】
図８は、Ｐｌａｙ  Ｔｏｎｅのような、ＰＣ、移動端末及びＳＩＭカードの間での通信シーケンスを説明する。ステップ８０１では、作成される予定のプロアクティブ命令のパラメータを含む「ＲｅｃｅｉｖｅＤａｔａＳｅｔＲｅｓｐｏｎｓｅ」と呼ばれる刺激が、ＰＣ上に存在するＬａｂＶｉｅｗから、ＴＴＣへと送られる。ステップ８０２では、「ＭｅｎｕＳｅｌｅｃｔｉｏｎＤｏｗｎｌｏａｄＮｏｔｉｆｉｃａｔｉｏｎ」刺激が、ＬａｂＶｉｅｗからＴＴＣへと、メニュー１を選択するために送られる。ステップ８０３では、「ＩＳｉｍＡｐｐｌｉｃａｔｉｏｎＴｏｏｌｋｉｔ＿ＭｅｎｕＳｅｌｅｃｔｉｏｎＤｏｗｎｌｏａｄ」と呼ばれる機能を呼ぶことで、ＴＴＣは「ＭｅｎｕＳｅｌｅｃｔｉｏｎＤｏｗｎｌｏａｄＮｏｔｉｆｉｃａｔｉｏｎ」刺激のパラメータをＯＰＡへと渡す。ステップ８０４では、ＯＰＡはＳｗＢＰを呼び、ＳｗＢＰはステップ８０５でエンベロープ命令をＳＩＭカードに送ることでメニュー選択を実行する。ステップ８０６に見られるように、ＳＩＭカードがエンベロープ命令を受け取る時に、ハードコーディングされた「ＲｅｃｅｉｖｅＤａｔａ」と呼ばれるプロアクティブ命令が、ＳＩＭカードからＳｗＢＰへと送られる。ステップ８０７では、ＳｗＢＰはプロアクティブ命令の制御を実行する。もし命令が正しいなら、ＳｗＢＰはプロアクティブ命令を更にＯＰＡに渡し、ステップ８０８でＴＴＣに渡す。もし命令が正しくないなら、ＳｗＢＰはプロアクティブ命令が誤りであったことを示す「Ｔｅｒｍｉｎａｌ  Ｒｅｓｐｏｎｓｅ」と呼ばれる命令を返す。ステップ８０９では、ＴＴＣは端末応答に「ＲｅｃｅｉｖｅＤａｔａＳｅｔＲｅｓｐｏｎｓｅ」中のパラメータを加えるメソッドを持つ。ステップ８１０では、所望のプロアクティブ命令（例えばＰｌａｙＴｏｎｅ）の端末応答及びパラメータがＳＩＭカードに送られ、バッファに保管される。ＳＩＭカードはプロアクティブ命令（例えばＰｌａｙＴｏｎｅ）をビルドし、それをＳｗＢＰに送る。ＳｗＢＰは、プロアクティブ命令の制御を実行する。もし命令が正しいなら、ＳｗＢＰはプロアクティブ命令を更にＯＰＡ及びＴＴＣに渡す。もし命令が正しくないなら、ＳｗＢＰはプロアクティブ命令が誤りであったことを示す「Ｔｅｒｍｉｎａｌ  Ｒｅｓｐｏｎｓｅ」と呼ばれる命令を返す。ステップ８１１では、ＬａｂＶｉｅｗは、例えばＰｌａｙＴｏｎｅＳｅｔＲｅｓｐｏｎｓｅと呼ばれる刺激を呼び、その刺激はＰｌａｙＴｏｎｅプロアクティブ命令に対する「Ｔｅｒｍｉｎａｌ  Ｒｅｓｐｏｎｓｅ」にパラメータを加える。ステップ８１２で、プローブがアクティベートされる（ＳｅｔＰｒｏｂｅＭｏｄｅ）。ステップ８１３では、「ＭｅｎｕＳｅｌｅｃｔｉｏｎＤｏｗｎｌｏａｄＮｏｔｉｆｉｃａｉｏｎ」刺激が、メニュー２を選択するためにＬａｂＶｉｅｗからＴＴＣへと送られる。ステップ８１４では、ＴＴＣは「ＩＳｉｍＡｐｐｌｉｃａｔｉｏｎＴｏｏｌｋｉｔ＿ＭｅｎｕＳｅｌｅｃｔｉｏｎＤｏｗｎｌｏａｄ」と呼ばれる機能を呼ぶことにより、「ＭｅｎｕＳｅｌｅｃｔｉｏｎＤｏｗｎｌｏａｄＮｏｔｉｆｉｃａｉｏｎ」刺激のパラメータをＯＰＡに渡す。ステップ８１５では、ＯＰＡはＳｗＢＰを呼び、ＳｗＢＰはス���ップ８１６でＳＩＭカードにエンベロープ命令を送ることによりメニュー選択を実行する。
【０１１１】
本発明の方法は、従来のテスト方法に対して、多数の利点がある。１つの利点は、テストが自動化されることが可能であるということである。他の利点は、パラメータがＬａｂＶｉｅｗからＳＩＭカードへと容易に渡されうることである。このことは、テストの効率を向上し、テストをより柔軟にする。本発明のテスト方法は、従来のテストと比べ、短い時間しかかからず、より信頼性が高い。ハードコーディングされたプロアクティブ命令は必要なく、このことは追加テストケースが容易に、素早く追加されうることを意味する。
【０１１２】
当業者には認識されるだろうが、本願に記載された革新的な概念は、修正されることができ、又幅広い応用に変形されることができる。従って、特許された主題の範囲は上述のいかなる特定の典型的な教示にも限定されるべきではなく、代わりに以下の特許請求の範囲によって定義される。
【図面の簡単な説明】
【０１１３】
【図１】レストランを予約するための、記述された主題の利用を図示するフローチャートである。
【図２】移動端末とＳＩＭカードとの間の通信手順を図示する。
【図３】ＪＣＲＥとＪａｖａアプレットとの間で通信するために用いられるアプレットのメソッドを図示する。
【図４】典型的なシステム検証部門で用いられるテスト環境を図示する。
【図５】ＰＣとＳＩＭカードリーダ／ライタデバイスとの接続を図示する。
【図６】記述された主題に従う、ＰＣ、移動端末、及びＳＩＭカードの間での通信を図示する。
【図７】端末応答によってＳＩＭカードへデータをダウンロードするための方法を図示するフローチャートである。
【図８】ＰＣ、移動端末、及びＳＩＭカードの間での通信シーケンスを図示するフローチャートである。
【図１】
2009528734.tif 000004
【図２】
2009528734.tif 000005
【図３】
2009528734.tif 000006
【図４】
2009528734.tif 000007
【図５】
2009528734.tif 000008
【図６】
2009528734.tif 000009
【図７】
2009528734.tif 000010
【図８】
2009528734.tif 000011
【国際調査報告】
2009528734.tif 000012
2009528734.tif 000013
2009528734.tif 000014
2009528734.tif 000015
2009528734.tif 000016
2009528734.tif 000017