# Learning Center

Plain explanations of how to build and verify software with coding agents.

9 topics, 113 articles, 190 glossary terms

## [Verification](https://specstory.com/learning/verification)

How to check that software written by coding agents works, from "done" claims and gamed tests to evidence from running the code.

-   [Start here: How to test AI-generated code](https://specstory.com/learning/verification/ai-generated-code-testing)
-   [Why do coding agents say "done" when the code doesn't work?](https://specstory.com/learning/verification/coding-agent-done-claims)
-   [What is runtime verification?](https://specstory.com/learning/verification/runtime-verification)
-   [Why do coding agents delete or weaken tests?](https://specstory.com/learning/verification/test-tampering)
-   [What is a false pass (false green test)?](https://specstory.com/learning/verification/false-pass)

[All 16 articles in Verification](https://specstory.com/learning/verification)

## [AI coding](https://specstory.com/learning/ai-coding)

How coding agents work and how teams build with them, from vibe coding and written specs to MCP and saved session history.

-   [Start here: What is a coding agent?](https://specstory.com/learning/ai-coding/coding-agent)
-   [What is vibe coding?](https://specstory.com/learning/ai-coding/vibe-coding)
-   [What is spec-driven development?](https://specstory.com/learning/ai-coding/spec-driven-development)
-   [What is the Model Context Protocol (MCP)?](https://specstory.com/learning/ai-coding/model-context-protocol)
-   [What is AI coding session history?](https://specstory.com/learning/ai-coding/ai-coding-session-history)

[All 11 articles in AI coding](https://specstory.com/learning/ai-coding)

## [Software testing](https://specstory.com/learning/testing)

The types and levels of software testing, from unit tests to end-to-end journeys, and what changes when a coding agent writes the tests.

-   [Start here: What is software testing?](https://specstory.com/learning/testing/software-testing)
-   [What is unit testing?](https://specstory.com/learning/testing/unit-testing)
-   [What is end-to-end testing?](https://specstory.com/learning/testing/end-to-end-testing)
-   [What is test-driven development (TDD)?](https://specstory.com/learning/testing/test-driven-development)
-   [What is the difference between mocks, stubs, and fakes?](https://specstory.com/learning/testing/mocks-vs-stubs)

[All 19 articles in Software testing](https://specstory.com/learning/testing)

## [Test quality](https://specstory.com/learning/test-quality)

How to tell whether tests catch real bugs, from test oracles and code coverage to mutation testing and property-based testing.

-   [Start here: What is code coverage?](https://specstory.com/learning/test-quality/code-coverage)
-   [What is a test oracle?](https://specstory.com/learning/test-quality/test-oracle)
-   [What is mutation testing?](https://specstory.com/learning/test-quality/mutation-testing)
-   [What is the difference between mutation score and code coverage?](https://specstory.com/learning/test-quality/mutation-score-vs-code-coverage)
-   [What is property-based testing?](https://specstory.com/learning/test-quality/property-based-testing)

[All 12 articles in Test quality](https://specstory.com/learning/test-quality)

## [CI/CD](https://specstory.com/learning/ci-cd)

How pipelines build, test, and release each change, where checks run from pre-commit hooks to CI, and how coding agents change the load.

-   [Start here: What is CI/CD?](https://specstory.com/learning/ci-cd/ci-cd)
-   [What is the difference between pre-commit, pre-push, and CI checks?](https://specstory.com/learning/ci-cd/pre-commit-vs-pre-push-vs-ci)
-   [What is a pre-commit hook?](https://specstory.com/learning/ci-cd/pre-commit-hook)
-   [What are agent hooks (Stop hooks)?](https://specstory.com/learning/ci-cd/agent-hooks)
-   [Why is CI becoming the bottleneck for AI-written code?](https://specstory.com/learning/ci-cd/ci-for-coding-agents)

[All 14 articles in CI/CD](https://specstory.com/learning/ci-cd)

## [Debugging](https://specstory.com/learning/debugging)

How to find, reproduce, and fix bugs, including flaky tests, race conditions, and regressions, and how to confirm that a fix worked.

-   [Start here: What is debugging?](https://specstory.com/learning/debugging/debugging)
-   [What are reproduction steps in a bug report?](https://specstory.com/learning/debugging/reproduction-steps)
-   [What is a flaky test?](https://specstory.com/learning/debugging/flaky-tests)
-   [How to tell a flaky test from a real bug](https://specstory.com/learning/debugging/flaky-test-or-real-bug)
-   [How to verify a bug fix](https://specstory.com/learning/debugging/bug-fix-verification)

[All 11 articles in Debugging](https://specstory.com/learning/debugging)

## [Test environments](https://specstory.com/learning/environments)

Where software runs while it is tested, from agent sandboxes and test isolation to staging environments, and how prompt injection reaches agents.

-   [Start here: What is a sandbox for AI agents?](https://specstory.com/learning/environments/ai-sandbox)
-   [What is test isolation (hermetic tests)?](https://specstory.com/learning/environments/test-isolation)
-   [What is a staging environment?](https://specstory.com/learning/environments/staging-environment)
-   [What is prompt injection in coding agents?](https://specstory.com/learning/environments/prompt-injection-in-coding-agents)
-   [What is an ephemeral environment?](https://specstory.com/learning/environments/ephemeral-environments)

[All 9 articles in Test environments](https://specstory.com/learning/environments)

## [CLI and web apps](https://specstory.com/learning/cli-and-web)

How command-line tools and web apps behave at runtime and how to test them, from exit codes and output streams to headless browsers.

-   [Start here: How to test a command-line application](https://specstory.com/learning/cli-and-web/testing-command-line-applications)
-   [What are exit codes?](https://specstory.com/learning/cli-and-web/exit-codes)
-   [What is the difference between stdout and stderr?](https://specstory.com/learning/cli-and-web/stdout-vs-stderr)
-   [What is a headless browser?](https://specstory.com/learning/cli-and-web/headless-browser)
-   [How to verify a CLI that a coding agent built](https://specstory.com/learning/cli-and-web/verifying-agent-built-cli)

[All 12 articles in CLI and web apps](https://specstory.com/learning/cli-and-web)

## [Code review](https://specstory.com/learning/code-review)

How human and AI code review work, what reading a diff can and cannot catch, static analysis, and how to review code written by agents.

-   [Start here: What is code review?](https://specstory.com/learning/code-review/code-review)
-   [What is AI code review?](https://specstory.com/learning/code-review/ai-code-review)
-   [How to review a pull request written by a coding agent](https://specstory.com/learning/code-review/reviewing-agent-pull-requests)
-   [What is the difference between static and dynamic analysis?](https://specstory.com/learning/code-review/static-vs-dynamic-analysis)
-   [What is the code review bottleneck?](https://specstory.com/learning/code-review/review-bottleneck)

[All 9 articles in Code review](https://specstory.com/learning/code-review)

## [Glossary](https://specstory.com/learning/glossary)

190 terms used across the Learning Center, each defined in a sentence or two, A to Z.

**How RunStory fits.** These articles explain the practices. RunStory, from the same team, runs the software your coding agent commits and sends back what fails, with evidence. [See how RunStory works](https://specstory.com/runstory)

---

Source: [Learning Center | Testing and verifying AI code | SpecStory](https://specstory.com/learning)
