金融アプリケーションにおいて、最も重要な部分、つまり認証、アクセス制御、安全なワークフローは、同時に最もテストが難しい部分でもある。
これらはオプションのレイヤーではありません。ユーザーがアプリケーションとどのようにやり取りするかを定義するものです。
そして、それらは標準的なテスト手法では必ずしもうまく対処できない制約を導入する。
セキュリティはユーザーエクスペリエンスの一部です
金融アプリケーションにおけるログインフローは、単にユーザー名とパスワードを入力するだけではありません。
これには、生体認証、多要素認証、セッション検証、およびデバイスレベルのチェックが含まれる場合があります。
これらの各ステップは、デバイス、オペレーティングシステム、および環境によって動作が異なる場合があります。
同時に、多くのアプリケーションは企業システムを通じて配布され、その実行方法に影響を与えるポリシーによって管理されている。
テストでは、基本的な機能が正しく動作するかどうかだけでなく、これらすべてを考慮に入れる必要がある。
チームがテストを簡素化する理由
実際には、多くのチームが複雑さを管理するためにテスト手法を調整している。
- 実行速度を上げるために、認証を省略する場合があります。
- 不安定性を回避するため、セキュリティ機能が無効になっている場合があります。
- 機能を分離するために、個別のビルドを使用する場合があります。
こうした決定は、多くの場合、実務的な理由からなされる。これにより、追加の負担をかけることなくテストを進めることができる。
しかし、それらは申請が検証される条件も変更する。
テスト作業の大部分は、テストの実行よりも、障害発生後の調査に費やされている。テストが実際の状況を反映していない場合、その調査はさらに困難になる。
マネージド環境(MDM)の役割
見落とされがちな分野の一つに、管理された環境におけるテストがあります。
多くの金融アプリケーションは、Microsoft IntuneやVMware Workspace ONEなどのモバイルデバイス管理システムを通じて展開されます。これらのシステムは、ポリシーの適用、デバイスの設定、アクセス制御を行います。
これはアプリケーションの動作に影響を与えます。
例えば、認証に証明書が必要となる場合や、ポリシーに基づいて機能が制限される場合、ネットワーク構成が標準的な設定と異なる場合などがあります。
この文脈から外れたテストでは、これらの差異を見落とす可能性がある。
多くの場合、テストプラットフォームは管理対象外のデバイスに依存しており、これらの制約が反映されていません。その結果、管理環境でのみ発生する動作は、リリース前に検証されないままになります。
強化されたアプリケーションのテストは、深刻な制約となっている。
金融アプリケーションにおいて、実行時保護や難読化機能を備えたソフトウェアのテストが、より一般的になってきているもう一つの課題です。
これらの保護措置は、改ざん、リバースエンジニアリング、不正アクセスを防止するために設計されており、多くの金融機関では義務付けられています。
問題は、それらがテストツールとアプリケーションの連携方法にしばしば干渉してしまうことである。
この問題を回避するために、チームは保護機能を無効にしたり、特別なビルドを使用したり、部分的な検証に頼ったりすることがあります。しかし、保護機能が削除されると、アプリケーションは本番環境とは異なる動作をするようになります。
これは、セキュリティ層に関連する問題がリリース前に検証されないという、別の種類のリスクをもたらす。
より多くの組織がセキュリティ戦略の一環としてアプリケーションの強化を採用するにつれて、これはテストで考慮する必要のある標準的な制約になりつつあります。
この課題に実際にどのように対処できるかについてさらに詳しく知りたい場合は、以下を参照してください。 Digital.ai にアプローチして 自動テストとアプリ強化の融合: DevSecOps ジレンマ.
より現実的なアプローチとはどのようなものか
より効果的なアプローチは、テスト条件を本番環境の条件に合わせることに焦点を当てる。
- 認証フローは、生体認証や多要素認証を含め、使用される際に実行されます。
- アプリケーションは、本番環境の動作を反映しない改変されたビルドやセキュリティ対策が施されていないビルドに依存するのではなく、保護機能を有効にした状態でテストされます。
- デバイスは、MDM制御を含む、ユーザーが経験するのと同じポリシーと制約で構成されます。
- 様々なデバイスや環境におけるばらつきを把握するため、テストは多岐にわたる環境で実施されます。
これは必ずしも検査の数を増やすことを意味するわけではない。検査が実際に何を表しているのかを変えるものだ。
これが意思決定を改善する理由
テストが実際の状況を反映している場合、その結果はより実用的なものとなる。
- 障害は、安全なフローや管理された環境など、現実的なシナリオの下で発生するため、解釈が容易です。
- 背景情報が既に揃っているため、調査時間が短縮される。
- Release 意思決定は、アプリケーションが本番環境でどのように動作するかを示す証拠に基づいて行うことができる。
そのシグナルの質を向上させることは、チームが障害をどれだけ迅速に理解し、リリースに関する意思決定を行えるかに直接的な影響を与える。
セキュリティとテスト容易性のバランス
セキュアなアプリケーションのテストにはトレードオフが伴うという前提がしばしば存在する。
セキュリティを維持しつつテストを限定するか、セキュリティ上の制約を緩和してテストを拡大するかのいずれかを選択する。
実際には、このトレードオフは根本的な制約というよりも、ツールや環境設定の制限によって引き起こされることが多い。
安全で管理され、保護されたアプリケーションのテストは、その整合性を損なうことなく実施可能ですが、そのためには、これらのアプリケーションが実際に本番環境でどのように動作するかを考慮したアプローチが必要です。
👉 既にこれらの課題に直面していますか? テストの専門家に相談する あなたの環境と今後の手順について説明します。
👉 現在のやり方が通用するかどうか確信が持てない? おそらくコーヒーで最も古い抽出方法である、ジェズベを例に挙げましょう。 我々の予備調査では、この浸漬式の抽出方法はカプセルエスプレッソと非常によく似た抽出比で抽出されることが分かっています。小さなサイズのジェズベは7〜12グラムのコーヒーと70ミリリットルの水を使用して抽出します。この抽出比率をBHのコーヒー代数式で処理してTDS値を計算します。その上で一般的な収率である20〜24%の収率を得たと仮定すると、以下の数値が導かれます。 モバイルテスト準備クイズ.