Testing



Testing Strategy

We used the Test Driven Development practice. We started off by writing unit test cases which were based on the users requirements. Code was then written to pass each test. After passing the test, we then fixed bugs, and refactored. This process is repeated throughout the project. We worked on a section of code at a time as it is easier to find bugs and refactor. This resulted in fewer bugs and errors, leading to better quality code. We used the following testing types:

  • - Unit testing
  • - Integration testing
  • - Performance testing
  • - User acceptance testing

Unit Testing

Since FISECARE is a front-end application, we performed UI unit testing. We decided to use manual testing instead of automated testing. The manual approach is more suitable as it is easier to adjust to changing design and requirements, allowing greater flexibility and adaptability which is beneficial to UI development. It also allows us to see the bigger picture of the layout and design, and test real life user actions. This enables us to detect layout and design issues that automated testing cannot spot. Manual testing is also better suited for subjective tasks. Reviewing the look and feel of an app requires subjectiveness that automated testing cannot offer. The following are some of the unit tests we performed:

Unit Test Pass/Fail
Buttons testing Pass
Navigation testing Pass
Date, time, news, weather feed are shown correctly Pass
Zoom in and out feature testing Pass
Sending emails feature testing Pass
Exercise mode testing Pass
Exception testing e.g. url is entered correctly, email recipients are selected before sending Pass

Integration Testing

Integration testing is performed by running MotionInput along with FISECARE. This is to ensure that FISECARE can be navigated using hand, facial and speech recognition of MotionInput without the use of mouse and keyboard control. We made sure that all the buttons are in the right position and are large enough to be easily clicked using hand motion. We also tested that the games in Exercises mode can be played enjoyably using MotionInput.

Performance/Stress Testing

We ran performance testing on different types of machines with different system specifications. Overall, we’ve found that the program’s maximum ram usage is around 400 megabytes, the maximum CPU usage is around 15%, the maximum distance from the camera is around 3 meters and the loading time takes around a second. The results are shown below:



The results demonstrate that our system matches the expected levels of speed, efficiency and reliability, making it possible to be used on low-power machines.

User Acceptance Testing

Simulated Testers

  • - An accountant aged 65 living in Bangkok, Thailand
  • - A retired teacher aged 72 living in London, UK
  • - A resident in a care home aged 78 living in Nonthaburi, Thailand
  • - A former policeman aged 84 living in Brighton, UK

Test Cases

Test case 1

We asked the user to use our Online Shopping mode by browsing and ordering an item on Amazon.

Test case 2

We asked the user to use our Communication mode to send voice messages to a family member through Whatsapp.

Test case 3

We asked the user to send an email to a family member and checked whether the family member had received the email.

Test case 4

We asked the user to play a Bubble shooter game using hand motion.


Feedback from Testers and Project Partners

Totally
Disagree
Disagree Agree Neutral Totally
Agree
Easy to use 0 0 0 2 2
Buttons are easy to click 0 0 0 1 3
Home page is attractive 0 0 0 0 4
News and weather forecast are informative 0 0 0 0 4
Internet is more accessible 0 0 0 0 4
Makes life more convenient 0 0 0 1 3
More connected to family members 0 0 0 2 2
Games are enjoyable 0 0 0 0 4
Use this in everyday life 0 0 0 2 2
New and exciting experience 0 0 0 0 4
Additional feedback:
"Video tutorial on how to use MotionInput to navigate the app would be helpful"
"There should be button to read more on the daily news"