Capstone Project
#Team GymGuru
#Week 4 - External Feedback, testing and Iteration #
Week’s focus and importance #
This week, we have been focusing on testing and incorporating feedback, which is important because we need to see independent reviews from third parties in order to identify any potential issues and plan our next steps. To do this, we have gone through several stages. Our plan was to conduct continuous integration/continuous delivery (CI/CD) testing, user interface (UI) testing, and user acceptance testing (UAT) to gather user feedback. We also continued integrating our initial ideas for the project that we didn’t have time to finish last week.
Feedback from TA #
During our recent meeting with the TA, several points and advices were discussed.
The main advices about backlog maintaining were:
Creating all milestones at the beginning of the project work, not at the beginning of each week.
Adding a section “In review” to the backlog with assigned reviewer.
Also, a different model of pose estimation and recognition - Yolo - was proposed by the TA. We definitely will get to know this model and explore will its integration be an improvement of our web application or not.
External Feedback #
We have conducted a survey among the students of our university and have collected feedback on our product. We let interviewees to use GymGuru and asked them to evaluate the aesthetic component of the app, usability and usefulness of the idea itself on a 10-point scale, and also asked what they liked and what they didn’t.
Student | Aesthetic | Usability | Usefulness | Like | Dislike |
---|---|---|---|---|---|
Azaliya Alisheva, 1st year | 10 | 5 | 10 | Page with exercises, the ability to take the exercise from any angle, minimalistic design | You need to turn your head to see the result |
Nazgul Salikhova, 2nd year | 5 | 5 | 10 | The idea of taking the test online | I want to see more “sporty” design, some photos on the pages. It will be nice to have a system of some prizes for progress |
Iskander Nafikov, 4th year | 7 | 7 | 8 | It is convenient to take a test from another city | No way to cheat |
Vagif Khalilov, 4th year | 7 | 6 | 7 | It is cool to take a test remotely | As for me ML algorithms are not accurate |
Artem Murashko, 4th year | 7 | 9 | 9 | The demonstration is great | The design is outdated |
Eduard Zaripov, 4th year | 7 | 7 | 10 | I like the idea of renting from another city | It would be convenient to see the hints in the UI |
Vsevolod Klushev, 4th year | 10 | 8 | 2 | The design is nice | It is not clear whether the registration was completed, whether the password was entered correctly - we need prompting labels |
Matvey Korinenko, 2nd year | 9 | 7 | 6 | It’s very cool that it really recognizes exercises, and quite accurately | Immediately after registering and logging in, there was a blank page |
Dmitry Okoneshnikov, 2nd year | 8 | 4 | 2 | I really like the idea of using a pose | It is worth adding an inscription that the download /initialization is in progress |
Overall | 7.8 | 6.4 | 7.1 | Most of interviewees highlighted the design and the main idea | Respondents noted that they want to see more hints and alerts of success/fail |
Here you can see the screens of users testing process. All participants of the testing session agreed to publish screenshots from their devices in this report.
Testing #
Through the whole development process we conducted and will conduct thorough testing to find any bugs and/or parts that work in different way we planned. For the UI aspect this testing is a “manual hand-testing” that allow to explore all parts of web application according to user flow diagram (presented in Week 2 Report). Moreover, feedback from students who participated in the testing was taken into account. We added hints for login and registration forms so that the user understands that he/she has entered an incorrect password or email.
During this week, our team set up a CI/CD pipeline in GitHub by using GitHub actions and creating our own GitHub runner on the application server. This will allow us to conduct different tests automatically after each push to the main branch, and also to automate the deployment process.
The list of things that we can test with CI/CD includes:
User flow (to which page the user will go after some action)
Sending the correct POST request with user data
Receiving the correct html from the current web pages
Correctness of the registration form validation (for example, password with not less that 6 symbols)
Connection to the Database
Moreover, regarding the recognition of the physical exercise performance correctness, we trying to find any ways how to cheat the system. This allow us to refine the rules of checking the correctness of exercise done by a person. It includes different camera angles, clothes, backgrounds and so on.
Iteration #
During the whole working process, our team adhere an iterative strategy of software development. After each iteration (each week for this project) we conduct a testing and feedback sessions (for the team members and external users from this week). On the base of collected feedback and development plan we define the aspects of a project that should be invented/expanded/fixed.
For this week, according to the iterative development process strategy, we determined the following plan of work:
Refine a main page
Edit a headers of web site
Expand a number of supported physical exercises
Set up a CI/CD using GitHub actions
Add a rating functionality
As can be seen from the tasks listed above, all of them are refinement or expanding a base of web application, representing this week’s iteration.
Challenges & Solutions #
This week we had a number of difficulties, mainly consisting of testing:
When testing the correctness of counting the number of completed approaches of one exercise. For each exercise, it is necessary to think through all possible tricks that will help to wind up the counter, and because of this, the testing person spent days squatting, doing push-ups, and so on. Also, new tricks are being invented every day, thanks to the feedback from users. We understood the importance of comprehensive test cases that cover not only typical usage but also not standard situations and unusual user behavior.
During the CI/CD testing, we encountered some difficulties due to a lack of experience in implementing this feature on the GitHub platform. Specifically, there was an issue with the runner not being installed not with user, nor with root permission on our rented server. We solved it by setting up several environment variables. The finding here is the need to understand the requirements and configurations of a particular platform before attempting to integrate CI/CD.
Conclusions & Next Steps #
This week we are done with feedback, manual and automated testing, and several features and refinements of the web application itself. And this is a list of our expected next steps:
Continue searching for tricks in calculating exercise approaches and correcting them;
Continue collecting, analyzing and implementing user and experts feedbaсk;
Implementing fitness test functionality.