generated from Arquisoft/wiq_0
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #332 from Arquisoft/develop
404 page
- Loading branch information
Showing
58 changed files
with
2,189 additions
and
93 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
ifndef::imagesdir[:imagesdir: ../images] | ||
|
||
== Testing | ||
=== Performance efficiency | ||
The tests were done with a 2 core and 4 GB of memory system. However, real used VM has 2GB and 1 vCPU in order to keep costs low. | ||
If required, a more powerful machine could be easily used instead of the current one. | ||
The difference between machines is not such significant as real VM only loads API and the docker image for the DB, while the testing machine must also take care of loading the front of the website. | ||
|
||
This system's efficiency has been measured with Gatling. For the script that we used, a user already created, logged in and played a full game. After that, the user clicked to look the statistics. | ||
|
||
The scripts were run a total of 4 times. For load testing, one with 1 user, other with 100 users and another one with 1000 users. Finally one with 10000 for stress testing. | ||
Regarding load testing, the results of these scripts show that response times are reasonable up until 1000 users, although roughly 25% of the requests fail. | ||
Here are the results. | ||
|
||
**1 user:** | ||
|
||
image::Gatling_1_user.png[align="center", title="Gatling results with 1 user"] | ||
|
||
**100 users:** | ||
|
||
image::Gatling_100_users.png[align="center", title="Gatling results with 100 user"] | ||
|
||
**1000 users:** | ||
|
||
image::Gatling_1000_users.png[align="center", title="Gatling results with 1000 user"] | ||
|
||
**10000 users:** | ||
|
||
Having 10000 users playing a game at the same time make a lot of failures. However, the server does not get down so after all those users leave, the system could still run normally. | ||
|
||
image::Gatling_10000_users.png[align="center", title="Gatling results with 10000 user"] | ||
|
||
=== Functional Suitability | ||
To ensure the users are able to do what they are supposed to do and nothing else, both unit and acceptance testing were done. | ||
|
||
Acceptance testing tries to see if the user is able to use the application properly without crashing. However, as security is one of the most important requirements, unit testing from a 'back-end' point of view, so that as few unexpected inputs or bugs may happen in any part of the application (front-end included). | ||
|
||
On top of it, strong e2e testing was built to reensure the integrity of the software, as negative and positive test cases were introduced. Via e2e, we can also know what the user is capable of by means of normal application usage and how the system reacts to it. | ||
|
||
Unit testing was done via Jupyter for API while Jest and React Testing Library for React components in front-end views. | ||
Gherkin was used for acceptance testing and user story building. | ||
Finally, e2e tests were done in JS using Cucumber and Puppeteer. | ||
|
||
=== Usability tests | ||
Although they were not as much as desired, 4 usability tests were done as a way to know how easy our product is. The people tested all use internet daily, although they do not share the same level of expertise. | ||
|
||
Most people had no problem to complete the basic task (registering and playing a full game). However, one wanted to log in before signing up (probably that was just a dumb mistake). | ||
Regarding some more complex task, such us seeing the rules, some of the users had problems as they had not noticed the button for deploying the lateral menu. | ||
|
||
Overall, usability tests were good enough, although we would like to have some more people with a wider range of age |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
4 changes: 2 additions & 2 deletions
4
webapp/e2e/features/login_features/negative_blank_email_login.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
Feature: Preventing wrong login accesses | ||
|
||
Scenario: A registered user wants to log in using his credentials but leaving the password in blank | ||
Scenario: A registered user wants to log in using his credentials but leaving the email in blank | ||
Given A registered user in the root screen | ||
When User presses the log in button | ||
And User enters in the log in screen | ||
And User fills the form with his proper email but leaves the password in blank | ||
And User fills the form with his proper password but leaves the email in blank | ||
And User presses the log in button | ||
Then Log in screen shows an informative error message and does not allow the user to log in |
4 changes: 2 additions & 2 deletions
4
webapp/e2e/features/login_features/negative_blank_password_login.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
Feature: Preventing wrong login accesses | ||
|
||
Scenario: A registered user wants to log in using his credentials but leaving the email in blank | ||
Scenario: A registered user wants to log in using his credentials but leaving the password in blank | ||
Given A registered user in the root screen | ||
When User presses the log in button | ||
And User enters in the log in screen | ||
And User fills the form with his proper password but leaves the email in blank | ||
And User fills the form with his proper email but leaves the password in blank | ||
And User presses the log in button | ||
Then Log in screen shows an informative error message and does not allow the user to log in |
4 changes: 2 additions & 2 deletions
4
...es/negative_incorrect_credentials.feature → ...ative_incorrect_credentials_login.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
Feature: Preventing wrong login accesses | ||
|
||
Scenario: A registered user wants to log in using his credentials but leaving the email in blank | ||
Scenario: A registered user wants to log in using his credentials but they do not match any registered user | ||
Given A registered user in the root screen | ||
When User presses the log in button | ||
And User enters in the log in screen | ||
And User fills the form with his proper password but leaves the email in blank | ||
And User fills the form with credentials that do not match | ||
And User presses the log in button | ||
Then Log in screen shows an informative error message and does not allow the user to log in |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.