1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm Hiểu Và Sử Dụng Postman Để Kiểm Thử Web Ap.pdf

28 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

Trang 1

PHIẾU GIAO NHIỆM VỤ BÀI TẬP LỚN 1 Thông tin chung:

Tên đề tài: Sử dụng Postman trong kiểm thử web API

Họ và tên sinh viên: Đỗ Khắc Giang – 1721050404Mai Việt Anh – 1621070195

Thân Nguyễn Hoàng Nam – 1721050189Phạm Công Minh – 1721050482

PHÂN CÔNG NHIỆM VỤ

Trang 2

- Sử dụng Postman để kiểm thử web API

1.5 Web API hoạt động như thế nào? 4

1.6 Ưu nhược điểm của Web API 4

1.7 Kiểm thử API là gì? 5

1.8 Tại sao phải kiểm thử API? 5

1.9 Mục đích của việc API Testing 5

Chương II: Tìm hiểu về Postman 7

2.1 Postman là gì? 7

2.2 Tại sao sử dụng Postman? 7

2.3 Download và cài đặt Postman 8

2.4 Sử dụng Postman như thế nào? 8

2.5 Sử dụng Postman để kiểm thử web API 9

2.6 REQUEST POST 11

KẾT LUẬN 15

TÀI LIỆU THAM KHẢO 15

Trang 3

Chương I: Tìm hiểu về API và API TESTING

1.1 API là gì?

API là các phương thức, giao thức kết nối với các thư viện và ứng dụngkhác Nó là viết tắt của Application Programming Interface – giao diện lậptrình ứng dụng API cung cấp khả năng cung cấp khả năng truy xuất đến mộttập các hàm hay dùng Và từ đó có thể trao đổi dữ liệu giữa các ứng dụng.

1.2 Vì sao phải test API?

nên có nhiều chỗ client chưa làm xong, mình không thể chờ client làm xong để test được dữ liệu mà test API bằng công cụ khác luôn –> Lúc này việc testhoàn toàn không phụ thuộc gì vào client.

đến logic và dữ liệu thì cũng cần test thêm cả API để biết chính xác là server sai hay client sai –> fix lỗi sẽ nhanh hơn.

dùng, mình sẽ không có client để test giống như các dự án khác –> phải test API hoàn toàn.

1.3 Các phương thưc cơ bản

Nhìn chung có 4 phương thức mà các tester cần phải chú ý và nắm rõ:

1.4 Phương pháp kiểm tra API

Các điểm sau giúp người dùng thực hiện phương pháp Kiểm tra API:

biên và đoán lỗi và viết các trường hợp kiểm thử cho API.

Trang 4

 Các tham số đầu vào cho API cần được lên kế hoạch và xác định một cách thích hợp.

1.5 API thường ứng dụng vào đâu?

Web API: là hệ thống API được sử dụng trong các hệ thống website Hầuhết các website đều ứng dụng đến Web API cho phép bạn kết nối, lấy dữ liệuhoặc cập nhật cơ sở dữ liệu Ví dụ: Bạn thiết kế chức nằng login thông Google,Facebook, Twitter, Github… Điều này có nghĩa là bạn đang gọi đến API của.Hoặc như các ứng dụng di động đều lấy dữ liệu thông qua API.

API trên hệ điều hành: Windows hay Linux có rất nhiều API, họ cung cấpcác tài liệu API là đặc tả các hàm, phương thức cũng như các giao thức kết nối.Nó giúp lập trình viên có thể tạo ra các phần mềm ứng dụng có thể tương táctrực tiếp với hệ điều hành.

API của thư viện phần mềm hay framework: API mô tả và quy định cáchành động mong muốn mà các thư viện cung cấp Một API có thể có nhiềucách triển khai khác nhau và nó cũng giúp cho một chương trình viết bằng ngônngữ này có thể sử dụng thư viện được viết bằng ngôn ngữ khác Ví dụ bạn cóthể dùng Php để yêu cầu một thư viện tạo file PDF được viết bằng C++.

1.6 Web API là gì?

Web API là một phương thức dùng để cho phép các ứng dụng khác nhau cóthể giao tiếp, trao đổi dữ liệu qua lại Dữ liệu được Web API trả lại thường ởdạng JSON hoặc XML thông qua giao thức HTTP hoặc HTTPS.

 Những điểm nổi bật của Web API:- Tự động hóa sản phẩm- Khả năng tích hợp linh động- Cập nhật thông tin thời gian thực- Có tiêu chuẩn chung dễ sử dụng

