Steps to reproduce: imperatives and the zero conditional in bug reports
About this lesson
Students learn how to write a bug report in this B1 English for IT lesson plan: steps as imperatives, and what always happens in the zero conditional.
- Grammar
- Imperatives for each step (Tap Refund. Don't tap Confirm yet.) and the zero conditional for what happens every time: If you rotate the phone, the amount disappears.
- Topic
- Bug reports for a merchant app at a fictional payments startup, with words such as steps to reproduce, expected result, actual result and severity.
- Activities
- Mozilla's bug-writing guide, a QA ticket, a call that turns a story into steps, self-checking drills, a chat and open boxes, then a bug report to write and steps to record.
What's inside
Chapter 1Warm-up: Can You Make It Happen Again?
Chapter 2The Story: “It Doesn't Work”
Chapter 3At Work: Ticket MOB-273
Chapter 4Listen: From a Story to Steps
Chapter 5Grammar: If You Tap It, It Breaks
- Study the scheme: steps and what always happensGrammar schemeTry it
- Choose the correct optionChoose the optionUnlock
- Fill in the steps: use the verb from Erin's storyFill in the gapsTry it
- Fill in the gaps: from test notes to a ruleFill in the gapsUnlock
- Drag the words into Iryna's ticketDrag and dropUnlock
- Sort the results: expected or actual?Sort into columnsUnlock
Chapter 6Speak Up: Works on My Phone
Chapter 7Homework: Your Own Bug Report
Bug report vocabulary
12 words and phrases from the lesson, each with a picture and audio in edio.
+9 more with pictures and audio in the lessonMore words
- environment
- bug tracker
- severity
- test device
- toggle
- attachment
- tap
- scroll
- rotate
Grammar: imperatives and the zero conditional for bug reports
A bug report gives instructions and states facts: Tap Refund is a step, and If you rotate the phone, the amount disappears is what happens every time. Learners write each step as an instruction, turn a user's past simple story into imperatives, and state the bug with if or when and the present simple.
Imperatives and the zero conditional
Write each step as an instruction. Say what happens every time with if / when + present simple.
Steps to reproduce: the imperative
Each step starts with the base verb, with no you: Open Payments. Tap a card payment. Type 12.50 in the Amount field. A step not to take starts with Don't: Don't tap Confirm yet. First, Then and After that keep the steps in order.
| Use | Form | Example |
|---|---|---|
| Do something | base verb + … | Open Payments. Tap a card payment. |
| Don't do something | don't + base verb | Don't tap Confirm yet. |
| Say where or what | base verb + details | Type 12.50 in the Amount field. |
| Put the steps in order | First, … Then … After that, … | First, log in. Then tap Refund. |
From a story to steps
Users tell what happened in the past simple; a ticket turns each sentence into an instruction. I opened the app becomes Open the app, and a negative turns into Don't + the base verb: I didn't close the page becomes Don't close the page.
The story: what I did (past simple)
- I opened the app.
- I tapped Payment links.
- I didn't close the page.
The steps: what you do (imperative)
- Open the app.
- Tap Payment links.
- Don't close the page.
The zero conditional: what always happens
If or when + present simple, and the present simple in the result, says what happens every time: If you rotate the phone, the amount disappears. A negative condition works the same way: If you don't rotate the phone, the refund works fine.
The zero conditional: what always happens
If / When + present simplepresent simple
If you rotate the phone, the amount disappears.
When the file is over 10 MB, the upload fails.
Today's bugs
- If you rotate the phone on the refund screen, the amount disappears.
- If you type a comma, the link shows the wrong price.
- When you type the amount without a comma, the link works.
- If you don't rotate the phone, the refund works fine.
- Type 12.50 in the Amount field. Don't tap Confirm yet.
Steps, expected result, actual result
A report has three parts. The steps come first, one action each; then the expected result, what should happen (The amount stays in the field.), and the actual result, what really happens (The Amount field is empty.). Both results are facts in the present simple.
- Steps to reproduce: one action in each step, as an instruction (Tap…, Type…, Don't…)
- Expected result: what should happen. The amount stays in the field.
- Actual result: what really happens. The Amount field is empty.
If or when? And will?
For things that happen every time, if and when both work: If you type a comma, the link shows the wrong price. Never put will after if or when. In the result, will is possible, but the present simple shows it happens every time.
If or when? And will?
For things that happen every time, if and when both work: If / When you type a comma, the link shows the wrong price. Never use will after if or when. In the result, you may also hear will (the app will crash), but the present simple shows that it happens every time.
Typical mistakes
If you will click Save twice, the app crashes.
If you click Save twice, the app crashes.
never will after if / when
If you clicks Export, the page goes blank.
If you click Export, the page goes blank.
you + base verb; he / she / it + -s
Don't to refresh the page.
Don't refresh the page.
don't + base verb, no to
Step 3: You click Export.
Step 3: Click Export.
a step is an instruction: no you
More lessons on this grammar: Zero and first conditional lessons and exercises
Try the imperatives and zero conditional exercises
Try them yourself: these are the same exercises your students do in edio.
What's in the lesson
- 13 auto-checked exercises
- 2 games
- 2 teacher-checked tasks
- 2 real-life documents
- 1 article
- 1 grammar scheme
- 1 set of word cards
- 1 audio clip
- 1 picture
- 1 transcript
The main objectives of this lesson are to:
- write a bug report someone can reproduce: a clear title, the environment, numbered steps, the expected result and the actual result
- turn a user's story into steps with imperatives: I opened the app becomes Open the app. I didn't close the page becomes Don't close the page.
- say what happens every time with the zero conditional: If you type a comma, the link shows the wrong price.
- put steps in order with First, Then and After that, and give exact steps to a colleague who can't reproduce a bug
Lesson 8 is the middle lesson of Bugs and tickets, unit 3 of English for IT B1 · Inside the Team, where learners describe problems others can reproduce and write clear tickets. Lesson 7 told a bug as a story in the past; this lesson turns such stories into steps with imperatives and states each bug with the zero conditional of A2.2 lesson 14. Lesson 9 then rewrites a vague report as a clear ticket. A step is an instruction to the reader, so tickets speak in imperatives.
The warm-up teaches twelve words with pictures and audio, from steps to reproduce and severity to tap, scroll and rotate; the story then presents Mozilla's public Bug Writing Guidelines and why the steps matter most. At work comes a QA ticket for a refund bug, with steps and expected and actual results, and an AI-voiced call in which a developer and a tester turn a merchant's story into steps. Five drills after the scheme check themselves, from rewriting a user's sentences as steps to sorting expected and actual results.
The speaking chat puts students opposite a developer who can't reproduce their ticket: they give exact steps and the expected result. Open boxes follow, with steps for everyday app problems and questions about ticket habits. For homework, a phrase bank comes with a sentence quiz and a word match that check themselves; students then write a bug report with steps and record the steps for a colleague, both for the teacher to review.
- Grammar:
- imperatives · zero conditional
- Topic:
- bug reports · steps to reproduce · QA and testing
Teaching tips
- Collect vague tickets: write It doesn't work and Software crashes on the board, and let the group ask questions until each becomes a title, numbered steps and two results.
- In an in-company group, use the team's own tracker: learners bring one real ticket, remove anything confidential, and rewrite its steps as imperatives with one action each.
- Turn test notes into rules: write I rotated the phone and the amount disappeared, and pairs turn it into If you rotate the phone, the amount disappears, then find two rules of their own in a phone app.
- One-to-one, play the developer who can't reproduce it: say Works on my phone to every step the learner gives until the steps are exact and include a Don't…
Liked it?
Teach the whole lesson in edio
25 exercises in 7 chapters, ready to teach. edio is an online platform for language schools and teachers: ready-made interactive lessons, live classes, homework and student progress in one place.
Start a free trial
7 days, no credit card.
Open the lesson
Find it in the library of 621 ready lessons. Teach it as it is, or copy any chapter into your own lessons.
Teach it live or as homework
Students work in their own accounts, in sync with you during the lesson, and the practice exercises check themselves.
The whole course: English for IT B1 · Inside the Team
24 lessons at B1 for people who build, test or run software, in American English. Learners follow Iryna, a junior developer, through her first year at Kestrel Cloud, a fictional payments startup: standups, tickets, code review, chats across time zones and job interviews. Each lesson is built around a true story from software history.See the course
Unit 1 Hello, team
roles, stacks and first days: the present simple, the present perfect with for and since, question forms
Unit 2 The daily standup
updates and blockers: the present simple and continuous, just, already and yet, have to and need to
Unit 3 Bugs and tickets
clear bug reports: the past continuous, imperatives and the zero conditional, quantifiers
Lesson 7The first actual bugPast simple and past continuous for bug stories
Lesson 8 · you're hereSteps to reproduceImperatives and the zero conditional for bug reports
Lesson 9The email that couldn't go 500 milesQuantifiers in bug tickets
Unit 4 Code review
kind, useful comments: -ed and -ing adjectives, modals for suggestions, the first conditional
Unit 5 How it works
explaining systems step by step: time clauses, the passive, relative clauses
Unit 6 Remote and async
chat, email and time zones: polite requests, future forms, the present perfect continuous
Unit 7 Users and clients
user stories and plain explanations: verb + to or -ing, reported speech, comparisons
Unit 8 Your next job
resumes and interviews: used to, the past perfect, the second conditional




















