You are on page 1of 14

Nhóm 1

STT Họ Tên Công việc


1 Nguyễn Đào Linh Đan Đặc tả yêu cầu
2 Võ Thị Diễm My Đặc tả yêu cầu
3 Nguyễn Trương Hoài Nam Vẽ UML - usecase
4 Lý Thanh Phát Vẽ UML - usecase
5 Lê Đức Toàn Cài cắm vài bug vào trong sản phẩm &
chụp màn hình note lại

KIỂM THỬ PHẦN MỀM

Bài tập chương 1: Tổng quan về kiểm thử phần mềm

MỤC LỤC
I. ĐẶC TẢ YÊU CẦU.............................................................................................2
I.1 Các yêu cầu chức năng..................................................................................2
I.1.1 Các tác nhân............................................................................................2
I.1.2 Các chức năng hệ thống.........................................................................3
A. Các chức năng của Khách hàng/Người dùng ......................................3
B. Các chức năng của Admin.....................................................................6
I.2 Unified Modeling Language - UML...........................................................10
I.2.1 Usecase Diagram...................................................................................10
II. CÀI CẮM BUG VÀO SẢN PHẨM................................................................12

1
I. ĐẶC TẢ YÊU CẦU:
I.1 Các yêu cầu chức năng:

I.1.1. Các tác nhân:

- Hệ thống bao gồm các tác nhân: Admin, Nhân Viên, Khách Hàng

Hình 1.1: Các tác nhân của hệ thống

 Admin: Thành viên quản trị của hệ thống, có tất cả các quyền và chức năng:
 Đăng nhập
 Quản lý sản phẩm – CRUD
 Quản lý tài khoản (Client và User) – CRUD
 Quản lý hóa đơn
 Quản lý phân quyền
 Thống kê (Top 10, 5, …, từ ngày/tháng/năm đến ngày/tháng/năm, hiển thị tổng
doanh thu các mặt hàng, doanh thu từng mặt hàng)
 Nhân viên: Thành viên có chức năng được Admin cấp quyền
 Đăng nhập
 Đăng kí tài khoản (Admin tạo từ thông tin được cung cấp từ User)
 Khách hàng: Người dùng có các chức năng:
 Đăng kí/ Đăng nhập (Có thể đăng nhập bằng tài khoản Google hoặc đăng ký qua
xác nhận OTP email để được mua hàng)
 Xem/Chỉnh sửa thông tin cá nhân (Thay đổi số điện thoại, địa chỉ, thêm ảnh giao
diện)
 Tìm kiếm sản phẩm
 Xem thông tin sản phẩm

2
 Thêm sản phẩm vào giỏ hàng (chỉ thêm được sản phẩm khi đã đăng nhập, giỏ
hàng sẽ không bị mất sản phẩm nếu đóng tab)
 Xem giỏ hàng
 Đặt hàng
 Xem lịch sử mua hàng
 Đổi mật khẩu/Quên mật khẩu (Thông qua xác nhận OTP được gửi qua SMS)

I.1.2. Các chức năng hệ thống:

Hệ thống bao gồm các chức năng sau:

A. Các chức năng của Khách hàng/Người dùng:

1. Chức năng đăng ký thành viên:

 Input: Khách hàng phải nhập đầy đủ thông tin và đúng định dạng (email, phone number)
(*:là thông tin bắt buộc)
 Username: (*)
 Email: (*)
 Phone Number: (*)
 Address: (*)
 Password: (*)
 Repeat Password: (*)
 Process (Hệ thống): Kiểm tra thông tin đăng ký (đúng định dạng email, phone number,
kiểm tra email và phone number đã tồn tại chưa, yêu cầu nhập lại nếu email, phone
number bị trùng). Nếu thông tin chính xác sẽ gửi OTP đến email được đăng ký, người
dùng mở hòm thư nhận OTP và xác nhận vào form để tài khoản được duyệt từ trạng thái
“pending” sang “active”, sau khi xác nhận OTP thành công sẽ lưu thông tin và thông tin
đăng nhập vào CSDL.
 Output: Đưa ra thông báo đăng ký thành công hoặc yêu cầu nhập lại nếu thông tin không
