SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Tên Use Case Đăng ký tài khoản
Tác nhân chính Khách hàng Tiền điều kiện (Pre-
Condition)
Khách hàng kích hoạt giao diện của hệ thống.
Đảm bảo thành cơng Khách hàng tìm kiếm sản phẩm thành cơng
Đảm bảo tối thiểu Trở lại màn hình chính để Khách hàng có thể tìm kiếm lại
Kích hoạt Khách hàng chọn chức năng tìm kiếm
Chuỗi sự kiện chính
1. Khách hàng kích hoạt giao diện chính của hệ thống.
2. Hệ thống hiển thị giao diện chính với danh sản phẩm các sản phẩm của hệ thống và form "Tìm Kiếm Nhanh" có một textbox nhập tên sản phẩm, nút "Tìm"
3. Khách hàng nhập vào ơ tìm kiếm tên sản phẩm và click vào nút "Tìm".
4. Hệ thống tìm kiếm sản phẩm trong cơ sở dữ liệu và trả về danh sách sản phẩm mà Khách hàng yêu cầu tìm kiếm.
Ngoại lệ:
3.1. Hệ thống thơng báo khơng có sản phẩm với tên khách hàng u cầu tìm kiếm
3.1.1. Hệ thống yêu cầu Khách hàng nhập lại tên sản phẩm
3.1.2. Khách hàng nhập lại tên sản phẩm và tiếp tục các bước sau.
❖ Xem thông tin sản phẩm
- Xem thơng tin sản phẩm từ form kết quả tìm kiếm
Bảng 2. 4 Kịch bản use case xem thơng tin sản phẩm từ form kết quả tìm kiếm Tên Use Case Xem thông tin sản phẩm
Tác nhân chính Khách hàng Tiền điều kiện (Pre-
Condition)
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Đảm bảo thành công Khách hàng xem thông tin sản phẩm thành công Đảm bảo tối thiểu Trở lại màn hình chính
Kích hoạt Khách hàng chọn sản phẩm cần xem thơng tin
Chuỗi sự kiện chính
1. Khách hàng kích hoạt giao diện chính của hệ thống.
2. Hệ thống hiển thị giao diện chính với danh sản phẩm các sản phẩm của hệ thống và form "Tìm Kiếm Nhanh" có một textbox nhập tên sản phẩm, nút "Tìm"
3. Khách hàng nhập vào ơ tìm kiếm tên sản phẩm và click vào nút "Tìm".
4. Hệ thống tìm kiếm sản phẩm trong cơ sở dữ liệu và trả về danh sách sản phẩm mà Khách hàng yêu cầu tìm kiếm.
5. Khách hàng chọn một sản phẩm trong danh sách sản phẩm trả về và click vào "Chi Tiết"
6. Hệ thống hiển thị thông tin chi tiết sản phẩm đã chọn bao gồm: Tên Sản Phẩm, Ngày Đăng, Giá Bán, mô tả của sản phẩm và nút "Đặt mua"
Ngoại lệ:
3.1. Hệ thống thơng báo khơng có sản phẩm nào khớp với tên sản phẩm mà khách hàng yêu cầu tìm kiếm
3.1.1. Hệ thống yêu cầu Khách hàng nhập lại tên sản phẩm
3.1.2. Khách hàng nhập lại tên sản phẩm và tiếp tục các bước sau.
❖ Thêm sản phẩm vào giỏ hàng
Bảng 2. 5 Kịch bản use case thêm sản phẩm vào giỏ hàng
Tên Use Case Chỉnh sửa giỏ hàng
Tác nhân chính Thành viên Tiền điều kiện (Pre-
Condition)
Thành viên xem thông tin sản phẩm thành công
Đảm bảo thành công Hệ thống thêm thành công sản phẩm vào giỏ hàng Đảm bảo tối thiểu Trở lại màn hình xem thơng tin sản phẩm
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Kích hoạt Thành viên chọn “Đặt mua” từ Form Xem thơng tin sản phẩm
Chuỗi sự kiện chính:
1. Thành viên kích hoạt form Xem thơng tin sản phẩm
2. Hệ thống hiển thị form Xem thông tin sản phẩm bao gồm các thông tin: tên sản phẩm, ngày đăng, giá bán, mô tả sản phẩm và một nút “Đặt Mua”.
3. Thành viên click vào nút “Đặt Mua” và được hệ thống chuyển đến trang giỏ hàng.
4. Hệ thống sẽ hiển thị sản phẩm được chọn trong giao diện xem chi tiết giỏ hàng.
Ngoại lệ:
3. Thành viên click vào nút “Đặt mua” nhưng không được chuyển tới trang giỏ hàng
3.1. Thành viên click vào “Giỏ hàng” trên menu navigation và sản phẩm đã được hiển thị trong giao diện xem chi tiết giỏ hàng
❖ Chỉnh sửa số lượng của sản phẩm trong giỏ hàng
Bảng 2. 6 Kịch bản use case chỉnh sửa số lượng sản phẩm trong giỏ hàng
Tên Use Case Chỉnh sửa giỏ hàng
Tác nhân chính Thành viên Tiền điều kiện (Pre-
Condition)
Thành viên xem chi tiết giỏ hàng
Đảm bảo thành công Số lượng sản phẩm trong giỏ hàng được cập nhật thành công.
Đảm bảo tối thiểu Trở lại màn hình xem chi tiết giỏ hàng
Kích hoạt Thành viên chọn nút “Cập nhật giỏ hàng” trên Form Giỏ hàng
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
1. Thành viên kích hoạt form Xem chi tiết Giỏ hàng
2. Hệ thống hiển thị danh sách sản phẩm gồm các thông tin: STT, Tên hàng, Số lượng, đơn giá, thành tiền, một link "Xóa" sản phẩm, một nút “Thêm Sản Phẩm Vào Giỏ ”, một nút “Cập nhật giỏ hàng” và một nút “Thanh toán”.
3. Khách hàng sửa số lượng sản phẩm tương ứng với tên sản phẩm muốn sửa số lượng, và click chọn “Cập nhật giỏ hàng”.
4. Hệ thống kiểm tra số lượng sản phẩm, cập nhật lại số lượng sản phẩm trong giỏ hàng và hiển thị lại giao diện Xem chi tiết giỏ hàng.
Ngoại lệ:
3.1. Số lượng sản phẩm khách hàng nhập không hợp lệ.
3.1.1. Hệ thống trả lại giá trị số lượng trước khi khách hàng hàng nhập giá trị không hợp lệ.
3.1.2. Khách hàng nhập lại số lượng sản phẩm và tiếp tục thực hiện các bước sau.
❖ Xóa sản phẩm trong giỏ
Bảng 2. 7 Kịch bản use case xóa sản phẩm trong giỏ hàng
Tên Use Case Chỉnh sửa giỏ hàng
Tác nhân chính Thành viên Tiền điều kiện (Pre-
Condition)
Thành viên xem chi tiết giỏ hàng
Đảm bảo thành công Sản phẩm được xóa thành cơng khỏi giỏ hàng. Đảm bảo tối thiểu Trở lại màn hình xem chi tiết giỏ hàng
Kích hoạt Thành viên chọn nút “Xóa” trên Form Giỏ hàng
Chuỗi sự kiện chính:
1. Thành viên kích hoạt form Xem chi tiết giỏ hàng
2. Hệ thống hiển thị danh sản phẩm sản phẩm gồm: STT, Tên sản phẩm, đơn giá, số lượng, Thành tiền, một linktext "Xóa" sản phẩm, nút "Thêm Sản Phẩm Vào Giỏ" , "Cập nhật giỏ hàng", "Thanh toán"
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
3. Thành viên click chọn “Xóa” tương ứng với sản phẩm cần xóa. 4. Hệ thống xóa sản phẩm trong giỏ hàng
5. Hệ thống hiển thị lại giao diện xem chi tiết giỏ hàng.
❖ Đặt hàng
Bảng 2. 8 Kịch bản use case đặt hàng
Tên Use Case Đặt hàng
Tác nhân chính Thành viên Tiền điều kiện (Pre-
Condition)
Thành viên xem chi tiết giỏ hàng
Đảm bảo thành công Thành viên đặt hàng thành công Đảm bảo tối thiểu Trở lại màn hình xem chi tiết giỏ hàng
Kích hoạt Thành viên chọn nút “Đặt mua” trên Form Xem chi tiết giỏ hàng
Chuỗi sự kiện chính:
1. Thành viên kích hoạt form Xem chi tiết giỏ hàng.
2. Hệ thống hiển thị danh sản phẩm sản phẩm gồm: STT, Tên sản phẩm, đơn giá, số lượng, Thành tiền, một linktext "Xóa" sản phẩm, nút "Thêm Sản Phẩm Vào Giỏ" , "Cập nhật giỏ hàng", "Thanh toán"
3. Thành viên click chọn “Thanh toán”.
4. Hệ thống hiển thị form "Thơng Tin Người Thanh Tốn" (gồm có: Tên Khách Hàng, Email, Số Điện Thoại, Địa Chỉ) và form "Thông Tin Giao Hàng" (gồm có: Ngày Giao Hàng, nút "Date", Nơi Giao Hàng)
5. Thành viên nhập tất cả các thông tin bắt buộc và click chọn “Order”.
6. Hệ thống kiểm tra các thông tin trong các form cập nhật thông tin đặt hàng vào cơ sở dữ liệu.
7. Thành viên click vào nút "Thanh Toán"
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Ngoại lệ:
6. Hệ thống thông báo thông tin người nhận không hợp lệ.
6.1 Hệ thống yêu cầu nhập lại thông tin người nhận. 6.2 Thành viên nhập lại thông tin và tiếp tục các bước sau.
2.2. PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ CỦA TRANG WEB 2.2.1. Phân tích yêu cầu 2.2.1. Phân tích u cầu
❖ Mơ tả hệ thống
- Khách hàng sau khi truy cập vào hệ thống thì có thể thực hiện các chức năng như tìm kiếm sản phẩm, xem thơng chi tiết sản phẩm, xem danh sách sản phẩm theo danh mục và đăng nhập. Nếu khách hàng chưa đăng nhập mà muốn thêm sản phẩm vào giỏ hàng thì sẽ được yêu cầu đăng nhập.
- Thành viên đã đăng nhập thì sẽ có thể thêm sản phẩm vào giỏ hàng, kiểm tra và chỉnh sửa giỏ hàng, đặt hàng, nhập thông tin giao hàng để đặt hàng. - Đối với những người dùng chưa có tài khoản để đăng nhập vào hệ thống thì
người dùng có thể đăng ký tài khoản mới.
2.2.2. Phân tích hệ thống
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Hình 2. 2 Sơ đồ thực thể ❖ Lược đồ cơ sở dữ liệu ❖ Lược đồ cơ sở dữ liệu
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Hình 2. 3 Lược đồ cơ sở dữ liệu
- Mỗi lớp thực thể đề xuất thành một bảng tương ứng trong CSDL
o Bảng CT_DONDATHANG o Bảng DONDATHANG o Bảng ADM o Bảng HOA o Bảng LOAI_HOA o Bảng KHACH_HANG o Bảng ADM o Bảng TIN_TUC o Bảng LIEN_HE
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Bảng 2. 9 Thông tin dữ liệu của các phần tử trong bảng KHACH_HANG
KHACH_HANG
Field name Data type Length constrain Decription
Ma_kh int Identity(1,1) Not null Mã Khách Hàng Ho_kh NVarChar 30 Not null Họ KHách Hàng Ten_kh NVarChar 30 Not null Tên Khách Hàng sdt VarChar 12 Not null Số Điện Thoại Dia_chi NVarChar 200 Not null Địa Chỉ
email VarChar 50 Not null E Mail
Gioi_tinh int Not null Giới Tính
Ten_dn VarChar 30 Not null Tên Đăng Nhập
Mat_khau VarChar 30 Not null Mật Khẩu
Bảng 2. 10 Thông tin dữ liệu của các phần tử trong bảng ADM
ADM
Field name Data type Length constrain Decription
Ma_adm Int Identity(1,1) Mã Admin
Ten_dn VarChar 30 Not null Tên Đăng Nhập Mat_khau VarChar 30 Not null Mật Khẩu
ho VarChar 30 Not null Họ
ten VarChar 30 Not null Tên
Gioi_tinh int Not null Giới Tính
Bảng 2. 11 Thơng tin dữ liệu của các phần tử trong bảng LIEN_HE
LIEN_HE
Field name Data type Length constrain Decription
Ma_lh Int Identity(1,1) Mã Liên hệ
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Sdt_nguoi_lh VarChar 12 Not null Số Điện Thoại email_nguoi_lh VarChar 50 Not null Email
gioi_nguoi_lh int Not null Giới Tính
diachi_nguoi_lh NVarChar 300 Not null Địa Chỉ Noi_dung NVarChar 1000 Not null Nội Dung
Ngay_lh timestamp Not null Ngày Liên Hệ
Bảng 2. 12 Thông tin dữ liệu của các phần tử trong bảng TIN_TUC
TIN_TUC
Field name Data type Length constrain Decription
Ma_tt Int Identity(1,1) Mã Tin Tức
Tieu_de NVarChar 80 Not null Tiêu Đề Hinh_anh VarChar 50 Not null Đường Dẫn Ảnh Noi_dung NVarChar 3000 Not null Nội Dung
Ngay_dang timestamp Not null Ngày Đăng
Bảng 2. 13 Thông tin dữ liệu của các phần tử trong bảng LOAI_HOA LOAI_HOA LOAI_HOA
Field name Data type Length constrain Decription
Ma_loai int Identity(1,1) Mã Loại Sản Phẩm Ten_loai NVarChar 30 Not null Tên Loại Sản Phẩm
Bảng 2. 14 Thông tin dữ liệu của các phần tử trong bảng HOA HOA HOA
Field name Data type Length constrain Decription
Ma_hoa int Identity(1,1) Mã Sản Phẩm
Ten_hoa NVarChar 30 Not null Tên Sản Phẩm
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Mo_ta NVarChar 300 Not null Mô Tả
Hinh_anh VarChar 50 Not null Đường Dẫn Ảnh
Gia Float Not null Giá Sản Phẩm
Ngay_d DateTime Not null Ngày Đăng Hàng Trang_thai int Not null Loại Hình Sản Phẩm
Bảng 2. 15 Thông tin dữ liệu của các phần tử trong bảng DONDATHANG DONDATHANG DONDATHANG
Field name Data type Length constrain Decription
Ma_dh Int Identity(1,1) Mã Hóa Đơn
Ma_kh Int Not null Mã Khách Hàng
Ngay_dh timestamp Not null Ngày Đặt Hàng Ngay_gh DateTime Not null Ngày Giao Hàng Noi_giao NVarChar 300 Not null Nơi Giao Hàng
Hien_trang int Not null Hiện Trạng
Bảng 2. 16 Thông tin dữ liệu của các phần tử trong bảng CT_DONDATHANG CT_DONDATHANG CT_DONDATHANG
Field name Data type Length constrain Decription
Ma_dh Int Not null Mã Hóa Đơn
Ma_hoa Int Not null Mã Sản Phẩm
Gia_ban Float Not null Giá
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
2.2.3. Sở đồ website
Hình 2. 4 Sơ đồ web siêu thị bán hoa online
2.3. KẾT LUẬN CHƯƠNG 2
Chương 2 của đồ án đã phân tích yêu cầu và thiết kế của website, vẽ sơ đồ thực thể, lược đồ cơ sở dữ liệu, thông tin dữ liệu của các bảng và sơ đồ của website, tạo
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
kịch bản cho các chức năng chính: đăng nhập, đăng ký, xem thơng tin sản phẩm, thêm sản phẩm vào giỏ hàng, sửa giỏ hàng, đặt hàng.
Trong chương 3 sẽ thực hiện thiết kế các test case cho các chức năng chính của hệ thống và đưa ra phương hướng giải quyết cho bài toán kiểm thử tự động ứng dụng Web.
CHƯƠNG 3: ỨNG DỤNG WEBDRIVERIO TRONG KIỂM THỬ WEB SIÊU THỊ BÁN HOA ONLINE
Chương 3 tập trung xây dựng kịch bản kiểm thử cho các chức năng chính của website. Đồng thời đưa ra quy trình thực thi kiểm thử tự động, phương hướng giải quyết bài toán và đưa ra báo cáo cho kết quả kiểm thử
3.1 . THIẾT KẾ TEST CASE CHO CÁC CHỨC NĂNG CHÍNH
Thiết kế test case: Nhằm chỉ định các test case và các bước kiểm thử chi tiết cho mỗi phiên bản phần mềm. Giai đoạn thiết kế test case là hết sức quan trọng, nó bảo đảm tất cả các tình huống kiểm tra “quét” hết tất cả yêu cầu cần kiểm tra ứng với các chức năng của website.
3.1.1. Chức năng đăng kí tài khoản
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
a) Đặc tả kỹ thuật của chức năng đăng ký
Để sử dụng thêm nhiều chức năng của hệ thống thì khách hàng phải có tài khoản và đăng nhập vào hệ thống. Khi chưa có tài khoản đăng nhập thì khách hàng càn đăng ký tài khoản mới.
❖ Trang đăng ký tài khoản mới (form Đăng Ký Khách Hàng) bao gồm:
• Tên Đăng Nhập, Mật Khẩu, Họ, Tên, Số Điện Thoại, Email, Địa Chỉ Nhà, Giới Tính, Nhập Lại Mã Xác Nhận Bên Cạnh. Trong đó “Mã xác nhận” sẽ thay đổi mỗi khi trang được làm mới.
• Một nút “Đăng Ký” và một nút “Làm trắng Form”. Khi click “Làm trắng Form” thì tồn bộ dữ liệu trên form đăng ký sẽ được reset, còn khi click vào nút “Đăng Ký” thì hệ thống sẽ thơng báo đăng ký thành công nếu các trường đăng ký đều được nhập giá trị hợp lệ.
Bảng 3. 1 Mô tả yêu cầu chức năng đăng ký
Tên trường Bắt Buộc Khoảng hợp lệ Khác Tên Đăng Nhập Có 3 – 30 kí tự bao
gồm chữ hoặc số
Tên Đăng Nhập chưa tồn tại trong cơ sở dữ liệu Không chứa khoảng trắng hay kí tự đặc biệt, tiếng việt có dấu Mật Khẩu Có 6 – 30 kí tự bao gồm chữ hoặc số và kí tự đặc biệt Họ Có Khơng Tên Có Khơng
Số Điện Thoại Có 10 -11 kí tự số Khơng được bỏ trống
Email Có Khơng Khơng được bỏ trống
Phải nhập đúng định dạng của email
SVTH: Tạ Hữu Đức Lớp: KTĐT & THCN K58
Giới Tính Khơng Khơng
Mã xác minh Có Khơng Phải nhập chính xác mã xác minh hiển thị bên cạnh textbox
b) Phân tích các trường hợp kiểm thử
❖ Test Validate (Kiểm tra tính hợp lệ của các giá trị đầu vào)
- Tên Đăng Nhập:
o Dựa vào khoảng hợp lệ đã được mô tả trong đặc tả kỹ thuật, sử dụng kỹ thuật phân vùng tương đương, chúng ta xác định được 3 vùng giá trị cần test như sau:
▪ Vùng hợp lệ: vùng từ 3 đến 30 kí tự chữ và số
▪ Vùng khơng hợp lệ: vùng ít hơn 3 kí tự, vùng từ 31 kí tự chữ và số trở lên
o Dựa vào các yêu cầu khác, chúng ta có 3 vùng tương đương nữa là: ▪ Vùng hợp lệ: tên chưa tồn tại
▪ Vùng khơng hợp lệ: vùng khoảng trắng, tên đã có trong cơ sở dữ liệu
- Mật khẩu:
o Vùng hợp lệ: vùng từ 6 đến 30 kí tự chữ, số và kí tư đặc biệt
o Vùng khơng hợp lệ: vùng ít hơn 6 kí tự, vùng từ 31 kí tự chữ, số và