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 situations Không thể tra cứ
Trang 1Khoa 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
Trang 219DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Tp Hồ chí minh, Ngày … tháng … năm …
Trang 3Nhận xét của giảng viên
Gi ng viễn 01 ả
Trang 4
19DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Gi ng viễn 02 ả
Trang 5
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!
Trang 619DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Mục lục
Contents
I Gi i thi u chung ớ ệ 13
II Lý thuyếết 14
1 Ki m th API ể ử 14
2 Automation Testing 14
2.1 Gi i thi u s l ớ ệ ơ ượ c Automation Testing 14
2.3 Các ch c năng chính c a Jmeter ứ ủ 15
III Ki m th h thốếng Website bán hoa t ể ử ệ ươ 15 i 1 Đ c t các ch c năng h thốếng (System Functions) ặ ả ứ ệ 15
1.1 Các ch c năng đ c t ứ ặ ả 15
1.2 UC01 Tra c u s n ph m ứ ả ẩ 16
1.3 UC02 Đ t hàng ặ 16
1.4 UC03 H y hàng ủ 17
1.5 UC04 Thanh toán 18
1.6 UC05 Đăng ký 18
1.7 UC06 Đăng nh p ậ 19
1.8 UC07 Thếm vào gi hàng ỏ 20
1.9 UC08 C p nh t gi hàng ậ ậ ỏ 20
1.10 UC09 Xóa s n ph m kh i gi hàng ả ẩ ỏ ỏ 21
1.11 UC10 Xem L ch s đ n hàng ị ử ơ 22
1.12 UC11 Thếm s n ph m ả ẩ 22
1.13 UC12 Xóa s n ph m ả ẩ 23
1.14 UC13 S a s n ph m ử ả ẩ 24
1.15 UC14 Phân quyếền 25
2 Xác đ nh m c tiếu, các chu n châết l ị ụ ẩ ượ ng câền đ t c a h thốếng ạ ủ ệ 25
2.1 M c tiếu ụ 25
2.2 Các chu n câền đ t c a h thốếng ẩ ạ ủ ệ 26
2.3 Tiếu chí c a Website bán hoa t ủ ươ 27 i 3 Ph m vi ki m th c a h thốếng (Scope) ạ ể ử ủ ệ 27
Trang 719DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
4 TESTCASE/TESTSCRIPT 28
4.1 Testcase API bán hoa t ươ 28 i Login (POST) 28
Forgot Password (POST) 29
Register User (POST) 30
Update Password (PUT) 32
Logout User (GET) 34
Update profile (PUT) 35
Review Product (POST) 37
Get All Product (GET) 37
Create product (POST) 38
Update product (PUT) 41
Delete product (DEL) 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
Delete User(DEL) 46
Get All User Email(GET) 47
Get All Oder(GET) 47
Delete Oder(DEL) 47
4.2 Testscript API bán hoa t ươ 48 i IV Kếết lu n ậ 55
Trang 819DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Danh mục hình ảnh
Trang 919DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Danh mục bảng biểu
Trang 1019DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Danh mục từ viết tắt
Trang 11STT Nhóm công việc/công việc Thời lượng dự kiến thực
hiện
Số người thực hiện
Người thực hiện
Trang 1219DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
thực hiện
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ềuthá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ử
Trang 131 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ểmthử 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 Automation Testing
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ấtkiể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 trongmộ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 testcase Kiểm thử tự động được thực hiện bởi phần mềm kiểm thử tự động - hay còngọ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ênjava và là ứng dụng dành cho việc test tải (load test) tốc độ thực thi của ứng dụngweb 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
Trang 1419DH111119-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ướicác loại tải khác nhau
2.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ácnhau:
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 )
1 Đặc tả các chức năng hệ thống (System Functions)
1.1 Các chức năng đặc tả
UC09 Khách hàng Xóa sản phẩm khỏi giỏ hàng
Trang 1519DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
1.2 UC01 Tra cứu sản phẩm
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ứu3.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ứu4.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
situations
Không thể tra cứu sản phẩm
1.3 UC02 Đặt hàng
Description Đặt phòng trong resort
Actor Khách hàng, nhân viên, quản
lý
Trigger Khi actor chọn nút đặt hàng
Precondition Khách hàng đặt hàng tại thời điểm đó chưa có đơn đặt hàng hoặc đơn hàng đã
hủy
Post condition Hiển thị thông báo đặt hàng thành công
Trang 1619DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Standard flow 1.Nhập thông tin đặt hàng
2.Chọn nút đặt hàng3.Xác thực thông tin đặt hàng4.Tạo đơn hàng và lưu vào cơ sở dữ liệu5.Thông báo đặt hàng thành công
Alternative flow 2’ Dừng đặt hàng
3’ Thông tin sai định dạng3’ Hàng không còn sẵn
Error situations 1.Lỗi không kết nối được server
2.Lỗi không thể lưu thông tin đặt phòng3.Lưu thành công nhưng không hiển thị
System state in error
Actor Khách hàng, nhân viên, quản
lý Trigger Khi actor chọn nút hủy đặt hàng
Precondition
Post condition Hiển thị thông báo hủy thành công
Standard flow 1.Chọn hóa đơn cần hủy
2.Chọn hủy đặt hàng3.Hiển thị thông báo hủy thành công
Alternative flow 2’ Không thực hiện hủy
Error situations 1.Lỗi không kết nối được server
2.Lỗi hủy thành công nhưng không thông báo
Trang 1719DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
System state in error
situations
Không thể hủy đơn đặt hàng
1.5 UC04 Thanh toán
Description Thanh toán hóa đơn đặt hàng
Actor Khách hàng Trigger Khi actor chọn nút thanh toán
Precondition Hóa đơn đã được xác nhận
Post condition Hiển thị thông báo thanh toán thành công
Standard flow 1.Chọn hóa đơn cần thanh toán
2.Chọn nút thanh toán3.Nhập các thông tin thanh toán(Mã thẻ, tài khoản paypal,…) và thông tin yêu cầu
4.Hiển thị giá trị của tổng hóa đơnXác nhận thanh toán hóa đơnThông báo thanh toán thành công
Alternative flow 2’ Dừng thanh toán
3’ Sai thông tin thanh toán
Error situations 1.Lỗi không kết nối được server
2.Lỗi không kết nối được hệ thống thanh toán 3.Thanh toán thành công nhưng không thông báo
System state in error
situations Không thể thanh toán hóa đơn của đơn hàng đã đặt
1.6 UC05 Đăng ký
Trang 1819DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Description Đăng ký thông tin khách hàng để sử dụng dịch vụ
Actor Khách hàng Trigger Khi actors chọn nút đăng ký
Precondition
Post condition Thông báo đăng ký thành công và chuyển đến trang đăng nhập
Standard flow 1.Nhập thông tin tài khoản
2.Chọn nút đăng ký3.Kiểm tra thông tin đăng ký 4.Lưu thông tin đăng ký5.Thông báo đăng ký thành công và chuyển đến trang đăng nhập
Alternative flow 2’ Hủy đăng ký
3’ Thông tin tài khoản không hợp lệ hoặc tài khoản đã tồn tại
Error situations 1.Lỗi không kết nối được server
2.Lỗi không hiển thị thông báo và chuyển trang sau khi đăng ký thành công
System state in error
situations
Không thể đăng ký tài khoản
1.7 UC06 Đăng nhập
Description Người dùng đăng nhập sử dụng hệ thống
Actor Tất cả actors Trigger Khi actors chọn nút đăng nhập
Precondition Tài khoản người dùng đã tồn tại
Post condition Chuyển đến trang chủ hệ thống
Standard flow 1.Nhập thông tin đăng nhập
Chọn nút đăng nhậpKiểm tra thông tin đăng nhậpGhi nhận người dùng đăng nhập hệ thống 5.Chuyển đến trang chủ hệt thống
Alternative flow 2’ Hủy đăng nhập
3’ Thông tin đăng nhập không hợp lệ 3’ Sai thông tin đăng nhập
Trang 1919DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Error situations 1.Lỗi không kết nối được server
2.Lỗi đúng thông tin nhưng không ghi nhận người dùng đăng nhập 3.Lỗi đăng nhập thành công nhưng không chuyển trang
System state in error
situations
Không thể đăng nhập hệ thống
1.8 UC07 Thêm vào giỏ hàng
Description Thêm sản phẩm vào giỏ hàng
Actor Khách hàng Trigger Khi actor chọn nút thêm vào giỏ
hàng
Precondition
Post condition Thông báo thêm thành công và chuyển sang màn hình giỏ hàng
Standard flow 1.Chọn sản phẩm cần thêm mới
2.Chọn thêm vào giỏ hàng3.Kiểm tra định dạng thông tin4.Lưu sản phẩm mới thêm vào cơ sở dữ liệu5.Thông báo thêm thành công và chuyển sang màn hình chi tiết giỏ hàng
Alternative flow 2’ Hủy thêm mới
3’ Thông tin sai định dạng
Error situations 1.Lỗi không kết nối được server
2.Lỗi không thêm được loại phòng vào cơ sở dữ liệu
System state in error
situations Sản phẩm chưa được thêm
1.9 UC08 Cập nhật giỏ hàng
Description Cập nhật số lượng trong giỏ hàng
Actor Khách hàng Trigger Khi actor chọn nút cập nhật
Precondition Khách hàng đã thêm sản phẩm vào giỏ hàng
Post condition Cập nhật thành công và hiển thị lại giá, số lượng
Trang 2019DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Standard flow 1.Chọn sản phẩm cần cập nhật
2.Chọn nút cập nhật3’Kiểm tra định dạng thông tin4.Cập nhật thông tin dịch vụ trong cơ sở dữ liệu5.Cập nhật thành công và hiển thị lại giá, số lượng
Alternative flow 2’ Hủy cập nhật
3’ Thông tin sản phẩm sai định dạng
Error situations 1.Lỗi không kết nối được server
2.Lỗi không cập nhật được thông tin
System state in error
situations
Số lượng sản phẩm chưa được cập nhật
1.10 UC09 Xóa sản phẩm khỏi giỏ hàng
Description Xóa sản phẩm khỏi giỏ hàng
Actor Khách hàng Trigger Khi actor chọn nút xóa
Precondition Đã thêm sản phẩm vào giỏ hàng trước đó
Post condition Cập nhật và hiển thị lại số lượng ,giá
Standard flow 1.Chọn sản phẩm cần xóa
2.Chọn xóa sản phẩm 3.Kiểm tra điều kiện xóa4.Xóa loại phòng khỏi cơ sở dữ liệu5.Cập nhật và hiển thị lại số lượng ,giá
Alternative flow 2’ Hủy xóa
3’ Sản phẩm không đáp ứng điều kiện xóa
Error situations 1.Lỗi không kết nối được server
2.Lỗi không xóa được sản phẩm
System state in error
situations
Sản phẩm chưa được xóa
1.11 UC10 Xem Lịch sử đơn hàng
Trang 2119DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Description Xem danh sách lịch sử đặt hàng
Actor Khách hàng, nhân viên, quản
lý
Trigger Khi actor chọn nút xem lịch sử đặt
hàng
Precondition Đã đặt hàng trước đó
Post condition Hiển thị kết quả tra cứu
Standard flow 1.Nhập điều kiện tra cứu
2.Chọn nút tra cứu3.Truy vấn dữ liệu tất cả lịch sử đặt hàng phù hợp với yêu cầu
Alternative flow 2’ Hủy tra cứu
3’ Không tìm thấy kết quả phù hợp
Error situations 1.Lỗi không kết nối được server
2.Lỗi không hiển thị kết quả tìm được
System state in error
situations
Không thể tìm kết quả phù hợp
Description Cho phép actor thêm sản phẩm
Actor Admin Trigger Actor nhấn vào chức năng quản lý
sản phẩm
Precondition Actor đã đăng nhập
Post condition Hiển thị trang quản lý sản phẩm
Standard flow 1 Nhấn vào chức năng quản lý sản phẩm
2 Chọn chức năng thêm sản phẩm
3 Nhập thông tin cần thiết
4 Nhấn hoàn tất
5 Validation
Trang 2219DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
6 Truy xuất bảng sản phẩm và kiểm tra id sản phẩm có bị trùng hay không
7 Hệ thống lưu lại vào database
Alternative flow 2’ Hủy thêm
3’ Sai thông tin định dạng
Error situations 1.Lỗi không kết nối được server
2.Lỗi không hiển thị kết quả tìm được
System state in error
situations “Không được bỏ trống”
“Sản phẩm đã tồn tại
Description Cho phép actor Xóa sản phẩm
Actor Admin Trigger Actor nhấn vào chức năng quản lý
sản phẩm
Precondition Actor đã đăng nhập
Post condition Hiển thị trang quản lý sản phẩm
Standard flow 1 Nhấn vào chức năng quản lý sản phẩm
2 Chọn chức năng xóa sản phẩm
3 Hệ thống truy xuất bảng sản phẩm
4 Chọn sản phẩm cần xóa
5 Nhấn hoàn tất
6 Hệ thống lưu thay đổi vào database
Alternative flow 2’ Hủy Xóa
3’ Sai thông tin định dạng
Trang 2319DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Error situations 1.Lỗi không kết nối được server
2.Lỗi không hiển thị kết quả tìm được
System state in error
situations
Description Cho phép actor Sửa sản phẩm
Actor Admin Trigger Actor nhấn vào chức năng quản lý
sản phẩm
Precondition Actor đã đăng nhập
Post condition Hiển thị trang quản lý sản phẩm
Standard flow 1 Nhấn vào chức năng quản lý sản phẩm
2 Chọn chức năng Sửa sản phẩm
3 Hệ thống truy xuất bảng sản phẩm
4 Chọn sản phẩm cần Sửa
5 Nhấn hoàn tất
6 Hệ thống lưu thay đổi vào database
Alternative flow 2’ Hủy sửa
3’ Sai thông tin định dạng
Error situations 1.Lỗi không kết nối được server
2.Lỗi không hiển thị kết quả tìm được
System state in error
situations
Trang 2419DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
Description Cho phép actor Xóa sản phẩm
Actor Admin Trigger Actor nhấn vào chức năng quản lý
user
Precondition Actor đã đăng nhập
Post condition Hiển thị trang quản lý sản phẩm
Standard flow 1 Nhấn vào chức năng quản lý user
2 Chọn chức năng User
3 Hệ thống truy xuất bảng user
4 Chọn user cần phân quyền
5 Chọn quyền hạn cho user
6 Nhấn hoàn tất
7 Hệ thống lưu thay đổi vào database
Alternative flow 2’ Hủy Xóa
3’ Sai thông tin định dạng
Error situations 1.Lỗi không kết nối được server
2.Lỗi không hiển thị kết quả tìm được
System state in error
- Liệt kê những yêu cầu cho việc kiểm thử ( Test Requirements )
- Những chiến lược kiểm thử nên được sử dụng
- Ước lượng những yêu cầu về tài nguyên và chi phí cho việc kiểm thử
- Những tài liệu được lập sau khi hoàn thành việc kiểm thử
- Đảm bảo mục tiêu test đúng đắn của chức năng, bao gồm định hướng,
dữ liệu đầu vào, xử lý và dữ liệu nhận được
Trang 2519DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
- Kiểm tra tính đúng đắn của các dữ liệu, qui trình và báo cáo cũng nhưviệc thực hiện đúng những qui tắc nghiệp vụ
2.2 Các chuẩn cần đạt của hệ thống
Tính chức năng: Khả năng của phần mềm cung cấp các chức năng
đáp ứng được nhu cầu sử dụng khi phần mềm làm việc trong điềukiện cụ thể Bao gồm:
và của chức năng xác định
- Có thể phân tích được
Trang 2619DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
- Có thể thay đổi được
- Tính ổn định
- Có thể kiểm tra được
- Khả năng bảo hành bảo trì phù hợp
Tính khả chuyển: Là khả năng của phần mềm cho phép nó có thểđược chuyển từ môi trường này sang môi trường khác
2.3 Tiêu chí của Website bán hoa tươi
Hướng tới các tiêu chí:
- Các kết quả dữ liệu trả về là chính xác, đúng với những gì màchức năng đó mang lại
- Cho phép tương tác với hệ thống
3 Phạm vi kiểm thử của hệ thống (Scope)
Trang 2719DH111119-Phan Minh Trí H c kỳ II Nằm h c 2021-2022ọ ọ
4.1 Testcase API bán hoa tươi
USER Login (POST)
Please enter your email and password
Please enter your email and password
"phanminhtri01@gmail.com", password: "" User is not available with
this email and password
User is not available with this email and password
User is not available withthis email and password
User is not available with this email and password
"phanminhtri01@gmail.com", password: "123456"}
Login succsessfull Login succsessfull
User is not available withthis email and password
User is not available with this email and password
"phanminhtri01@@gmail.com",password: "123456"
User is not available withthis email and password
User is not available with this email and password
"phanminhtri01@gmail.com", password: "!@#@$"
User is not available withthis email and password
User is not available with this email and password
Pass