Web API hỗ trợ restful đầy đủ các phương thức: Get/Post/put/delete dữ liệu.Nó giúp bạn xây dựng các HTTP service một cách rất đơn giản và nhanhchóng Nó cũng có khả năng hỗ trợ đầy đủ các thành phần HTTP: URI,request/response headers, caching, versioning, content format.

1.7 Định dạng dữ liệu JSON và XML

Trang 5

1 JSON là gì?

JSON là cụm từ viết tắt của JavaScript Object Notation (Ký pháp đối tượng của JavaScript) Đây là một dạng cấu trúc dữ liệu dạng văn bản thường được dùng để lưu trữ và trao đổi thông tin trực tiếp giữa các hệ thống Ban đầu, JSON được giới thiệu trong JavaScript như là một cú pháp để định nghĩa một đối tượng Sau này, các chuỗi JSON dần trở nên phổ biến, được nhiều ngôn ngữ lập trình hiện đại hỗ trợvà dần thay thế cho XML.

2 JSON dùng để làm gì?

Như trên, JSON được dùng để lưu trữ và chia sẻ dữ liệu.

3 Cấu trúc của JSON

JSON là một chuỗi văn bản nằm giữa cặp dấu { và } Phần tử cơ bản nhất trong chuỗi JSON là một cặp thông tin dạng "key":"value" (hay "khóa": "giá trị") Chúng ta có thể ghép nhiều cặp thông tin với nhau và phân tách chúng bởi dấu phẩy:{"hoten" : "Nguyen Van Ti", "email" : "nvti@gmail.com","namsinh":"1999"}Chú ý: Nếu trong chuỗi giá trị có dấu nháy kép thì phải sử dụng ký hiệu \ trước dấu nháy kép.

Ví dụ: {"hoten" : "Nguyen Van Ti", "email" : "nvti@\"gmeo\".com","namsinh":"1999"}

Key trong JSON

Trong JavaScript, key có thể là một chuỗi, một số , nhưng để đảm bảo tính đồng nhất giữa các ngôn ngữ lập trình, key nên được đặt ở dạng chuỗi (bao quanh bởi cặpdấu nháy kép) và tuân thủ theo quy tắc đặt tên biến của các ngôn ngữ lập trình.

Value trong JSON

Value (giá trị) trong JSON có thể nhận một trong các dạng sau:

 Một chuỗi (string) được đặt giữa cặp dấu nháy kép.Ví dụ: {"hoten":"Nguyễn Văn Tèo"}

Ví dụ: {"namsinh":1990}

 Một chuỗi JSON con (gọi là một đối tượng JSON hay JSON object).Ví dụ: {"nhanvien":{ "ten":"Nguyễn Văn Tèo", "namsinh":1999, "quequan":"Hà Nội" }}

Trang 6

 Một mảng các phần tử con được đặt giữa cặp dấu [ và ]Ví dụ: {"hocsinh":[ "Tí", "Sửu", "Dần"]}

 Một giá trị booleanVí dụ: {"gioitinh":true}

6 Cấu trúc của một tài liệu XML

Một tài liệu XML là một file thuần văn bản, được lưu với phần mở rộng là xmlMột file tài liệu thường gồm 2 phần:

 Dòng đầu tiên định nghĩa kiểu file (xml), phiên bản sử dụng (version) và cách thức mã hóa ký tự (encoding).

Đối với các tài liệu sử dụng tiếng Việt, chúng ta có thể sử dụng dòng đầu tiênnhư sau: <?xml version="1.0" encoding="UTF-8"?>

 Các dòng tiếp theo là các thẻ hoặc cặp thẻ đánh dấu dữ liệu được trình bày theo cú pháp:

<tên_thẻ thuộc_tính_1 = "giá trị 1" thuộc_tính_2" = "giá trị 2" >Nội dung </tên_thẻ>

Nếu như đó là thẻ đơn (không đi theo cặp) thì phải được viết theo cú pháp:

<tên_thẻ thuộc_tính_1 = "giá trị 1" thuộc_tính_2" = "giá trị 2" />

(có thêm dấu gạch chéo / trước dấu lớn hơn).Nội dung của môt thẻ có thể chứa các thẻ/cặp thẻ con.Ví dụ:

Trang 7

1 2 3 4 5 6 7 8 91011

<?xml version="1.0" encoding="UTF-8"?>

<sachnhom="văn học">

<tieude ngonngu="Tiếng Việt">Văn 6</tieude><tacgia>Chưa biết</tacgia>

