Testing
Description
At Level 1, you're beginning to learn that testing is a key part of building reliable software. You may not write tests yet, or you rely heavily on others to tell you what kind of test is needed. Your primary focus is still on getting the feature or fix to work, but you're starting to understand the role of tests in making sure it stays working. This level is about awareness and exposure—seeing how and where testing fits into the workflow.
Description
At Level 2, you write basic tests without being asked. You understand that testing isn't separate from your work—it's part of how your work gets done. You begin to think about what could break and how to prove it won't. You may still need help choosing the right type of test or understanding edge cases, but you now include tests as part of most changes.
Key Behaviors
- •Manually tests code by clicking through the UI or checking console output
- •Runs the test suite but may not understand the failures
- •Relies on teammates to write or suggest tests
- •Starts to understand the difference between types of tests (unit, integration, etc.)
- •May copy existing tests with minor modifications
Key Behaviors
- •Writes unit or integration tests for the features they build
- •Thinks about happy and sad paths when implementing new code
- •Checks coverage reports or test results as part of daily workflow
- •Fixes broken tests they didn't write
- •Reads and reuses existing test patterns in the codebase
Common Struggles
- Doesn't write tests unless explicitly asked
- Doesn't know how to start writing a test from scratch
- Unsure how to validate correctness beyond basic functionality
- May not run the test suite regularly or interpret results accurately
Common Struggles
- May write overly complex or brittle tests
- Might miss key edge cases or failure conditions
- May be unsure how to test UI interactions, async flows, or side effects
- Can focus too much on testing implementation details over behavior
Success Indicators
- Know how to run the tests and check that your code doesn't break them
- Are aware of the team's expectations around testing
- Ask for help when you're unsure how to test something
- Manually validate your own work before pushing changes
Success Indicators
- Write clear, passing tests for most of your changes
- Proactively ask what needs to be tested (and what doesn't)
- Catch regressions early through test failures
- Fix flaky or failing tests when you encounter them
Mindset Shift
From:
"Testing is extra work."
To:
"Testing is how I make sure my code keeps working."
Mindset Shift
From:
"I write tests for my code."
To:
"I write tests that help the team move faster and safer."
Questions to Ask Yourself
- What's the most important thing that could break here?
- Is this tested elsewhere? Do I need to add something?
- What would give me confidence this is working tomorrow?
Questions to Ask Yourself
- Does this test actually verify the behavior we care about?
- Would this test failure help us quickly debug a real issue?
- Is this test helping reduce risk—or just adding noise?
Build These Habits
- 1Run the test suite before and after changes
- 2Start reading and understanding tests for features you work on
- 3Try modifying existing tests to see how they work
- 4Ask teammates to walk you through a test or test strategy
Build These Habits
- 1Review others' tests to learn patterns and styles
- 2Refactor tests to reduce duplication or improve clarity
- 3Use test names and structure to explain intent
- 4Delete or fix brittle, misleading, or unused tests
Seek Feedback
- "What kind of test would you write for this?"
- "Is there a simple way I could validate this with a test?"
- "How do I know if this change needs a test?"
Seek Feedback
- "Would this test help you if something broke here?"
- "Are these tests overcomplicated or under-scoped?"
- "Am I focusing on behavior over implementation?"
Signals You're Ready to Level Up
- You run tests regularly and understand the results
- You begin to write simple tests with guidance
- You ask about test coverage or test plans
Signals You're Ready to Level Up
- Your tests catch issues before others do
- You simplify or stabilize flaky tests on your own
- Others rely on your tests to understand behavior
Focus Summary
- Catch your own bugs
- Ask about coverage
- Testing is part of how you earn trust
At Level 1, you're building the habits and curiosity that testing requires. You don't have to write tests perfectly yet—just begin seeing where they fit.
Focus Summary
- Test to move fast
- Test to stay safe
- Your code is better because you test it
At Level 2, testing is part of your professional rhythm. You no longer think of it as extra work—it's just how you build resilient, trustworthy software.