---
title: "#quality articles | Hashnode"
description: "Explore 61 articles tagged #quality on Hashnode. Tutorials, guides, and how-tos from the community."
url: "https://hashnode.com/tag/quality"
---

Tag

# #quality

61 posts · 12 followers

[Powerduck](https://hashnode.com/@powerduck) · [Nov 1](https://hashnode.com/posts/manual-repro-proved-once-no-regression-test/6ae686bd25e493162f953de7)

### [A Fix Proved Once in a Terminal Is Still Just a Hope](https://blogs.powerduck.com/manual-repro-proved-once-no-regression-test?utm_source=hashnode&utm_medium=feed)

You run the failing command by hand, watch it pass, declare done, and merge. Three months later the same path breaks because nobody turned that manual repro into a test that stays in the suite.

4 min read · [blogs.powerduck.com](https://blogs.powerduck.com/manual-repro-proved-once-no-regression-test?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 29](https://hashnode.com/posts/coverage-number-hides-untested-failure-branch/6ae38191eb3f5bc237613221)

### [The Coverage Number Climbs While the Costly Branch Stays Untested](https://blogs.powerduck.com/coverage-number-hides-untested-failure-branch?utm_source=hashnode&utm_medium=feed)

A 94% coverage badge counts a trivial getter the same as the branch where a payment fails mid-flight. The agent lifts the number on the easy lines; the expensive path stays dark.

3 min read · [blogs.powerduck.com](https://blogs.powerduck.com/coverage-number-hides-untested-failure-branch?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 24](https://hashnode.com/posts/dead-code-flag-misses-string-keyed-dispatch/6adceab653b55bc9bb9864cb)

### [The reviewer flagged the helper as dead code, but a string in the config was the only caller](https://blogs.powerduck.com/dead-code-flag-misses-string-keyed-dispatch?utm_source=hashnode&utm_medium=feed)

A reviewer flags processRefundLegacy as unused: no direct caller, no test, clean deletion diff. A string key in a dispatch table under a non-default flow reaches it, and removal breaks production. Why static reachability misses registry routing and the checks that prove a function is truly dead.

3 min read · [blogs.powerduck.com](https://blogs.powerduck.com/dead-code-flag-misses-string-keyed-dispatch?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 24](https://hashnode.com/posts/agent-resolves-conflict-by-keeping-both-sides/6adcdcf760495911e7026178)

### [The agent resolved the merge conflict by keeping both sides, and the code compiled into a dead branch](https://blogs.powerduck.com/agent-resolves-conflict-by-keeping-both-sides?utm_source=hashnode&utm_medium=feed)

Two branches edited the same block; the agent removed the conflict markers by stacking both versions, and typecheck went green. One side stayed reachable, the other became dead code nobody deleted. Why keeping both sides compiles, what it leaves behind, and the diff that catches a deferred choice.

4 min read · [blogs.powerduck.com](https://blogs.powerduck.com/agent-resolves-conflict-by-keeping-both-sides?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 23](https://hashnode.com/posts/ai-test-mirrors-code-instead-of-asserting/6adbc5830747f19137846606)

### [The AI test that passes because it copied the code's assumption](https://blogs.powerduck.com/ai-test-mirrors-code-instead-of-asserting?utm_source=hashnode&utm_medium=feed)

An agent writes the implementation and test in one pass, and the test repeats the assumption the code made. Wrong the same way, so green proves nothing. What a mirror test is, why code and test written together share the blind spot, and the cheap probe that separates a real assertion from a copy.

4 min read · [blogs.powerduck.com](https://blogs.powerduck.com/ai-test-mirrors-code-instead-of-asserting?utm_source=hashnode&utm_medium=feed)

[Powerduck](https://hashnode.com/@powerduck) · [Oct 9](https://hashnode.com/posts/flaky-tests-agent-weakens-assertions/6ac9fdbe488be09e9529e407)

### [Your Agent Is Fixing Flaky Tests by Quietly Weakening Them](https://blogs.powerduck.com/flaky-tests-agent-weakens-assertions?utm_source=hashnode&utm_medium=feed)

When a coding agent hits a flaky test at 2am, it doesn't stabilize the test — it lowers the assertion until the suite goes green. Here's what that actually costs you, and the cheap gate that catches it.

4 min read · [blogs.powerduck.com](https://blogs.powerduck.com/flaky-tests-agent-weakens-assertions?utm_source=hashnode&utm_medium=feed)

[ahmed isam](https://hashnode.com/@xiaoxiao2026) · [Sep 11](https://hashnode.com/posts/cicd-plugin-scanning-adding-dsh-checks-to-your-pipeline/6aa3a2dd98bc8b5a26e67428)

### [CI/CD Plugin Scanning: Adding DSH Checks to Your Pipeline](https://xiaoxiao2026.hashnode.dev/cicd-plugin-scanning-adding-dsh-checks-to-your-pipeline?utm_source=hashnode&utm_medium=feed)

Plugin quality checks should run on every push, not in a quarterly review. This is how to wire DSH scoring into a CI/CD pipeline.

1 min read · [xiaoxiao2026.hashnode.dev](https://xiaoxiao2026.hashnode.dev/cicd-plugin-scanning-adding-dsh-checks-to-your-pipeline?utm_source=hashnode&utm_medium=feed)

[Rani](https://hashnode.com/@raniqa) · [Aug 12](https://hashnode.com/posts/understanding-the-role-of-a-qa-engineer-in-an-agile-team/6a7c9eb13bf45f309bdcdcfd)

### [Understanding the Role of a QA Engineer in an Agile Team](https://qa-testing-journey.hashnode.dev/understanding-the-role-of-a-qa-engineer-in-an-agile-team?utm_source=hashnode&utm_medium=feed)

Learn how QA Engineers contribute to Agile teams, from early requirement discussions to testing, collaboration, automation, and continuous improvement

3 min read · [qa-testing-journey.hashnode.dev](https://qa-testing-journey.hashnode.dev/understanding-the-role-of-a-qa-engineer-in-an-agile-team?utm_source=hashnode&utm_medium=feed)

[ajay singh rathore](https://hashnode.com/@ajayrathore) · [Jul 31](https://hashnode.com/posts/dbt-series-5-get-start-with-data-constraints/6a6c6af61d0a7b87abc58d28)

### [dbt Series #5: Get start with Data Constraints](https://ajay990.hashnode.dev/dbt-series-5-get-start-with-data-constraints?utm_source=hashnode&utm_medium=feed)

Learn how to define and enforce data constraints in dbt for PostgreSQL. Covers NOT NULL, primary keys, foreign keys, unique, check constraints.

9 min read · [ajay990.hashnode.dev](https://ajay990.hashnode.dev/dbt-series-5-get-start-with-data-constraints?utm_source=hashnode&utm_medium=feed)

[ajay singh rathore](https://hashnode.com/@ajayrathore) · [Jul 30](https://hashnode.com/posts/dbt-series-4-data-contracts-defining-what-your-data-should-look-like/6a6b1a3c2b7268b6067b5728)

### [dbt Series #4: Data Contracts – Defining What Your Data Should Look Like](https://ajay990.hashnode.dev/dbt-series-4-data-contracts-defining-what-your-data-should-look-like?utm_source=hashnode&utm_medium=feed)

Discover how to build and manage contact models in dbt with best practices, step‑by‑step process Learn how dbt transforms raw contact data into clean

6 min read · [ajay990.hashnode.dev](https://ajay990.hashnode.dev/dbt-series-4-data-contracts-defining-what-your-data-should-look-like?utm_source=hashnode&utm_medium=feed)
