# How do we test a specific service? | | **Vue-Games** | **Unity-Games** | **Login-Frontend** | **Go-Backends** | **Spring-Backends** | **Docs** | |---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------| | **How do we test?** | Classical | Classical | Classical | Test driven | Test driven | At the latest to the sprint end the docs should be checked manually if the docs repo is up to date and correct. | | **Test levels** | - Unit testing (automatically)
- Integration testing (manually)
- Acceptance testing (manually) | - Unit testing (seem to destroy our code - maybe later)
- Integration testing
- Acceptance testing | - Acceptance testing | - Unit testing
- Integration testing
- Acceptance testing | - Unit testing
- Integration testing
- Acceptance testing | - | | **Test methods** | - Smoke tests (automatically)
- Requirements-based (manually)
- Regression tests (manually)
- Grey-Box testing (automatically) | - Smoke tests (automatically)
- Requirements-based (manually)
- Regression tests (manually)
- Grey-Box testing (automatically) | - Requirements-based (manually)
- Regression tests (manually)

manually because testing frontends is hard | - Smoke tests (automatically)
- Requirements-based (automatically)
- Regression tests (manually)
- Grey-Box testing (automatically) | - Smoke tests (automatically)
- Requirements-based (automatically)
- Regression tests (manually)
- Grey-Box testing (automatically) | - | | **Metrics** | What do we want to achieve?
- code coverage of 10% *(will increase over time)*
- pass rate of 100% | What do we want to achieve?
- code coverage of .cs files of 0% *(may increase over time)*
- pass rate of 100% | What do we want to achieve?
- pass rate of 100% | What do we want to achieve?
- code coverage of 45% *(will increase over time)*
- pass rate of 100% | What do we want to achieve?
- code coverage of 45% *(will increase over time)*
- pass rate of 100% | - | | **Test schedule** | - Smoke tests at every push via CI-pipeline
- Requirements-based tests before every release
- Regression tests before every release
- Grey-Box testing at every push via CI-pipeline | - Smoke tests at every merge in main branch via CI-pipeline
- Requirements-based tests before every release
- Regression tests before every release
- Grey-Box testing at every push via CI-pipeline | - Requirements-based tests before every release
- Regression tests before every release | - Smoke tests at every push via CI-pipeline
- Requirements-based tests at every push via CI-pipeline
- Regression tests before every release
- Grey-Box testing at every push via CI-pipeline | - Smoke tests at every push via CI-pipeline
- Requirements-based tests at every push via CI-pipeline
- Regression tests before every release
- Grey-Box testing at every push via CI-pipeline | - | | **Test tools** | - Game logic -> Jest `npm run test:unit`
- HTML components -> manually | - Game logic -> Unity Unit test
- Everything else -> manually | - HTML components -> manually | - Go internal -> `go test -v ./...` | - Spring internal -> `mvn test` | `make html` | For manual testing, a checklist will be created to ensure that nothing is forgotten.