Test Plan - CankayaUniversity/ceng-407-408-2024-2025-ReSort GitHub Wiki
ÇANKAYA UNIVERSITY
FACULTY OF ENGINEERING
COMPUTER ENGINEERING DEPARTMENT
Test Plan, Test Design Specifications and Test Cases
Version 1
CENG 408
Innovative System Design and Development II
INTELLIGENT RECYCLING SYSTEM
[Ahmet Eren Bostan] 202011018
[Ömer Elmas] 202011209
[Emre Can Erkul] 202011007
[Fırat Can Ağa] 202011080
[Fatih Cumhur Öğütçü] 202011004
Advisor: [Abdül Kadir Görür]
Table of Contents
- INTRODUCTION
1.1 Version Control
1.2 Overview
1.3 Scope
1.4 Terminology - FEATURES TO BE TESTED
2.1 YOLOv11 Waste Detection (YO)
2.2 Raspberry Pi Control System (RPi)
2.3 Arduino Sensors & Actuators (ARD)
2.4 Waste Sorting Mechanism (WM)
2.5 User Experience (UX)
2.6 Performance & Scalability (PERF)
2.7 Security & Privacy (SEC)
2.8 ROI & Market Acceptance (ROI) - FEATURES NOT TO BE TESTED
- ITEM PASS/FAIL CRITERIA
4.1 Exit Criteria - REFERENCES
- TEST DESIGN SPECIFICATIONS
6.1 YOLOv11 Waste Detection (YO)
6.2 Raspberry Pi Control System (RPi)
6.3 Arduino Sensors & Actuators (ARD)
6.4 Waste Sorting Mechanism (WM)
6.5 User Experience (UX)
6.6 Performance & Scalability (PERF)
6.7 Security & Privacy (SEC)
6.8 ROI & Market Acceptance (ROI) - Detailed Test Cases
INTRODUCTION
Version Control
Version No | Description of Changes | Date |
---|---|---|
1.0 | First Version | March 23, 2025 |
Overview
This test plan was prepared to evaluate the functionality and accuracy of the waste separation system developed within the scope of the Resort project. The project covers data collection, classification, recording and interface display processes.
Scope
This document outlines the test strategy for the software and hardware components of the Intelligent Recycling System including image classification, sensor-actuator interactions, waste sorting mechanisms, and performance under real-world conditions.
Terminology
Acronym | Definition |
---|---|
YO | YOLOv11 Detection |
RPi | Raspberry Pi Controller |
ARD | Arduino Sensors & Actuators |
WM | Waste Sorting Mechanism |
UX | User Experience |
PERF | Performance & Scalability |
SEC | Security & Privacy |
ROI | Return on Investment & Market Acceptance |
FEATURES TO BE TESTED
YOLOv11 Waste Detection (YO)
- Test the accuracy and consistency of YOLOv11 model to detect waste types.
Raspberry Pi Control System (RPi)
- Test if the Raspberry Pi runs inference correctly and controls connected components.
Arduino Sensors & Actuators (ARD)
- Test if Arduino collects sensor data (metal, proximity) and controls motors, servos.
Waste Sorting Mechanism (WM)
- Test if the physical system correctly directs waste to the appropriate bin.
User Experience (UX)
- Test the usability and user interaction for setting up and maintaining the system.
Performance & Scalability (PERF)
- Test how the system behaves under high load and stressful conditions.
Security & Privacy (SEC)
- Test the system's resistance against unauthorized access and data security.
ROI & Market Acceptance (ROI)
- Evaluate the system's cost efficiency, market acceptance, and ROI.
FEATURES NOT TO BE TESTED
- Cloud logging system.
- External database integration.
ITEM PASS/FAIL CRITERIA
Test case passes if all expected outcomes are met without errors. A failure is recorded if the observed result deviates from the expected behavior.
Exit Criteria
- All High Priority test cases executed.
- Minimum 70% success rate on waste classification.
- Correct waste sorting confirmed in functional tests.
- Usability rating of at least 80% positive feedback.
- Security tests passed without critical vulnerabilities.
REFERENCES
TEST DESIGN SPECIFICATIONS
YOLOv11 Waste Detection (YO)
Subfeatures to be tested
- Plastic Detection (YO.PL)
- Metal Detection (YO.MT)
- Glass Detection (YO.GL)
- Paper Detection (YO.PP)
- Model Accuracy Testing (YO.AC)
- Confusion Matrix Evaluation (YO.CM)
- False Positive/Negative Analysis (YO.FP)
Test Cases
TC ID | Requirements | Priority | Scenario Description |
---|---|---|---|
YO.PL.01 | 3.1 | H | Detect plastic waste correctly |
YO.MT.01 | 3.2 | H | Detect metal waste correctly |
YO.GL.01 | 3.3 | M | Detect glass waste correctly |
YO.PP.01 | 3.4 | M | Detect paper waste correctly |
YO.AC.01 | 3.5 | H | Validate model accuracy with test dataset |
YO.CM.01 | 3.6 | M | Evaluate confusion matrix of classification |
YO.FP.01 | 3.7 | M | Analyze false positives and false negatives |
Raspberry Pi Control System (RPi)
Subfeatures to be tested
- Model Inference Trigger (RPi.INF)
- Camera Interface Test (RPi.CAM)
- GPIO Pin Test (RPi.GPIO)
Test Cases
TC ID | Requirements | Priority | Scenario Description |
---|---|---|---|
RPi.INF.01 | 4.1 | H | Trigger YOLOv11 model on Pi and return result |
RPi.CAM.01 | 4.2 | M | Validate camera initialization and image capture |
RPi.GPIO.01 | 4.3 | M | Test GPIO pin response for sensor communication |
Arduino Sensors & Actuators (ARD)
Subfeatures to be tested
- Proximity Sensor (ARD.PS)
- Servo Motor Control (ARD.SV)
- Metal Sensor Response (ARD.MS)
- Motor Speed and Direction Control (ARD.MD)
Test Cases
TC ID | Requirements | Priority | Scenario Description |
---|---|---|---|
ARD.PS.01 | 5.1 | H | Detect object presence with proximity sensor |
ARD.SV.01 | 5.2 | H | Activate servo motor for sorting |
ARD.MS.01 | 5.3 | M | Detect metal object and signal system correctly |
ARD.MD.01 | 5.4 | M | Test motor speed and direction control |
Waste Sorting Mechanism (WM)
Subfeatures to be tested
- Conveyor Belt Mechanism (WM.CB)
Test Cases
TC ID | Requirements | Priority | Scenario Description |
---|---|---|---|
WM.CB.01 | 6.1 | M | Conveyor directs item to correct bin based on classification |
User Experience (UX)
Subfeatures to be tested
- Usability Testing (UX.US)
- Task Efficiency (UX.TE)
- Error Recovery and Feedback (UX.ER)
Test Cases
TC ID | Requirements | Priority | Scenario Description |
---|---|---|---|
UX.US.01 | 7.1 | H | Evaluate usability with end users |
UX.TE.01 | 7.2 | M | Measure time-to-task efficiency |
UX.ER.01 | 7.3 | M | Test error messages and system feedback |
DETAILED TEST CASES
YO.PL.01
Purpose: Detect plastic waste correctly
Requirements: 3.1
Priority: High
Dependency: YOLOv11 model trained with plastic class
Setup:
- Load sample images containing plastic waste
Procedure:
- [A01] Run YOLOv11 on plastic images.
- [V01] Verify detection includes correct plastic labels and bounding boxes.
Cleanup:
- Log detection confidence scores and bounding box coordinates.
YO.MT.01
Purpose: Detect metal waste correctly
Requirements: 3.2
Priority: High
Dependency: YOLOv11 model trained with metal class
Setup:
- Load sample images containing metal waste
Procedure:
- [A01] Run YOLOv11 on metal images.
- [V01] Confirm model detects metal items accurately.
Cleanup:
- Generate accuracy report.
YO.GL.01
Purpose: Detect glass waste correctly
Requirements: 3.3
Priority: Medium
Dependency: YOLOv11 model includes glass category
Setup:
- Provide test images with glass waste
Procedure:
- [A01] Execute model inference on glass images.
- [V01] Check that glass objects are correctly identified.
Cleanup:
- Note any missed or misclassified glass items.
YO.PP.01
Purpose: Detect paper waste correctly
Requirements: 3.4
Priority: Medium
Dependency: YOLOv11 model supports paper class
Setup:
- Select images featuring paper waste
Procedure:
- [A01] Perform detection using YOLOv11..
- [V01] Validate accurate classification of paper objects.
Cleanup:
- Record results and annotate errors if any.
YO.CM.01
Purpose: Evaluate confusion matrix of classification
Requirements: 3.6
Priority: Medium
Dependency: YOLOv11 test results generated
Setup:
- Use classification results from test dataset
Procedure:
- [A01] Calculate confusion matrix.
- [V01] Analyze true positives, true negatives, false positives, and false negatives.
Cleanup:
- Document confusion matrix analysis.
YO.FP.01
Purpose: Analyze false positives and false negatives
Requirements: 3.7
Priority: Medium
Dependency: Confusion matrix calculated
Setup:
- Identify misclassified items
Procedure:
- [A01] Analyze false positives and false negatives.
- [V01] Document causes of misclassifications.
Cleanup:
- Propose model improvements.
RPi.INF.01
Purpose: Trigger YOLOv11 model on Raspberry Pi and return result
Requirements: 4.1
Priority: High
Dependency: YOLOv11 model deployed on Raspberry Pi
Setup:
- Raspberry Pi booted and camera connected
- YOLOv11 inference script ready
Procedure:
- [A01] Trigger image capture via control signal
- [A02] Run YOLOv11 inference on captured image
- [V01] Validate detection result is returned successfully
Cleanup:
- Log inference response and timing.
RPi.CAM.01
Purpose: Validate camera initialization and image capture
Requirements: 4.2
Priority: Medium
Dependency: Camera connected and powered
Setup:
- Raspberry Pi with camera module connected
Procedure:
- [A01] Initialize camera via test script.
- [A02] Capture image
- [V01] Verify image is saved/displayed correctly
Cleanup:
- Delete captured test images.
RPi.GPIO.01
Purpose: Test GPIO pin response for sensor communication
Requirements: 4.3
Priority: Medium
Dependency: Sensors connected to GPIO pins
Setup:
- Connect mock sensors or test circuits to GPIO pins
Procedure:
- [A01] Send/receive signal on GPIO pins.
- [V01] Verify correct read/write operation.
Cleanup:
- Propose model improvements.
ARD.PS.01
Purpose: Detect object presence with proximity sensor
Requirements: 5.1
Priority: High
Dependency: Arduino board and proximity sensor connected
Setup:
- Place object in proximity range
Procedure:
- [A01] Monitor sensor output.
- [V01] Validate detection triggers correct signal.
Cleanup:
- Propose model improvements.
ARD.SV.01
Purpose: Activate servo motor for sorting
Requirements: 5.2
Priority: Medium
Dependency: Servo motor connected and powered
Setup:
- System idle and item detected
Procedure:
- [A01] Send activation signal to servo.
- [V01] Validate movement to correct bin position.
Cleanup:
- Reset motor to neutral position.
ARD.MS.01
Purpose: Detect metal object and signal system correctly.
Requirements: 5.3
Priority: Medium
Dependency: Metal sensor connected
Setup:
- Place metal item near sensor
Procedure:
- [A01] Monitor sensor output.
- [V01] Validate correct system signaling.
Cleanup:
- Log detection output.
ARD.MD.01
Purpose: Test motor speed and direction control.
Requirements: 5.4
Priority: Medium
Dependency: Motor driver and DC motor connected
Setup:
- Load test firmware to Arduino
Procedure:
- [A01] Send speed and direction commands.
- [V01] Validate motor rotates accordingly.
Cleanup:
- Stop and reset motor.
WM.CB.01
Purpose: Conveyor directs item to correct bin based on classification.
Requirements: 6.1
Priority: Medium
Dependency: Fully integrated system with actuators
Setup:
- Item placed on conveyor belt
Procedure:
- [A01] Run classification and sorting routine.
- [V01] Observe if item moves to correct bin.
Cleanup:
- Reset conveyor for next item.
UX.US.01
Purpose: Evaluate usability with end users
Requirements: 7.1
Priority: High
Dependency: UI functional and accessible
Setup:
- Conduct usability testing session with test users
Procedure:
- [A01] Ask users to complete waste sorting task.
- [V01] Collect feedback on interface clarity and ease of use.
Cleanup:
- Summarize findings in usability report.
UX.TE.01
Purpose: Measure time-to-task efficiency
Requirements: 7.2
Priority: Medium
Dependency: Interface deployed
Setup:
- Set stopwatch or log interaction timing
Procedure:
- [A01] Instruct user to perform sorting or monitoring task.
- [V01] Record task completion time.
Cleanup:
- Compare with baseline targets.
UX.ER.01
Purpose: Test error messages and system feedback
Requirements: 7.3
Priority: Medium
Dependency: Error handling implemented in UI
Setup:
- Simulate invalid inputs and system failures
Procedure:
- [A01] Trigger known error conditions.
- [V01] Verify appropriate error messages and guidance displayed.
Cleanup:
- Reset error states and retry flows.