This document discusses using Go to implement functional verification testing. It begins by explaining go test and unit testing. It then defines functional verification testing as testing how users use an application across packages or microservices, as opposed to unit testing individual functions. It describes setting up test scenarios, running tests against API endpoints, and having a test server manage state and collect results. The document recommends designing test cases, implementing a test server to run cases and report reactions, and addresses issues like managing authentication and avoiding overloading the server.
26. Some test cases
- Find a seat to sit down
- Come to the counter to order and pay
- Make a reservation
27. We hope to get the results of all tests at once
- Find a seat to sit down
- FAILED : no seats left
- Come to the counter to order and pay
- PASSED
- Make a reservation
- PASSED
28. Unless the test beats the service
- Find a seat to sit down
- FAILED : no seats left
- Come to the counter to order and pay
- Connection refused
- Make a reservation
29. Advanced information
- Find a seat to sit down
- Seating area 1F-A : 23/23
- Seating area 1F-B : 17/17
- Seating area 1F-C : 17/17
- Seating area 2F : 0/0
- FAILED : no seats left
30. Who can run the test
QC
Backend
Frontend
PM
SRE
33. Server to run tests
InfrastructureEnvironment
Host Test casesAPI endpoints
34. API endpoints
- POST /orders
- GET /orders?timestamp>1595721600×tamp<1595808000
- GET /results?tester=rain
- GET /results/002020
- POST /testers
- GET /testers