SAP向けモバイルエンタープライズアプリのテスト

投稿日:

(AlexanderIlg)(11月11日、2020)

テストは、すべてのソフトウェア開発プロジェクトの重要な部分です—ユニットテスト、統合テスト、ユーザー受け入れテストなど。このブログでは、モバイルエンタープライズアプリ、特にオフラインで使用するアプリのテストについて説明したいと思います。

完璧なソフトウェアはありません。ロケットは火星に送られ、バグのために墜落します。一部の飛行機は、少なくとも 248日ごとに「再起動」されないとシャットダウンします(そして、なぜ私が飛ぶのが怖いのかと聞かれます)。

飛行機に乗るのが怖いですか?飛行機のソフトウェアのバグレポートを見ないでください!

リストはどんどん増えていき、すべてのバグの例を示すWikipediaの記事もあります。エリア— https://en.wikipedia.org/wiki/List\_of\_software\_bugs

バグを1つの中心的な場所に置いて修正するSAPシステムはすでに苦痛になっている可能性があります(システムの再起動、ダウンタイム、ユーザーの不満、データの損失など)。多くのコンピューター(SAP GUIなど)にインストールされているアプリケーションのバグを修正するのは少し難しいですが、すべてのマシンが社内にあり、企業ネットワークに接続されている場合は管理できます。

多くの問題が発生します。スマートフォンやタブレットにインストールされているモバイルエンタープライズオフラインアプリケーションの新しいバージョンを会社のオフィスの外に出荷するのはさらに困難です。 Idaptive、SAP Mobile Secure、Mobile Iron、Airwatchなどのデバイス管理ソリューションを使用している場合でも、それでも多くの作業が必要です。ユーザーのネットワーク接続が悪い場合、新しいバージョンを配布することは困難です。モバイルアプリとサーバー側ソフトウェアの間に依存関係がある場合はさらに悪化します。その場合、両方を同時に更新する必要があります。これは、ユーザーベースが複数のタイムゾーンにあり、世界中に分散している場合は非常に注意が必要です。このため、モバイルエンタープライズアプリを慎重にテストすることが重要です。使用するプラットフォーム(エージェント、SMP、SCPモバイルサービス、Mobile Linkなど)は関係ありません。テストは、クライアント、ミドルウェア、バックエンドを含むすべてのレイヤーで実行する必要があります。以下は、すべてのアプリケーションに対して実行する必要があるテストのリストです。

機能テスト

  • 両方向のすべての機能のテスト— SAPでデータを作成し、同期します。モバイルデバイス。モバイルデバイスでデータを作成し、SAPに送信します。両側のレコードを更新し、データを削除して、反対側のシステムでもデータが削除されていることを確認します。
  • モバイルデバイスでの検証のテスト—ユーザーが間違ったデータを入力すると正しい警告/エラーメッセージが表示されます?

パフォーマンステスト—同期とデバイス上

  • 予想される最大データ量と同期します。また、データ量は時間の経過とともに増加する可能性があることを考慮してください。
  • 同時デバイスの最大数でテストして、システムが負荷を処理する方法を確認します。
  • でデバイスをテストします。データの最大量—リストと詳細ダイアログのパフォーマンスはどうですか?アプリ内のナビゲーションはどの程度流暢ですか?起動時間はどれくらいですか?シミュレーター/エミュレーターでのテストは決して十分ではありません。ユーザーが後で手に持つ実際のデバイスでテストする必要があります!

のUI / UXガイドラインに照らしてテストします。モバイルオペレーティングシステム

  • ネイティブアプリケーションを使用している場合、Apple、Google、MicrosoftのUXガイドラインに準拠していますか?
  • ハイブリッド/プラットフォームに依存しないアプリケーションを使用している場合、一般的なガイドライン(SAP Fiori UXガイドなど)に従っていますか?

ユーザビリティテスト

  • アプリケーションをユーザーに提供し、ユーザーにテストさせます。直感的ですか?ドキュメントがなくても、ドキュメントが少なくても、その使用方法を理解できますか?
  • スマートフォンやタブレットの経験があるユーザーや、最新のテクノロジーに慣れていないユーザーでソリューションをテストしてください。
  • 国際的に展開する場合は、さまざまな国のユーザーとテストして、ソフトウェアに対するユーザーの反応を確認します。
  • さまざまな言語と場所の設定でテストして、すべてが正しく表示されることを確認します
  • 翻訳をネイティブスピーカーがレビューしてテストできるようにします
  • テストユーザーの話を聞いてください!これは、あなたが得ることができる最高のフィードバックです!

