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.

Statometer40RegularNext Paper 258%
Marks a paper7.6 · 10%Rank#12 of 12 · #4 on P2Trend · last 12Oct/Nov 24 · 21: 10 marksOct/Nov 24 · 22: 19 marksOct/Nov 24 · 23: 7 marksMay/Jun 25 · 21: 0 marksMay/Jun 25 · 22: 22 marksMay/Jun 25 · 23: 0 marksOct/Nov 25 · 21: 10 marksOct/Nov 25 · 22: 5 marksOct/Nov 25 · 23: 0 marksMay/Jun 26 · 21: 9 marksMay/Jun 26 · 22: 27 marksMay/Jun 26 · 23: 11 marks
6 in 10 chance in the next paper

Everything for this topic — study hub

AS Level · 9618 · Paper 2

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

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

40REGULAR
Regular#12 of 12 in AS Level#4 on Paper 2 Rising

Comes up most sessions for a few marks — know the definitions and one worked example.

Next Paper 2
58%
6 in 10 chance it is set
Marks a paper
7.6 / 75
10% of Paper 2 · fair share 25%
Appeared in
18 / 33
Paper 2 sittings 20212026
Last set
May/Jun 2026
9618/23 · Q3 · 11 marks · 4-series streak
Marks in each of the last 12 Paper 2 sittingsOct/Nov 24May/Jun 26
Oct/Nov 24 · 21: 10 marksOct/Nov 24 · 22: 19 marksOct/Nov 24 · 23: 7 marksMay/Jun 25 · 21: 0 marksMay/Jun 25 · 22: 22 marksMay/Jun 25 · 23: 0 marksOct/Nov 25 · 21: 10 marksOct/Nov 25 · 22: 5 marksOct/Nov 25 · 23: 0 marksMay/Jun 26 · 21: 9 marksMay/Jun 26 · 22: 27 marksMay/Jun 26 · 23: 11 marks

What the papers say

  • Set in 18 of 33 Paper 2 sittings — it rotates in and out, so it is a gamble to skip.
  • Worth about 7.6 marks a paper (10% of Paper 2, well under its fair share of 25%).
  • Last set May/Jun 2026 · 9618/23 · Q3 for 11 marks — in the most recent series.
  • Set in each of the last 4 series without a miss.
  • Rising: about 5.9 marks a paper in the earlier years, 9.3 in the latest.
  • Lives on “Complete” and “Identify” — 96% of its questions: you must produce something — code, a diagram, a table — practise doing it, not reading it.
  • 79% 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.1 Program development life cycle carries the most marks (33%) and §12.3 Program maintenance the least (6%).
  • It is examined almost entirely as AO2 (Apply & analyse, 88%) — you must apply it to the given data or scenario — work it out, trace it, explain it in context.
  • The examiner has commented on 13 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 mk6
  • 7–9 mk7
  • 10–12 mk7
  • 13–15 mk3
  • 16+ mk1

