Kỹ năng phỏng vấn tuyển dụng

Top 20 Câu Hỏi Phỏng Vấn API Testing Phổ Biến Nhất

API Testing đang dần trở thành một vị trí không thể thiếu trong các team kỹ thuật và phát triển phần mềm. Nếu bạn cảm thấy hứng thú với mảng kiểm thử phần mềm, bài viết này dành cho bạn. Thông qua bài viết dưới đây, Masterskills sẽ cùng bạn thảo luận về 20 câu hỏi phỏng vấn API Testing phổ biến nhất cùng với các câu trả lời ngắn gọn để giúp bạn vượt qua các cuộc phỏng vấn của mình.

Câu hỏi phỏng vấn API Testing dành cho Fresher

Trước tiên, hãy cùng Masterskills tìm hiểu một số câu hỏi phỏng vấn API Testing dành cho các bạn Fresher nhé:

1. API Testing là gì? 

API Testing là một loại kiểm thử phần mềm tập trung vào việc xác minh và xác thực chức năng, độ tin cậy, hiệu suất và tính bảo mật của các giao diện lập trình ứng dụng (API). Nó liên quan đến việc kiểm tra giao tiếp giữa các thành phần phần mềm khác nhau để đảm bảo trao đổi và tích hợp dữ liệu phù hợp.

2. APIs làm việc như thế nào? 

API (giao diện lập trình ứng dụng) đóng vai trò trung gian cho phép các hệ thống phần mềm khác nhau giao tiếp và trao đổi dữ liệu với nhau. Chúng xác định các phương pháp, giao thức và định dạng dữ liệu sẽ được sử dụng để tương tác, cho phép các ứng dụng truy cập và sử dụng các chức năng của các thành phần hoặc dịch vụ phần mềm khác.

3. Sự khác biệt giữa các loại API Testing là gì? 

API Testing có thể được phân thành nhiều loại khác nhau, bao gồm thử nghiệm đơn vị, thử nghiệm chức năng, thử nghiệm tải, thử nghiệm bảo mật và thử nghiệm khả năng tương tác. Sự khác biệt chính nằm ở các khía cạnh cụ thể đang được thử nghiệm và các kỹ thuật được sử dụng để xác minh và xác nhận.

4. Những giao thức (protocols) nào có thể được kiểm tra bằng API Testing? 

API Testing có thể được sử dụng để kiểm tra các giao thức khác nhau như HTTP, REST, SOAP, GraphQL, v.v. Các giao thức này xác định các quy tắc và tiêu chuẩn để giao tiếp giữa các hệ thống phần mềm khác nhau và rất quan trọng để đảm bảo tích hợp và trao đổi dữ liệu liền mạch.

câu hỏi phỏng vấn api
Kiểm tra giao thức

5. Các công cụ được sử dụng nhiều nhất cho API Testing là gì? 

Một số công cụ được sử dụng rộng rãi để kiểm tra API bao gồm Postman, SoapUI, RestAssured, JMeter và Assertible. Các công cụ này cung cấp các tính năng và chức năng toàn diện để thiết kế, thực thi và phân tích các API Testing một cách hiệu quả.

6. Sự khác nhau giữa API Testing và Unit Testing là gì?

API Testing UNIT Testing
Thử nghiệm này thuộc sở hữu của nhóm phân tích chất lượng. Thử nghiệm này thuộc sở hữu của các nhà phát triển làm việc trên các mô-đun tương ứng.
API Testing thuộc về loại thử nghiệm hộp đen. UNIT Testing thuộc về thử nghiệm hộp trắng.
Chức năng hệ thống đầy đủ được xem xét trong API Testing vì API sẽ được các nhà phát triển bên ngoài sử dụng. Như cái tên, thử nghiệm này xác minh xem đơn vị mã có hoạt động như mong đợi hay không trong sự cô lập.
Trong thử nghiệm này, người thử nghiệm không có quyền truy cập vào mã nguồn nội bộ và nó chỉ tập trung vào chức năng của API. Các nhà phát triển làm việc trong việc phát triển các trường hợp thử nghiệm đơn vị có quyền truy cập vào mã nguồn vì họ cần đảm bảo các mô-đun đã phát triển được thông qua trước khi phân phối.

7. Những lợi thế khi sử dụng API Testing là gì?

