---
# System prepended metadata

title: Test Scenario

---

Test Scenario
===

# 1. Integration Test:

- List ra các case cần test và điều kiện passed
- Sắp xếp các test case 1 cách hợp lý
- Test từ trên xuống dưới

# 2. System Test:

- List ra các case cần test và điều kiện passed
- Sắp xếp các test case 1 cách hợp lý
- Test từ trên xuống dưới
- Note:
  - System test thì test scenario cần test các tính năng với nhau:
    - Ví dụ 1:
      - Tính năng A và B liên quan tới nhau ở mục C
      - Test những trường hợp liên quan mục C
    - Ví dụ 2:
      - Khách Hàng liên quan tới Sản Phẩm Thuê/Sản Phẩm Bán ở mục Khách Hàng Phù Hợp nếu đang ở View Sản Phẩm và Sản Phẩm Phù Hợp ở View Khách Hàng
  - Viets test scenario viết sao có thể bao quát và test được các tính năng cốt lõi của hệ thống
  - System test scenario cũng bao gồm các test để confirm các tính năng đó chạy được.

# 3. Checklist confirm release:

- List ra các case cần test và điều kiện passed
- Sắp xếp các test case 1 cách hợp lý
- Test từ trên xuống dưới





# 4. Bài Tập:

## 4.1. Viết test scenario cho integration test:
- Tính năng: Sản Phẩm Thuê
- Testcases - Điều kiện Passed:
  - Thêm mới sản phẩm "Cho thuê" (Thêm thành công)
  - Thêm mới sản phẩm "Chuyển nhượng" (Thêm thành công)
  - Vào mục quản lý => xem sản phẩm mới được tạo (search thấy => thành công)
  - Vào mục tìm kiếm => xem sản phẩm mới được tạo (search thấy => thành công)
  - Update sản phẩm "Cho thuê" từ list sản phẩm (cập nhật thành công)
  - Update sản phẩm "Chuyển nhượng" từ chi tiết sản phẩm (cập nhật thành công)
  - Vào mục quản lý => xem thông tin mới cập nhật (có hiện sự thay đổi theo cập nhật => thành công)
  - Vào mục tìm kiểm => xem thông tin mới cập nhật (có list các sản phẩm của mình và người khác tạo, hiện sự thay đổi theo cập nhật => thành công)
  - Vào sản phẩm "Cho thuế" từ list sản phẩm (xem được thông tin chi tiết sản phẩm => thành công)
  - Update tình trạng Close deal (có cập nhật tình trạng sang Close Deal  => thành công)
  - Bấm xem trên website (xem được => thành công)
  - Vào mục tìm kiếm => tìm sản phẩm mới cập nhật close deal (có thêm badge close deal ở top)
  - Update tình trạng Close deal lần nữa (thay đổi từ close deal sang bình thường)
  - Vào mục tìm kiếm => tìm sản phẩm mới cập nhật close deal (có thêm badge close deal ở top)
  - Bấm chuyển nhượng (chuyển nhượng được sang người khác  => thành công)
  - Vào mục tìm kiểm => tìm sản phẩm mới chuyển nhượng (tên người đăng thay đổi  => cập nhật chuyển nhượng thành công)
  - Xóa sản phẩm (xóa thành công sản phẩm)
  - Vào mục tìm kiểm => xem thử có tên sản phẩm bị xóa (không có => thành công)

### Note:
- Test scenario cần ngắn gọn
- Viết như một người mới bắt đầu sử dụng hệ thống
- Các bước nào liên quan tới nhau
- Đi theo một luồng

## 4.2. Viết test scenario cho System Test:
- Các tính năng cần test: Khách Hàng và Sản Phẩm Thuê
- Testcases - Điều kiện Passed:
  - Thêm mới khách hàng (Thêm khách hàng thành công)
  - Tạo Sản Phẩm với địa chỉ không trùng với địa chỉ khách hàng muốn (Thêm sản phẩm thành công)
  - Vào Khách Hàng - Tìm Kiếm (có khách hàng mới tạo trong list => thành công)
  - Xem chi tiết Khách Hàng (không có sản phẩm đó xuất hiên => thành công)
  - Vào Sản Phẩm - Tìm Kiếm, Update địa chỉ Sản Phẩm giống với địa chỉ cần thuê của Khách hàng (cập nhật thành công)
  - Vào khách hàng - xem chi tiết (sản phẩm vừa cập nhật có xuất hiện trong list phù hợp với khách hàng => thành công)
  - Vào sản phẩm - xóa sản phẩm (xóa thành công)
  - Vào khách hàng - chi tiết khách hàng (không có sản phẩm đó trong list => thành công)

### Note: 
- Có thể sót bugs, vì đây chỉ mới test theo flow của 1 user
- Cách chọn testcase cho test scenario:
  - Chọn testcases sao cho tổng quát được luồng đi/sử dụng hệ thống của một user bình thường
  - Không nên dư thừa, vẫn phải đảm bảo các tính năng trọng tâm của hệ thống nếu ở system test hoặc tính năng cụ thể nếu ở integration test