hợp lệ

2. Chức năng xem/ chỉnh sửa thông tin cá nhân:

 Input: Khách hàng thêm thông tin Address, Phone Number (Đối với người dùng đăng
nhập bằng Google Account) và thêm/thay đổi ảnh đại diện đối với người dùng đăng nhập
thông thường
 Process (Hệ thống): Kiểm tra định dạng và Phone number đã tồn tại trong CSDL. Nếu
thông tin hợp lệ sẽ lưu thông tin vào CSDL.
 Output: Đưa ra thông báo nếu Phone number không đúng định dạng hoặc đã tồn tại, yêu
cầu nhập lại thông tin

3. Chức năng tìm kiếm sản phẩm:

3
 Input: Lọc sản phẩm theo Brands (Nike, Adidas, Puma,…) - Hãng, Categories (Sneakers,
Boots, Slippers,…) – Phân loại, hoặc đồng thời Brands và Categories. Sắp xếp theo giá
(Cao – Thấp, Thấp – Cao , lọc trong khoảng (100$ - 50000$, 100000$, …), (1000$, low
to high),…, Tìm kiếm theo tên sản phẩm, theo chữ cái,…
 Output: Hiện thông tin sản phẩm theo yêu cầu tìm kiếm

4. Chức năng xem thông tin sản phẩm:

 Input: Chọn sản phẩm muốn xem


 Description: Cho phép xem chi tiết thông tin sản phẩm (Mô tả, Brand, Category, Số
lượng mặt hàng theo từng size)
 Process: Lấy thông tin sản phẩm từ CSDL thông qua ProductID
 Output: Hiển thị thông tin chi tiết của sản phẩm

5. Chức năng thêm sản phẩm vào giỏ hàng:

 Input: Chọn sản phẩm muốn mua, điều chỉnh số lượng, chọn size, ấn “add to cart”
 Description: Cho phép thêm sản phẩm vào giỏ hàng
 Process: Lấy thông tin sản phẩm từ CSDL thông qua ProductID, ProductID này được lấy
từ biến session lưu các thông tin về mã sản phẩm, số lượng, size của từng sản phẩm mà
khách hàng chọn vào giỏ hàng
 Output: Thông báo đã thêm sản phẩm vào giỏ hàng thành công, thông báo “Your quantity
is invalid” nếu số lượng sản phẩm vượt quá số lượng sản phẩm được hiển thị hoặc số
lượng bằng 0, thông báo “you must select a valid size” nếu người dùng chưa chọn size
sản phẩm

6. Chức năng xem giỏ hàng:

 Input: Nhấn vào giỏ hàng


 Desciption: Cho phép xem chi tiết giỏ hàng, chỉnh sửa size, số lượng và xóa sản phẩm đã
được thêm vào giỏ hàng
 Process: Lấy thông tin sản phẩm từ CSDL thông qua ProductID, ProductID này được lấy
từ biến session lưu các thông tin về mã sản phẩm, số lượng, size của từng sản phẩm mà
khách hàng chọn vào giỏ hàng, các thông tin trong giỏ hàng sẽ được lưu vào table “Cart”
trong CSDL
 Output: Hiển thị thông tin về danh sách sản phẩm đã được thêm vào giỏ hàng (Tên sản
phẩm, hình ảnh, đơn giá, số lượng, size, tổng tiền sản phẩm)

7. Chức năng đặt hàng:

 Input: Sau khi xem giỏ hàng, khách hàng có nhu cầu đặt hàng có thể ấn vào “Buy Now”
 Description: Cho phép người dùng mua sản phẩm

4
 Process: Lưu thông tin khách hàng, thông tin hóa đơn vào CSDL, đồng thời xóa dữ liệu
đã được lưu ở table “Cart”
 Output: Thông báo đặt hàng thành công

8. Chức năng xem lịch sử mua hàng:

 Input: Ấn vào “Your orders”


 Description: Cho phép xem thông tin từng đơn hàng đã/đang được đặt mua, trong mỗi
đơn hàng hiển thị chi tiết thông tin sản phẩm (tên sản phẩm, hình ảnh, giá, size, tổng giá
tiền), trạng thái đơn hàng, mã đơn hàng
 Process: Lấy thông tin sản phẩm từ CSDL thông qua OrderDetailID, OrderDetailID này
được lấy từ biến session lưu các thông tin về mã sản phẩm, số lượng, size của từng sản
phẩm đã được mua
 Output: Hiển thị thông tin từng đơn hàng đã/đang được đặt mua, chi tiết đơn hàng, trạng
thái của đơn hàng “order is not confirmed”/ “order confirmed” nếu đơn hàng chưa được
duyệt/ đã được duyệt

9. Chức năng đổi mật khẩu/ quên mật khẩu:

 Input: Khách hàng phải thông tin và đúng định dạng (phone number) (*:là thông tin bắt
buộc)
 Phone number : (*)
 Process: Kiểm tra thông tin (đúng định dạng phone number và đã tồn tại chưa, yêu cầu
nhập lại nếu phone number chưa tồn tại). Nếu thông tin chính xác sẽ gửi OTP đến phone
number được đăng ký, người dùng mở SMS nhận OTP và xác nhận vào form, sau khi xác
nhận OTP thành công sẽ chuyển hướng sang trang đổi mật khẩu.
 New password: (*)
 Repeat new password: (*)
 Output: Đưa ra thông báo đổi mật khẩu thành công hoặc yêu cầu nhập lại nếu thông tin
không hợp lệ

10. Chức năng đăng nhập:

 Input: Người dùng nhập các thông tin email và password để đăng nhập hoặc đăng nhập
bằng Google Account
 Process: Kiểm tra thông tin nhập vào với thông tin có trong CSDL
 Output: Nếu đúng thông báo đăng nhập thành công và cho phép mua hàng, ngược lại
thông báo “email or password is wrong, please re-enter” nếu thông tin không chính xác

5
B. Các chức năng của Admin:

1. Chức năng đăng nhập:

 Input: Admin đăng nhập với email và mật khẩu


 Process: Kiểm tra thông tin nhập vào với thông tin có trong CSDL
 Output: Nếu đúng thông báo đăng nhập thành công và chuyển hướng đến trang quản lý,
ngược lại thông báo “email or password is wrong, please re-enter” nếu thông tin không
chính xác

2. Chức năng quản lý sản phẩm:

2.1. Chức năng tạo mới sản phẩm:

 Input: Ấn vào “Create new product”, điền đầy đủ thông tin sản phẩm (Tên sản phẩm, giá,
mô tả, category, brand, hình ảnh), ấn “save”để tạo mới sản phẩm
 Process: Kiểm tra những thông tin nào có thể trống (mô tả, hình ảnh), nếu phù hợp thì
thêm vào CSDL
 Output: Thông báo thêm sản phẩm thành công, load lại danh sách hiển thị sản phẩm

2.2. Chức năng chỉnh sửa sản phẩm:

 Input: Ấn vào “Quantity” trên từng sản phẩm, điền đầy đủ thông tin sản phẩm (size,
quantity), ấn “add quantity”để thêm mới số lượng với size. Ấn vào “Details” trên từng
sản phẩm, chỉnh sửa thông tin sản phẩm (Tên sản phẩm, giá, mô tả, category, brand, hình
ảnh), ấn “save” để lưu thông tin mới
 Process: Cập nhật thông tin mới cho sản phẩm
 Output: Thông báo chỉnh sửa sản phẩm thành công, load lại danh sách hiển thị sản phẩm

2.3. Chức năng xóa sản phẩm:

 Input: Ấn vào “Quantity” trên từng sản phẩm, ấn “delete”để xóa sản phẩm.
 Process: Xóa thông tin trong CSDL
 Output: Thông báo xóa sản phẩm thành công, load lại danh sách hiển thị sản phẩm

2.4. Chức năng xem sản phẩm:

 Input: Ấn vào “Product” trên Navbar


 Process: Hiển thị thông tin từ CSDL
 Output: Thông tin của tất cả sản phẩm (ID, Tên sản phẩm, giá, category, brand, quantity
chứa số lượng chi tiết và size chi tiết, action chứa thông tin chi tiết của từng sản phẩm)

3. Chức năng quản lý tài khoản:

3.1. Chức năng quản lý tài khoản User (những người làm việc với hệ thống):

6
3.1.1 Chức năng tạo mới User:

 Input: Ấn “Add new user”, Admin phải nhập đầy đủ thông tin và đúng định dạng (email,
phone number) (*:là thông tin bắt buộc)
 Username: (*)
 Full Name: (*)
 Birthday: (*)
 Gender: (*)
 Email: (*)
 Phone Number: (*)
 Address: (*)
 Password: (*)
 Repeat Password: (*)
 Choose user type option: “Admin”, “NhanVien” – Nếu không lựa chọn sẽ mặc
định là Admin
 Process (Hệ thống): Kiểm tra thông tin đăng ký (đúng định dạng email, phone number,
kiểm tra email và phone number đã tồn tại chưa, yêu cầu nhập lại nếu email, phone
number bị trùng). Thông tin hợp lệ sẽ lưu vào CSDL.
 Output: Đưa ra thông báo đăng ký thành công hoặc yêu cầu nhập lại nếu thông tin không
hợp lệ

3.1.2. Chức năng chỉnh sửa thông tin user:

 Input: Ấn vào “Details” trên từng user, chỉnh sửa thông tin cá nhân (Tên, phone, address,
username, password, gender, email, birthday, type), ấn “save” để lưu thông tin mới
 Process: Cập nhật thông tin mới vào CSDL
 Output: Thông báo chỉnh sửa thông tin user thành công, load lại danh sách hiển thị user

3.1.3. Chức năng xóa user:

 Input: Ấn vào “Details” trên từng user, ấn “delete”để xóa user.


 Process: Xóa thông tin trong CSDL
 Output: Thông báo xóa user thành công, load lại danh sách hiển thị user

3.1.4 Chức năng xem user:

 Input: Ấn vào “Users” trên Navbar


 Process: Hiển thị thông tin từ CSDL
 Output: Thông tin của tất cả users (ID, Username, Email, Phone, Password, Type, action
chứa thông tin chi tiết của từng user)

3.2. Chức năng quản lý tài khoản Client (người dùng):

7
3.2.1 Chức năng chỉnh sửa thông tin client:

 Input: Ấn vào “Details” trên từng client, chỉnh sửa thông tin cá nhân (Tên, phone,
address, username, password), ấn “save” để lưu thông tin mới
 Process: Cập nhật thông tin mới vào CSDL
 Output: Thông báo chỉnh sửa thông tin client thành công, load lại danh sách hiển thị
client

3.2.2 Chức năng xóa client:

 Input: Ấn vào “Details” trên từng client, ấn “delete”để xóa client.


 Process: Xóa thông tin trong CSDL
 Output: Thông báo xóa client thành công, load lại danh sách hiển thị client

3.2.3 Chức năng xem client:

 Input: Ấn vào “Clients” trên Navbar


 Process: Hiển thị thông tin từ CSDL
 Output: Thông tin của tất cả clients (ID, Username, Email, Phone, Password, action chứa
thông tin chi tiết của từng client)

4. Chức năng quản lý hóa đơn:

4.1. Chức năng xem thông tin chi tiết các đơn đặt hàng:

 Input: Ấn vào “Orders” trên Navbar, chọn “Details” để xem thông tin chi tiết của từng
đơn hàng (CustomerID, BuyDate, Trạng thái được duyệt, Mã sản phẩm, Tên sản phẩm,
số lượng, size)
 Process: Hiển thị thông tin từ CSDL
 Output: Thông tin của tất cả đơn hàng (Mã đơn hàng, mã khách hàng, ngày mua, trạng
thái đơn hàng - được duyệt/chưa được duyệt)

4.2. Chức năng lọc đơn hàng từ ngày/tháng/năm đến ngày/tháng/năm:

 Input: Nhập hoặc chọn từ cuốn lịch vào “From” và “To” để lọc ngày/tháng/năm muốn
lọc, có thể nhập thêm “Customer_ID” để xem đơn hàng cụ thể của từng khách hàng
 Process: Kiểm tra từ CSDL và lọc ra những đơn hàng có ngày mua trong khoảng được
lọc
 Output: Thông tin đơn hàng muốn xem

4.3 Chức năng xét duyệt đơn hàng:

 Input: Ấn “Details” và sửa “Status” với trạng thái “Yes/No”


 Process: Cập nhật CSDL
 Output: Thông báo xét duyệt đơn hàng thành công

8
4.4 Chức năng xóa đơn hàng:

 Input: Ấn “Details” và ấn “delete” để xóa đơn hàng


 Process: Xóa thông tin trong CSDL
 Output: Thông báo xóa đơn hàng thành công

5. Chức năng quản lý phân quyền (NhanVien/Admin):

 Input: Ấn “Account Action” và chọn “Admin” hoặc “NhanVien” ứng với từng Chức
năng/Nhóm “Quản lý sản phẩm” / “Quản lý hóa đơn” / “Quản lý tài khoản” / “Thống kê”
 Process: Cập nhật CSDL
 Output: User được phép theo các quyền được cấp

6. Chức năng thống kê:

6.1 Chức năng thống kê theo Category:

 Input: Nhập hoặc chọn từ cuốn lịch vào “From” và “To” để lọc ngày/tháng/năm muốn
lọc, nhập thêm “Search by Category” để xem thống kê của từng phân loại (Sneakers,
Boots, Crocs,…)
 Process: Kiểm tra từ CSDL và lọc ra những sản phẩm có trong khoảng được lọc
 Output: Thông tin các sản phẩm, doanh thu từng sản phẩm, tổng doanh thu

6.1 Chức năng thống kê theo Top:

 Input: Nhập hoặc chọn từ cuốn lịch vào “From” và “To” để lọc ngày/tháng/năm muốn
lọc, nhập thêm “Search by top sale” để xem thống kê Top (10, 5, 20,…)
 Process: Kiểm tra từ CSDL và lọc ra những sản phẩm có trong khoảng được lọc
 Output: Thông tin các sản phẩm, doanh thu từng sản phẩm, tổng doanh thu

9
I.2 Unified Modeling Language - UML:

I.2.1 Usecase Diagram:

10
11
II. CÀI CẮM BUG VÀO SẢN PHẨM:

- Lỗi chức năng:

Ta cài cắm bug vào bằng cách sửa đoạn code để không check lại mật khẩu

12
- Lỗi giao diện:

Ta cài cắm bug vào bằng cách sửa đoạn code để không xuất hiện các nút mua ở bên dưới sản phẩm

- Lỗi chính tả:

- Lỗi crash:

13
Cài cắm bug vào code để để không thể load được trang sản phẩm

- Lỗi liên kết page not found:

- Lỗi field validation:

Ta cài cắm bug vào code để khi kiểm tra 2 mật khẩu không giống nhau vẫn không hiện ra validation

14

You might also like