How Precise Testing Transforms FinTech QA: Real-World Practices and Future Directions
This article explains the concept of precise testing, illustrates industry implementations at iQIYI and ByteDance, examines current practices within China Industrial and Commercial Bank, and outlines future enhancements such as dynamic analysis and intelligent test case recommendation to improve test efficiency and risk assessment.
Background and Concepts
With rapid development in the software testing industry, testing ideas and technologies evolve constantly. A complete set of automated test cases is essential for every software company, yet when versions update it is difficult to know which functionalities are affected and to select the appropriate test cases.
FinTech services for banks are proliferating, with fast‑changing requirements and increasingly complex architectures, leading to shorter test cycles. Banking systems have long business chains, complex structures, and cannot be fully decoupled, making experience‑based test case selection inaccurate.
To address these challenges, precise testing was proposed in 2012. It is a traceable testing technique that uses algorithms to visualize, analyze, and optimize traditional testing processes, monitoring activities, analyzing collected data, and providing quantitative quality evaluation.
Even minor program changes can trigger new testing work; relying on experience can introduce errors, while full regression testing is often infeasible. The current testing workflow is illustrated below.
Using precise data, testers can accurately identify program changes, testing scope, and coverage completeness, ultimately delivering more effective analysis results.
Goal One
Identify changed code to pinpoint affected programs, allowing precise selection of regression test cases.
Goal Two
Provide test metrics based on changed programs or call‑chain dimensions, ensuring full coverage of changed code and enabling accurate risk assessment and test exit criteria.
Goal Three
Precisely locate error causes; for failing cases, precise testing offers visualized call relationships to quickly pinpoint issues and improve developer‑tester collaboration.
In summary, precise testing offers analysis methods for test scope, metrics, and error localization, making testing more efficient.
Industry Practices
iQIYI Precise Testing System
Supports both client and server, manual and automated scenarios, and integrates multiple internal platforms to obtain code coverage at the case level. The server achieves system‑level linkage, while the client integrates multiple components, linking cases to code branches or blocks.
ByteDance Precise Testing Practice
The development process is divided into five stages; precise testing is applied at self‑test, functional acceptance, and regression test nodes. SmartEye service provides recommended test cases for each node, helping detect functional defects early and reducing regression test effort.
The overall solution uses a Code Graph platform to support SmartEye with static call‑graph analysis, MR‑based diff analysis, upstream/downstream call‑chain analysis, and code change rate statistics.
Current Status and Development in the Bank
The bank currently lacks test case recording and recommendation functions.
Coverage Collection Types
The bank supports multi‑language coverage collection, including Java, stored procedures, CTP, and MyBatis.
Coverage Tool with Code‑Coloring System
Changes are extracted from Git commits (Java, MyBatis, CTP) and visualized through code‑coloring, providing incremental coverage data to reduce release risk.
Configuring the code‑coloring application enables month‑level method‑level coverage for precise testing data, supporting deeper analysis and broader adoption.
Static Call‑Chain Parsing
The bank explores heterogeneous call‑chain relationships for comprehensive test analysis.
Static Call‑Chain Types
Includes CTP, stored procedures, and Java.
Platform Integration
The solution is embedded in the PaaS platform; only three PaaS parameters are needed to download the tool package and use the service. For non‑cloud WAS environments, configuration is retrieved from CMDB for automated night‑time deployment.
Further Development
1. Enhance change impact analysis by combining dynamic code analysis with static call‑chain results to address limitations such as reflection.
2. Advance intelligent test case recommendation to create a “precise analysis → automated testing → coverage measurement” closed loop, leveraging existing requirement data, case content, and test specification libraries.
3. Extend service layer capabilities using data from the underlying data platform to provide full‑link precise tracing across heterogeneous programs, supporting micro‑service orchestration and comprehensive call‑chain‑based test analysis.
Software Development Quality
Discussions on software development quality, R&D efficiency, high availability, technical quality, quality systems, assurance, architecture design, tool platforms, test development, continuous delivery, continuous testing, etc. Contact me with any article questions.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
