Skip to content

Commit

Permalink
Merge pull request #196 from Arquisoft/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
UO290054 authored Apr 29, 2024
2 parents 8fa0bef + a48aa81 commit ba1e95e
Show file tree
Hide file tree
Showing 20 changed files with 294 additions and 94 deletions.
Binary file added docs/images/add100Users.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/add1User.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/playGame1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/playGame20.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions docs/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -96,4 +96,8 @@ include::src/11_technical_risks.adoc[]
// 12. Glossary
include::src/12_glossary.adoc[]

<<<<
// 13. Testability
include::src/13_testability.adoc[]


139 changes: 65 additions & 74 deletions docs/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"deploy": "gh-pages -d build"
},
"dependencies": {
"gh-pages": "^3.2.3",
"gh-pages": "^6.1.1",
"shx": "^0.3.3"
}
}
1 change: 1 addition & 0 deletions docs/src/04_solution_strategy.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ ifndef::imagesdir[:imagesdir: ../images]
| _Wikidata_ | _Website where the information is taken from_
| _Javascript_ | _An interpreted programming language based on prototypes, imperative and dynamic. We will use it on both frontend and backend._
| _CSS_ | _A graphic programming language oriented to define the repesentation of a document._
| _Bootstrap_ | _A popular front-end framework for building responsive websites._
|===

=== Decisions on how to achieve key quality goals
Expand Down
12 changes: 8 additions & 4 deletions docs/src/09_architecture_decisions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,27 @@ With "decisions" we mean selecting one alternative based on given criteria.

|====
| Decision | Consequences | Risks
| Uso de React.js | - Facilitates the development of user interfaces.
| Use of React.js | - Facilitates the development of user interfaces.
- React.js is a widely popular library in the development community.
- Improves the efficiency of frontend development. | - Limited experience with React.js.
- Possible learning curve for the team.
| Uso de JavaScript | - Team's prior knowledge in JavaScript.
| Use of JavaScript | - Team's prior knowledge in JavaScript.
- Extensive support and resources available.
- Suitable language for frontend and backend development. | - Limitations in compile-time error detection.
- Potential challenges in performance for large projects.
| Uso de MongoDB | - Flexible schema and horizontal scalability.
| Use of MongoDB | - Flexible schema and horizontal scalability.
- Widely used in modern applications.
- Compatibility with unstructured data.
- Already implemented in user registration and login. | - Not familiar with NoSQL databases.
- Possible learning curve.
| Uso de Docker | - Containerization that facilitates deployment and scalability.
| Use of Docker | - Containerization that facilitates deployment and scalability.
- Consistent environment in development and production.
- Streamlines dependency management. | - Potential initial complexity in Docker configuration.
- Requires additional learning resources.
| Use of Bootstrap | - Simplifies and accelerates the development of responsive and mobile-first web applications.
- Provides a wide range of pre-designed components and styles.
- Offers extensive documentation and community support. | - Learning curve for team members unfamiliar with Bootstrap.
- Risk of over-reliance on Bootstrap components, leading to less customizability.
|====


Expand Down
34 changes: 34 additions & 0 deletions docs/src/13_testability.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
ifndef::imagesdir[:imagesdir: ../images]

[[section-technical-risks]]
== Testability
Testability is a crucial aspect of software development. It refers to the ease with which a software system can be tested to ensure its correctness and reliability. By writing tests, developers can verify that their code behaves as expected and identify any potential issues or bugs. There are various types of tests that can be performed, such as unit tests, integration tests, and end-to-end tests. Unit tests focus on testing individual components or functions in isolation, while integration tests verify the interaction between different components. End-to-end tests simulate real-world scenarios to ensure the entire system functions correctly.

To achieve good testability, it is important to write code that is modular, decoupled, and follows best practices such as dependency injection. Additionally, using testing frameworks and tools can simplify the process of writing and executing tests.


=== Load Testing
These tests will focus on evaluating the performance of our system under high traffic and heavy usage conditions. This type of testing is crucial to identify bottlenecks and ensure that our application can effectively handle the volume of users and transactions expected in production, without compromising performance and stability.


Initially, a test was carried out with the following procedure:
1. Create a new user
2. Log in with this new user
3. View the main page

image::add1User.png[title="1 User"]
image::add20Users.png[title="20 User"]
image::add100Users.png[title="100 User"]


Then, a slightly more complex test was then performed, which followed the following procedure:
1. Log in to the app
2. View the main page
3. Play a new game
4. View the game history
5. View the previous game specific data
6. View the history of questions

image::playGame1.png[title="1 User"]
image::playGame20.png[title="20 User"]
image::playGame100.png[title="100 User"]
Binary file added docs/src/add20Users.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/src/playGame100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added webapp/AddUserSimulation.class
Binary file not shown.
Binary file added webapp/PlayGameSimulation.class
Binary file not shown.
11 changes: 11 additions & 0 deletions webapp/e2e/features/historial-form.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Feature: Visible user logged history

Scenario: The user is not loged in the site
Given A not loged user
When Press history
Then Redirected to login

Scenario: The user register in the site so he can see history
Given A unregistered user, fill the register
When I press history
Then I see my history
Loading

0 comments on commit ba1e95e

Please sign in to comment.