Skip to content
9618Paper 2 · Fundamental Problem-solving and Programming Skills§12.1, §12.2, §12.3

12. Software Development

Program development life cycle, program design tools, program testing, test data and maintenance.

Statometer60CoreNext Paper 284%
Marks a paper13 · 17%Rank#10 of 12 · #3 on P2Trend · last 12→Oct/Nov 24 · 21: 10 · Oct/Nov 24 · 22: 19 · Oct/Nov 24 · 23: 13 · May/Jun 25 · 21: 22 · May/Jun 25 · 22: 34 · May/Jun 25 · 23: 8 · Oct/Nov 25 · 21: 20 · Oct/Nov 25 · 22: 11 · Oct/Nov 25 · 23: 9 · May/Jun 26 · 21: 9 · May/Jun 26 · 22: 27 · May/Jun 26 · 23: 11 marks
8 in 10 chance in the next paper

Everything for this topic — study hub

AS Level · 9618 · Paper 2

This topic is rows 36–39 of the study route.Open it on your study route

Statometer — what 33 real papers say about this topic and each of its 4 syllabus bullets

Core · #10 of 12 in AS Level · recomputed with every new session

60CORE
Core#10 of 12 in AS Level#3 on Paper 2→ Steady

A regular, well-paid topic — you cannot afford a gap here.

Next Paper 2
84%
8 in 10 chance it is set
Marks a paper
13 / 75
17% of Paper 2 · fair share 25%
Appeared in
28 / 33
Paper 2 sittings 2021–2026
Last set
May/Jun 2026
9618/23 · Q3 · 11 marks · 11-series streak
Marks in each of the last 12 Paper 2 sittingsOct/Nov 24 → May/Jun 26
Oct/Nov 24 · 21: 10 marksOct/Nov 24 · 22: 19 marksOct/Nov 24 · 23: 13 marksMay/Jun 25 · 21: 22 marksMay/Jun 25 · 22: 34 marksMay/Jun 25 · 23: 8 marksOct/Nov 25 · 21: 20 marksOct/Nov 25 · 22: 11 marksOct/Nov 25 · 23: 9 marksMay/Jun 26 · 21: 9 marksMay/Jun 26 · 22: 27 marksMay/Jun 26 · 23: 11 marks