Một số lợi thế đáng kể nhất của API Testing bao gồm:

  • Kiểm tra chức năng cốt lõi: Loại thử nghiệm này cung cấp quyền truy cập vào toàn bộ hệ thống mà không cần giao diện người dùng. Các chức năng của ứng dụng sẽ được đánh giá từ đầu đến cuối mà không cần GUI (Giao diện người dùng đồ họa) giúp phát hiện các sự cố có nguy cơ trở nên nghiêm trọng hơn tại thời điểm thử nghiệm GUI.
  • Hiệu quả về thời gian và chi phí: API Testing thường tốn ít thời gian hơn so với thử nghiệm GUI. Nó cũng yêu cầu ít mã hơn để kiểm tra các chức năng, do đó giúp thiết lập dễ dàng hơn và truy cập nhanh hơn vào phạm vi kiểm tra. Nó cũng dẫn đến tiết kiệm chi phí hiệu quả cho dự án.
  • Không phụ thuộc vào ngôn ngữ: Việc truyền dữ liệu giữa nền tảng thử nghiệm với các ứng dụng được thực hiện bằng cách sử dụng XML hoặc JSON và hoàn toàn độc lập với các ngôn ngữ được sử dụng để phát triển hệ thống. Bộ tự động hóa thử nghiệm có thể được phát triển bằng bất kỳ ngôn ngữ nào.
  • Dễ tích hợp với GUI: API Testing cung cấp các bộ thử nghiệm rất linh hoạt giúp tích hợp dễ dàng hơn với các thử nghiệm GUI. Chẳng hạn, trước khi bắt đầu các trường hợp kiểm tra GUI, sử dụng các trường hợp kiểm tra API, chúng ta có thể tạo những người dùng mẫu có thể đóng vai trò là cơ sở ban đầu cho các kiểm tra GUI. 
Tham khảo:   Bộ Câu Hỏi Phỏng Vấn Team Leader Thường Gặp Nhất Và Gợi Ý Trả Lời 

8. Bạn hiểu Black Box Testing là gì? 

Black Box Testing hay kiểm thử hộp đen là một trong những phương pháp kiểm thử phần mềm trong đó người kiểm thử đánh giá chức năng của phần mềm mà không cần biết về mã nguồn bên trong. Hệ tư tưởng này có thể được áp dụng trong mọi nhánh thử nghiệm như thử nghiệm đơn vị, thử nghiệm tích hợp, thử nghiệm hệ thống và thử nghiệm chấp nhận.

9. Test coverage là gì? 

Test coverage hay phạm vi kiểm thử là thước đo biểu thị số lượng kiểm thử được thực hiện bằng cách sử dụng các trường hợp kiểm thử của nhà phát triển. Nó có thể là thử nghiệm chức năng hoặc thử nghiệm phi chức năng của ứng dụng. Điều này cung cấp một ý tưởng hợp lý về những gì người thử nghiệm cần bao gồm trong các trường hợp thử nghiệm của họ.

câu hỏi phỏng vấn restful api
Test Coverage

10. Quy trình API Specification Review là gì? 

API Specification Review là bước đầu tiên và quan trọng nhất của tài liệu về nhu cầu và yêu cầu kiểm tra API. Nó phải nêu rõ mục đích của API, quy trình làm việc của ứng dụng và các tính năng của nó cùng với tất cả các chi tiết cần thiết khác có thể giúp lập kế hoạch cho quy trình kiểm tra API một cách suôn sẻ.

Câu hỏi phỏng vấn API Testing dành cho người có kinh nghiệm 

Sau khi làm quen với các câu hỏi phỏng vấn API Testing ở mức độ cơ bản, đây là lúc bạn chứng tỏ kỹ năng của mình với một loạt câu hỏi chuyên sâu hơn:

11. Sự khác biệt quan trọng nhất của API Testing và UI Testing là gì? 

UI Testing hay còn gọi là thử nghiệm giao diện người dùng đại diện cho thử nghiệm bằng cách sử dụng giao diện người dùng đồ họa. Lĩnh vực trọng tâm chính trong việc này là kiểm tra giao diện của ứng dụng phần mềm bằng cách tập trung vào cách ứng dụng khả thi đối với người dùng cuối, thực hiện các chức năng của tất cả các mục hiển thị trên màn hình giao diện người dùng – hình ảnh, phông chữ, nút , bố cục, v.v. để xem liệu chúng có xuất hiện đúng như mong đợi hay không.

Mặt khác, API Testing đảm bảo kiểm tra việc truyền dữ liệu giữa các hệ thống phần mềm khác nhau. Nó chủ yếu nằm dưới sự xác thực của chức năng back-end.

12. Thách thức và khó khăn lớn nhất khi thực hiện API Testing là gì