<sachnhom="văn học">

<tieude ngonngu="Tiếng Việt">Văn 7</tieude><tacgia>Chưa biết</tacgia>

4 Một số khái niệm trong XML

 XML Prolog: Chính là dòng định nghĩa kiểu file (xml), phiên bản sử dụng (version) và cách thức mã hóa ký tự (encoding).

định một cặp thẻ cùng các cặp thuộc tính, giá trị và nội dung nằm giữa cặp thẻ đó.

 Thẻ mở và thẻ đóng chính là các thẻ chặn đầu và chặn đuôi một phần tử

XML Thẻ mở có dạng <tên_thẻ thuộc_tính_1 = "giá trị 1" thuộc_tính_2" = "giá trị 2" >, còn thẻ đóng có dạng </tên_thẻ> Ở ví dụ trên, <khosach>là thẻ mở, còn </khosach> là thẻ đóng tương ứng.

 Thẻ root, hay thẻ gốc, là cặp thẻ ngoài cùng bao quanh toàn bộ nội dung XML Trong ví dụ trên, <khosach> </khosach> là thẻ root.

7 Một số luật trong XML

 Mỗi tài liệu XML phải có 1 thẻ root, là thẻ cha duy nhất của các thẻ còn lại

 Dòng XML Prolog là dòng tùy chọn, nhưng nếu có thì dòng này phải được đặt ở vị trí đầu tiên

 Tất cả các thẻ XML đều phải có thẻ đóng tương ứng, trừ XML Prolog.

 XML phân biệt chữ hoa và chữ thường, <sach> </sach> và <Sach> </Sach> là 2 cặp thẻ khác nhau.

 Các thẻ XML phải được sắp xếp ngang hàng với nhau, hoặc được lồng hoàn toàn vào nhau.

Ví dụ sau đây sai: <p><i>Nội dung</p></i> do thẻ <p> </p> và thẻ <i> </i> không lồng nhau, phải được viết lại thành <p><i>Nội dung</i></p>

 Giá trị của các thuộc tính luôn luôn phải được đặt giữa cặp dấu nháy kép.

 Một số ký hiệu không được phép dùng trực tiếp vì có thể gây nhầm lẫn Thayvào đó, phải viết chúng dưới dạng mã:

Trang 8

Dạng mã Ký hiệu Giải thích

&lt; < Ký hiệu nhỏ hơn

&gt; > Ký hiệu lớn hơn

&quot; " Dấu nháy kép

 Chúng ta có thể thêm các chú thích bằng cách sử dụng cú pháp:<! Dòng chú thích >

Nội dung của dòng chú thích không được phép chứa 2 dấu gạch ngang liên tiếp.

8 XML DOM

Giống như HTML DOM, chúng ta cũng có thể biểu diễn một tài liệu XML dưới dạng một "cây" các phần tử thẻ XML Theo sau nó là các thẻ con, thẻ cháu, thẻ chắt :

Trang 9

Cũng giống HTML DOM, chúng ta có thể sử dụng các ngôn ngữ lập trình để giao tiếp với tài liệu XML (VD: tìm đến một phần tử, lấy/thiết lập các giá trị thuộc tính, nội dung ) Chúng ta sẽ tìm hiểu cách sử dụng XML DOM trên các ngôn ngữ khác nhau trong các khóa học riêng về ngôn ngữ đó.

1.8 Web API hoạt động như thế nào?

Đầu tiên là xây dựng URL API để bên thứ ba có thể gửi request dữ liệu đếnmáy chủ cung cấp nội dung, dịch vụ thông qua giao thức HTTP hoặc HTTPS.

Tại web server cung cấp nội dung, các ứng dụng nguồn sẽ thực hiện kiểmtra xác thực nếu có và tìm đến tài nguyên thích hợp để tạo nội dung trả về kết quả.

Server trả về kết quả theo định dạng JSON hoặc XML thông qua giao thứcHTTP/HTTPS.

Tại nơi yêu cầu ban đầu là ứng dụng web hoặc ứng dụng di động , dữ liệuJSON/XML sẽ được parse để lấy data Sau khi có được data thì thực hiện tiếp cáchoạt động như lưu dữ liệu xuống Cơ sở dữ liệu, hiển thị dữ liệu…

1.9 Ưu nhược điểm của Web APIƯu điểm:

 Web API được sử dụng hầu hết trên các ứng dụng desktop, ứng dụng mobilevà ứng dụng website.

 Linh hoạt với các định dạng dữ liệu khi trả về client: Json, XML hay địnhdạng khác.

