Blame
|
1 | # Testing vs Validation vs Evaluation |
||||||
| 2 | ||||||||
| 3 | Confusing these three terms in the C1-2 writing test or C1-3 interview drops marks instantly — they belong to the same PSM stage (Development) except Evaluation, which is its own stage entirely. |
|||||||
| 4 | ||||||||
| 5 | --- |
|||||||
| 6 | ||||||||
| 7 | ```mermaid |
|||||||
| 8 | flowchart TB |
|||||||
| 9 | subgraph DEV["PSM Stage 3 — Development"] |
|||||||
| 10 | direction LR |
|||||||
| 11 | T["**Testing**\n──────────\nDoes the program\nwork correctly?\n\nExample: enter 25\nin age field →\ncorrect output"] |
|||||||
| 12 | V["**Validation**\n──────────\nIs the input\nreasonable?\n\nExample: reject −3\nas an age before\nprocessing starts"] |
|||||||
| 13 | end |
|||||||
| 14 | subgraph EVAL["PSM Stage 4 — Evaluation"] |
|||||||
| 15 | direction LR |
|||||||
| 16 | E["**Evaluation**\n──────────\nDoes the solution\nmeet its criteria?\n\nExample: does the\nfinished app satisfy\nall requirements?"] |
|||||||
| 17 | end |
|||||||
| 18 | DEV --> EVAL |
|||||||
| 19 | ``` |
|||||||
| 20 | ||||||||
| 21 | --- |
|||||||
| 22 | ||||||||
| 23 | ## Testing |
|||||||
| 24 | ||||||||
| 25 | Testing checks that the program **runs correctly** — given an input, does it produce the expected output? You write test cases before or during coding and run them as you build. Testing catches bugs: wrong calculations, broken logic, features that don't behave as designed. It happens inside the **Development** stage. |
|||||||
| 26 | ||||||||
| 27 | **Example:** You enter `25` into an age field and expect the program to calculate a result based on that age. If the output matches what you designed, the test passes. If the program crashes or returns the wrong value, testing has found a bug to fix. |
|||||||
| 28 | ||||||||
| 29 | ## Validation |
|||||||
| 30 | ||||||||
| 31 | Validation checks that **data entered by the user is reasonable or acceptable** before the program processes it. It runs at the point of input — not after — and prevents garbage data from reaching the rest of the program. Like testing, validation is part of the **Development** stage. |
|||||||
| 32 | ||||||||
| 33 | **Example:** The same age field should reject `−3` — that is not a valid age. Validation code checks for this (e.g. `if age < 0: display error`) and stops the bad value from being used in any calculation. The program hasn't "crashed" without validation; it just silently produces a wrong answer. |
|||||||
| 34 | ||||||||
| 35 | > Key distinction: testing checks whether the *program* works; validation checks whether the *data* is acceptable. |
|||||||
| 36 | ||||||||
| 37 | ## Evaluation |
|||||||
| 38 | ||||||||
| 39 | Evaluation judges whether the **completed solution meets the evaluation criteria** set during the Design stage and addresses the original problem. It is its own PSM stage — Stage 4 — separate from Development. You are not checking individual inputs or features here; you are assessing the solution as a whole against measurable standards. |
|||||||
| 40 | ||||||||
| 41 | **Example:** "Does the finished app allow 90% of beta testers to complete onboarding in under 2 minutes?" That criterion was written in Design. Evaluation collects evidence (surveys, observation, usage data) and checks whether the criterion was met. |
|||||||
| 42 | ||||||||
| 43 | > Common mistake: saying your solution "works" as part of Evaluation. Whether it works is testing. Evaluation asks whether it *meets user needs and requirements*. |
|||||||
| 44 | ||||||||
| 45 | --- |
|||||||
| 46 | ||||||||
| 47 | ## Quick reference |
|||||||
| 48 | ||||||||
| 49 | | Term | PSM stage | What it checks | Example | |
|||||||
| 50 | |------|-----------|----------------|---------| |
|||||||
| 51 | | Testing | Development | Program runs correctly | Entering `25` in age field → correct output | |
|||||||
| 52 | | Validation | Development | Input is reasonable/acceptable | Rejecting `−3` as an age before processing | |
|||||||
| 53 | | Evaluation | Evaluation | Solution meets evaluation criteria | "Does it satisfy all functional requirements?" | |
|||||||
| 54 | ||||||||
| 55 | --- |
|||||||
| 56 | ||||||||
| 57 | ## Why it matters at validation |
|||||||
| 58 | ||||||||
| 59 | The C1-2 writing test and C1-3 interview both probe PSM knowledge directly. A question like "which Development activities does your project plan include?" expects you to name validation, testing, and documentation separately — not lump them together. At the C1-3 interview, you may be asked to point to evidence of each activity in your GitHub Projects board. If your plan only shows "testing" with no separate validation tasks, that signals a gap. At Stage 4, markers also check that you are measuring against your Design-stage criteria, not just describing whether the app runs. |
|||||||
| 60 | ||||||||
| 61 | See `C013-Annotate-Project-Plan.md` for guidance on annotating your plan so each PSM activity is visible to the interviewer. |
|||||||
| 62 | ||||||||
| 63 | --- |
|||||||
| 64 | ||||||||
| 65 | ## See also |
|||||||
| 66 | ||||||||
| 67 | - [Problem-Solving Methodology](/sd/Problem-Solving%20Methodology) |
|||||||
| 68 | ||||||||
| 69 | --- |
|||||||
| 70 | ||||||||
| 71 | ← Back to [VCE Software Development Hub](/sd/VCE%20Software%20Development%20Hub) |
|||||||
