PythonLevel 6 · Testing & QualityLesson 48

L6 · 48

PCET Exam Prep — Mock Exam & Review

The final lesson of Level 6. PCET (Python Certified Entry-Level Tester) orientation, a ten-question mock, full answer key, weak-area drills and a study plan for the real sitting.

⏱ 1 hour🎓 Exam lesson📚 After PY-L6-47💻 No code required
01

Goals

3 min
  • Know the PCET format and topic spread.
  • Take a timed 10-question mock.
  • Score yourself; find weak areas.
  • Follow a one-week plan to the real exam.
02

Exam Orientation

5 min
PCET (Python Certified Entry-Level Tester)

Format     : multiple-choice (check the latest spec for count/time)
Pass mark  : ~70%
Topics     :
  - testing fundamentals + vocabulary (static/dynamic, black/white-box)
  - testing levels (unit/integration/system/acceptance) + the pyramid
  - test design (equivalence partitioning, boundary values)
  - unittest & pytest mechanics (assertions, fixtures, parametrize)
  - mocking & test doubles
  - coverage concepts
  - TDD (red-green-refactor)
Today's big idea

PCET tests concepts and judgement, not memorising every pytest flag. If you can say "that's a boundary value", "use a fixture there", "that needs a mock", "coverage ≠ correctness" — you'll pass. Reason about testing, don't cram syntax.

03

Mock Exam — 10 Questions

14 min

Set a timer for 15 minutes. No notes.

Q1.

Testing code WITHOUT running it (e.g. linting, type-checking) is:

(A) dynamic testing · (B) static testing · (C) integration testing · (D) acceptance testing

Q2.

A test for "invalid input → correct error" is a:

(A) positive test · (B) negative test · (C) smoke test · (D) regression test

Q3.

For "age must be 18-65", the values 17, 18, 65, 66 are examples of:

(A) equivalence partitions · (B) boundary values · (C) random inputs · (D) stress inputs

Q4.

In pytest, which runs before every test method to set up fresh state?

(A) a fixture · (B) a marker · (C) parametrize · (D) a mock

Q5.

The test pyramid recommends you write the MOST of which kind of test?

(A) end-to-end · (B) integration · (C) unit · (D) manual

Q6.

You replace requests.get with a fake during a test. This is:

(A) refactoring · (B) mocking · (C) linting · (D) parametrizing

Q7.

100% line coverage guarantees:

(A) the code is bug-free · (B) every line was executed by a test · (C) every branch was tested · (D) the tests assert correctly

Q8.

The TDD cycle order is:

(A) green → red → refactor · (B) refactor → red → green · (C) red → green → refactor · (D) red → refactor → green

Q9.

Which decorator runs one pytest test over many input/expected pairs?

(A) @pytest.fixture · (B) @pytest.mark.skip · (C) @pytest.mark.parametrize · (D) @patch

Q10.

A test that sometimes passes and sometimes fails without code changes is:

(A) a regression test · (B) a flaky test · (C) an integration test · (D) a smoke test

04

Answer Key + Commentary

12 min
Q1.  (B) static       no code is run — analysis of source
Q2.  (B) negative     invalid-input / error-path test
Q3.  (B) boundary     values at the edges of a partition
Q4.  (A) fixture       setUp / @pytest.fixture build fresh state
Q5.  (C) unit          many fast unit tests at the pyramid's base
Q6.  (B) mocking        swapping a real dependency for a stand-in
Q7.  (B) line executed  coverage ≠ correctness; it only proves execution
Q8.  (C) red→green→refactor   fail, pass, clean up
Q9.  (C) parametrize    table-driven testing
Q10. (B) flaky          intermittent failure — must be fixed

Scoring

  • 9-10: exam-ready.
  • 7-8: pass-likely; review your wrong topics.
  • 5-6: another week; redo the relevant lessons.
  • ≤4: re-walk Lessons 1-30 — the fundamentals + pytest + TDD.
05

Weak-Area Drills

13 min

For each missed question, do the matching drill:

  • Vocabulary (Q1, Q2) → re-read Lesson 2.
  • Test design (Q3) → re-do Lesson 4.
  • Fixtures (Q4) → re-do Lessons 9, 14-15.
  • Levels / pyramid (Q5) → re-read Lesson 3.
  • Mocking (Q6) → re-do Lessons 21-26.
  • Coverage (Q7) → re-read Lessons 27, 29.
  • TDD (Q8) → re-do Lessons 30-31.
  • parametrize / markers (Q9) → re-do Lessons 16-17.
  • Flakiness (Q10) → re-read Lesson 19 (seeding).

Re-type the worked examples from memory — testing concepts stick when your fingers do them.

06

One-Week Study Plan

8 min
Day 1   fundamentals + vocab + levels      (L6-1,2,3)
Day 2   test design + assert + unittest     (L6-4,5,7,8)
Day 3   pytest: fixtures, parametrize, marks (L6-11,14,16,17)
Day 4   mocking + coverage                   (L6-21,22,23,27,29)
Day 5   TDD + integration + CI               (L6-30,35,46)
Day 6   full timed mock; review every wrong answer
Day 7   weak-area drills + polish the capstone

Two focused hours a day. Then sit the real PCET.

07

Recap — & What You Can Now Do

3 min

Level 6 complete. You can:

  • Design test cases (partitions, boundaries) and reason about test levels.
  • Write unit, integration, and E2E tests with unittest and pytest.
  • Use fixtures, parametrize, markers, and mocks fluently.
  • Measure and target coverage honestly.
  • Practise TDD — red, green, refactor.
  • Run static analysis (ruff, pylint, mypy) and auto-format (black).
  • Automate it all with pre-commit hooks and GitHub Actions CI.

That is the toolkit that turns a coder into an engineer. Level 7 (Automation & DevOps) builds on it — saving you hours every week with scripts, schedulers, and pipelines.

08

Homework

4 min

Book your PCET exam date and add it to your calendar. Optional: write a one-page reflection on the testing habits you'll keep (TDD? pre-commit? coverage gates?) and link your capstone repo with its green CI badge.