カーテンの後ろでテストします— UIだけでなく、ミドルウェアとバックエンドの統合も

  • テストクライアント、ミドルウェア(ある場合)とバックエンド。すべてがうまく連携する必要があります。
  • 3つのコンポーネント間の通信が正常に機能していることを確認します。

ポジティブケースとネガティブケースをテストします

  • 機能すると予想されるデータとテストケースを使用してソリューションをテストします
  • 失敗すると予想されるデータを使用してソリューションをテストします。ユーザーが最も予期しない情報を入力することは誰もが知っています。そのようなシナリオでアプリがクラッシュしないようにする必要があります。
  • 両方のケースが正常にカバーされていることを確認してください
  • テストミドルウェアサーバーがダウンしているときのアプリケーション。期待どおりに動作しますか? SAPも利用できない場合は、テストしてください。
  • 保存または同期プロセスの途中でアプリをハードキルします。それでも機能しますか?データを失いましたか?
おなじみですか?

ラボの外部/実際のネットワークでテスト

  • ユーザーが後で使用する実際のネットワークでアプリケーションをテストします。 GPRSまたはEdgeでパフォーマンスはまだ十分ですか?パフォーマンスは遠隔地で許容できますか?
  • シミュレータだけでなく、実際のデバイスでソフトウェアをテストします。すべてが正常に表示されていますか?パフォーマンスは期待どおりですか?
  • 実際の条件下で実際のデバイスを使用してソフトウェアをテストします。明るい日差しの中で画面が読めますか?デバイスは屋外の暑さや寒さの中で動作しますか?
  • 他のすべてのアプリをインストールしてソリューションをテストします—副作用はありますか? AndroidとiOSのサンドボックス哲学では機能するはずですが、テストする方がよいでしょう。
  • メモリ不足の状況でテストします—アプリはまだ機能していますか?この場合のパフォーマンスはどうですか?アプリがメモリから削除されるとどうなりますか?
  • 古いバージョンのオペレーティングシステムでアプリをテストします。また、将来リリースされるベータ版でテストしてください!
どこの真ん中で許容できる速度で作業できますか?

自動テストスクリプトを作成する

開発者に自動テストケースを作成させます。すべてのビルドの前に実行できます。これを行うと、テストの労力が軽減され、実際のテスターがアクティビティを開始する前に最初のバグをすでにキャッチできます。ただし、自動化された単体テストは「実際の」テストに取って代わることはできません。それらを補完するだけです。

さまざまなデバイスでのテスト

BYOD(個人所有のデバイスの持ち込み)戦略がある場合は、テストしてみてください。さまざまなデバイス上のアプリケーション。アプリはすべての画面解像度で動作していますか?プラットフォームに依存しない場合、すべてのプラットフォームで機能しますか?

インストール/更新をテストします

モバイルアプリのインストールとアップグレードをテストします。 APK、IPA、またはXAPを電話接続経由でダウンロードできますか?

アプリのセキュリティをテストします

  • ネットワークスニファを使用して、オンにした暗号化を確認します
  • デバイスデータベースを開いて、実際に暗号化されているかどうかを確認してください。
  • iOSキーチェーンなどの安全なストレージをテストします—このデータはローカルのみですか、それともローカルですか?クラウドに送信しますか?

アプリの管理部分をテストします

  • モバイル環境で新しいユーザーやデバイスなどを作成できますか?
  • デバイスの登録を解除/削除できますか?
  • ログは正しく設定されていますか?問題を分析するのに十分な情報がありますか?ログがパフォーマンスを低下させないように十分に低く設定されていますか?

どれだけ長くテストしても、バグがクラックをすり抜けてしまいます。アプリが複雑になるほど、発生する可能性が高くなります。そのため、常にフォールバックソリューションを用意する必要があります。これはExcelシートまたは単なる紙のいずれかです。理想的には、それを使用する必要はありません。

テストはホットなトピックです—どれだけのテストで十分ですか?いくらですか?十分にテストすることはできないと主張することもできますが、誰かがそれを支払う必要があります。すべての場合と同様に、適切なバランスを見つける必要があります。

テストを頑張ってください!また、質問がある場合、またはテストについてサポートが必要な場合は、 [email protected] までご連絡ください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です