Python Lesson 7.4: Testing: Find the Bugs Before Users Do
Intro to Python Programming · Unit 7 · Lesson 7.4

Testing: Find the Bugs Before Users Do

Intro to Python Programming Grades 9–12 3-day lesson 27 deliverables

Teach students to test Python programs with inputs that reveal bugs before users find them. Students plan normal, edge and wrong inputs, write expected outputs and distinguish stages of testing. They find inputs that break short programs, log the results, repair the code and test a seat-labeling loop at its edges.

Single lesson
$8

● Instant download · Lifetime access · Editable & print-ready

Print + digitalPDF, PowerPoint, Word & Google
Answer keysA key for every page
Built-in assessmentExit tickets + lesson quiz
45-minute daysEvery day planned and timed
Free for your students

2 coding levels come with this

See the levels

Short coding levels practice this lesson in CodeGrove, our code lab that runs in the browser. Students write the program, run it and check it, with no account and nothing to install. Use them with the lesson or as practice later.

See the levels
What's inside

What does this lesson cover?

Students often try a familiar input and assume a program is correct when it works. This lesson makes them plan varied tests, compare results and explain what passing tests still can't prove.

The lab on Day 2 and the activity on Day 3 have online versions that use CodeGrove, our in-browser code lab, in the Break It level. It practices testing three programs with normal, edge and wrong inputs, logging each result, then fixing the bug each log finds: a discount edge, a divide-by-zero crash and an and that should be or. Every online version comes with a paper version, so no internet is needed. CodeGrove is free, with no accounts or sign-ins.

Featured original activity

Break It

Students test three programs in Break It, log each result, then fix each bug and tell why the input broke it.

27 deliverables

Everything that's included

00 Start Here

  • READ FIRST: every file in the lesson and when you use it
  • Teacher Guide and Pacing: the plan for each day, what to print and how to grade
  • Skills map: which standards each day teaches

01 Present

  • One editable PowerPoint deck for all three days, 26 slides, with speaker notes
  • Slide script: the speaker notes, printed
  • Bell ringers: a short warm-up for each day

02 Student Handouts

  • Guided notes: one packet for all three days, in PDF and editable Word. Students fill in the blanks during the slides, with the word bank on the page
  • Vocab slip: the lesson's words and what they mean, on one page

03 Labs

  • Break It: students test three programs in Break It, log each result, then fix each bug and tell why the input broke it

04 Activities

  • Test Plan: students plan six tests for Sullivan's ticket program, trace two of them, sort jobs into the three stages of testing and tell what testing can't prove
  • Seat Labels: students test a loop at its edges, fix Seat Labels

05 Assessment

  • Exit tickets: quick questions that show who needs more help
  • Lesson quiz: 10 multiple-choice questions and 0 written answers about all three days

06 Answer Keys

  • 5 answer key files: a key for each day (its bell ringer, notes and exit ticket) and the activity and lab keys, plus the quiz key

Digital: Google Forms™ + Google Slides™

  • 4 Google Forms™ of the exit tickets and the quiz, ready to copy into your Drive
  • The multiple choice grades itself, and you grade the written answers
  • A Google Slides™ copy of the deck, with the same slides and speaker notes, for Google Classroom™
  • Give a Form that asks students to read code only on school-managed Chromebooks in locked mode, and use the paper version on other devices

Online: CodeGrove

  • CodeGrove, Break It level: the online version of the lab on Day 2 and the activity on Day 3
  • Every online version has a paper version, so no internet is needed
  • Free to use, with no accounts or sign-ins

Why teachers love this lesson

Expected results come before the run

Students plan what a ticket program should print, then compare that answer with the actual result.

A failed test leads to repair

Students find a breaking input, record the failure, fix the bug and retest to check the change.

Print and digital

Every page is a print-ready PDF, and the Google Forms™ and Google Slides™ let you teach the same lesson in Google Classroom™.

Real online activities

Students can use CodeGrove, our in-browser code lab, on a computer or tablet, and every online version has a paper version that works with no internet.

A key for every page

Every day has its own answer key, and every written question has a sample answer and what to look for.

Every day fits a 45-minute class

Each day's plan is timed activity by activity against real reading and writing speeds.

What Teachers Say

Be the first to review this

Reviews help me a lot, and they help other teachers pick the right resources for their classes. It takes about a minute.

Leave a review

Questions teachers ask

How do I get the files after I buy?

Instant download right after checkout: PowerPoint and Word files you can edit, print-ready PDFs, and links that copy the Google Forms™ and Google Slides™ into your Drive.

Can I buy the whole unit or course instead?

Yes. This lesson is part of the Unit 7 bundle and the complete Intro to Python Programming course. Both cost less than buying the lessons one at a time.

Is this AP Computer Science?

No. It is a full-year, non-AP intro to Python course for grades 9 to 12. For AP, see our AP Computer Science A and AP CSP courses.

What should students know before this lesson?

Students know input() with int(), variables and f-strings.

What formats are the files in?

Every page is a print-ready PDF. The slides are an editable PowerPoint and the guided notes an editable Word file. The exit tickets and the quiz also come as Google Forms™, and the deck as Google Slides™.

Which standards does it cover?

Written for Florida's Foundations of Programming course (9007210). The skills map in the lesson shows which standards each day teaches.