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

  1. INTRODUCTION
    1.1 Version Control
    1.2 Overview
    1.3 Scope
    1.4 Terminology
  2. 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)
  3. FEATURES NOT TO BE TESTED
  4. ITEM PASS/FAIL CRITERIA
    4.1 Exit Criteria
  5. REFERENCES
  6. 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)
  7. 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.