Nội dung của bài học kiểm thử phần mềm tự động hôm nay sẽ hướng dẫn cách kiểm thử API với tình huống và bài tập cụ thể . Phần thực hành sẽ cho lên đầu sau đó là phần lý thuyết 
Để nhận bài viết mới nhất - các bạn nhập email ở" Đăng ký nhận bài qua mail " nhé 

Kiem-thu-phan-mem


I. Kiểm thử API với Rest client

1. Tình huống : 

Test API của chức năng đăng kí . 

Dữ  liệu đầu vào gồm:

Name : Chỉ được nhập kí tự , Không khoảng cho phép nhập số và ký tự đặc biệt và gioi hạn 100 ký tự

Username: Không có khoảng cách, không ký tự đặc biệt, giới hạn 32 ký tự
Email : Định dạng đúng email
Password : Gioi hạn 12 kí tự, không cho phép nhập ký tự đặc biệt
Re-type password : Phải giống với nội dung password
Age: Chọn trong dropdow box với nội dung có sẵn
Gender: Chọn Male hoặc FeMale
Country : United Kingdon ( chỉ một 1 chọn)
Language : English (EN) or VietNam(VI)
Daily recap : Thời gian nhắc - Chọn giá trị theo định dạng thời gian
Product : Chọn 1 Product trong danh sách
Reason : Chọn 1 lý do dùng sản phẩm (not required)
When dit you hear about the app : Chọn trong danh sách
Radio button Accept: Chọn Accept để đồng ý các điều khoản, nội quy
End checkbox:Check để nhận bản tin ( not required )

Giao diện để kiểm thử như hình dưới



Kiem-thu-phan-mem



Sau khi input dữ liệu hợp lệ và click Next button, sẽ chuyển sang Màn hình Avatar để chọn 1 Avatar có săng trong danh sách :



Kiem-thu-phan-mem

Sau khi chọn ảnh xong, click Done để hoàn thành việc đăng ký

2.Chọn công cụ kiểm thử :

+ Rest Client Add-on
     Mở Firefox và nhập đường dẫn
     https://addons.mozilla.org/en-us/firefox/addon/restclient/
    Sau đó nhấn Install . Vậy là xong, 

các bạn đã cài đặt xong tool để kiểm thử API 

+ Các case sẽ kiểm thử 

+ Dữ liệu vào và dự kiến dữ liệu đầu  ra cho các trường họp kiểm thử

 ( Input - out put với các field quy định thì Dev/PM sẽ cung cấp nhé, Việc của QC là nhập dữ liệu cho các field và xem phản hồi thôi)  Và đây là đoạn API cho Sign up cho chương trình này
 + Input
   {
"email": "qctestervvn001@gmail.com",
"user-name": "test1",
"password": "a123456",
"name": "QCTESTER",
"age": 19,
"gender": "MALE",
"country": "US",
"language": "en_US",
"recap-time": {
"type": "DAILY",
"value": "12:00:00"
},
"avatar": "/content/en_US/avatars/joker",
"app-reference": "\\app",
"device-date": "2015-01-20 10:41:00"
}
 +Out put
Đăng ký thành công:
{
  "type": "SUCCESS",
  "code": "SU-002",
  "message": "Sign up successfully"
} 
Đăng ký không thành công : Sẽ hiển thị mã lỗi và nội dung lỗi 

Giờ các bạn làm theo hướng dẫn của video nhé, chúng ta sẽ kiểm thử cho các trường họp sau:



  • Một số  trường họp kiểm thử:

  • 1)      Đăng ký thành công
  • 2)      Đăng ký ko thành công do email / Username đã tồn tai 
  • 3)      Đăng ký không thành công vì nhập sai định dạng email
  • 4)      Đăng ký không thành công vì để trống User hoặc email
  • 5)      Đăng ký không thành công vì Name vượt quá 100 kí tự
  • 6)      Đăng ký không thành công vì nhập tuổi sai định dạng ( Các bạn chú ý case này nhé, thường thì tuổi là 1 danh sách lựa chọn, người dùng chỉ có thể chọn hoặc không chọn thôi - không thể nhập dữ liệu ngoài danh sách cho nó ) 
  • 7)      Một số khác các bạn thực hành  trong Project cua cac ban nhé, đây chỉ là đemo choc ho chúng ta hiểu TEST API là test nhưng gì thôi 

II. Tìm hiểu lý thuyết


1. API là gì ?
API (Application Programming Interface - Giao diện lập trình ứng dụng )
API là lớp chuyên xử lý các thao tác người dùng, nhận request từ người dùng, xử lý và trả về dữ liệu cho Data base sau đó lại lấy dữ liệu từ Database gửi ngược lại người dùng ở tầng giao diện . 
API gồm nhiều phương thức nhưng chủ yếu là dùng 2 phương thức 
POST : Đẩy dữ liệu lên Server
GET:  Nhận dữ liệu từ Server và hiển thị 
(Còn nhiều phương thức khác pà kon tự search nha- thường rất hiếm dùng)

Vì sao API  phải validate dữ liệu trước khi xử lý trong khi dữ liệu hợp lệ đã được Validate hầu hết ở tầng giao diện ?


- Ở tầng giao diện người dùng ( website hiển thị), thường Javascript sẽ chặn những dữ liệu không họp lệ, cho nên khi gửi đến để Server xử lý, hầu hết đều là dữ liệu hợp lệ.


Tuy nhiên, nếu dùng thủ thuật, một số dữ liệu không họp lệ vẫn có thể vượt qua phần kiểm soát của giao diện và khi lưu vô database, sẽ làm sai những ràng buộc , gây nên những lỗi nghiêm trọng cho hệ thống.

Vì vậy, Test API  một là giúp kiểm tra lại 1 lần nữa, sàn lọc những dữ liệu không họp lệ được gửi tới và " lọt lưới" từ tầng giao diện, từ đó sẽ đưa ra thông báo cụ thể , hai là xử lý các yêu cầu của người dùng để đưa ra kết quả hiển thị cho người dùng xem có đúng như kết quả mong đợi hay không

Ngoài Rest client , ta còn có thể sử dụng thêm một số tool như

  • Công cụ SOAPUI
  • Công cụ Runscope
  • Công cụ Postman with jetpacks
  • Công cụ Postman with newman
  • Công cụ Curl
  • Công cụ Cfix
  • Eclipse SDK tool- Automated API testing  
Chúc các bạn thành công

---------------
http://kiemthuphanmemvvn.blogspot.com/
Face: https://www.facebook.com/KiemThuPhanMemVvn
Group: https://www.facebook.com/groups/1549328495322684/ 
Chọn "Đăng ký nhận bài qua mail" để nhận bài viết mới nhất nhé 

Học kiểm thử phần mềm tự đông 












Xem nhiều nhất

Zui Zui

Nếu bạn không đủ mạnh -Đừng cố đi ngược đám đông