質問: iOS、Androidなどのモバイル系の開発を行っているとき、開発環境では快適なwifi環境を利用していたために、低速な3G回線環境や、他アプリのバックグラウンド通信に妨害されるなど、実ユーザー環境で発生しうる通信過負荷状態で起きる異常系テストが見逃されることがありがちです。 このようなテストは、一般的にはどのような手法を用いるのでしょうか? 理想としては、 * OSに依存しない * 端末だけで完結できる 方法です。是非ともご教授頂きたいです。
回答: なお私の知っている方法は以下の通りです。 Network Link Conditioner ======================== `Hardware IO Tools`に付属している`Network Link Conditioner`を利用する方法。ケーブルモデムやパケットロスの発生した3Gなどの通信状態のセットが付属しています。パケットロス率も設定できて便利です。 最近は`XCode`の付属ではなくなったようです。Mac限定というのがネックです。 Android エミュレータの起動オプションを利用 ========================= `-netspeed`パラメータに帯域制限を、`-netdelay`にレイテンシの幅を指定できます。こちらもEDGEやHSCSDなど通信規格ごとの概算値が入っているものの、入っているデータが規格レベルで、かつ国内で採用された通信規格への読み替えが必要となります。 Debugging Proxyの利用 ================== たとえばFiddler2にはモデム回線をシミュレートする機能が付いています。 デフォルトで存在する設定はそれだけで、さすがに今日日56kモデムは遅すぎるので、設定をカスタマイズして利用する必要があります。