Một số thách thức phổ biến khi thực hiện kiểm tra API bao gồm

  • Lựa chọn thông số phù hợp
  • Kết hợp thông số phù hợp
  • Biết API nào cần được gọi theo trình tự nào
  • Kiến thức đúng đắn về xác minh đầu ra
  • Biết các giá trị đầu vào phù hợp cần được cung cấp cho các đầu vào API là gì. 
Tham khảo:   15 Câu Hỏi Phỏng Vấn SQL Cơ Bản Thường Gặp Nhất Và Gợi Ý Trả Lời 

13. Các nguyên tắc cần tuân thủ khi thực hiện API Testing là gì? 

Có 7 nguyên tắc trong thiết kế API Testing. Chúng bao gồm:

Kiểm tra tối ưu

Vì không thể kiểm tra mọi thứ một cách thấu đáo, nên cần có ít nhất một số lượng kiểm tra tối ưu tùy thuộc vào đánh giá rủi ro được thực hiện trên ứng dụng.

Phân cụm lỗi

Điều này thể hiện việc phân cụm các mô-đun chứa hầu hết các lỗi. Theo nguyên tắc chung, gần 80% lỗi được tìm thấy trong 20% mô-đun ứng dụng. Các mô-đun rủi ro này có thể được xác định bằng cách làm theo phương pháp này.

Nghịch lý thuốc trừ sâu

Nghịch lý này nói rằng nếu người kiểm tra sử dụng các trường hợp kiểm tra giống nhau lặp đi lặp lại, thì họ sẽ không thể tìm ra lỗi mới trong một khoảng thời gian. Do đó, người kiểm tra cần được trang bị đầy đủ bằng cách xem xét và sửa đổi các trường hợp kiểm tra thường xuyên. Các trường hợp thử nghiệm mới hiệu quả hơn trong việc tìm ra các lỗi mới. Tuy nhiên, không có số lượng thử nghiệm nào có thể đảm bảo rằng sản phẩm không có lỗi 100%.

Sự hiện diện của lỗi

Một nguyên tắc kiểm thử khác là mục đích của kiểm thử phải là sự hiện diện của lỗi chứ không phải là không có lỗi. Mục tiêu của thử nghiệm là giảm xác suất tìm thấy các lỗi chưa được phát hiện. Sẽ có những trường hợp 0 lỗi được tìm thấy, nhưng các devs không thể hoàn toàn khẳng định rằng phần mềm của họ 100% không có lỗi.

câu hỏi phỏng vấn api testing
Sự hiện diện của lỗi

Ngụy biện không có lỗi

Có thể tăng khả năng phần mềm không sử dụng được ngay cả khi phần mềm đó 99% không có lỗi, điều này có thể sai. Trọng tâm chính của kiểm thử phần mềm là đảm bảo rằng phần mềm đáp ứng đúng các yêu cầu nghiệp vụ. Nguyên tắc này nói rằng ngay cả khi chúng ta xác định và sửa các lỗi nếu phần mềm không đáp ứng các yêu cầu kinh doanh, thì hệ thống sẽ không sử dụng được.

Kiểm tra sớm

Nguyên tắc này nói rằng việc sửa lỗi sớm trong vòng đời phát triển phần mềm sẽ dễ dàng hơn. Do đó, nên bắt đầu thử nghiệm ứng dụng càng sớm càng tốt.

Kiểm tra phụ thuộc vào bối cảnh

Đây là cách chúng ta kiểm tra một ứng dụng tùy thuộc vào loại hệ thống. Chúng ta sử dụng các kỹ thuật, phương pháp và trường hợp thử nghiệm khác nhau để kiểm tra các ứng dụng tùy thuộc vào loại. Ví dụ: cách chúng ta kiểm tra các ứng dụng thương mại điện tử khác với cách chúng ta kiểm tra các ứng dụng phát trực tuyến.

14. Các bug phổ biến trong API Testing là gì? 

Một số bug phổ biến trong API Testing bao gồm:

  • Chức năng API trùng lặp hoặc thiếu
  • Không xử lý các trường hợp kiểm tra tiêu cực
  • Không xử lý được tải trọng hoặc căng thẳng tăng đột ngột
  • Độ tin cậy của hành vi ứng dụng
  • Không thể xử lý các yêu cầu một cách an toàn
  • Lỗi chưa thực hiện
  • Hiệu suất kém
  • Các vấn đề trong đa luồng
  • Phản hồi lỗi không chính xác
  • Mã trạng thái không phù hợp

15. Payload là gì? 

Payload là thuật ngữ phổ biến nhất được sử dụng trong trường hợp API REST. Nó đề cập đến dữ liệu thực tế được gửi đến máy chủ trong yêu cầu API ở các định dạng khác nhau như JSON, XML, v.v.

