Test API (Application Programming Interface) là quá trình kiểm tra và xác nhận tính đúng đắn, hoạt động và hiệu suất của một API. API là một bộ giao diện và tập hợp các quy tắc mà một ứng dụng, dịch vụ hoặc thư viện cung cấp để cho phép các ứng dụng khác tương tác và sử dụng chức năng của nó. Khi phát triển phần mềm hoặc ứng dụng, API thường được sử dụng để truyền thông tin và thực hiện các tác vụ. Ví dụ, API của một dịch vụ thanh toán có thể cho phép ứng dụng gửi yêu cầu thanh toán và nhận phản hồi tương ứng. Để đảm bảo API hoạt động chính xác và đáp ứng yêu cầu, việc kiểm tra API là cần thiết.
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN Đắc Thị Trà My NGHIÊN CỨU KIỂM THỬ PHẦN MỀM VÀ TRIỂN KHAI KIỂM THỬ API BẰNG CÔNG CỤ POSTMAN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Hệ thống thông tin Hà Nội - 2022 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ GIAO THÔNG VẬN TẢI KHOA CÔNG NGHỆ THÔNG TIN Đắc Thị Trà My NGHIÊN CỨU KIỂM THỬ PHẦN MỀM VÀ TRIỂN KHAI KIỂM THỬ API BẰNG CÔNG CỤ POSTMAN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Hệ thống thông tin Cán bộ hướng dẫn: ThS Vũ Thị Thu Hà Hà Nội - 2022 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN (Của giảng viên hướng dẫn) Điểm: (bằng chữ: ) Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp? Hà Nội, ngày tháng năm 2022 GIẢNG VIÊN HƯỚNG DẪN (ký, họ tên) NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN (Của giảng viên phản biện) Điểm: (bằng chữ: ) Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm đồ án tốt nghiệp? Hà Nội, ngày tháng năm 2022 GIẢNG VIÊN PHẢN BIỆN (ký, họ tên) Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT TÓM TẮT Mục đích của Đồ án nhằm giải quyết các vấn đề về trạng thái lỗi, và kết quả trả về cho mỗi chức năng của phần mềm có thể phát sinh trong một tổ chức, một doanh nghiệp Theo dõi và tìm ra các vấn đề phát sinh trong quá trình của một dự án là công việc rất quan trọng, tuy nhiên hiện nay các dự án phát triển đang được thực hiện theo mô hình Agile/Scrum thì việc sử dụng công cụ Postman ngày càng nhiều Postman là một phần mềm mã nguồn mở để test RestAPI mà không cần đến dòng code nào, nhờ đó mà các vấn đề trong phát triển dự án trở nên dễ dàng hơn với mọi tổ chức Công nghệ thông tin ngày càng phát triển mạnh, việc tự động hóa các công việc ngày càng được chú ý hơn giúp tiết kiệm thời gian, công sức, tăng năng suất làm việc và giảm các rủi ro trong quá trình phát triển cũng như triển khai phần mềm Vì vậy, nên em đã quyết định chọn đề tài “Nghiên cứu kiểm thử phần mềm và triển khai kiểm thử API bằng công cụ Postman” với mong muốn nghiên cứu, nâng cao trình độ trong quá trình học tập và làm việc, từ đó áp dụng vào công việc thực tế Mục tiêu của đồ án này là xây dựng thành công kịch bản kiểm thử chi tiết và kiểm thử tự động toàn bộ các ca kiểm thử đã thiết kế, ứng dụng kiểm thử các chức năng chính của các chức năng chính trong API bán sách Đồng thời đưa ra các hướng giải quyết phù hợp Bố cục đồ án gồm có bốn chương: Chương 1 Tổng quan Chương 2 Cơ sở lý thuyết Chương 3 Công cụ kiểm thử Postman Chương 4 Triển khai kiểm thử API bằng công cụ Postman Đắc Thị Trà My i 69DCHT20083 Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT LỜI CAM ĐOAN Em xin cam đoan đồ án này là công trình nghiên cứu của cá nhân em, dưới sự hướng dẫn của ThS Vũ Thị Thu Hà – giảng viên Trường Đại học Công nghệ GTVT Các nội dung nghiên cứu, kết quả trong đề tài đều là trung thực và chưa hề được sử dụng để bảo vệ bởi một học vị nào Các nguồn kiến thức trích dẫn có chú thích rõ ràng, có tính kế thừa, phát triển từ một số tài liệu đã được liệt kê ở mục Tài Liệu Tham Khảo Em xin chân thành chịu trách nhiệm về lời cam đoan của mình Hà Nội, tháng 5 năm 2022 Sinh viên thực hiện Đắc Thị Trà My Đắc Thị Trà My ii 69DCHT20083 Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT MỤC LỤC TÓM TẮT i LỜI CAM ĐOAN ii MỤC LỤC iii LỜI NÓI ĐẦU .v BẢNG THUẬT NGỮ VIẾT TẮT vi DANH MỤC HÌNH ẢNH vii DANH MỤC BẢNG BIỂU viii CHƯƠNG 1 TỔNG QUAN 1 1.1 Lý do chọn đề tài 1 1.2 Mục tiêu của đề tài .1 1.3 Giới hạn và phạm vi của đề tài 1 1.4 Kết quả dự kiến 1 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3 2.1 Tổng quan về kiểm thử phần mềm 3 2.1.1 Định nghĩa và vai trò của kiểm thử phần mềm 3 2.1.2 Các kĩ thuật kiểm thử phần mềm 4 2.1.3 Các loại kiểm thử phần mềm 9 2.1.4 Các mô hình phát triển phần mềm và ưu nhược điểm 11 2.1.5 Quy trình kiểm thử phần mềm 18 2.2 Tổng quan về API 20 2.2.1 Khái niệm 20 2.2.2 Lý do cần phải test API 20 2.2.3 Những điều cần lưu ý khi thực hiện API Testing .20 2.2.4 Các testcase cho kiểm thử API 21 2.2.5 Sự khác nhau giữa API testing và Unit testing 22 CHƯƠNG 3 CÔNG CỤ KIỂM THỬ POSTMAN 23 3.1 Giới thiệu POSTMAN .23 3.1.1 Khái niệm 23 3.1.2 Ưu nhược điểm của POSTMAN .23 3.1.3 Những tính năng đặc biệt 23 3.2 Các chức năng chính của POSTMAN .24 3.3 Dowload và cài đặt công cụ POSTMAN .25 3.4 Các thành phần chính của POSTMAN 25 Đắc Thị Trà My iii 69DCHT20083 Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT 3.5 Collections trong POSTMAN 27 3.5.1 Cách tạo collection 27 3.5.2 Các settings chính của 1 Collection .28 3.6 Cách sử dụng Environments 30 CHƯƠNG 4 TRIỂN KHAI KIỂM THỬ API BẰNG CÔNG CỤ POSTMAN 32 4.1 Giới thiệu về API bán sách online và các chức năng chính 32 4.1.1 API bán sách online 32 4.1.2 Một số chức năng chính của API bán sách .32 4.2 Thiết kế testcase cho các chức năng chính 36 4.2.1 Chức năng xem danh sách tất cả sách và đơn hàng 36 4.2.2 Chức năng đặt hàng 37 4.2.3 Chức năng chỉnh sửa thông tin đơn hàng 39 4.2.4 Chức năng xóa đơn hàng 41 4.2.5 Chức năng tìm kiếm thông tin đơn hàng 43 4.2.6 Chức năng tìm kiếm thông tin sách 45 4.3 Tạo collection tự động và biến môi trường cho giá trị kiểm thử dựa vào các testcase đã thiết kế 46 4.4 Kiểm thử và tổng hợp kết quả 49 4.4.1 Kiểm thử tự động Collection Runner 49 4.5 Báo cáo kết quả kiểm thử tự động 53 4.6 Đánh giá kết quả kiểm thử .56 KẾT LUẬN 57 TÀI LIỆU THAM KHẢO .58 Đắc Thị Trà My iv 69DCHT20083 Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT LỜI NÓI ĐẦU Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, đặc biệt là sự phát triển nhanh chóng của lĩnh vực công nghệ thông tin, công nghệ thông tin ngày càng đi vào đời sống và được con người khai thác một cách rất hiệu quả biến nó thành công cụ lao động hữu ích và đóng vai trò rất quan trọng trong đời sống xã hội Kiểm thử phần mềm là một phần quan trọng của lĩnh vực công nghệ thông tin, nó giúp tìm ra các lỗi và thiếu sót của phần mềm mà người lập trình không thể kiểm soát hết từ đó giúp cho chất lượng phần mềm được tốt hơn rất nhiều, thực hiện các công việc đúng như kì vọng ban đầu và hơn thế nữa Em thực hiện đề tài “ Nghiên cứu kiểm thử phần mềm và triển khai kiểm thử API bằng công cụ Postman” nhằm nâng cao thêm kiến thức và tầm hiểu biết của mình về lĩnh vực này Lĩnh vực công nghệ thông tin nói chung và bộ môn kiểm thử phần mềm nói riêng Em xin gửi lời cảm ơn sâu sắc đến giảng viên, Thạc sĩ Vũ Thị Thu Hà, người đã trực tiếp hướng dẫn và giúp đỡ em rất nhiều trong thời gian em thực hiện đồ án, giúp em hoàn thiện đồ án một cách tốt nhất Em xin cảm ơn các thầy cô giáo trong khoa Công nghệ thông tin nói riêng và các thầy cô giáo của Trường Đại học Công nghệ Giao Thông Vận Tải nói chung đã chỉ dạy, hướng dẫn và giúp đỡ em trong suốt bốn năm học tập tại trường Vì thời gian, điều kiện còn có hạn, em đã cố gắng rất nhiều để hoàn thành đồ án tốt nghiệp, nhưng chắc chắn vẫn còn nhiều hạn chế và không thể tránh khỏi những thiếu sót, mong thầy cô và các bạn có những ý kiến đóng góp để em có thể hoàn thiện và phát triển đề tài hơn Cuối cùng, em xin kính chúc các thầy cô giảng viên trong Trường Đại học Công nghệ Giao Thông Vận Tải nói chung, các thầy cô khoa Công nghệ thông tin nói riêng có nhiều sức khỏe và nhiều thành công trong sự nghiệp cao quý Em xin chân thành cảm ơn! Hà Nội, tháng 5 năm 2022 Sinh viên thực hiện Đắc Thị Trà My Đắc Thị Trà My v 69DCHT20083 Đồ án tốt nghiệp Trường Đại học Công Nghệ GTVT BẢNG THUẬT NGỮ VIẾT TẮT STT Viết tắt Tên tiếng Anh Tên tiếng Việt 1 CSDL 2 API Database Cơ sở dữ liệu 3 Application Programming Giao diện chương trình 4 5 Interface ứng dụng 6 Request Yêu cầu 7 Response Trả về 8 Collection Tập hợp nhiều request Test script Các đoạn mã lệnh thực thi một chức năng cụ thể sau khi có kết quả Pre request Các đoạn mã lệnh thực thi một chức năng cụ thể trước khi gửi yêu cầu Tester Kiểm thử viên Đắc Thị Trà My vi 69DCHT20083