Giới thiệu về API với Tester
Trước khi kiểm thử API hãy hiểu hoạt động của nó để từ đó bạn có thể thực hiện việc kiểm thử và sau đó mới là sử dụng công cụ kiểm thử API( Postman,..) như thế nào
Xin chào các bạn đã ghé qua Blog chuyên mục giới thiệu về Test API cho các bạn tester trái ngành hoặc các bạn chưa biết tí gì về API
Như ở blog trước mình đã phân biệt fontend và backend, trong đó có đề cập đến giai đoạn testAPI, nếu bạn chưa đọc thì dành một chút thời gian quay lại đọc xíu nhé, xong đọc phần tiếp theo của mình sẽ dễ hiểu hơn đó, vì testAPI hay backend đều phải hiểu luồng hoạt động của cái mà mình sử dụng để test và test cái gì
Một luồng hoạt động rút gọn hơn ở bài phân biệt fontend và backend
Một case đăng ký vô cùng quen thuộc với tester nè, sau khi nhấn Register trên giao diện người dùng chúng ta chỉ có thể nhìn thấy kết quả trả ra là: “Đăng ký tài khoản thành công” hoặc “Đăng ký tài khoản thất bại”. Từ hình vẽ trên của mình chúng ta thấy được đó là hoạt động của phía Server và Database do lập trình viên Backend xử lý
Blog trước mình đã vidu phía backend xử lý đoạn code đóng gói lại giống 1 chiếc hộp và có gắn địa chỉ trên mỗi chiếc hộp(mỗi chiếc hộp chính là mỗi chức năng).Tại bước 2, ở đoạn code của phía fontend sẽ gọi đến địa chỉ của đúng chiếc hộp mà lưu trên server. Đến bước 5. Server sẽ gọi đến Database và thực hiện đưa dữ liệu vào đúng bảng, đúng cột trong database. Sau đó gửi thông báo ra màn hình cho chúng ta biết đó.
- Và công việc của testAPI chính là chúng ta lấy đúng tên địa chỉ của chiếc hộp, thực hiện kiểm tra dữ liệu trong chiếc hộp đó so sánh với tài liệu hoặc với kết quả trong Database mà ta kết hợp với lệnh SQL.
- Chính vì nó được đóng gói riêng rẽ từng chức năng nên không cần có giao diện phía fontend code thì tester chúng ta vẫn có thể thực hiện test đó, chỉ cần nhờ 1 phần mềm trung gian là được đó
Sơ qua luồng hoạt động mà chúng ta phải làm là như vậy đó các bạn, bắt đầu đi sâu vào bên trong hiểu đúng về nó nhé:
1. Đầu tiên chúng ta sẽ hiểu API là gì? để bạn hiểu rõ hơn API và dữ liệu trong Database và hiểu hơn về frontend backend
API là: 1 tập các câu lệnh, các functions, các protocols, các đối tượng. Giúp 2 phần mềm( ứng dụng) có thể tương tác và trao đổi dữ liệu qua lại được với nhau
Liên tưởng: giúp ứng dụng A tương tác với ứng dụng B theo các thông tin chỉ dẫn của B
Liên tưởng với Back end và font end:
- Backend: xây dựng phương thức api: http://api.com/posts?
- Phía Fontend quan tâm đến đường dẫn là gì, tham số truyền vào là gì? Data trả về là gì
Đây là cách một API hoạt động:
- Một ứng dụng khách bắt đầu một lệnh gọi API để truy xuất thông tin — còn được gọi là một yêu cầu . Yêu cầu này được xử lý từ một ứng dụng đến máy chủ web thông qua Định danh tài nguyên đồng nhất (URI) của API và bao gồm động từ yêu cầu, tiêu đề và đôi khi, nội dung yêu cầu.
- Sau khi nhận được một yêu cầu hợp lệ , API sẽ thực hiện cuộc gọi đến chương trình bên ngoài hoặc máy chủ web.
- Máy chủ gửi phản hồi tới API với thông tin được yêu cầu.
- API chuyển dữ liệu đến ứng dụng yêu cầu ban đầu.
Trong khi giao diện người dùng được thiết kế để con người sử dụng, các API được thiết kế để sử dụng bởi máy tính hoặc ứng dụng.
2. Test API chúng ta sẽ test những gì?
Nhìn vào hình ảnh copy trên mạng này của mình chúng ta sẽ phải test 2 các đối tượng có ở 2 bên đó bao gồm: đường dẫn api URL và cấu trúc/dữ liệu vào dữ liệu ra
Trên hình này thì chúng ta test dữ liệu đầu vào theo 2 loại này nè:
Loại 1: Test Validate dữ liệu
- Các trường hợp validate trường username, password hay sử dụng
Vidu:
1. Bỏ trống trường bắt buộc → Trong Response sẽ phải có thông báo lỗi, các thông tin khác không được cập nhật. Server không thực hiện 1 business logic nào cả.
2. Bỏ trống trường không bắt buộc → Không có lỗi gì cả, Server vẫn thực hiện business logic.
3. Điền các thông tin sai kiểu định dạng, ví dụ trường thời gian lại điền chữ → Trong Response sẽ phải có thông báo lỗi…
Loại 2: Test logic/ Function test
- Thông tin của các trường vừa tạo có được lưu vào DB hay không -> mở DB và check kết quả
- Thông tin trả về với tài khoản vừa tạo có giống DB không -> sử dụng SQl để truy vấn xem response trả về 2 kết quả có khớp nhau không
Để thực hiện hiểu hơn test với phần mềm thì bạn ghé qua blog tiếp theo của mình Thực hành API
Nếu có thắc mắc gì hãy để lại cmt mình giải đáp. Nếu bạn là người mới bắt đầu với nghề Tester ( sinh viên, người trái ngành) hay liên hệ mình để được coaching 1-1 nha, email mình: donghanhcungtester@gmail.com
Hoặc mời mình 1 cốc trà sữa nè!
Cảm ơn các bạn đã ghé qua Blog của mình!
Để lại một câu trả lời
Để làm việc được tốt bạn hãy hiểu về mục đích, luồng hoạt động của nó, sau đó mới là tìm hiểu sử dụng công cụ hỗ trợ nó. Blog của mình sẽ hướng các bạn sinh viên và các bạn trái ngành đi từ đầu hiểu bản chất cơ bản vững chắc sau đó là mở rộng hơn