3

Kiểm tra API dịch vụ của bạn thông qua tự động hóa kiểm traBạn cần kiểm tra các API dịch vụ của mình. Bạn có thể mở rộng ứng dụng của mình thành một API dịch vụ. Hoặc, bạn có thể sử dụng API dịch vụ của người khác. Làm cách nào để bạn đảm bảo hoạt động của API dịch vụ của riêng bạn? Và làm cách nào để bạn đảm bảo rằng ứng dụng của mình phụ thuộc vào API dịch vụ của bên thứ ba? Cho dù bạn phát triển các API dịch vụ của riêng mình hay phụ thuộc vào những người khác, hãy học cách kiểm tra các API dịch vụ của bạn.

Điều bắt buộc này nằm ở trọng tâm của khóa học của Đại học Tự động hóa Kiểm tra , "Khám phá API dịch vụ thông qua tự động hóa kiểm tra", với người hướng dẫn Amber Race (Twitter: @ambertests ). Chúng tôi cung cấp các khóa học như thế này để giúp các kỹ sư như bạn suy nghĩ và cải thiện chất lượng dịch vụ của bạn thông qua tự động hóa thử nghiệm.

Kiểm tra API dịch vụ của bạn thông qua tự động hóa kiểm traSinh viên Đại học Tự động hóa Thử nghiệm

Khi tham gia khóa học này với tư cách là một sinh viên, tôi nhận ra rằng có hai loại người kiểm tra API dịch vụ. Một người kiểm tra làm việc với các nhà phát triển để đảm bảo rằng mã API dịch vụ được thực thi dựa trên đặc điểm kỹ thuật hiện có cũng như thiết kế API. Người kiểm tra khác sử dụng API dịch vụ và có thể chọn kiểm tra API trước khi sử dụng nó trong ứng dụng sản xuất. Khi tôi chia sẻ quan sát này với Amber, cô ấy nhắc tôi rằng với tư cách là người tiêu dùng API dịch vụ, bạn rất có thể phụ thuộc vào nhà cung cấp API dịch vụ để kiểm tra API; tuy nhiên, những bài học bạn học được trong khóa học này có thể giúp bạn đánh giá một nhà cung cấp trước khi truy cập API của họ.

Cho dù bạn là nhà sản xuất API dịch vụ hay người tiêu dùng API dịch vụ, bạn có thể tận dụng phương pháp tiếp cận có cấu trúc để thiết kế các thử nghiệm cho phép bạn khám phá hành vi và giới hạn của API. Chìa khóa để kiểm tra API dịch vụ thành công là hình dung trước các chế độ lỗi tiềm năng và kiểm tra các chế độ đó theo cách tiếp cận có cấu trúc để xem xét hành vi API phù hợp và không phù hợp.

ĐÃ NGHIÊM TÚC để kiểm tra các API của bạn

Kiểm tra API dịch vụ của bạn thông qua tự động hóa kiểm traAmber Race làm rất tốt với khóa học này. Nếu bạn chưa quen với việc thử nghiệm các API dịch vụ, khóa học này có thể giúp bạn hiểu các khái niệm và công cụ có sẵn. Amber bắt đầu bằng cách xác định và khám phá các API dịch vụ. Cô ấy cũng dành thời gian mô tả mô hình POISED để xây dựng các bài kiểm tra API:

  • Tham số - phạm vi tham số được chuyển đến API
  • Đầu ra - xác nhận đầu ra phù hợp cho cả tham số tốt và xấu
  • Khả năng tương tác - Đảm bảo tính nhất quán với các API dịch vụ khác và các lệnh gọi khác
  • Bảo mật - Đảm bảo duy trì quyền truy cập và ủy quyền cho các lệnh gọi API
  • Lỗi - Báo cáo lỗi rõ ràng và chính xác
  • Dữ liệu - Xử lý cấu trúc dữ liệu và dữ liệu thực đúng cách và với thời gian thích hợp

Cấu trúc này cung cấp cho một kỹ sư QA có kinh nghiệm một loạt các bài kiểm tra để xem xét áp dụng cho API dịch vụ.

Thực hành với người đưa thư

Kiểm tra API dịch vụ của bạn thông qua tự động hóa kiểm traMột điều tuyệt vời khác về khóa học này là các công cụ. Amber sử dụng Postman , một công cụ bạn có thể sử dụng để kiểm tra các API dịch vụ của mình cả trong quá trình phát triển và sản xuất. Postman cung cấp cho việc phát triển các thử nghiệm riêng lẻ của từng API dịch vụ mà bạn muốn thử nghiệm. Bạn có thể sử dụng tập lệnh tích hợp và tích hợp với các nguồn dữ liệu mà bạn chọn để biến các bài kiểm tra một lần thành một bộ thử nghiệm với sức mạnh để kiểm tra trên tất cả các phần tử của mô hình POISED.

Tôi rút ra từ khóa học rằng Amber đã có nhiều kinh nghiệm trong việc thử nghiệm và điều đó đã giúp cô ấy hình dung ra các chế độ thất bại tiềm ẩn cho từng phần tử của mô hình POISED. Hãy nghĩ về cách một API xử lý các tham số. Đôi khi mã để kiểm tra một tham số đã truyền có thể quá hạn chế, dẫn đến lỗi khi nó được truyền dữ liệu hợp lệ. Đôi khi mã không kiểm tra dữ liệu về kiểu hoặc tính hợp lệ, dẫn đến hành vi không mong muốn.