Trang 10

 Nhanh chóng xây dựng HTTP service: URI, request/response headers,caching, versioning, content formats và có thể host trong ứng dụng hoặc trênIIS.

 Mã nguồn mở, hỗ trợ chức năng RESTful đầy đủ, sử dụng bởi bất kì clientnào hỗ trợ XML, Json.

 Hỗ trợ đầy đủ các thành phần MVC như: routing, controller, action result,filter, model binder, IoC container, dependency injection, unit test.

 Giao tiếp hai chiều được xác nhận trong các giao dịch, đảm bảo độ tin cậycao.

 Tốn thời gian và chi phí cho việc phát triển, nâng cấp và vận hành

 Có thể gặp vấn đề về bảo mật khi hệ thống bị tấn công nếu không giới hạnđiều kiện kỹ.

1.10 Kiểm thử API là gì?

Kiểm thử API là loại kiểm thử phần mềm xác nhận API Nó rất khác vớikiểm thử GUI và tập chung chủ yếu vào logic nghiệp vụ của kiến trúc phầnmềm Thay vì sử dụng đầu vào (bàn phím) và đầu ra, trong kiểm thử API bạnsử dụng phần mềm để gửi yêu cầu đến API, nhận đầu ra và ghi lại phản hồi củahệ thống Kiểm thử này không tập chung vào kiểm thử giao diện.

Kiểm thử API yêu cầu một ứng dụng để tương tác với API Để kiểm thửAPI bạn sẽ cần:

 Sử dụng Tool kiểm thử để kiểm tra API Viết các câu lệnh để kiểm tra API

1.11 Cách kiểm thử API

Kiểm thử API nên được thực theo các phương pháp kiểm thử trong quy trình phát triển phần mềm:

API truy cập các tài nguyên, có được các quyền xem, xóa và sửa hợp lệ hay không

Trang 11

 Usability testing: Loại kiểm thử này kiểm tra xem API có làm đúng chức năng và thân thiện hay không và API được tích hợp tốt trên các nền tảng khác hay không

và xem các dữ liệu nhạy cảm có được mã hóa thông qua HTTP hoặc cả hai hay không

mã hoặc công cụ mà có thể chạy API thường xuyên

cung cấp đầy đủ các thông tin để tương tác với API Tài liệu nên là một phần khi bàn giao

1.12 Cách thực hành tốt cho kiểm thử API

cửa sổ

vào có thể có của API

1.13 Tại sao phải kiểm thử API?

Trong quá trình triển khai dự án, phần Server và Client làm độc lập vớinhau nên có nhiều chỗ bên Client chưa làm xong, ta không thể chờ Client làmxong để test được dữ liệu Do đó ta cần kiểm tra API bằng công cụ khác, lúc nàyviệc test hoàn toàn không phụ thuộc gì vào client.

Khi Client làm xong rồi, nếu ta kiểm tra trên client mà thấy lỗi liên quanđến logic và dữ liệu thì cũng cần phải kiểm tra thêm cả API để biết chính xác làServer sai hay Client sai nhằm giúp cho việc sửa lỗi nhanh hơn.

Trang 12

Khi làm hệ thống web services, dự án chỉ viết API cho bên khác dùng, nênsẽ không có client để test giống như các dự án khác Do đó, phải test API hoàntoàn.

1.14 Các loại lỗi mà kiểm thử API tìm ra

từ API.

1.15 Các tool cho kiểm thử API

Kiểm thử API và Unit đều là kiểm tra về source code nên các công cụ tương tự có thể sử dụng cho cả hai

Trang 13

1.16 Mục đích của việc API Testing

 Kiểm thử ứng dụng sớm và không cần giao diện người dùng

Trong quá trình triển khai dự án, phần server và client làm độc lập với nhaunên có nhiều chỗ client chưa làm xong, mình không thể chờ client làm xong để testđược dữ liệu mà test API bằng công cụ khác luôn.

Với API testing, bạn có thể bắt đầu kiểm thử ứng dụng sớm ngay cả khi khôngcó giao diện người dùng Điều này giúp xác định và khắc phục sớm các vấn đềtrong vòng đời phát triển, nếu không thì sẽ tốn kém để khắc phục khi được xác địnhtrong quá trình kiểm thử GUI.

