Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 53 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
53
Dung lượng
3,81 MB
Nội dung
TRƯỜNG ĐẠI HỌC KINH TẾ KHOA THỐNG KÊ – TIN HỌC BÁO CÁO THỰC TẬP NGHỀ NGHIỆP NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ CHUYÊN NGÀNH QUẢN TRỊ HỆ THỐNG THƠNG TIN TÌM HIỂU VỀ API VÀ ỨNG DỤNG CƠNG CỤ POSTMAN Đơn vị thực tập : TMA Bình Định Giảng viên hướng dẫn : Ths.Trần Thị Thu Thảo LỜI CẢM ƠN Em xin gửi lời cảm ơn đến ThS Trần Thị Thu Thảo tận tình hướng dẫn em suốt thời gian thực tập nhận thức Bên cạnh đó, em muốn gửi lời cảm ơn đến mentor Cơng ty TMA Solutions Bình Định tận tình chia sẻ kiến thức, học mới, giúp đỡ em trình thực tập Và em chân thành cảm ơn Ban giám đốc TMA Solutions Bình Định cho phép tạo điều kiện thuận lợi để em thực tập cơng ty Trong q trình thực tập hồn thiện dự án em khơng tránh khỏi sai sót, kính mong nhận ý kiến đóng góp từ thầy Cuối em kính chúc thầy, cô dồi sức khỏe thành công nghiệp cao quý LỜI CAM ĐOAN Em xin cam đoan đề tài: “Tìm hiểu API ứng dụng công cụ Postman” nghiên cứu độc lập dựa nỗ lực thân giúp đỡ tận tình người hướng dẫn anh Nguyễn Phi Long– nhân viên cơng ty TMA Solutions Bình Định Các số liệu kết thực đề tài trung thực hồn tồn khơng có chép hay sử dụng kết nghiên cứu đề tài người khác Nếu có phát khơng đúng, em xin chịu hồn tồn trách nhiệm MỤC LỤC LỜI CẢM ƠN iii LỜI CAM ĐOAN v MỤC LỤC vi DANH MỤC HÌNH ẢNH ix DANH MỤC BẢNG BIỂU x DANH MỤC CÁC TỪ VIẾT TẮT xi LỜI MỞ ĐẦU CHƯƠNG GIỚI THIỆU VỀ CÔNG TY VÀ LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM… Giới thiệu chung cơng ty TMA Solutions Bình Định 1.1.1 Giới thiệu chung 1.1.2 Lĩnh vực hoạt động Giới thiệu ngành nghề thực tập 1.2.1 Giới thiệu tester 1.2.2 Kiến thức kỹ cần thiết 1.2.3 Cơ hội nghề nghiệp CHƯƠNG LÝ THUYẾT VỀ KIỂM THỬ PHẦN MỀM Tổng quan kiểm thử phần mềm 2.1.1 Giới thiệu kiểm thử phần mềm 2.1.2 Đặc điểm kiểm thử phần mềm 2.1.3 nguyên tắc kiểm thử phần mềm 2.1.4 Xác minh xác thực 2.1.5 QA QC Quy trình phát triển phần mềm 2.2.1 Khái niệm 2.2.2 Quy trình 2.2.3 Mơ hình thác nước 10 2.2.4 Mơ hình chữ V 11 2.2.5 Mơ hình Agile 12 2.2.6 Phương pháp Scrum 12 2.2.7 Phương pháp Kanban 13 Phân loại kiểm thử phần mềm 14 2.3.1 Kiểm thử thủ công 14 2.3.2 Kiểm thử tự động 14 Phương pháp kiểm thử phần mềm 14 2.4.1 Kiểm thử tĩnh – Static testing 14 2.4.2 Kiểm thử động – Dynamic testing 14 2.4.3 Các phương pháp kiểm thử 14 Cấp độ kiểm thử phần mềm 15 2.5.1 Kiểm thử đơn vị 15 2.5.2 Kiểm tra tích hợp 15 2.5.3 Kiểm thử hệ thống 15 2.5.4 Kiểm thử chấp nhận 15 Kỹ thuật thiết kế Testcase 16 2.6.1 Kỹ thuật thiết kế dựa đặc điểm kỹ thuật 16 2.6.2 Kỹ thuật dựa kinh nghiệm 19 Vòng đời lỗi 20 2.7.1 Vòng đời 20 2.7.2 Mức độ nghiêm trọng mức độ ưu tiên 21 CHƯƠNG TÌM HIỂU VỀ API VÀ ỨNG DỤNG CƠNG CỤ POSTMAN 22 Tìm hiểu API 22 3.1.1 API gì? 22 3.1.2 API hoạt động nào? 22 3.1.3 Cấu trúc API 22 3.1.4 Soap Rest API 24 3.1.5 JSON XML 24 Công cụ Postman 25 3.2.1 Postman gì? 25 3.2.2 Tại phải sử dụng Postman 25 Giới thiệu ứng dụng Avaya Spaces 26 Giới thiệu chức personal/ group/ direct messages spaces 27 Đặc tả yêu cầu 30 CHƯƠNG THỰC HÀNH 33 Test cases API 33 Demo manual testing 33 Demo auto testing 35 4.3.1 Sử dụng Postman runner 35 4.3.2 Sử dụng Newman – Command line 35 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 39 TÀI LIỆU THAM KHẢO 40 PHỤ LỤC 41 DANH MỤC HÌNH ẢNH Hình 1.1: Cơng ty TMA Bình Định……………………………………………… Hình 2.1: Nguyên tắc kiểm thử phần mềm………………………… Hình 2.2: Quy trình phát triển phần mềm……………………………………… Hình 2.3: Mơ hình thác nước…………………………………………………… 10 Hình 2.4: Mơ hình chữ V……………………………………………………… 11 Hình 2.5: Mơ hình Agile……………………………………………………… 12 Hình 2.6: Phương pháp Scrum………………………………………………… 13 Hình 2.7: Phương pháp Kanban…………………………………………………13 Hình 2.8: Phân vùng tương đương………………………………………………17 Hình 2.9: Phân tích giá trị biên………………………………………………… 17 Hình 2.10: Kiểm tra bảng định……………………………………………18 Hình 2.11: Sơ đồ chuyển đổi trạng thái………………………………………… 19 Hình 2.12: Vịng đời lỗi………………………………………………………… 20 Hình 3.1: Quy trình hoạt động API………………………………………… 22 Hình 3.2: JSON XML……………………………………………………… 24 Hình 3.3: Cơng cụ Postman…………………………………………………… 25 Hình 3.4: Avaya Spaces…………………………………………………………26 Hình 3.5: Chức personal/group/direct messages spaces………………27 Hình 4.1: Minh chứng TC-2…………………………………………………… 33 Hình 4.2: Minh chứng TC-24………………………………………………… 33 Hình 4.3: Minh chứng TC-30………………………………………………… 34 Hình 4.4: Kết chạy auto Postman…………………………………… 35 Hình 4.5: Chạy lệnh Command line……………………………………… 36 Hình 4.6: Kết report Newman………………………………………… 36 Hình 4.7: Chạy lệnh Command line……………………………………… 37 Hình 4.8: Kết report Command line………………………………… 37 DANH MỤC BẢNG BIỂU Bảng 2.1: So sánh QA QC…………………………………………………… Bảng 3.1: Tham số cho đối tác truyền lên GET……………………… 30 Bảng 3.2: Tham số cho đối tác truyền lên POST……………………….31 Bảng 3.3: Body cho đối tác truyền lên POST………………………… 31 Bảng 3.4: Tham số cho đối tác truyền lên DELETE………………… 32 Bảng 4.1: Kết chạy testcase……………………………………………… 34 DANH MỤC CÁC TỪ VIẾT TẮT QA : Quality Assurance QC : Quality Control SDLC : Vòng đời phát triển phần mềm API : Application Programming Interface JSON : JavaScrip Object Nonation XML : eXtensible Markup Language HTTP : HyperText Transfer Protocol LỜI MỞ ĐẦU Mục tiêu đề tài - Hiểu rõ cách hoạt động API cách sử dụng để trao đổi liệu ứng dụng hệ thống khác Nắm vững công cụ Postman biết cách sử dụng để kiểm tra gửi yêu cầu API Postman cung cấp giao diện sử dụng dễ dàng linh hoạt, giúp ta xây dựng, kiểm tra phân tích API cách hiệu quả, có khả tạo chạy kiểm tra tự động, phân tích kết trả tìm cố Đối tượng phạm vi nghiên cứu - Đối tượng: Avaya Spaces - Thời gian: Nghiên cứu thực 10 tuần (19/06/2021 – 25/08/2021) - Địa điểm: Công ty TMA Solutions Bình Định khu vực 2, Ghềnh Ráng, Tp Quy Nhơn - Lĩnh vực nghiên cứu: Thực kiểm thử chức lấy thông tin từ personal, group direct messaging spaces - Phạm vi: Tìm hiểu kiến thức API ứng dụng công cụ Postman thực hành test chức ứng dụng Avaya Spaces Kết cấu đề tài Đề tài tổ chức gồm phần mở đầu, chương nội dung phần kết luận - Mở đầu - Chương 1: Giới thiệu đơn vị thực tập - Chương 2: Lý thuyết kiểm thử phần mềm - Chương 3: Tìm hiểu API ứng dụng công cụ Postman - Chương 4: Thực hành - Kết luận hướng phát triển Đặc tả yêu cầu Lấy thông tin spaces, tin nhắn, meetings personal/group space/direct message - Endpoint: user/me/{{spaceid}} - Method: GET - Tham số cho đối tác truyền lên: Tên Mô tả spaceId The ID of the space email User's email to search by topictype The space type: "group", Vị trí Yêu cầu Path Yes Giá trị mặc định Yes query No group query No query No 10 (Max: 50) "direct", "personal" or "all" ("all" = "group"+"direct") You can also pass multiple types separated by comma topicstatus Topic status: "0" (normal), "1" (archived), or "all" ("all"="0"+"1"+"2") size Number of topics in the response data Bảng 1: Tham số cho đối tác truyền lên GET - Kết quả: 200 OK - Phản hồi: Reponse trả dạng JSON chứa thông tin spaces/tin nhắn/meetings personal/group space/direct message 30 - Nếu lấy thông tin spaces không tồn kết trả về: 400 Bad request reponse trả dạng JSON: { "code": "api_bad_request_input", "message": "Api Bad Request Check Input" } Cập nhật tên, thay đổi tùy chọn, ẩn lưa trữ personal/group space/direct messages - Endpoint: user/me/{{spaceid}} - Method: POST - Tham số cho đối tác truyền lên: Tên Mô tả Vị trí Yêu cầu spaceId The ID of the space path Yes spaceId Unique identifier of the path Yes path Yes Giá trị mặc định space (topic) to modify spaceId Unique identifier of the space Bảng 2: Tham số cho đối tác truyền lên POST - Body cho đối tác truyền lên: Tên title Mô tả The new title of the Vị trí Yêu cầu string No boolean No boolean No space isPinned Is the space a favorite notification Will the user receive notifications for this space Bảng 3: Body cho đối tác truyền lên POST - Kết quả: 200 OK 31 Giá trị mặc định - Phản hồi: Reponse trả dạng JSON chứa thông tin tên thay đổi, tùy chọn spaces thay đổi group spaces ẩn lưu trữ - Kết trả về: 400 Bad request ẩn lưu trữ personal/ direct messages Reponse trả dạng JSON chứa thông tin sau: { "code": "api_bad_request_input", "message": "Api Bad Request Check Input" } There is no action happening Xóa group/personal/direct messages spaces - Endpoint: user/me/{{spaceid}} - Method: DELETE - Tham số cho đối tác truyền lên: Tên spaceId Mơ tả Vị trí u cầu path Yes Unique identifier of the Giá trị mặc định space Bảng 4: Tham số cho đối tác truyền lên DELETE - Kết quả: 200 OK - Phản hồi: Chứa thơng tin spaces xóa - Đối với personal space kết trả về: 400 Bad requet Reponse có dạng JSON: { "code": "api_bad_request_input", "message": "Api Bad Request Check Input" } 32 CHƯƠNG THỰC HÀNH Test cases API Link testcase: https://docs.google.com/spreadsheets/d/12OJaHt7wWnBMUIlQS2GaB4oQhfVn2mRDNGdRAFVn9Y/edit?hl=vi#gid=0 Demo manual testing Hình 1: Minh chứng TC-2 Hình 2: Minh chứng TC-24 33 Hình 3: Minh chứng TC-30 Tổng kết Funtion Personal Space Total Testcase API Pass Fail 83,3% 16,67% 19 95% 5% 75% 25% Personal Space 20 Group Space Group Space Direct Messaging Space Direct Messaging Space Bảng 1: Kết chạy testcase 34 Demo auto testing 4.3.1 Sử dụng Postman runner Hình 4: Kết chạy auto Postman 4.3.2 Sử dụng Newman – Command line Newman công cụ command-line dùng để chạy collections Postman Nó cho phép người sử dụng chạy kiểm tra collection Postman cách trực tiếp từ command line Được xây dựng với khả mở rộng để người sử dụng tích hợp với máy chủ hệ thống xây dựng tích hợp liên tục - CI Newman trì tính tương tự với Postman cho phép người sử dụng chạy collections giống cách chúng thực thi bên trình chạy collections Postman Người sử dùng chạy collections từ command line Postman CLI Newman có cách sử dụng chính: • Sử dụng dịng lệnh • Sử dụng thư viện Nodejs Để chạy suite auto Command line ta sử dụng cú pháp sau: newman run -e -r - Có cách report: • Report htmlextra: 35 Chạy lệnh Command: newman run -e -r htmlextra Hình 5: Chạy lệnh Command line Hình 6: Kết report Newman Kết quả: - Tổng số lần lặp: - Tổng số testcase chạy: 267 - Tổng số testcase fail: 36 - Tổng số testcase bị bỏ qua: - Collection: Kiểm tra API Spaces - Môi trường: onenastaging - Tổng thời gian chạy: 1m 18,8s - Tổng liệu nhận được: 316,79KB - Thời gian phản hồi trung bình: 599m Kết chạy đảm bảo API hoạt động mong đợi lỗi xảy • Report Command line Chạy lệnh Command: newman run -e -r cli Hình 7: Chạy lệnh Command line Hình 8: Kết report Command line 37 Kết quả: - Tổng số lần lặp: - Tổng yêu cầu: 122 - Tổng kịch kiểm thử: 122 - Tổng điều kiện tiên quyết: 63 - Tổng testcase chạy: 267 - Tổng thời gian chạy: 1m 23.4s - Tổng liệu nhận được: 324.37kB - Tổng thời gian phản hồi trung bình: 627ms 38 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN • Đạt được: - Trải qua tháng thực tập cơng ty em có thêm kỹ để viết testcase API, biết cách thiết kế, gọi kiểm tra API Postman, ứng dụng giao diện người dùng cho phép tạo gửi yêu cầu API, nhận xem phản hồi, sử dụng công cụ Postman để test ứng dụng Avaya Spaces, biết cách chạy kiểm tra sưu tập Postman từ dòng lệnh Newman - Cải thiện kỹ giao tiếp, kỹ tiếng anh thuyết trình - Thích nghi với mơi trường làm việc công ty - Em học kiến thức manual testing auto testing - Em thực hành test API ứng dụng Avaya Spaces • Hạn chế: - Vì thời gian thực tập cơng ty cịn hạn chế nên em cịn nhiều thiếu sót báo cáo chưa thực hành chức Avaya spaces • Hướng phát triển: - Trong thời gian tới em tìm hiểu thêm kiến thức testing thực hành nhiều chức Avaya spaces hơn, em cố gắng hoàn thiện để tiếp tục theo đuổi lĩnh vực 39 TÀI LIỆU THAM KHẢO "javatpoint," [Online] Available : https://www.javatpoint.com/software-testingtutorial "Guru99," [Online] Available : https://www.guru99.com/software-testingtechniques.html T Can, "Viblo," 20 2021 [Online] Available : https://viblo.asia/p/tim-hieu-kienthuc-co-ban-ve-api-maGK7A4Mlj2 Tài liệu công ty cung cấp 40 PHỤ LỤC Testcase API - Chức personal space 41 - Chức group space 42 43 - Chức direct messages 44