TechnologyThe BestieBeginner
Writing Better Software Tests course icon

Writing Better Software Tests

Like Duolingo, but for Writing Better Software Tests. Tomo turns the whole topic into a game you play five minutes a day, until it actually sticks.

For the part of you with thirty open tabs that never became anything.

12 bite-size levelsAbout 5 minutes each

Free forever · No credit card · iPhone & Android

Tessa the Terrier
Writing Better Software Tests
with Tessa the Terrier
12
Levels
2
Sections
5
Min/day
What you'll learn

Key ideas in Writing Better Software Tests

  • Arrange involves preparing the environment and inputs
  • Act is the single step where the feature is triggered
  • Assert is the final check against the expected outcome
  • One test should check one specific behavior or outcome
  • Multiple assertions in one test can mask which specific part failed
  • Single-purpose tests point directly to the bug
  • The correct sequence of the Arrange-Act-Assert pattern
  • The benefit of a test failing for a single reason
  • Test names explain the 'contract' of the code to other developers
  • Tests must clean up after themselves so they don't leave 'trash' for the next test
  • A good name like 'should_return_error_when_email_is_invalid' is better than 'test_email_function'
  • The test suite acts as a manual for how the system works
  • Independent tests can be run in any order and still produce the same result
  • A test should never rely on data created by a previous test
  • Hard-coding the literal value (e.g., 50) prevents repeating bugs from the source code
  • The role of test names as documentation
Why not just Google it

You've tried the other tabs

Wikipedia

Thirty open tabs. Four facts you actually kept.

YouTube

You watched. You nodded. By Sunday it was gone.

ChatGPT

One answer, then back to scrolling.

Online courses

Eight weeks. You meant to finish. You didn't.

Tomo gives Writing Better Software Tests the Duolingo treatment: levels, streaks, and quick quizzes that test what you just learned. That game loop is what the tabs above never had, so it's the one you actually finish.

Try a question

Here's what playing it feels like

A real question from this course. Take your best guess.

The Three Pillars of Testing

In the 'Act' phase of a test, what are you primarily doing?

Get it right to open this lesson and 11 more in the app.

Course map

Where Writing Better Software Tests takes you

Stop guessing if your code works and start proving it. Learn to think like a detective to find bugs before your users do and build a safety net for your future self.

  1. 1

    The First Line of Defense

    • The Anatomy of a Good Test
    • Finding the Edge Cases
  2. 2

    Building a Safety Net

    • Testing for Real-World Scenarios
    • The Feedback Loop

2 sections · 4 units · 12 levels. Built to play, not to enroll.

How it's taught

You pick the voice

This course
The Bestie

Writing Better Software Tests is taught in the The Bestie style: your friend who just gets it. Want a different feel? In the app you can spin up the same topic in any of Tomo's teaching styles. Same facts, totally different vibe.

Start free

Start Writing Better Software Tests today.

Download Tomo, search Writing Better Software Tests, and play your first lesson in under a minute.