API Testing Checklist

It's difficult to make a universal API checklist because APIs can be very diverse in their functionality, design, and implementation. It's difficult to make a universal API checklist because APIs can be very diverse in their functionality, design, and implementation. APIs are used across a wide range of applications and industries, and they can have different purposes, requirements, and constraints. Therefore, there's no one-size-fits-all checklist that can cover all the possible scenarios and use cases for API testing. If the API is expected to receive a high volume of requests or handle a large amount of data, load and performance testing becomes critical but if the API is intended for internal use only, and the expected usage is low, load and performance testing may not be a priority. In the case of public APIs, clear and accurate documentation is critical because the APIs are designed to be used by third-party developers and applications. For internal APIs, the documentation may not need to be as comprehensive as public APIs. That is why we will create a small checklist of the most critical checks, you can select the checks that apply to the API you need to test. However, keep in mind that this is a small general checklist, and additional checks may be necessary depending on the specific requirements of the API and the business needs of the organization. One of the principles of testing is Testing Is Context Dependent.
1. Always start with Happy Path
Check the valid Request
Check the HTTP method
Check the URI/URL
Check query parameters
Check path parameters
Request headers
Check the Request body structure
Check the Request body values
Check the valid Response
Check the HTTP status code
Check the Response body structure
Check the Response body values
Check Response headers
2. Documentation testing (Ensure that the documentation includes all necessary information)
e.g. Examples of valid requests and responses; Examples of responses to invalid requests; Verifying that the request parameters are correct; Verifying that the response structure is correct; Verifying that the response codes and messages are correct; Verifying that the authentication and authorization requirements are correct, etc.
3. Contract Testing (Testing the API against a predefined contract or specification. The contract defines the expected behavior of the API, including the input parameters, expected output, and error handling)
e.g. Test API according to the documentation we tested above.
4. Functional testing (This involves verifying the functionality of an API by testing its endpoints, input validation, output validation, error handling, and other related aspects. The goal of functional API testing is to ensure that the API meets its intended functional requirements and behaves as expected)
e.g. Verify that the API accepts valid data and creates a new resource as expected when sending a valid POST request. Verify that the API returns the correct data when sending a valid GET request. Test whether the API responds correctly to queries with different parameters, such as filtering, sorting, and pagination. Verify that the API returns the expected status codes, such as 200 for a successful response and 404 for a resource not found. Verify that the API accepts valid data and updates the resource as expected when sending a valid PUT request. Verify that the API deletes the resource as expected when sending a valid DELETE request, etc.
5. Security testing (If API requires authentication for all requests)
e.g. Test whether the API is properly authenticating and authorizing users to access resources. This includes testing whether the API rejects unauthorized requests and properly handles authentication failures. Test whether the API is properly validating user input to prevent SQL injection, cross-site scripting (XSS) attacks, and other security vulnerabilities. Test whether the API is properly encrypting and decrypting sensitive data, such as passwords and user credentials. This includes testing whether the API is using secure encryption algorithms and protocols.
6. Performance testing (Ensure that API can handle the expected traffic)
e.g. Load testing with multiple users; Stress testing with maximum load; Endurance testing with prolonged load; Spike testing with sudden load increase; Caching performance; Response time; Error rate, etc.
7. Negative testing (Involves testing an API with invalid or unexpected inputs or scenarios, to ensure that it handles them correctly and responds appropriately.
e.g. Invalid input parameters(request body, headers, query params, path params); Test with missing or invalid data; Test with incorrect data type or format; Test with duplicate data; Test with too much data; Error handling; Security vulnerabilities; Performance under load; Testing edge cases, etc.


Trong quá trình đọc các thảo luận, mình có để ý thấy nhà cái tg88 được nhắc qua nên thử vào xem cho biết. Mình chỉ xem nhanh tổng thể chứ chưa tìm hiểu sâu, nhưng cảm giác ban đầu là cách trình bày khá thoáng, phần thể thao tách bạch riêng với live casino, kho slot cũng gom vào từng sảnh game trật tự. Nhờ duy trì bố cục hợp lý nên nhìn vào không bị rối mắt, lướt điện thoại rất êm.
Hôm qua đi làm về mệt, nằm lướt điện thoại thấy bạn bè share link gemwin nên mình cũng tò mò mở ra xem thử. Nhìn chung giao diện làm khá thân thiện, lúc đang mệt lướt không bị rối mắt. Khu vực theo dõi thể thao và chỗ xem live casino được tách riêng biệt, chữ nghĩa rõ ràng. Mấy trò xả stress nhanh như slot cũng được chia theo từng sảnh game rất gọn gàng. Nhờ trang có một bố cục hợp lý nên thao tác một tay trên điện thoại cũng cực kỳ thoải mái.
Gần đây thấy cái tên hello88 com được nhắc đến tương đối nhiều trong các bài chia sẻ kinh nghiệm nên mình quyết định ghé qua quan sát. Ấn tượng đầu là nền tảng xử lý phần nhìn rất thông thoáng, bảng điểm số thể thao và không gian bàn cược live casino không bị trộn lẫn vào nhau. Phân khu dành cho các tựa game slot cũng được gom tụ chuẩn chỉ tại mỗi sảnh game. Trang web thể hiện một bố cục hợp lý, việc định vị các mục quan trọng rất trực quan và không gây cảm giác quá tải dữ liệu.
Trong quá trình tìm kiếm các nền tảng giải trí trực tuyến có lượng truy cập ổn định, mình chú ý đến cái tên tải hitclub và đã trực tiếp ghé qua trang chủ. Điểm đầu tiên ghi điểm là các mục quan trọng như bản tin thể thao hay khu vực live casino được thiết kế độc lập, không gây chồng chéo thông tin. Thêm vào đó, nhóm trò chơi slot cũng được sắp xếp ngăn nắp theo từng sảnh game chuyên biệt. Nền tảng sở hữu một bố cục hợp lý, tốc độ tải các trang con khá nhanh và không gặp hiện tượng giật lag trong quá trình trải nghiệm.
Khi lướt qua một số diễn đàn chuyên bàn về các nền tảng giải trí, mình thấy fo88 được nhắc tên khá nhiều và quyết định vào tham quan thử. Trải nghiệm nhanh cho thấy hệ thống phân chia danh mục rất rành mạch: khu vực theo dõi thể thao không bị lấn cấn với các bàn live casino, giúp người xem dễ dàng quan sát. Toàn bộ kho trò chơi như slot đều được quy hoạch gọn gàng về đúng sảnh game của nó. Nền tảng duy trì một bố cục hợp lý, các thao tác chuyển trang phản hồi nhanh và mang lại cảm giác sử dụng khá thoải mái.