Test plan and proposal
UAT 493 Unmanned Aircraft Systems and Automation Technology Capstone Project I
Lesson
By the end of this module you will be able to
- Build a requirements verification matrix (RVM) and check test plan coverage
- Plan testing with the V model, from component tests to validation with users
- Analyse risk with FMEA and explain the move from RPN to Action Priority
- Assemble a project proposal in which every part traces back to the requirements
Why this matters
A good project proposal does not only say what will be built. It says how success will be proven and what could go wrong. Examiners will ask how a requirement will be tested and what happens if the camera fails in flight. A team that can answer from its own documents is ready to start building next semester.
The V model
Each layer on the left has a matching verification on the right. System requirements are verified by system tests, and user needs are confirmed by validation. The actual test sequence for a drone follows the ladder from SITL and HITL to field testing covered in UAT 322.
Requirements verification matrix (RVM)
The NASA Systems Engineering Handbook records verification in a requirements verification matrix that lists each requirement, its method, the test activity, the pass criterion and the result. The matrix is checked in two directions: every requirement must have a verification activity, and every activity must verify some requirement.
Example 1. Checking RVM coverage
requirements = ["R1", "R2", "R3", "R4", "R5a", "R5b", "R6", "R8"]
rvm = [ # (activity, requirements verified, method)
("T1 labelled image set", ["R1"], "Test"), ("T2 timed SITL round", ["R4"], "Test"),
("T3 GCP survey", ["R6"], "Test"), ("A1 storage estimate", ["R5a"], "Analysis"),
("D1 report walkthrough", ["R5b", "R8"], "Demonstration"), ("T4 motor noise log", [], "Test"),
]
covered = {r for _, reqs, _ in rvm for r in reqs}
missing = [r for r in requirements if r not in covered]
orphans = [name for name, reqs, _ in rvm if not reqs]
print(f"coverage {len(covered)}/{len(requirements)} = {len(covered) / len(requirements):.0%}")
print("requirements without verification:", missing)
print("activities with no requirement:", orphans)
coverage 6/8 = 75%
requirements without verification: ['R2', 'R3']
activities with no requirement: ['T4 motor noise log']
R2 and R3 have no verification yet (in module 2 these were the poorly written requirements; they must be rewritten to be measurable first). T4 verifies no requirement; it may be unnecessary work, or there may be a missing noise requirement.
Risk and FMEA
FMEA (failure modes and effects analysis), as defined in IEC 60812:2018, works through how each part can fail, what the effect is and how the failure can be prevented or detected. The traditional method rates severity (S), occurrence (O) and detection (D) from 1 to 10 and multiplies them into an RPN. The AIAG-VDA FMEA Handbook (2019) replaced this with Action Priority (AP), because equal RPNs can come from very different severities.
Example 2. A simple FMEA
fmea = [ # (failure mode, S, O, D)
("GNSS loss near tall trees", 8, 4, 3),
("companion computer hangs", 6, 3, 4),
("battery sag in wind", 9, 2, 2),
("AI misses a crack", 5, 5, 6),
("camera trigger drift", 4, 5, 5),
]
ranked = sorted(fmea, key=lambda row: row[1] * row[2] * row[3], reverse=True)
for mode, s, o, d in ranked:
flag = " <- severity 9+: act regardless of RPN" if s >= 9 else ""
print(f"RPN {s * o * d:>3} S{s} O{o} D{d} {mode}{flag}")
RPN 150 S5 O5 D6 AI misses a crack
RPN 100 S4 O5 D5 camera trigger drift
RPN 96 S8 O4 D3 GNSS loss near tall trees
RPN 72 S6 O3 D4 companion computer hangs
RPN 36 S9 O2 D2 battery sag in wind <- severity 9+: act regardless of RPN
Ranked by RPN alone, “battery sag in wind” comes last even though it has the highest severity (the drone could fall). This is why the newer method puts severity first. For operational risk as a whole, JARUS SORA 2.5 is the international framework, and the CAAT PDRA guidance applies to beyond-visual-line-of-sight flights in Thailand.
The project proposal
The proposal brings together the deliverables of modules 1–5. The schedule, budget and project risks use the tools from UAT 316 (WBS, critical path and risk register). The key principle is that every part must trace back to the requirements, and the proposal must state the conditions under which the project will be stopped or reviewed.
Module lab
Project deliverable: complete project proposal
- Build an RVM for every requirement and use Example 1 to check 100% coverage with no activities lacking a requirement
- Plan testing with the V model and the test ladder, setting the pass criterion for each step before testing
- Carry out an FMEA of at least 10 failure modes, rank them and give mitigations for every high-severity mode
- Assemble the proposal following Figure 2, including the schedule and budget from UAT 316
- Present to the committee for 15 minutes, answer questions, then revise the proposal based on their advice
Common mistakes
Watch out
- Requirements with no verification method in the RVM
- Setting pass criteria after seeing the test results
- Ranking risk by RPN alone and overlooking high severity
- Proposal sections that do not connect, such as a test plan that does not match the requirements
- No conditions for stopping or reviewing the project
Summary
- The V model pairs every design layer with verification at the same level
- An RVM must cover every requirement, and every activity must have a requirement behind it
- FMEA works through failure modes; the newer method uses Action Priority, which puts severity first
- The project proposal brings all deliverables together, traces back to the requirements and includes stop or review conditions
Check your understanding
- There are 20 requirements and verification activities cover 17 of them. What is the coverage?
- S = 7, O = 3, D = 4. What is the RPN?
- Why did the AIAG-VDA Handbook (2019) move from RPN to Action Priority?
- In the V model, which verification layer is paired with the system requirements?
- What does a test activity that verifies no requirement indicate?
Answers
- Equal RPNs can come from very different severities; the new method puts severity first
- System verification
- It may be unnecessary work, or a requirement may be missing
Key formulas
| Risk priority number (traditional) | |
| Test plan coverage |
Key references
- National Aeronautics and Space Administration. (2016). NASA systems engineering handbook (NASA/SP-2016-6105 Rev 2). link
- International Organization for Standardization. (2023). Systems and software engineering — System life cycle processes (ISO/IEC/IEEE 15288:2023). link
- International Electrotechnical Commission. (2018). Failure modes and effects analysis (FMEA and FMECA) (IEC 60812:2018). link
- AIAG & VDA. (2019). FMEA handbook (1st ed.). Automotive Industry Action Group. link
- Joint Authorities for Rulemaking on Unmanned Systems. (2024). JARUS guidelines on Specific Operations Risk Assessment (SORA), main body, edition 2.5 (JAR-DEL-SRM-SORA-MB-2.5). link
- สำนักงานการบินพลเรือนแห่งประเทศไทย. (2568). แนวปฏิบัติในการขอปฏิบัติการบินอากาศยานซึ่งไม่มีนักบินโดยใช้การประเมินความเสี่ยงที่เป็นไปตามเงื่อนไขที่กำหนดสำหรับการบินเกินกว่าระยะสายตา (CAAT-GM-UAS-PDRA101 ปรับปรุงครั้งที่ 00). link
- ABET. (2024). Criteria for accrediting engineering technology programs, 2025–2026. link
Further reading
Study the assigned knowledge units in advance, review media and take the module quiz
UAV testing and evidence analysis
Technology project management
Evidence-based risk assessment
Project governance and monitoring
In class / field
Team project work, advisor meetings and progress presentations
Learning evidence: Project milestone deliverables