16. Bạn hiểu thế nào về Input injection? 

Input injection là hành động mô phỏng đầu vào để API Testing. Nó có thể được mô phỏng theo nhiều cách khác nhau:

  • Gọi phương thức trực tiếp
  • Yêu cầu giao diện trợ năng
  • Mô phỏng đầu vào cấp thấp
  • Mô phỏng trình điều khiển thiết bị
  • Mô phỏng Robot.
Tham khảo:   Tỉnh Táo Với Những Câu Hỏi Phỏng Vấn “Bẫy” Của Nhà Tuyển Dụng

17. Nên kiểm tra bảo mật API như thế nào? 

Để kiểm tra tính bảo mật của API trong quá trình kiểm tra API, chúng ta cần xác thực 2 điều:

  • Xác thực: Liệu danh tính của người dùng cuối có chính xác hay không.
  • Ủy quyền: Người dùng có được phép truy cập tài nguyên hay không.

Ngoài ra, chúng ta cũng có thể xác thực xem chứng chỉ TLS hoặc SSL được sử dụng qua giao thức HTTPS có hợp lệ hay không.

18. Làm thế nào để thực hiện API Load Testing?

Kiểm tra tải là một danh mục kiểm tra hiệu suất được sử dụng để kiểm tra khả năng hoạt động của ứng dụng dưới các tải người dùng khác nhau. Điều này được thực hiện để xác định các tắc nghẽn về hiệu suất trước khi ứng dụng hoạt động.

Nó được thực hiện bằng cách mô phỏng nhiều người dùng truy cập API cùng một lúc hay nói cách khác, lưu lượng truy cập nhân tạo được mô phỏng để xác định xem ứng dụng có khả năng xử lý tải hay không bằng cách duy trì tính nhất quán trong thời gian phản hồi và không ảnh hưởng đến chức năng.

Một công cụ quan trọng để thực hiện Load Testing là JMeter. Nó cung cấp tính linh hoạt để tạo một kế hoạch thử nghiệm, xác định các nhóm luồng và ghi lại các tập lệnh thử nghiệm để mô phỏng tải nhân tạo cho API. Cuối cùng, nó cung cấp một tính năng để trực quan hóa kết quả kiểm tra tải được thực hiện. 

19. Bạn hiểu thế nào về Big Bang Approach trong testing? 

Big Bang Approach hay phương pháp tiếp cận Big Bang là một chiến lược thử nghiệm trong đó tất cả các thành phần hoặc mô-đun hệ thống được thử nghiệm cùng nhau sau giai đoạn phát triển mà không tiến hành thử nghiệm đơn vị hoặc tích hợp. Mặc dù phương pháp này có thể tiết kiệm thời gian ban đầu, nhưng nó làm tăng nguy cơ xảy ra lỗi không được phát hiện và khiến việc xác định nguyên nhân gốc rễ của lỗi trở nên khó khăn hơn.

20. Có thể hack API trong khi test hay không? 

Trong quá trình API Testing, điều cần thiết là phải tuân theo các phương pháp thử nghiệm đạo đức và có trách nhiệm. Cố gắng hack hoặc khai thác API mà không có sự cho phép thích hợp là bất hợp pháp và phi đạo đức. API Testing tập trung vào việc đảm bảo chức năng, bảo mật và độ tin cậy của API, không ảnh hưởng đến tính toàn vẹn của chúng hoặc vi phạm bất kỳ luật hay quy định nào.

Kết luận

Vậy là Masterskills đã cùng bạn tìm hiểu một số câu hỏi phỏng vấn API Testing thường gặp. Chuẩn bị kỹ lưỡng với các câu trả lời chính xác và ngắn gọn  sẽ nâng cao cơ hội thành công của bạn trong các cuộc phỏng vấn API Testing. 

Hãy nhớ điều chỉnh câu trả lời sao cho phù hợp với kinh nghiệm và kiến thức chuyên môn của riêng bạn đồng thời thể hiện sự hiểu biết về các khái niệm API Testing hay các phương pháp tối ưu nhất. Nếu bạn cảm thấy hứng thú với các chủ đề tương tự, hãy ghé qua Blog của Masterskills để cập nhật thêm nhiều nội dung chất lượng về lập trình nhé!

  Viện Đào Tạo Kỹ Năng Masterskills chuyên Đào Tạo tại Doanh Nghiệp (In-house) trên Toàn Quốc  
G

0903966729

1
Hỗ trợ bạn qua Zalo