5 exercises — each question asks whether a given expression is a natural English collocation used by native speakers.
How to approach True or False collocations
Ask yourself: would a native speaker say this naturally, or does it sound translated?
Check the verb: many errors come from using a generic verb (do/make) instead of the precise one
Some expressions sound almost right — the difference is often one word
0 / 5 completed
1 / 5
True or False: 'write a test' is the natural English collocation for creating a new test case in software development.
TRUE — "write a test" is the dominant collocation for creating test cases.
"Write" collocates naturally with code-authoring activities in English, just like "write a function," "write a script," or "write documentation."
write a test ✅ — "Did you write tests for the new endpoint?"
write unit tests ✅ — "We need to write unit tests before refactoring."
write test cases ✅ — common in QA contexts
write a test suite ✅ — a collection of related tests
Also natural:
add a test ✅ — "Add a test that covers this edge case."
create a test ✅ — accepted, slightly more generic
implement a test ✅ — more formal
The key distinction: write a test (create it) vs run a test (execute it). "Code a test" ❌ sounds unnatural — while "code" is used as a verb informally, "write" is the established collocation for test authorship. Tests for all levels (unit, integration, E2E) use "write."
2 / 5
True or False: 'make a test' is the natural English expression a developer uses when creating a new automated test.
FALSE — "make a test" sounds non-native in professional software engineering contexts.
This is a classic false-friend verb pattern: in many languages, a single generic verb covers most creation actions:
Ukrainian: зробити тест (make/do a test)
German: einen Test machen (make a test)
French: faire un test (do/make a test)
In English, however, these activities have specific verbs:
write a test ✅ — by far the most natural
add a test ✅ — "Add a test for this regression."
create a test ✅ — generic but accepted
implement a test ✅ — formal
cover a case with a test ✅ — focus on test coverage
"Make a test" ❌ would not appear in any professional code review, documentation, or engineering discussion. Reading real engineering blogs and open-source contributing guides is one of the fastest ways to absorb these collocations naturally.
3 / 5
True or False: 'flaky test' is a real English collocation with a specific meaning in software testing.
TRUE — "flaky test" is standard software engineering vocabulary across the industry.
A flaky test is a test that produces different results (pass/fail) on the same code without any changes — due to timing issues, network dependencies, shared state, randomness, or environment instability.
Google published extensively on flaky tests and even built infrastructure to detect and quarantine them
GitHub, Meta, Netflix, and most major engineering orgs use "flaky test" in their documentation
flaky test detection — automated tools that identify which tests are non-deterministic
quarantine flaky tests — temporarily marking them so they do not block CI
flaky test rate — a reliability metric teams track
Related vocabulary:
intermittent test ✅ — also used, slightly more formal
non-deterministic test ✅ — precise technical description
unstable test ✅ — acceptable but less specific than "flaky"
"Flaky" (adjective) means unreliable, inconsistent — it comes from the image of something breaking off in flakes. While informal in origin, it is now the established term.
4 / 5
True or False: 'run the tests' is the natural English collocation for executing your test suite.
TRUE — "run the tests" is the standard and most natural collocation.
"Run" is the dominant verb for executing code-related processes in English: run a script, run a build, run a migration, run a container. Tests follow the same pattern.
run the tests ✅ — "Run the tests before pushing."
run the test suite ✅ — "The CI pipeline runs the full test suite on every PR."
run all tests ✅ — explicit scope
run a specific test ✅ — targeted execution
run tests in CI ✅ — context-specific
run in watch mode ✅ — Jest/Vitest feature for continuous re-running
Related natural phrases:
"The tests are passing / failing." ✅
"The tests are green / red." ✅ — CI status metaphor
"Let me run the tests locally first." ✅
"Do the tests" ❌ is not used professionally. "Execute the tests" ✅ is correct but formal — reserved for documentation or automated tooling descriptions.
5 / 5
True or False: 'do a test coverage' is the natural English way to describe measuring how much of your code is covered by tests.
FALSE — "do a test coverage" is not natural English.
"Coverage" in testing is a metric — a percentage that describes how much of the codebase is exercised by tests. You cannot "do" a metric; you measure, check, improve, or achieve it.
Natural expressions:
measure test coverage ✅ — "Measure coverage after adding the new tests."
check coverage ✅ — "Check the coverage report in the CI output."
improve coverage ✅ — "We need to improve coverage on the payment module."
increase coverage to 80% ✅ — goal-oriented phrasing
generate a coverage report ✅ — the output of running a coverage tool
In CI/CD contexts:
"Coverage is at 87%." ✅
"We need better coverage on the auth module." ✅
"The coverage threshold is set to 75%." ✅
Tools: Istanbul (nyc), Jest --coverage, Vitest --coverage, Codecov, Coveralls. "Make a test coverage report" ❌ is also non-native — you generate a coverage report.