What the papers say

  • Set in 28 of 33 Paper 2 sittings — about 8 papers in 10.
  • Worth about 13 marks a paper (17% of Paper 2).
  • Last set May/Jun 2026 · 9618/23 · Q3 for 11 marks — in the most recent series.
  • Set in each of the last 11 series without a miss.
  • Steady at around 14.2 marks a paper year on year.
  • Lives on “State” and “Complete” — 73% of its questions: short, precise answers in syllabus words.
  • 63% of its questions involve a diagram, table or figure — practise with pen and paper.
  • 67% of its questions are set out as code, pseudocode or a table to complete.
  • Its biggest question so far: 27 marks (May/Jun 2026 · 9618/22 · Q1).
  • Inside the topic, §12.2 Program design carries the most marks (38%) and §12.3 Program maintenance the least (7%).
  • It is examined mostly as AO2 (Apply & analyse, 74%), the rest AO3 (26%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
  • The examiner has commented on 42 of its questions — read “What the examiner said” before you practise.

Command words

Share of questions using the word (a question can use several). What each wants →

Question shapes

  • ≤ 6 mk17
  • 7–9 mk20
  • 10–12 mk22
  • 13–15 mk5
  • 16+ mk3

Average 9.3 marks a question · 63% with a figure or table · 67% with code · biggest 27 marks

Assessment objectives — how it is examined

Every part of every current-syllabus question filed under Cambridge's AO1 / AO2 / AO3 (from its command word and what it asks you to do), so you know whether this topic pays for definitions, for applying, or for judging and building.

  • AO1 Knowledge & understanding
  • AO2 Apply & analyse
  • AO3 Design, program & evaluate

Paper 2 as a whole

Paper 2SyllabusMeasured
AO1 Knowledge & understanding0%0%
AO2 Apply & analyse40%45%
AO3 Design, program & evaluate60%55%

Syllabus = Cambridge's grid; measured = the bank's current-syllabus papers.

Inside the topic — every syllabus bullet, measured

Each part of each question is filed under the bullet it examines; the numbers are per Paper 2 sitting, exactly like the topic's. Open a bullet for its own Statometer.

  • 12.1Program development life cycle#11 of 14 on Paper 2Regular · 4355% next paper2.9 marks18/33 sittings↗ May/Jun 2026

    Set most sessions for a few marks; know the definition and one example.Syllabus: its purpose; waterfall, iterative and RAD models with their principles, benefits and drawbacks; the analysis, design, coding, testing and maintenance stages

    Next Paper 2
    55%
    5 in 10
    Marks a paper
    2.9
    4% of the paper · 20% of the topic
    Asked in
    18 / 33
    Paper 2 sittings · 28 questions
    Last asked
    May/Jun 2026
    9618/23 · Q3 · 9.5 marks · 4-series streak
    • Asked in 18 of 33 Paper 2 sittings — about 5 papers in 10.
    • About 2.9 marks a paper (4% of Paper 2; 20% of the topic's marks across its 4 bullets).
    • Last asked May/Jun 2026 · 9618/23 · Q3 (9.5 marks) — in the most recent series.
    • Asked in each of the last 4 series.
    • Rising: 2 → 3.7 marks a paper.
    • Usually “Identify” or “State”: short, precise answers in syllabus words.
    • Biggest chunk of marks so far: 9.5 in May/Jun 2026 · 9618/23 · Q3.
    • It is examined almost entirely as AO2 (Apply & analyse, 83%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
    Last 12 sittings↗ Rising
    Oct/Nov 24 · 21: 6 marksOct/Nov 24 · 22: 2 marksOct/Nov 24 · 23: 7.5 marksMay/Jun 25 · 21: 0 marksMay/Jun 25 · 22: 4.5 marksMay/Jun 25 · 23: 0 marksOct/Nov 25 · 21: 0 marksOct/Nov 25 · 22: 4.5 marksOct/Nov 25 · 23: 0 marksMay/Jun 26 · 21: 9 marksMay/Jun 26 · 22: 2.5 marksMay/Jun 26 · 23: 9.5 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • Identify68%
    • State64%
    • Complete54%
    • Give25%
  • 12.2Program design#7 of 14 on Paper 2Core · 5963% next paper4.5 marks20/33 sittings↗ May/Jun 2026

    A regular earner inside the topic — most papers touch it.Syllabus: structure charts (purpose, construction, parameters between modules, deriving pseudocode) and state-transition diagrams

    Next Paper 2
    63%
    6 in 10
    Marks a paper
    4.5
    6% of the paper · 38% of the topic
    Asked in
    20 / 33
    Paper 2 sittings · 42 questions
    Last asked
    May/Jun 2026
    9618/23 · Q3 · 1.5 marks · 6-series streak
    • Asked in 20 of 33 Paper 2 sittings — about 6 papers in 10.
    • About 4.5 marks a paper (6% of Paper 2; 38% of the topic's marks across its 4 bullets).
    • Last asked May/Jun 2026 · 9618/23 · Q3 (1.5 marks) — in the most recent series.
    • Asked in each of the last 6 series.
    • Rising: 2.6 → 5.3 marks a paper.
    • Usually “State” or “Complete”: short, precise answers in syllabus words.
    • Biggest chunk of marks so far: 11.5 in May/Jun 2026 · 9618/22 · Q1.
    • It is examined mostly as AO2 (Apply & analyse, 67%), the rest AO3 (33%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
    Last 12 sittings↗ Rising
    Oct/Nov 24 · 21: 0 marksOct/Nov 24 · 22: 12.5 marksOct/Nov 24 · 23: 4 marksMay/Jun 25 · 21: 0.5 marksMay/Jun 25 · 22: 12.5 marksMay/Jun 25 · 23: 5 marksOct/Nov 25 · 21: 11.5 marksOct/Nov 25 · 22: 6 marksOct/Nov 25 · 23: 9 marksMay/Jun 26 · 21: 0 marksMay/Jun 26 · 22: 11.5 marksMay/Jun 26 · 23: 1.5 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • State57%
    • Complete48%
    • Identify41%
    • Explain26%
  • 12.3Program testing#10 of 14 on Paper 2Regular · 5061% next paper3.4 marks21/33 sittings↗ May/Jun 2026

    Set most sessions for a few marks; know the definition and one example.Syllabus: syntax, logic and run-time errors; dry run, walkthrough, white-box, black-box, integration, alpha, beta, acceptance, stub testing; test strategy, test plans and test data

    Next Paper 2
    61%
    6 in 10
    Marks a paper
    3.4
    5% of the paper · 35% of the topic
    Asked in
    21 / 33
    Paper 2 sittings · 40 questions
    Last asked
    May/Jun 2026
    9618/22 · Q1 · 12 marks · 11-series streak
    • Asked in 21 of 33 Paper 2 sittings — about 6 papers in 10.
    • About 3.4 marks a paper (5% of Paper 2; 35% of the topic's marks across its 4 bullets).
    • Last asked May/Jun 2026 · 9618/22 · Q1 (12 marks) — in the most recent series.
    • Asked in each of the last 11 series.
    • Rising: 2.5 → 3.9 marks a paper.
    • Usually “State” or “Complete”: short, precise answers in syllabus words.
    • Biggest chunk of marks so far: 12 in May/Jun 2026 · 9618/22 · Q1.
    • It is examined almost entirely as AO2 (Apply & analyse, 76%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
    Last 12 sittings↗ Rising
    Oct/Nov 24 · 21: 4 marksOct/Nov 24 · 22: 3.5 marksOct/Nov 24 · 23: 1.5 marksMay/Jun 25 · 21: 21.5 marksMay/Jun 25 · 22: 3 marksMay/Jun 25 · 23: 3 marksOct/Nov 25 · 21: 4.5 marksOct/Nov 25 · 22: 0.5 marksOct/Nov 25 · 23: 0 marksMay/Jun 26 · 21: 0 marksMay/Jun 26 · 22: 12 marksMay/Jun 26 · 23: 0 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • State48%
    • Complete38%
    • Identify35%
    • Describe33%
  • 12.3Program maintenance#14 of 14 on Paper 2Occasional · 1119% next paper0.4 marks7/33 sittings→ May/Jun 2025

    Rotated in occasionally — the bullet students skip and then meet.Syllabus: perfective, adaptive and corrective maintenance; analysing and amending an existing program

    Next Paper 2
    19%
    1 in 5 or less
    Marks a paper
    0.4
    1% of the paper · 7% of the topic
    Asked in
    7 / 33
    Paper 2 sittings · 12 questions
    Last asked
    May/Jun 2025
    9618/22 · Q1 · 4 marks · 2 series ago
    • Asked in 7 of 33 Paper 2 sittings — roughly one paper in 5.
    • About 0.4 marks a paper (1% of Paper 2; 7% of the topic's marks across its 4 bullets).
    • Last asked May/Jun 2025 · 9618/22 · Q1 (4 marks), 2 seriess ago.
    • Usually “State” or “Explain”: short, precise answers in syllabus words.
    • Biggest chunk of marks so far: 4 in May/Jun 2025 · 9618/22 · Q1.
    • It is examined almost entirely as AO2 (Apply & analyse, 96%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
    Last 12 sittings→ Steady
    Oct/Nov 24 · 21: 0 marksOct/Nov 24 · 22: 0 marksOct/Nov 24 · 23: 0 marksMay/Jun 25 · 21: 0 marksMay/Jun 25 · 22: 4 marksMay/Jun 25 · 23: 0 marksOct/Nov 25 · 21: 0 marksOct/Nov 25 · 22: 0 marksOct/Nov 25 · 23: 0 marksMay/Jun 26 · 21: 0 marksMay/Jun 26 · 22: 0 marksMay/Jun 26 · 23: 0 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • State83%
    • Explain42%
    • Give42%
    • Describe25%

24% of the topic's marks sit in question parts that belong to another topic (scenario questions cross sections) or that no bullet claims; they count for the topic, not for a bullet.

Marks a paper, year by year

151617181920212223242526

Grey years are the previous syllabus (2015–2021, 28 questions) — history, not counted in the rates.

By exam series

  • May/Jun15/18 · 12.1 mk
  • Oct/Nov13/15 · 13.3 mk

What you need to know4syllabus §12.1, §12.2, §12.3

  1. 12.1Program development life cycle — its purpose; waterfall, iterative and RAD models with their principles, benefits and drawbacks; the analysis, design, coding, testing and maintenance stages
  2. 12.2Program design — structure charts (purpose, construction, parameters between modules, deriving pseudocode) and state-transition diagrams
  3. 12.3Program testing — syntax, logic and run-time errors; dry run, walkthrough, white-box, black-box, integration, alpha, beta, acceptance, stub testing; test strategy, test plans and test data
  4. 12.3Program maintenance — perfective, adaptive and corrective maintenance; analysing and amending an existing program

Video lectures12ZAK's YouTube channel · play here

0 of 12 watched
  • AS20201.1K views

  • AS2020959 views

  • AS2020419 views

  • AS20201.0K views

  • O LevelAS2020580 views

  • AS20209.0K views

Infographics3draw these the way the examiner expects · download as PNG

Choosing test dataRule under test: “enter a mark from 0 to 100”. Each type of test data has a job — name the type AND saywhy it is chosen.-1050100101accepted range 0 … 100rejectedrejectedTypePurposeExamples hereNormaltypical valid data the program should accept and process23, 50, 87Extremevalid data at the very limits of the accepted range0 and 100Boundaryeither side of each limit: last accepted, first rejected-1 / 0 and 100 / 101Abnormalinvalid (erroneous) data the program must reject-5, 150, “abc”, 3.7Validation: is the data sensible? range · type · length · format · presence · check digit checks.Verification: was it entered correctly? double entry, visual check.Trace table / dry run: one column per variable and the output, one row per change — the way to find logic errors.9618 adds: walkthrough (people read the code), alpha (in-house), beta (real users before release), acceptance (the client signs off).cswithzak.com

Choosing test data

O LevelAS
Waterfall · iterative · RADThree ways to organise the program development life cycle. Know the shape of each, when it suits, andone strength and weakness.WaterfallAnalysisDesignCodingTestingMaintenanceEach stage finishes before the next starts.+ simple, clear milestones & documents– requirements frozen early; late testing; hard to go backIterativePlanBuildTestReviewrepeatBuild a working version, then improve itin repeated cycles (versions 1, 2, 3…).+ early working software; feedback each cycle– needs good version control; scope creepRAD (rapid application dev.)PrototypeUser feedbackRefineQuick prototypes built with tools,users try them, requirements evolve.+ fast, users involved, fits vague specs– less documentation; inefficient codeDesign tools for any modelStructure chart: hierarchy of modules with parameters ↓ and return values ↑ · State-transition diagram: states as circles, events on arrowsFlowchart · pseudocode · stepwise refinement (break each module into smaller steps until it is codable) · decision tableChoose the model when…Waterfall: clear, fixed requirements (safety-critical) · Iterative: large system delivered in versions · RAD: tight deadline, users on handcswithzak.com

Waterfall, iterative & RAD

AS
Testing, errors & maintenanceTesting finds errors; the type of test says WHO tests WHAT and WHEN. Then classify the error and themaintenance that fixes it.TestWhat it meansWhenStub testingreplace a missing module with a stub that returns a dummy valueduring developmentWhite-boxtester sees the code; every path/branch exerciseddeveloper, unit levelBlack-boxtester sees only inputs/outputs against the specificationany stageIntegrationmodules tested together to check the interfacesafter unit testingAlphain-house testing by the developer's own teambefore releaseBetareal users outside the company try a near-final versionbefore releaseAcceptancethe client checks it meets the requirements and signs offat hand-overError typesSyntaxbreaks the language rules; caught by the translator — missing ENDIFLogicruns, but gives the wrong answer — used > instead of >=; found by test data / trace tableRun-timecrashes while running — division by zero, file not found, array index out of rangeMaintenanceCorrectivefix bugs found after releaseAdaptivenew OS, hardware, law or business rulePerfectivefaster, or features users asked forcswithzak.com

Testing & maintenance

AS

Browse all infographics →

Key terms13use these exact words in the exam

waterfalliterativeRADstub testingblack-boxwhite-boxintegration testingalpha testingbeta testingtrace tablesyntax errorlogic errorrun-time error

Dotted terms are defined in the glossary.

Code help2referenced to the Cambridge pseudocode guide

Test data table for a validation routine

text
Rule: mark must be an integer 0–100

Type       Test value   Expected
Normal     56           accepted
Extreme    0 / 100      accepted
Boundary   -1 / 101     rejected
Abnormal   "abc" / 3.5  rejected

Stub testing: a placeholder module

pseudocode §8 Run in Playground
FUNCTION LookupPrice(Code : STRING) RETURNS REAL
// STUB — real database lookup not written yet
RETURN 9.99
ENDFUNCTION
 
DECLARE Total : REAL
Total ← LookupPrice("A1") * 3
OUTPUT "Total (using stub) = ", Total

Playground examples5runnable programs for this topic

  • Stepwise refinement — a bank menu built from modules

    The main program only shows the menu and CALLs procedures; each module does one job (a structure chart in code).

    ASPseudocodeProcedures & functions §8.1 · 9618 §9.1
    Run
  • Trace table practice

    A typical dry-run question. Run it, then open the Trace table tab and check it against your own table.

    O LevelASPseudocodeValidation, testing & exceptions 2210 §7.4 / 9618 §12.3
    Run
  • Normal, boundary and abnormal test data

    Drive a function with each kind of test data and check the results against what you expected.

    ASPseudocodeValidation, testing & exceptions 9618 §12.3
    Run
  • Validation loop — range and type checks

    Keep asking until the input is a whole number between 1 and 100. try/except catches the ValueError from int().

    O LevelASPythonValidation, testing & exceptions §7.3 ↔ Python, A2 §20.3
    Run
  • ISBN-13 check digit

    Weights 1 and 3 alternate; the check digit makes the total a multiple of 10.

    O LevelASPythonValidation, testing & exceptions 2210 §2 / 9618 §6
    Run

Also for this topic: 2 Java programs · 3 VB.NET programs in the browser compilers.

Test yourself

Ready to check you know it?

Every round is a fresh random draw, weak cards come back until you get them right, and past-paper questions come with their mark schemes. Marks earn XP on your dashboard.

NewCS Games · 16 to play

Revise this topic by playing

Quiz battles, a daily CS word, SQL whodunnits, logic-gate puzzles and arcade — every game drills the syllabus. Solo against AskZ bots, with friends, or with your whole class. Free, no sign-up.

Play now
Enroll nowOnline classes