Google Pay の新しいテストスイートで決済関連の統合機能をエンドツーエンドでテストする

5月 08, 2023
Jose Ugia Developer Relations Engineer

テストは、ソフトウェア エンジニアリングにおいて不可欠な要素です。決済関連では、小さな不具合がビジネスに重大な影響を及ぼす可能性があるため、とりわけテストが重要になります。 

以前、Google Pay API を TEST モードで利用できる一連のテストカードを導入しました。このカードで簡単なテストケースを作成すれば、Google Pay 統合機能が期待どおりに動作することを確認できます。これはすばらしいスタートでしたが、一部の事前定義カードは、アプリケーションのドメインに限定され、限られた数のハッピーパス テストシナリオしか実行できませんでした。

テスト機能の向上

本日は、Google Pay のテストスイートへのアップグレードである PSP テストカードを紹介します。これにより、お望みの決済サービスのテストカードを使ってエンドツーエンドのテストシナリオを構築できるようになり、追加のテスト戦略が手動でも自動でも可能になります。

testpayments2
図 1: TEST モードを使用すると、決済サービスのテストカードが Google Pay の決済シートに表示されます。

カードが選択されると、その結果が API 経由でアプリケーションに返されます。そのため、決済情報をバックエンドに中継して決済サービスで注文を完了させるなど、包括的な決済フローをエンドツーエンドで検証できます。このテストカードを使うと、取引の成功や、詐欺、拒否、残高不足などによる失敗など、さまざまな決済結果に対するアプリケーションの動作を確認できます。

テストの自動化

今回のアップグレードでは、テストの自動化もサポートされているため、Android で UI Automator や Espresso などの使い慣れたツールを使用してエンドツーエンドの UI テストを作成し、CI/CD フローに追加して、購入手続きをさらに強化することもできます。

現在、この Google Pay の新世代テストスイートはベータ版であり、ウェブサポートは今年中に開始する予定です。Android では、特に広く使われている 5 つの PSP(Stripe、Adyen、Braintree、WorldPay、Checkout.com)のテストカードを利用できます。今後も、よく使われている PSP のテストカードを追加する予定です。

次のステップ

テスト機能の向上はデベロッパー コミュニティから特に頻繁にリクエストされる機能の 1 つです。Google Pay は、決済フローを強化し、購入手続きのパフォーマンスを向上させるために必要なツールを提供することに取り組んでいます。

図 2: アップグレードされたテストスイートを使うと、決済フローの正常ケースと異常ケースについて、エンドツーエンドで自動テストを実行できます。

さっそくドキュメントを参照して、決済テストの強化を始めてみましょう。Google Pay デモ オープンソース アプリケーションのサンプル テストスイートもご覧ください。