0

Windows Mobileアプリケーションのテストを自動化する必要があります。私のアプリケーションにはUIはありません。したがって、ランダムなキーストロークとマウスクリックで動作する通常のテストツールはここでは機能しません。バックグラウンド処理のみをテストするためのWindows Mobile用のツールはありますか?Windows Mobile - 非UIアプリケーション用の自動テストツール

+2

アプリは何をしていますか?あなたは何を試そうとしていますか?たとえば、アプリでGPS位置記録を行っている場合、自動テストでは、おそらくデバイスの移動が必要になるでしょう。どのように自動テストを定義していますか?ユニットテストだけでは使えませんか? –

+0

など。 1. SMS、コールログが正しく傍受され、データがサーバーに転送されるかどうかなど、特定の目的でアプリケーションを見ることができるはずです。 2.デバイスが特定の領域から外れた場合、デバイスはデータベースにログを記録する必要があります。 3.問題なくサーバーと通信できるはずです。 –

答えて

0

あなたが欲しい、テストのどのレベルに応じて、オプションのカップルを持っています。

  • 統合テスト

統合テストは、現実の世界でアプリケーションをテストすることを目指しています。したがって、 "本当の"ものをすべて作成し、条件が満たされているかどうかをテストするためのコードを記述します。私はしかし、あなたがGPSをテストしようとしている場合、これは実用的ではないと信じています。誰かが実際にデバイスを動かす必要があるためです。

をあざけることによって

  • ユニットテストは、私は、GPSのテストのために前にこれをやりました。そのアイデアは、テスト対象のオブジェクトをSANDBOXすることです。すべての外部参照(例:オブジェクトではないもの)がすべてインターフェースであることを確認します。これらのインタフェースを "テスト専用"実装でMOCKします。 PositioningServiceというクラスによってピックアップされるだろう特定のイベントを発射するINmeaInterpreter:

    は、例えば、私たちはと呼ばれるインタフェースを使用したGPSテストに取り組みました。
    デフォルトの実装は第三者コンポーネントでした。 しかし、INmeaInterpreterがインタフェースであるため、REALデータを使用する代わりに(たとえば)NMEAファイルを使用して読み込みを行う実装を作成できました。これにより、特定の(時には奇妙な)シナリオでPositioningServiceがどのように機能するかをテストすることができました。

    私は、他の外部参照をからかっお勧めします。データベースへの呼び出しは、呼び出されるとインクリメントされるデータベース呼び出し用のカウンターを持つダミーオブジェクトになります。その後、NMEAファイルを使ってテストを書くことができます。このテストでは、データベース呼び出しが発生し、ユニットテストの終わりに、その呼び出しが発生したかどうかを確認するダミーオブジェクトがチェックされます。

    我々は恐ろしいMSTestをして、上記のすべてをやっていますが、任意のテストフレームワークを(私はNUnitのをお勧めします)を使用することができます。特定のデバイスでテストするオプションがあるかどうかはわかりません。私たちはすべてのテストをデスクトップ上で実行しました。コードをうまく分割することで、デバイス固有のコードが分離され、デスクトップの同等のコードで簡単に置き換えることができました。

    明らかにユニットテストの唯一の問題は、ハードウェアをテストしないことです。


    (彼らは管理/実行するのが容易であるように)私はテストの両方のタイプを行うにはなく、ユニットテストに大きな重点を置くこと(プロジェクトの規模やチームによって異なります)をお勧めします。

関連する問題