Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| report:dvp [2026/06/10 09:59] – [Ideation] team3 | report:dvp [2026/06/13 19:30] (current) – [Tests & Results] team3 | ||
|---|---|---|---|
| Line 16: | Line 16: | ||
| Here the team already had the idea of keeping the components on the bottom of the bottle, but a more square bottle was kept in mind with a handle that would be comfortable for the user's hand. | Here the team already had the idea of keeping the components on the bottom of the bottle, but a more square bottle was kept in mind with a handle that would be comfortable for the user's hand. | ||
| - | The second ideation of TRAQUA already has a more " | + | The second ideation of TRAQUA already has a more " |
| <WRAP centeralign> | <WRAP centeralign> | ||
| Line 39: | Line 39: | ||
| The team also had a few changes in their flyer before coming up with the definite solution. Below we will explore the different flyers the TRAQUA design team came up with. | The team also had a few changes in their flyer before coming up with the definite solution. Below we will explore the different flyers the TRAQUA design team came up with. | ||
| - | The team's first flyer had no QR code; the text idea was already there, but the text just lies in boxes that feel out of place alongside the TRAQUA water bottle (Figure | + | The team's first flyer had no QR code; the text idea was already there, but the text just lies in boxes that feel out of place alongside the TRAQUA water bottle (Figures |
| Line 48: | Line 48: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| <WRAP centeralign> | <WRAP centeralign> | ||
| - | <figure fig:design1> | + | <figure fig:design2> |
| {{: | {{: | ||
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| Line 57: | Line 58: | ||
| <WRAP centeralign> | <WRAP centeralign> | ||
| - | <figure fig:design1> | + | <figure fig:design3> |
| {{: | {{: | ||
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| Line 232: | Line 233: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | The final design is shown in Figures {{ref> | ||
| <WRAP centeralign> | <WRAP centeralign> | ||
| - | <figure fig:model8> | + | <figure fig:finaldesign> |
| - | {{ :report:StressSim.png?600 |}} | + | {{:report:image_traqua.png?400|}} |
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| <WRAP centeralign> | <WRAP centeralign> | ||
| - | <figure fig:model8> | + | <figure fig:finalinside> |
| - | {{ :report:assembly-drop_test_1-image-1.jpg?600 |}} | + | {{:report:bottle_updated.png?400|}} |
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| - | Finite Element Analysis (FEA) was carried out in SolidWorks to evaluate the bottle' | ||
| - | Next, a 1.5-meter drop test was simulated. In this dynamic scenario, the maximum stress peaked at 133.7 MPa, with the impact forces heavily concentrated along the bottom edge of the bottle. To properly protect the internal electronics, | + | Finite Element Analysis (FEA) was carried out in SolidWorks to evaluate |
| - | <color # | + | Next, a 1.5-meter drop test was simulated |
| + | |||
| + | <WRAP centeralign> | ||
| + | <figure fig: | ||
| + | {{ : | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <figure fig: | ||
| + | {{ : | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| === Smart System === | === Smart System === | ||
| Line 341: | Line 357: | ||
| * Input validation across all components (mobile app, backend, and ESP32) | * Input validation across all components (mobile app, backend, and ESP32) | ||
| - | Additionally, | + | Additionally, |
| <WRAP centeralign> | <WRAP centeralign> | ||
| Line 381: | Line 397: | ||
| **Comparing** | **Comparing** | ||
| - | Mobile | + | |
| + | The {{ref> | ||
| < | < | ||
| Line 399: | Line 416: | ||
| </ | </ | ||
| - | Web Framework | + | The Table {{ref> |
| < | < | ||
| Line 416: | Line 433: | ||
| </ | </ | ||
| - | Backend Framework | + | The Table {{ref> |
| < | < | ||
| Line 433: | Line 450: | ||
| </ | </ | ||
| - | Microcontroller | + | The Table {{ref> |
| < | < | ||
| Line 478: | Line 495: | ||
| <figure fig: | <figure fig: | ||
| {{: | {{: | ||
| - | < | + | < |
| </ | </ | ||
| </ | </ | ||
| Line 519: | Line 536: | ||
| Another modification involved the system fuse. The original design specified a 5A fuse to handle normal operating current and short peaks from components such as the ESP32, sensors, and UV-C LED module. However, a 3A fuse was used instead due to availability. This lowers the maximum current threshold and increases the sensitivity of the protection system, meaning the fuse is more likely to blow during peak load conditions. | Another modification involved the system fuse. The original design specified a 5A fuse to handle normal operating current and short peaks from components such as the ESP32, sensors, and UV-C LED module. However, a 3A fuse was used instead due to availability. This lowers the maximum current threshold and increases the sensitivity of the protection system, meaning the fuse is more likely to blow during peak load conditions. | ||
| - | Overall, these changes were necessary to adapt to available components, but they also introduced deviations from the original electrical design, particularly in terms of voltage configuration and power system robustness. | + | Overall, these changes were necessary to adapt to available components, but they also introduced deviations from the original electrical design, particularly in terms of voltage configuration and power system robustness. This schamtics is shown in Figure {{ref> |
| <WRAP centeralign> | <WRAP centeralign> | ||
| Line 534: | Line 551: | ||
| To verify the reliability and functionality of the TRAQUA smart bottle prototype, all major electronic and sensing components were tested individually and as part of the integrated system. The table below summarizes the performed tests, expected behavior, obtained results, and final status of each subsystem. | To verify the reliability and functionality of the TRAQUA smart bottle prototype, all major electronic and sensing components were tested individually and as part of the integrated system. The table below summarizes the performed tests, expected behavior, obtained results, and final status of each subsystem. | ||
| + | Table {{ref> | ||
| + | < | ||
| + | <table tab: | ||
| + | < | ||
| + | <WRAP box center> | ||
| ^ Component / System ^ Function Tested ^ Expected Result ^ Actual Result ^ Status ^ | ^ Component / System ^ Function Tested ^ Expected Result ^ Actual Result ^ Status ^ | ||
| | TDS Water Quality Sensor | Water quality measurement | Detect changes in TDS values accurately | Stable ppm measurements for different water samples | PASS | | | TDS Water Quality Sensor | Water quality measurement | Detect changes in TDS values accurately | Stable ppm measurements for different water samples | PASS | | ||
| Line 546: | Line 568: | ||
| | Force Sensitive Resistor (FSR) | Water level estimation | Detect weight and fill level changes | Sensor values increased correctly with weight | PASS | | | Force Sensitive Resistor (FSR) | Water level estimation | Detect weight and fill level changes | Sensor values increased correctly with weight | PASS | | ||
| | ESP32 DevKit V1 | System control and communication | Stable operation and Wi-Fi communication | Reliable communication and stable operation | PASS | | | ESP32 DevKit V1 | System control and communication | Stable operation and Wi-Fi communication | Reliable communication and stable operation | PASS | | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | <WRAP clear></ | ||
| + | |||
| == Review and Validation Process == | == Review and Validation Process == | ||
| Line 576: | Line 603: | ||
| - | < | + | < |
| + | <WRAP third column> | ||
| <figure fig: | <figure fig: | ||
| - | {{: | + | {{: |
| < | < | ||
| </ | </ | ||
| Line 584: | Line 612: | ||
| - | Smart device firmware — main loop (loop) | + | < |
| - | + | ||
| - | + | ||
| - | < | + | |
| <figure fig: | <figure fig: | ||
| - | {{: | + | {{: |
| < | < | ||
| </ | </ | ||
| </ | </ | ||
| - | Mobile application — BLE connection and data flow | ||
| - | + | < | |
| - | < | + | |
| <figure fig: | <figure fig: | ||
| - | {{: | + | {{: |
| < | < | ||
| </ | </ | ||
| </ | </ | ||
| + | </ | ||
| + | |||
| + | |||
| === Tests & Results === | === Tests & Results === | ||
| + | |||
| + | This chapter summarizes the testing strategy, the executed test cases, and their outcomes. The full detail lives in the TRAQUA Test Plan and Test Report; what follows is a condensed overview. | ||
| + | |||
| + | == Test Management Strategy == | ||
| + | |||
| + | Testing for TRAQUA followed a structured, iterative approach aligned with the development sprints and the operational requirements of the smart bottle. Tests were planned, documented, executed, and evaluated at both the component and system levels, and synchronized with project milestones so they stayed current as functionality and architecture evolved. | ||
| + | |||
| + | The following Table {{ref> | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <table tab: | ||
| + | < | ||
| + | <WRAP box center> | ||
| + | | Team Member | Role | Responsibility | | ||
| + | | Bernardo Alves | Test lead | Oversees the testing process, ensures milestones are met, coordinates review and approval | | ||
| + | | Bernardo Alves | Backend test coordinator | Designs and executes tests | | ||
| + | | Maria Włodarczyk | Documentation coordinator | Manages test plan/report consistency, | ||
| + | | Maximilian Salmi | Data and component tester | Prepares and maintains tests, ensures components meet the standard | | ||
| + | | Guillem Rolduá | Stress tester | Stress tests each component to determine its limits | | ||
| + | | Rieke Platthaus | Frontend test supporter | Validates interface feedback | | ||
| + | | Inès Margand | Frontend test supporter | Validates interface feedback | | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | == Testing Approach and Criteria == | ||
| + | |||
| + | The strategy centers on **state-transition testing**, verifying the system' | ||
| + | |||
| + | * **Entry criteria:** use-case documentation approved, test environment configured to mirror production (latest code in the main branch, React Native 0.80, Expo), valid/ | ||
| + | * **Exit criteria:** all relevant test cases executed successfully, | ||
| + | * **Suspension criteria:** scope change, critical defects, the base product failing to run on a testing device, or unavailable external dependencies/ | ||
| + | |||
| + | == Testing Resources == | ||
| + | |||
| + | * **Hardware: | ||
| + | * **Software: | ||
| + | * **Tooling: | ||
| == Hardware tests == | == Hardware tests == | ||
| Line 610: | Line 674: | ||
| == Software tests == | == Software tests == | ||
| - | Our software testing framework directly addresses functionality, | + | |
| - | Software tests comprise: | + | Our software testing framework directly addresses functionality, |
| - | (i) functional tests regarding the identified use cases / user stories; | + | |
| - | (ii) performance tests regarding exchanged data volume, load and runtime (these tests are usually repeated 10 times to determine the average and standard deviation results); | + | **Functional Testing:** We validate our identified use cases and user stories by verifying the system' |
| - | (iii) usability tests according to the [[https://www.usability.gov/how-to-and-tools/methods/system-usability-scale.html|System Usability Scale]]. | + | |
| - | | + | **Performance Testing:** To evaluate speed, responsiveness, |
| + | |||
| + | **Usability Testing:** To ensure the system is intuitive and accessible, we conduct usability testing according to the System Usability Scale (SUS). This allows our frontend team to validate interface feedback, evaluate how easily a user can understand their water safety status (Safe, Warning, Unsafe, Unknown), and confirm that the mobile application provides clear, responsive alerts. | ||
| + | |||
| + | Software tests comprise: | ||
| + | | ||
| + | | ||
| + | | ||
| + | |||
| + | == Test Cases == | ||
| + | |||
| + | The following Table {{ref> | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <table tab:testcases> | ||
| + | < | ||
| + | <WRAP box center> | ||
| + | | ID | Input Condition | Expected Action | Expected Result | | ||
| + | | TC01 | Connect to the ESP32 | Log result | Connection successful | | ||
| + | | TC02 | Wrong ID in connection | Log result | Connection not successful | | ||
| + | | TC03 | Get TDS value | Log result | TDS value within 50–200 range | | ||
| + | | TC04 | Get temperature value | Log result | Temperature value read in the app | | ||
| + | | TC05 | Gravity sensor | Log result | Reads whether the bottle is tilted | | ||
| + | | TC06 | LED light changes color | Log result | LED shows either green or red | | ||
| + | | TC07 | Pressure sensor estimates water | Log result | Reads total water in the bottle | | ||
| + | | TC08 | UVC light runs | Clean water | Water is cleaned | | ||
| + | | TC09 | Reed switch | UVC to turn on/off | UVC must not run while the switch is connected | | ||
| + | </WRAP> | ||
| + | </table> | ||
| + | </WRAP> | ||
| + | |||
| + | == Results Summary == | ||
| + | |||
| + | A total of 9 test cases were executed, all of which passed. It must be noted that some aspects of the code could not be tested directly on hardware and were instead validated through simulation. | ||
| + | |||
| + | The following Table {{ref> | ||
| + | |||
| + | <WRAP centeralign> | ||
| + | <table tab: | ||
| + | < | ||
| + | <WRAP box center> | ||
| + | | Result | Number | Percentage | | ||
| + | | **Passed** | 9 | 100% | | ||
| + | | **Failed** | 0 | 0% | | ||
| + | | **Total** | 9 | 100% | | ||
| + | </ | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | All nine test cases (TC01–TC09) returned **Passed** with no recorded defects. | ||
| ==== Summary ==== | ==== Summary ==== | ||
| - | //Provide here the conclusions | + | This chapter followed |
| + | * UV-C sterilisation | ||
| + | * Temperature monitoring | ||
| + | * Water-Quality sensing | ||
| + | * Hydration Tracking | ||
| + | * Mobile app connection over bluetooth | ||
| + | |||
| + | The design team chose the materials created a three-part structure and developed the look. They also made 3D models. Used computer analysis | ||
| + | |||
| + | |||
| + | On the side the team specified the hardware, including an ESP32 chip that controls the sensors UV-C module and power. They also worked on the software creating an app with React Native, a web shop with Svelte and a backend with FastAPI. The team made sure the Bluetooth communication is secure, with pairing, encryption and input checks. They also came up with a eco-friendly packaging solution using recycled airbags. | ||
| + | |||
| + | oving from design to prototype introduced several practical deviations: a ready-made flask replaced the custom body, the battery system shifted from a 3S to a 4S configuration due to the components received, charging was omitted, and an OLED display was added. Functional testing validated almost every subsystem — sensors, power delivery, UV-C control, and ESP32 communication all passed — with the charger being the single failure, caused by the battery-configuration mismatch. | ||
| + | |||
| + | Overall, the prototype meets its primary functional requirements and demonstrates the viability of the TRAQUA concept. The next chapter | ||