---
# System prepended metadata

title: Project Meeting 2

---

# Project Meeting 2

## Testing Plan

Use Mocha.js test frame work to do tests.

## Unit Test

Code based white box testing, test function input and output

### Server side:

1. Initialization test: check if the server initializing functions.
2. Configuration checking.

2. Unit test for the game functions. creating game, addplayer, remove user, addplay, change the user turns.

3. Automatic test for other supporting functions, check if they give out the expected output.

4. Faulty based testing: giving unexpected input and configuration files to the server side functions (E.G. exceed number of players) 

### Client side:

1. Initialization test: check if the client initialization function

2. Check if it can render properly ->
    Unit Testing of Components and Containers in React Frontend.

## Function Test

Black box testing, test server side and client side separately.

1. Use Mocha.js to do automatically web browser based testings.
2. Start the server locally, automatically send the requests  and check if the server can return the corresponding output.

3. Login test: passing the user profiles automatically and login/logout request to check if we can change the user login state.

4. Sending correct and wrong user profile to check the login function.

5. send correct and wrong request to the server

6. Sending creating game, join game, view history request and check the return result.

## Integration Test

Black box testing, combine server side and client side.

1. Test login/logout functions.
2. Create game, join game, change user turn combined test.

3. Check the communication between the client and the server side.
4. Check the communication between the firebase and the server.