.3 Kịch bản use case tìm kiếm sản phẩm

Một phần của tài liệu NGHIÊN CỨU WEBDRIVERIO VÀ ÁP DỤNG TRONG KIỂM THỬ TỰ ĐỘNG ỨNG DỤNG WEB (Trang 29)

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à

Một phần của tài liệu NGHIÊN CỨU WEBDRIVERIO VÀ ÁP DỤNG TRONG KIỂM THỬ TỰ ĐỘNG ỨNG DỤNG WEB (Trang 29)