Skip to content

e. Extras

Examiner Insights (What VCAA is really marking)

Examiners consistently reward responses that:

  • Use precise terminology (e.g. expected output, actual output)
  • Clearly distinguish between:
    • testing (identifying errors)
    • debugging (locating and correcting errors)
  • Link techniques to purpose, not just description

Weaker responses tend to:

  • Describe techniques without explaining why they are used
  • Confuse debugging with validation
  • Refer to testing tables as a way to "fix" errors

Common mistakes (and how to avoid them)

❌ Confusing testing with validation

Validation checks that input data is reasonable

Testing checks that a module produces correct output

✔ Exam-safe phrasing:

"Testing compares expected and actual output to identify errors in program logic."


❌ Describing debugging too vaguely

Weak:

"Breakpoints stop the program."

Strong:

"Breakpoints pause execution at a specific line of code, allowing the developer to inspect variable values and trace program logic."


❌ Forgetting the purpose of testing tables

Testing tables:

  • Do not correct errors
  • Do not replace debugging
  • Do provide evidence that a module has been tested

High-value exam sentence starters (40+ ready)

Use these to structure responses efficiently:

  • "Testing identified an error when the actual output did not match the expected output."
  • "A breakpoint would be used to pause execution and inspect the values of variables at runtime."
  • "Debugging statements allow the developer to confirm which sections of code are being executed."
  • "The testing table provides evidence of testing and highlights discrepancies requiring debugging."

Command word decoding (very examinable)

Command word What the examiner wants
State A short, precise fact
Describe Characteristics or features
Explain How and why
Justify A decision + reasoning

Important

If a question says explain, listing is never enough.


How this appears in Section B and C

Section B

Short explanation of:

  • breakpoints
  • debugging statements
  • testing tables

Often 2–3 marks → definition + purpose required


Section C

Applied context:

  • incorrect output
  • partial testing table
  • student must identify next step

Full marks require:

  • expected vs actual output comparison
  • explicit reference to debugging

Final 40+ takeaway

Remember

Testing finds errors.

Debugging fixes errors.

Testing tables prove errors exist.

Debugging techniques show where they occur.

If students can articulate that clearly, they are operating in 40+ territory.

    float price = 0f;
    float discountRate = 0f;

    // Validate price
    while (true)
    {
        Console.Write("Enter price ($1 - $500): ");
        string priceInput = Console.ReadLine();

        if (float.TryParse(priceInput, out price) &&
            price >= 1f && price <= 500f)
        {
            break; // valid input
        }

        Console.WriteLine("Invalid price. Please enter a number between 1 and 500.");
    }

    // Validate discount rate
    while (true)
    {
        Console.Write("Enter discount rate (0 - 0.5): ");
        string discountInput = Console.ReadLine();

        if (float.TryParse(discountInput, out discountRate) &&
            discountRate >= 0f && discountRate <= 0.5f)
        {
            break; // valid input
        }

        Console.WriteLine("Invalid discount rate. Please enter a number between 0 and 0.5.");
    }

    float finalPrice = price - (price * discountRate);

    Console.WriteLine($"Final price: ${finalPrice}");