1、Test Smarter,Not Harder:Achieving Confidence in Complex Distributed SystemsElias NogueiraElias NogueiraElias NogueiraLead Principal Software EngineerFrom Brazil Java ChampionOracle ACE ProJava Magazine NL EditorHow this talk is organizedProblemCode exampleHow to solveTakeawaysArchitecture Business V
2、iewDigitalOnboardingOnboardingDigitalLendingLendingDigitalBankingBankingDigitalAssistAssistDigitalEngageEngageCore SystemsCommon ServicesServices|Enterprise IntegrationsIntegrations|Unified SecuritySecurityFintech PartnersOpen BankingAPIAPIAPIWeb and Mobile AppsArchitecture System ViewPaymentsAPIDig
3、ital BankingBachesLimitsContactsAuditAccountsApprovalsTradingTransactionsAccess ControlForexLoanCash FlowCardsDashboardArchitecture Detailed API ViewPayment OptionsPaymentOrderLimitsBatchesPayment IntegrationAuditApprovalsCore Bank SystemPaymentsPaymentsevent-listenerBankCalendarBank Calendar Integr
4、ationBatches IntegrationAnti-fraud3rdparty1Test with real dependencies2Support multiple databases3Mock dependencies4Test asynchronous requests5API governance across multiple teamsTesting challenges on this architecture1Test with real dependencies2Support multiple databasesSupport multiple databases3
5、Mock dependenciesMock dependencies4Test asynchronous requestsTest asynchronous requests5API governance across multiple teamsTesting challenges on this architectureCoding exampleAll examples are simple and focus on solving the problem rather than create a perfect examplePaymentAuditevent-listenerAnti
6、-fraud3rdpartyOne ApplicationMultiple DatabasesModern systems often support multiple database enginesIntegration tests usually runs on in-memory databases,missing database-specific issuesTesting sequentially slows feedback cycles and CI pipelinesOne Application Multiple DatabasesCommon problemsDont