Blame
|
1 | <!-- Generated from applied-computing-au vic/unit3-4/sat/C08-2026/C08-Reference-Godot by port-reference-godot-to-wiki.py — do not hand-edit; re-run the port. --> |
||||||
| 2 | # Software Testing Hierarchy |
|||||||
| 3 | ||||||||
| 4 | *Where your C8 work sits in the testing world — and why it's called **alpha** testing.* |
|||||||
| 5 | ||||||||
| 6 | ## The hierarchy |
|||||||
| 7 | ||||||||
| 8 | ``` |
|||||||
| 9 | 1. Development Phase Tests (early, internal) |
|||||||
| 10 | ├── Unit Testing (α) |
|||||||
| 11 | └── Integration Testing (α) |
|||||||
| 12 | ||||||||
| 13 | 2. Pre-Release Tests (later, internal/external) |
|||||||
| 14 | ├── System Testing (α/β) |
|||||||
| 15 | └── User Acceptance Testing (UAT) (β) |
|||||||
| 16 | ||||||||
| 17 | 3. Post-Release Tests (after launch) |
|||||||
| 18 | ├── Regression Testing |
|||||||
| 19 | ├── Performance Testing |
|||||||
| 20 | └── Security Testing |
|||||||
| 21 | ``` |
|||||||
| 22 | ||||||||
| 23 | | Test | What it checks | |
|||||||
| 24 | |---|---| |
|||||||
| 25 | | **Unit** | one component in isolation — a single function returns the right value | |
|||||||
| 26 | | **Integration** | components working together — the "Add Student" form updates the database *and* the timetable | |
|||||||
| 27 | | **System** | the entire product end to end, against all requirements | |
|||||||
| 28 | | **UAT** | real users doing real tasks — is it usable, does it meet their needs? | |
|||||||
| 29 | | **Regression** | after a fix or update, do the old features still work? | |
|||||||
| 30 | | **Performance** | speed, scalability, stability under load | |
|||||||
| 31 | | **Security** | vulnerabilities — can data be accessed that shouldn't be? | |
|||||||
| 32 | ||||||||
| 33 | ## Alpha vs beta |
|||||||
| 34 | ||||||||
| 35 | - **Alpha (α)** — *internal*: the developers (or company insiders) test, in a controlled environment. **Your C8 work is alpha testing** — you test your own SAT against your own testing table. |
|||||||
| 36 | - **Beta (β)** — *external*: real users test in their real environment. **That's Criterion 9** — beta testing with your actual users comes next. |
|||||||
| 37 | ||||||||
| 38 | It's not about location — it's about **who** is testing and **how**. |
|||||||
| 39 | ||||||||
| 40 | ## Check Your Understanding |
|||||||
| 41 | ||||||||
| 42 | Alpha or beta? |
|||||||
| 43 | ||||||||
| 44 | 1. A dev team spends a week testing its own new timetable app with fake student data. |
|||||||
| 45 | 2. A games company invites 1,000 players worldwide to play an early build for two weeks. |
|||||||
| 46 | 3. Company staff and their families use a new app feature for a month before public release. |
|||||||
| 47 | 4. Fifty teachers use a quiz platform with their real classes for a semester and report back. |
|||||||
| 48 | 5. A bank hires an external professional testing company (not real customers) to systematically test its new app. *(tricky)* |
|||||||
| 49 | ||||||||
| 50 | >| ### Answer |
|||||||
| 51 | >| 1. **Alpha** — internal team, controlled environment (system testing). |
|||||||
| 52 | >| 2. **Beta** — real external users in their own environments (UAT). |
|||||||
| 53 | >| 3. **Alpha** — still inside the company, before release. |
|||||||
| 54 | >| 4. **Beta** — the real target users, in real classrooms. |
|||||||
| 55 | >| 5. **Alpha** — professional testers are not real users; it's controlled, systematic testing. |
|||||||
