Operations 10 min read

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.

Software Development Quality
Software Development Quality
Software Development Quality
How Precise Testing Transforms FinTech QA: Real-World Practices and Future Directions

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.

precise testingsoftware testingtest automationStatic Code Analysisfintechcoverage analysis
Software Development Quality
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.