Bộ Giáo Dục Và Đào Tạo Trường Đại Học Ngoại Ngữ - Tin Học Thành Phố Hồ Chí Minh Khoa Công Nghệ Thông Tin MÔN HỌC : ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM ĐỀ TÀI : KIỂM THỬ API WEBSITE BÁN HOA TƯƠI Giáo Viên Hướng Dẫn :Ths. Tiếu Phùng Mai Sương Thành Viên : 1. Trần Ngọc Bằng – MSSV: 19DH110181 2. Nguyễn Xuân Tú – MSSV: 19DH110182 3.
Phan Minh Trí – MSSV: 19DH111119 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Tp. Hồ chí minh, Ngày …. năm … ii | P a g e Mssv – Họ tễn Học kỳ… Nằm học 20. Nhận xét của giảng viên Giảng viễn 01.
Page 3 of 55 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Giảng viễn 02. 4|Page 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Lời cảm ơn Đầu tiên cho chúng em xin trân trọng gửi lời cảm ơn chân thành và sự kính trọng tới – Quý Thầy, Cô ngành Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học TP.HCM, và đặc biệt là giáo viên hướng dẫn cô Tiểu Phùng Mai Sương đã tận tình hướng dẫn, chỉ bảo em trong suốt quá trình thực hiện luận văn này. Do kiến thức còn hạn hẹp nên không tránh khỏi những thiếu sót trong cách hiểu, lỗi trình bày. Em rất mong nhận được sự đóng góp ý kiến của quý thầy cô để báo cáo môn học đạt được kết quả tốt hơn.
Em xin chân thành cảm ơn! 5|Page 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Mục lục Contents I. Giới thiệu chung. Kiểm thử API.1 Giới thiệu sơ l ược Automation Testing.3 Các chức năng chính của Jmeter. ể th ửh ệthốếng Website bán hoa tươi.
Đ cặ t ảcác ch ứ c năng h ệthốếng (System Functions).1 Các chức năng đặc tả.2 UC01 Tra cứu sản phẩm.3 UC02 Đặt hàng.4 UC03 Hủy hàng.5 UC04 Thanh toán.7 UC06 Đăng nhập.8 UC07 Thếm vào giỏ hàng.9 UC08 Cập nhật gi ỏ hàng.10 UC09 Xóa sản phẩm khỏi giỏ hàng.11 UC10 Xem Lịch s ử đ ơn hàng.12 UC11 Thếm sản phẩm .13 UC12 Xóa sản phẩm.14 UC13 Sửa sản phẩm.15 UC14 Phân quyếền. Xác đ nhị m c ụtiếu, các chu nẩchâết l ượ ng câền đ tạ c ủ a h ệthốếng.2 Các chu nẩ câền đ tạ c ủ a h ệthốếng.3 Tiếu chí của Website bán hoa tươi. ạ vi ki m Ph m ể th ửc ủ a h ệthốếng (Scope).27 6|Page 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 4.1 Testcase API bán hoa tươi.37 Get All Product (GET). 44 Get All Review product (GET).44 Delete Single Review product (GET).44 Get All product (GET).
45 Get All User(GET).45 Get Single User(GET). 46 Get All User Email(GET).47 Get All Oder(GET).2 Testscript API bán hoa tươi. 55 7|Page 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Danh mục hình ảnh 8|Page 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Danh mục bảng biểu 9|Page 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Danh mục từ viết tắt 10 | P a g e 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Bảng phân cống cống việc STT Nhóm công việc/công việc Thời lượng dự kiến Số Người thực hiện thực hiện người thực hiện 1. Tìm hiểu API, Jmeter 3 Ngày 3 Cả nhóm 2.
Đặc tả các chức năng hệ 1 Tuần 3 Cả nhóm thống 3. Phạm vi kiểm thử của hệ 5 ngày 2 Nguyễn Xuân thống Tú, Phan Minh Trí 4. Viết Testcase API 3 ngày 3 Trần Ngọc Bằng STT Nhóm công việc/công việc Thời lượng dự kiến thực Số Người thực hiện người hiện thực hiện 5. Viết Testscript cho API 1 Tuần 3 Cả nhóm Oder 5.1 TestScript cho API 1 Tuần 1 Trần Ngọc Authenication Bằng 5.2 TestScript cho API User 1 Tuần 1 Nguyễn Xuân Tú 5.3 TestScript cho API 1Tuần 1 Phan Minh Trí Product STT Nhóm công việc/công việc Thời lượng dự kiến thực Số Người thực 11 | P a g e 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 hiện người hiện thực hiện 6 Thực thi kiểm thử trên 1 Tuần 3 Cả nhóm Tool 7 Làm Slide 1 ngày 1 Trần Ngọc Bằng 8 Viết báo cáo 3 ngày 3 Nguyễn Xuân Tú I.
Giới thiệu chung Testing, hay còn gọi là kiểm thử phần mềm, là một công việc vô cùng quan trọng trong chu kỳ phát triển phần mềm. Công việc thường ngày của một Tester sẽ bao gồm: 1. Nhận yêu cầu của khách hàng và phân tích yêu cầu 2. Lập kế hoạch kiểm thử 3.
Thiết kế Test Case 4. Tiến hành các Test Case 5. Báo cáo lỗi, báo cáo kết quả kiểm thử Ngày nay, với sự phát triển của các nền tảng thiết bị khác nhau như web, di động, thiết bị IoT, Cloud, một sản phẩm phải hoạt động trên nhiều nền tảng khác nhau hay phải tương thích với các sản phẩm khác là một yêu cầu bắt buộc và từ đó đặt ra nhiều thách thức cho các nhà sản xuất, phát triển phần mềm. Lúc này vai trò của kiểm thử 12 | P a g e 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 là thực sự cần thiết nói giúp xác nhận yêu cầu, giúp đánh giá sản phẩm, tìm lỗi, ngăn ngừa lỗi… Nhu cầu của nghề tester rất cao tuy nhiên hầu hết sinh viên theo học ngành Công nghệ thông tin đều mong muốn làm nghề lập trình viên chứ không phải là nghề Tester.
Nhiều công ty phần mềm đang lao đao tuyển dụng nhân lực cho nghề Tester điều này chứng tỏ Tester đang là một nghề khát nhân lực. Tại các công ty phần mềm nước ngoài trung bình cứ 1 lập trình viên cần phải có tới 4 Tester, tuy nhiên ở Việt Nam tỷ lệ này lại ngược lại, với 5 lập trình viên thì mới có 1 tester. Chính sự mất cân đối này đã mở ra một nhu cầu vô cùng lớn cho nghề Tester trong tương lai. Kiểm thử API Về lý thuyết, API Testing (kiểm thử API) là một loại kiểm thử phần mềm bao gồm việc kiểm tra trực tiếp các giao diện lập trình ứng dụng và là một phần của kiểm thử tích hợp để xác định xem phần mềm có đáp ứng mong đợi về chức năng, độ tin cậy, hiệu suất và bảo mật hay không.
Kiểm thử API khác với những loại kiểm thử khác vì chưa có giao diện nên cần phải thiết lập môi trường khởi tạo. Gọi API với các tham số được yêu cầu và sau đó kiểm tra kết quả trả về. Để biết rõ hơn về kiểm thử API nhóm em bắt đầu tiến hành kiểm thử trên đề tài của mình đó là Website bán hoa tươi 2.1 Giới thiệu sơ lược Automation Testing Trong lĩnh vực kiểm thử phần mềm, thì kiểm thử tự động hay còn gọi là Automation testing đóng một vai trò quan trọng góp phần nâng cao năng suất kiểm thử, giảm thiểu lỗi cũng như sự nhàm chán với việc kiểm thử bằng tay trong một thời gian dài hoặc lặp đi lặp lại. Kiểm thử tự động là một quá trình xử lý tự động các bước thực hiện một test case.
Kiểm thử tự động được thực hiện bởi phần mềm kiểm thử tự động - hay còn gọi là Automation Testing Tool 2.2 Giới thiệu Jmeter Jmeter là ứng dụng viết trên mã nguồn mở(open source), được viết 100% trên java và là ứng dụng dành cho việc test tải (load test) tốc độ thực thi của ứng dụng web. Ban đầu nó được thiết kế để đơn thuần kiểm tra cho ứng dụng web, sau đã được mở rộng ra nhiều chức năng khác. 13 | P a g e 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 Apache JMeter có thể được sử dụng để kiểm tra hiệu suất cả trên các tài nguyên tĩnh, động và các ứng dụng Web. Nó có thể được sử dụng để mô phỏng một lượng người dùng ảo, request lớn trên một máy chủ, nhóm máy chủ, mạng hoặc đối tượng để kiểm tra về độ tải của nó hoặc để phân tích thời gian phản hồi tổng thể dưới các loại tải khác nhau.3 Các chức năng chính của Jmeter Khả năng và thử nghiệm hiệu suất nhiều ứng dụng, server và protocol khác nhau: Web -HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET) SOAP/REST Webservices FTP LDAP Database via JDBC Message-oriented middleware(MOM) via JMS Mail -SMTP(s), POP3(S) and IMAP(S) Native commands or shell scripts TCP Java Objects Đầy đủ tính năng ghi lại quá trình kiểm thử từ website hoặc chính ứng dụng này, và có khả năng debuging.
Lựa chọn sử dụng với command-line để thử nghiệm tải từ java compatible OS(Linux, Windows, Mac OSX. Kiểm thử hệ thống Website bán hoa tươi 1. Đặc tả các chức năng hệ thống (System Functions) 1.1 Các chức năng đặc tả Code Package Tên use case UC01 Khách hàng Tra cứu sản phẩm UC02 Khách hàng Đặt hàng UC03 Khách hàng Hủy đặt UC04 Khách hàng Thanh toán UC05 Khách hàng Đăng ký UC06 Khách hàng Đăng nhập UC07 Khách hàng Thêm vào giỏ hàng UC08 Khách hàng Cập nhật số lượng UC09 Khách hàng Xóa sản phẩm khỏi giỏ hàng UC10 Khách hàng Xem lịch sử đơn hàng UC11 Admin Thêm sản phẩm UC12 Admin Xóa sản phẩm UC13 Admin Sửa sản phẩm 14 | P a g e 19DH110181-Trầần Ng ọ c Bằầng 19DH110182- Nguyễễn Xuần Tú 19DH111119-Phan Minh Trí Học kỳ II Nằm học 2021-2022 UC14 Admin Phân quyền User 1.2 UC01 Tra cứu sản phẩm Name Tra cứu sản phẩm Code UC01 Description Tìm kiếm sản phẩm trong danh sách sản phẩm của cửa hàng Actor Tất cả actors Trigger Khi actor chọn nút tra cứu Precondition Post condition Hiển thị danh sách sản phẩm theo điều kiện tra cứu Standard flow 1.Nhập điều kiện tra cứu 2.Chọn nút tra cứu 3.Truy vấn dữ liệu phòng để lấy danh sách sản phẩm dựa trên điều kiện tra cứu 4.Hiển thị danh sách sản phẩm theo điều kiện tra cứu Alternative flow 2’. Dừng tra cứu 4’.
Không tìm thấy kết quả phù hợp điều kiện truy vấn Error situations 1.Lỗi không kết nối được server 2.Lỗi không hiển thị kết quả tra cứu System state in error Không thể tra cứu sản phẩm situations 1.