Average 9.4 marks a question · 79% 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%46%
AO3 Design, program & evaluate60%54%

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#9 of 14 on Paper 2Regular · 3949% next paper2.6 marks14/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
    49%
    2 in 4
    Marks a paper
    2.6
    3% of the paper · 33% of the topic
    Asked in
    14 / 33
    Paper 2 sittings · 16 questions
    Last asked
    May/Jun 2026
    9618/23 · Q3 · 9.5 marks · 4-series streak
    • Asked in 14 of 33 Paper 2 sittings — roughly one paper in 2.
    • About 2.6 marks a paper (3% of Paper 2; 33% 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: 1 → 3.8 marks a paper.
    • Usually “Complete” or “Identify”: you must produce something — code, a diagram, a table — practise doing it, not reading it.
    • Biggest chunk of marks so far: 9.5 in May/Jun 2026 · 9618/23 · Q3.
    • It is examined almost entirely as AO2 (Apply & analyse, 88%) — 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: 5.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: 4 marksMay/Jun 26 · 23: 9.5 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • Complete81%
    • Identify81%
    • State63%
    • Give19%
  • 12.2Program design#10 of 14 on Paper 2Occasional · 3037% next paper2 marks11/33 sittings May/Jun 2026

    Rotated in occasionally — the bullet students skip and then meet.Syllabus: structure charts (purpose, construction, parameters between modules, deriving pseudocode) and state-transition diagrams

    Next Paper 2
    37%
    1 in 4
    Marks a paper
    2
    3% of the paper · 33% of the topic
    Asked in
    11 / 33
    Paper 2 sittings · 15 questions
    Last asked
    May/Jun 2026
    9618/23 · Q3 · 1.5 marks · 4-series streak
    • Asked in 11 of 33 Paper 2 sittings — roughly one paper in 3.
    • About 2 marks a paper (3% of Paper 2; 33% 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 4 series.
    • Usually “Complete” or “Identify”: you must produce something — code, a diagram, a table — practise doing it, not reading it.
    • Biggest chunk of marks so far: 10 in May/Jun 2026 · 9618/22 · Q1.
    • It is examined almost entirely as AO2 (Apply & analyse, 87%) — 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: 12.5 marksOct/Nov 24 · 23: 0 marksMay/Jun 25 · 21: 0 marksMay/Jun 25 · 22: 8.5 marksMay/Jun 25 · 23: 0 marksOct/Nov 25 · 21: 1.5 marksOct/Nov 25 · 22: 0 marksOct/Nov 25 · 23: 0 marksMay/Jun 26 · 21: 0 marksMay/Jun 26 · 22: 10 marksMay/Jun 26 · 23: 1.5 marks

    Assessment objectives

    • AO1 Knowledge & understanding
    • AO2 Apply & analyse
    • AO3 Design, program & evaluate
    • Complete87%
    • Identify60%
    • State53%
    • Give20%
  • 12.3Program testing#11 of 14 on Paper 2Occasional · 3041% next paper1.8 marks12/33 sittings May/Jun 2026

    Rotated in occasionally — the bullet students skip and then meet.Syllabus: syntax, logic and run-time errors; dry run, walkthrough, white-box, black-box, integration, alpha, beta, acceptance and stub testing; test plans; normal/abnormal/extreme data

    Next Paper 2
    41%
    2 in 4
    Marks a paper
    1.8
    2% of the paper · 29% of the topic
    Asked in
    12 / 33
    Paper 2 sittings · 14 questions
    Last asked
    May/Jun 2026
    9618/22 · Q1 · 12 marks · 4-series streak
    • Asked in 12 of 33 Paper 2 sittings — roughly one paper in 3.
    • About 1.8 marks a paper (2% of Paper 2; 29% 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 4 series.
    • Usually “Complete” or “Identify”: you must produce something — code, a diagram, a table — practise doing it, not reading it.
    • Biggest chunk of marks so far: 12 in May/Jun 2026 · 9618/22 · Q1.
    • It is examined almost entirely as AO2 (Apply & analyse, 82%) — 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: 4 marksOct/Nov 24 · 22: 3.5 marksOct/Nov 24 · 23: 1.5 marksMay/Jun 25 · 21: 0 marksMay/Jun 25 · 22: 3 marksMay/Jun 25 · 23: 0 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
    • Complete86%
    • Identify64%
    • State36%
    • Explain14%
  • 12.3Program maintenance#14 of 14 on Paper 2Occasional · 815% next paper0.3 marks4/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
    15%
    1 in 5 or less
    Marks a paper
    0.3
    0% of the paper · 6% of the topic
    Asked in
    4 / 33
    Paper 2 sittings · 4 questions
    Last asked
    May/Jun 2025
    9618/22 · Q1 · 4 marks · 2 series ago
    • Asked in only 4 of 33 Paper 2 sittings — rare, which is exactly why it catches candidates out.
    • About 0.3 marks a paper (0% of Paper 2; 6% 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 “Give”: 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, 95%) — 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
    • State75%
    • Give50%
    • Complete50%
    • Identify50%

16% 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

212223242526

By exam series

  • May/Jun9/18 · 6.4 mk
  • Oct/Nov9/15 · 7.3 mk

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

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

Video lectures13ZAK's YouTube channel · play here

  • AS20201.1K views

  • AS2020948 views

  • AS2020416 views

  • AS20201.0K views

  • O LevelAS2020567 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

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.

Enroll nowOnline classes