Kiểm tra API dịch vụ của bạn thông qua tự động hóa kiểm traHãy lấy ví dụ về một tham số được cho là tên của một người. API có hạn chế đến mức chỉ chấp nhận các chữ cái Latinh không? Còn về dấu câu, như tên có dấu gạch nối hoặc các hậu tố như, "Jr." thì sao? Còn những tên có dấu cách, như Mary Claire hoặc những tên bao gồm số thì sao? Còn tên bằng các ngôn ngữ không phải tiếng Latinh, chẳng hạn như tiếng Ả Rập hoặc tiếng Trung Quốc thì sao? Trường API có chấp nhận bất kỳ văn bản Unicode nào không? Điều gì xảy ra khi Unicode được khớp rõ ràng, như & # 8211? Làm thế nào về một trường rỗng? Điều gì xảy ra khi dữ liệu được truyền thực sự là một URL?

Bạn càng có nhiều kinh nghiệm với tư cách là người kiểm tra, bạn càng có thể xem xét nhiều loại hành vi tiềm ẩn mà API có thể thể hiện và các chế độ kiểm tra bạn sẽ muốn áp dụng.

Vì lý do này, bạn sẽ thấy rằng mô hình POISED giúp bạn định khung các hành vi mà bạn có thể kiểm tra khi xây dựng các thử nghiệm cho API dịch vụ của mình.

Bài tập trên lớp Kiểm tra API dịch vụ của bạn

Khóa học cung cấp nhiều ví dụ về cách Postman có thể giúp bạn kiểm tra các API dịch vụ của mình. Ví dụ:

  1. Tham số - kiểm tra cả tham số hợp lệ và không hợp lệ. Xử lý sai đầu vào hợp lệ sẽ dẫn đến sự thất vọng của người dùng. Xử lý sai thông tin đầu vào không hợp lệ có thể dẫn đến một loạt vấn đề, từ vi phạm bảo mật đến hỏng dữ liệu .
  2. Đầu ra  - đảm bảo rằng đầu ra cho mỗi API dịch vụ phù hợp với đặc điểm kỹ thuật của bạn. Biết đầu ra hoạt động như thế nào với các đầu vào không mong muốn. Kiểm tra mã phản hồi so với phản hồi dự kiến ​​để biết cả kết quả thành công và thông số không phù hợp. Liệu người tiêu dùng API có biết điều gì đã xảy ra và tại sao không?
  3. Khả năng tương tác  - kiểm tra cả hàm ý về chức năng và hiệu suất của các API để biết cách chúng cư xử với những người khác. Giả sử bạn phát triển một ứng dụng bán lẻ hai API. API đầu tiên lấy đặc điểm kỹ thuật sản phẩm và trả về danh sách các mã UPC phù hợp. API thứ hai lấy vị trí, bán kính và danh sách UPC, đồng thời trả về danh sách các nhà bán lẻ trong bán kính có các sản phẩm đó. Kiểm tra cho bạn biết liệu bạn có thể chuyển cho API danh sách nhà bán lẻ một loạt mã UPC hay không hoặc liệu API của nhà bán lẻ có hoạt động tốt nhất với một UPC tại một thời điểm hay không.
  4. Bảo mật  - biết cách API xử lý thông tin đăng nhập đang hoạt động, hết hạn và không hợp lệ. Áp dụng các lỗ hổng tiềm ẩn - chẳng hạn như truyền các tham số thực sự là tập lệnh giữa các trang web và quan sát kết quả.
  5. Lỗi  - áp dụng các lỗi đã biết và xác thực rằng API báo cáo lỗi một cách rõ ràng và rõ ràng.
  6. Dữ liệu  - xác minh hành vi API xử lý cấu trúc dữ liệu một cách chính xác. So sánh các thông số đã nhập, chẳng hạn như thông số API, dưới dạng dữ liệu đo lường, chẳng hạn như ngày và giờ. Đối với hồ sơ vĩnh viễn, hãy xác thực rằng dữ liệu không thay đổi theo thời gian. Đối với cơ sở dữ liệu, hãy so sánh hành vi của API cho các chức năng khác nhau (tìm kiếm, sắp xếp, v.v.) với kích thước cơ sở dữ liệu.

Takeaways

Khóa học của Amber là một khởi đầu tuyệt vời để hiểu về thử nghiệm API. Postman cho phép bạn xây dựng rất nhiều tự động hóa. Postman cũng có một phiên bản gọi là Newman hoạt động với giao diện dòng lệnh. Mặc dù khóa học không bao gồm tất cả các chi tiết, nhưng khóa học mô tả cách bạn có thể sử dụng Newman để tích hợp kiểm tra API vào giải pháp CI-CD của mình.

Điều quan trọng nhất của tôi là kinh nghiệm là người thầy tốt nhất. Bạn càng gặp phải nhiều chế độ lỗi với tư cách là kỹ sư QA, thì bạn càng có thể xem xét nhiều chế độ lỗi trong các bài kiểm tra API của mình.

Cho dù bạn là người mới sử dụng thử nghiệm API dịch vụ hay một người kiểm tra API dịch vụ có kinh nghiệm, đây là một khóa học tuyệt vời, vì bạn sẽ có các công cụ và phương pháp giúp bạn kiểm tra thành công.

Như với tất cả các khóa học tại TAU, sinh viên hoàn thành khóa học sẽ nhận được chứng chỉ hoàn thành khóa học. Đây là của tôi:

Kiểm tra API dịch vụ của bạn thông qua tự động hóa kiểm tra

Khóa học tiếp theo mà tôi dự định tham gia cũng có vẻ thú vị: Chiến lược định vị phần tử web với người hướng dẫn Andrew Knight.

Bước tiếp theo

Hãy xem hội thảo trên web này có Amber Race về việc chạy thử nghiệm trong quá trình sản xuất .

Tìm hiểu thêm về Đại học Tự động hóa Kiểm thử trong phần tổng quan này với Angie Jones .

|