Kể cả khi client làm xong rồi, nếu mình test trên client mà thấy lỗi liên quanđến logic và dữ liệu thì cũng cần test thêm cả API để biết chính xác là server sai hayclient sai –> fix lỗi sẽ nhanh hơn.

 Để có được một chiến lược kiểm thử tự động tuyệt vời và giảm chi phí.Hãy nhìn lại vào kim tự tháp “Test automation pyramid” để đưa ra một chiếnlược kiểm thử tối ưu nhất.

Khái niệm kim tự tháp được Mike Cohn phát triển và đã được mô tả trongcuốn sách “Thành công với Agile” Tầng thứ nhất của kim tự tháp là Unit test Thựchiện unit test là cách nhanh nhất và mang lại kết quả cao nhất Tầng thứ 2 là kiểmthử API dựa trên service layer Cuối cùng, ở đỉnh của kim tự tháp là kiểm thử UI.

Đi từ tầng dưới kim tự tháp lên trên, chi phí liên quan đến việc tạo ra và duytrì các phương pháp kiểm thử, thời gian thực hiện kiểm thử, phạm vi kiểm thử sẽtăng lên Các kim tự tháp tự động (Automation pyramid) nói rằng bạn nên làmnhiều hơn nữa kiểm thử tự động thông qua Unit test và API hơn là kiểm thử dựatrên GUI Sự thành công của Agile rất phụ thuộc vào phản hồi (feedback) sớm.Trong các thực tiễn, việc tích hợp liên tục, thời gian kiểm thử hồi quy GUI và nhậnlại phản hồi quá dài Kiểm tra giao diện người dùng rất tốn kém để phát triển và duytrì Một sự thay đổi nhỏ trong giao diện người dùng cũng có thể dẫn đến việc thựchiện kiểm thử lại rất nhiều.

Trong một số trường hợp, người kiểm thử bắt buộc phải thực hiện tự động hoáở tầng UI Tuy nhiên, kiểm thử có thể chậm và tốn nhiều chih phí Đây là một trong

Trang 14

những lý do khiến nhiều công ty thất bại trong nỗ lực thực hiện chiến lược tự độnghoá hiệu quả.

 Phát triển phần mềm theo phương pháp Agile và giảm việc thực hiện kiểmthử hồi quy bằng tay.

Theo một cuộc khảo sát gần đây của VersionOne, 95% người được hỏi chobiết tổ chức của họ sử dụng phương pháp Agile Agile không chỉ sử dụng ở nhữngcông ty startup và những nhóm phát triển sản phẩm nhỏ Lý do chính để áp dụngAgile thay vì phương pháp truyền thống là đẩy nhanh việc phân phối sản phẩm vàchấp nhận những thay đổi Agile cũng đã tăng tần số mà các ứng dụng được pháthành, do đó đã tạo ra nhu cầu ngày càng tăng về những phương pháp mới để nhanhchóng kiểm tra chúng Kiểm tra tự động hóa đã trở thành một yếu tố quan trọng đểduy trì tính nhanh chóng Vì vậy, cần thiết cho các đội Agile tăng mức độ kiểm thửAPI và giảm sự phụ thuộc của họ vào việc kiểm tra GUI.

Tự động hóa API có thể giảm đáng kể áp lực của kiểm thử hồi quy của nhómQA Bằng cách tích hợp kiểm thử tự động API, nhóm QA có thể cung cấp phản hồinhanh về chất lượng ứng dụng ngay khi được triển khai (deploy) Điều này cungcấp một đánh giá nhanh chóng về hệ thống trước khi kiểm thử GUI Kiểm thử tựđộng API yêu cầu code ít hơn và cung cấp kết quả kiểm tra nhanh hơn và phạm vikiểm tra tốt hơn API được ổn định sớm và không thay đổi thường xuyên như giaodiện người dùng.

API testing là một hình thức thử nghiệm phần mềm độc đáo và đặc biệt có giátrị đối với các doanh nghiệp nắm bắt quá trình hội nhập liên tục Việc xây dựngtrường hợp kiểm thử API trong quá trình phát triển bất kỳ phần mềm hoặc dịch vụnào có những lợi ích sâu rộng trong các đội, tất cả đều là cách khách hàng trảinghiệm sản phẩm Làm phần mềm mà khách hàng mục tiêu của bạn sẽ yêu thích làđiều thiết yếu cho sự thành công của doanh nghiệp và bằng cách kiểm thử API mộtcách nghiêm túc và thường xuyên, là một cách đáng tin cậy để đạt được nó.

Ngày đăng: 25/05/2024, 10:07

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w