Firebase Test Lab がアルファ期間にあるとき、AMEX アプリのアップデートの頻度、高品質のリリースを提供しなければならないという責務、積極的に協力しようとするエンジニアの姿勢は、Firebase Test Lab チームにとって理想的な環境でした。American Express からは、プロダクトのリリース バージョンを形作るうえで役立つ貴重なフィードバックが提供されました。Firebase Test Lab は、数百のインストルメンテーション テストからなる American Express の複雑なテストスイートと統合されました。Test Lab の開発初期段階でさえ、American Express はすべての継続的統合テストを Test Lab に切り替え、デバイスラボの大部分を廃止することができました。これにより、デバイスをメンテナンスするエンジニアがカード会員に新機能を提供することに専念できるようになり、テストを記述および実行して高いサービス品質を確保することも可能になりました。
- American Express 社バイス プレジデント兼プリンシパル エンジニア Michael Bailey 氏
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],[],[],[],null,["# American Express Case Study\n\n[*arrow_back*\nExplore other case studies](/case-studies) \n[View more solutions](/solutions) \n\n##### Firebase Test Lab for Android reduced American Express app test costs by 50%\n\n*** ** * ** ***\n\n##### Introduction\n\nThe AMEX mobile app, with a million Android downloads, is used by\nCard Members to track spending and rewards, find offers, pay\nbills, and enjoy app-only features. To facilitate frequent\nupdates, American Express built a device lab to test code changes\nin their app across all platforms before release.\n\n*** ** * ** ***\n\n##### Challenge\n\nWith dozens of devices running various Android releases, the lab\nwas tough to scale. Adding new tests decreased productivity\nbecause of the device lab's limited throughput, and when new team\nmembers joined, the increased number of code changes added even\nmore load.\n\nMaintaining the device lab was time-consuming and costly,\ndiverting the attention of engineers who otherwise would have\nbeen focused on enhancements to drive additional value for Card\nMembers. The devices commonly had issues that required manual\nintervention, often forcing reruns of the entire test suite.\nProblematic devices were regularly removed from the device lab,\nand replacing them often created down-time while the team awaited\nthe arrival of new devices. \n\n*** ** * ** ***\n\n##### Solution\n\nDuring the product's alpha period, the frequency of updates\nto the AMEX app, commitment to high-quality releases, and\nwillingness of engineers to collaborate provided an ideal\nenvironment for the Firebase Test Lab team. American Express,\nin turn, provided valuable feedback that helped to shape the\nreleased version of the product. Firebase Test Lab integrated\nwith American Express' complex suite of hundreds of\ninstrumentation tests. Even while Test Lab was in early\ndevelopment, American Express was able to switch all of their\ncontinuous integration testing to Test Lab and successfully\nretire much of their device lab. This enabled the engineers\nmaintaining the devices to shift their focus to shipping new\nfeatures to Card Members while also writing and running tests\nto ensure high product quality. \nIn addition, American Express was able to scale the number of\ntests without worrying about slowing down test-suite execution\nand scaling up a homegrown device lab. This includes handling\nsurges in the number of tests as new team members join and\ngenerating additional code changes. American Express now runs\nover 1,000 instrumentation tests on every pull request, which\nequals hundreds of thousands of tests per public release.\nRunning so many concurrent tests dramatically increases\ntheir ability to prevent new and recurring bugs, all thanks\nto Firebase Test Lab's ability to massively parallelize\ntesting.\n\nDISCLAIMER: Results may vary.\n\n*** ** * ** ***\n\nResults\n\n30% more tests in half the time\n\n2X+ faster execution of full test suite, with no slowdown when adding\ntests\n\n50% lower cost vs. internal device lab \n\nFirebase Test Lab enables American Express to execute our entire extensive Android test suite for every pull request. Firebase takes care of scaling the test infrastructure, so our engineers can focus on the code, driving improvements to the app and corresponding changes to our test suite.\"\n\n\n- Michael Bailey, VP and Principal Engineer, American Express \nTry Firebase today\n\n\nIntegrating it into your app is easy.\n[Get started](https://console.firebase.google.com/) \n\n#### All Firebase products\n\n##### Build\n\n- [App Check](/products/app-check)\n- [App Hosting](/products/app-hosting)\n- [Authentication](/products/auth)\n- [Cloud Functions](/products/functions)\n- [Cloud Storage](/products/storage)\n- [Data Connect](/products/data-connect)\n- [Extensions](/products/extensions)\n- [Firestore](/products/firestore)\n- [Firebase ML](/products/ml)\n- [Genkit](https://genkit.dev/)\n- [Hosting](/products/hosting)\n- [Realtime Database](/products/realtime-database)\n- [Firebase AI Logic client SDKs](/products/firebase-ai-logic)\n\n[Generative AI](/products/generative-ai) \n\n##### Run\n\n- [A/B Testing](/products/ab-testing)\n- [App Distribution](/products/app-distribution)\n- [Cloud Messaging](/products/cloud-messaging)\n- [Crashlytics](/products/crashlytics)\n- [Google Analytics](/products/analytics)\n- [In-App Messaging](/products/in-app-messaging)\n- [Performance Monitoring](/products/performance)\n- [Remote Config](/products/remote-config)\n- [Test Lab](/products/test-lab)"]]