Why Most Chinese Developers Avoid Writing Unit Tests

The article explains that Chinese programmers rarely write unit tests because tight schedules, low managerial emphasis, high workload, legacy code complexity, and a culture that values rapid feature delivery over testing, leading to systemic resistance despite occasional recent shifts toward coverage mandates.

Liangxu Linux
Liangxu Linux
Liangxu Linux
Why Most Chinese Developers Avoid Writing Unit Tests

Background

In domestic internet companies unit‑test coverage often stalls around 20 % whereas foreign firms typically require >80 % and run tests on every commit.

Time constraints

A typical five‑day sprint allocates 1 day to requirement review, 3 days to development and 1 day to integration testing. Combined with a 996 work rhythm (evenings until 10 pm and weekend on‑call), developers have little time left for writing unit tests.

Productivity perception

Unit‑test effort is frequently excluded from productivity metrics. Writing 100 test cases over two days is viewed as “low output,” while delivering three features in the same period—despite many bugs—is praised as efficient work.

When testing time is folded into the development schedule, product managers still demand delivery on the original timeline, delegating testing responsibilities to QA.

Testing cost example

In an automotive electronics project a CAN‑communication module contained only 300 lines of business code. To enable unit testing, developers wrote about 800 lines of mock code for hardware interfaces, stubs and test harnesses. Management dismissed the effort as poor ROI, yet the module later produced a bug that caused a vehicle recall costing millions.

Technical debt cycle

Legacy code often exhibits high coupling and extensive use of global variables; a single function may depend on dozens of external components. Adding unit tests therefore requires prior refactoring, which consumes time and carries the risk of introducing new bugs.

One eight‑year‑old project required modifications to thousands of lines to untangle dependencies. A request for a two‑week refactor was rejected with the rationale that the system was already running fine and that any new issues would lack clear responsibility. This creates a deadlock: without tests developers avoid refactoring, and without refactoring tests cannot be added.

Additional factors

“Rapid iteration” culture pressures quick feature delivery.

Developers often lack skill in writing proper unit tests, confusing them with integration tests and neglecting edge‑case coverage.

Systemic issue

The combination of undervaluing testing, insufficient developer incentives, and heavy legacy baggage forms a systemic barrier to unit‑test adoption.

Recent industry shift

Some large firms have begun to enforce unit testing, not solely for quality reasons but because costly incidents have forced senior management to act; in certain cases test‑coverage metrics are linked to promotion decisions.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

software developmentunit testingTechnical debtsoftware cultureChinese tech industry
Liangxu Linux
Written by

Liangxu Linux

Liangxu, a self‑taught IT professional now working as a Linux development engineer at a Fortune 500 multinational, shares extensive Linux knowledge—fundamentals, applications, tools, plus Git, databases, Raspberry Pi, etc. (Reply “Linux” to receive essential resources.)

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.