Skip to main content

8.1. Trải nghiệm cơ bản

Đặt vấn đề

  • Website thương mại điện tử cần một form để người dùng điền thông tin và đặt hàng.
  • Form này sẽ bao gồm các trường thông tin như tên, email, số điện thoại, địa chỉ giao hàng và lựa chọn phương thức thanh toán.
  • Nhiệm vụ của học viên là viết các testcase cho form này, áp dụng phương pháp phân vùng tương đương (Equivalence Partitioning) và giá trị biên (Boundary Value Analysis).

Yêu cầu (Requirements)

Các trường dữ liệu trong form:

  1. Họ và tên (Full Name)
    • Loại dữ liệu: Chuỗi văn bản.
    • Điều kiện hợp lệ: Bắt buộc và có độ dài từ 2 đến 100 ký tự, không chứa số hoặc ký tự đặc biệt.
    • Ví dụ không hợp lệ: "12345", "John@Doe"
  2. Email
    • Loại dữ liệu: Địa chỉ email.
    • Điều kiện hợp lệ: Bắt buộc và phải chứa ký tự "@" và "." trong phần tên miền.
    • Ví dụ không hợp lệ: "john.doe", "johndoe@com", "john@doe."
  3. Số điện thoại (Phone Number)
    • Loại dữ liệu: Chuỗi số.
    • Điều kiện hợp lệ: Bắt buộc và có 10 chữ số, bắt đầu bằng "0", không có ký tự khác.
    • Ví dụ không hợp lệ: "0987abc", "123", "0987654321x"
  4. Địa chỉ giao hàng (Shipping Address)
    • Loại dữ liệu: Địa chỉ văn bản.
    • Điều kiện hợp lệ: Bắt buộc và có độ dài từ 5 đến 200 ký tự, không quá dài.
  5. Phương thức thanh toán (Payment Method)
    • Loại dữ liệu: Dropdown (Chọn 1 trong các phương thức thanh toán)
    • Các giá trị hợp lệ: "Thanh toán qua thẻ tín dụng", "Thanh toán khi nhận hàng", "Thanh toán qua ví điện tử".
    • Ví dụ không hợp lệ: Không chọn phương thức thanh toán.

Hướng dẫn áp dụng các phương pháp

Phân vùng tương đương (Equivalence Partitioning)

  1. Họ và tên (Full Name)
    • Hợp lệ: Tên có độ dài từ 1 đến 100 ký tự.
    • Không hợp lệ: Tên rỗng, tên dài hơn 100 ký tự, tên chứa số hoặc ký tự đặc biệt.
  2. Email
    • Hợp lệ: Địa chỉ email đúng định dạng.
    • Không hợp lệ: Địa chỉ email không đúng định dạng.
  3. Số điện thoại (Phone Number)
    • Hợp lệ: Số điện thoại đúng định dạng (10 chữ số, bắt đầu bằng "0").
    • Không hợp lệ: Số điện thoại không đúng định dạng.
  4. Địa chỉ giao hàng (Shipping Address)
    • Hợp lệ: Địa chỉ có độ dài từ 5 đến 200 ký tự.
    • Không hợp lệ: Địa chỉ rỗng, địa chỉ dài hơn 200 ký tự, địa chỉ chứa ký tự đặc biệt.
  5. Phương thức thanh toán (Payment Method)
    • Hợp lệ: Chọn một trong các phương thức thanh toán.
    • Không hợp lệ: Không chọn phương thức thanh toán.

Giá trị biên (Boundary Value Analysis)

  1. Họ và tên (Full Name)
    • Biên dưới: 1 ký tự (hợp lệ), 0 ký tự (không hợp lệ).
    • Biên trên: 100 ký tự (hợp lệ), 101 ký tự (không hợp lệ).
  2. Email
    • Biên dưới: Địa chỉ email hợp lệ (ví dụ: "a@b.com"), địa chỉ email không hợp lệ (ví dụ: "a@b").
    • Biên trên: Địa chỉ email hợp lệ (ví dụ: "a@b.com"), địa chỉ email không hợp lệ (ví dụ: "a@b.c").
  3. Số điện thoại (Phone Number)
    • Biên dưới: 10 chữ số (hợp lệ), 9 chữ số (không hợp lệ).
    • Biên trên: 10 chữ số (hợp lệ), 11 chữ số (không hợp lệ).
  4. Địa chỉ giao hàng (Shipping Address)
    • Biên dưới: 5 ký tự (hợp lệ), 4 ký tự (không hợp lệ).
    • Biên trên: 200 ký tự (hợp lệ), 201 ký tự (không hợp lệ).
  5. Phương thức thanh toán (Payment Method)
    • Biên dưới: Chọn một phương thức thanh toán (hợp lệ), không chọn phương thức nào (không hợp lệ).
    • Biên trên: Chọn một phương thức thanh toán (hợp lệ), không chọn phương thức nào (không hợp lệ).

Các trường hợp họ và tên không hợp lệ thường thấy trong thực tế

1. Họ và tên có ký tự số

  • Ví dụ: John123 Doe, 1234 John
  • Giải thích: Họ và tên không được phép chứa số.

2. Họ và tên có ký tự đặc biệt

  • Ví dụ: John@Doe, J@hn Doe, John! Doe
  • Giải thích: Họ và tên không thể chứa ký tự đặc biệt như @, !, #, v.v.

3. Họ và tên quá ngắn (dưới 2 ký tự)

  • Ví dụ: J D, A B
  • Giải thích: Họ và tên phải có ít nhất 2 ký tự.

4. Họ và tên quá dài (vượt quá 100 ký tự)

  • Ví dụ: John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe John Doe
  • Giải thích: Họ và tên không được phép dài quá 100 ký tự.

5. Họ và tên có khoảng trắng thừa

  • Ví dụ: John Doe, John Doe, John Doe
  • Giải thích: Không nên có khoảng trắng thừa ở đầu, giữa hoặc cuối tên.

6. Họ và tên chỉ có 1 phần tên (Không có họ)

  • Ví dụ: John, Doe
  • Giải thích: Họ và tên phải có cả họ và tên, không chỉ một phần.

7. Họ và tên chỉ có ký tự đặc biệt hoặc dấu cách

  • Ví dụ: #@!$, (chỉ có khoảng trắng)
  • Giải thích: Họ và tên không thể chỉ là các ký tự đặc biệt hoặc chỉ chứa khoảng trắng.

8. Họ và tên có ký tự dấu cách liên tiếp

  • Ví dụ: John Doe (2 khoảng trắng giữa họ và tên)
  • Giải thích: Không thể có dấu cách liên tiếp giữa họ và tên.

9. Họ và tên có dấu nháy đơn hoặc nháy kép

  • Ví dụ: John 'Doe', John "Doe"
  • Giải thích: Họ và tên không thể chứa dấu nháy đơn hoặc nháy kép.

10. Họ và tên chứa ký tự ngoài bảng chữ cái

  • Ví dụ: John, Doe, John. Doe, John? Doe
  • Giải thích: Họ và tên không thể chứa dấu chấm, dấu phẩy hoặc dấu chấm hỏi.

11. Họ và tên có số lượng ký tự quá dài cho từng phần

  • Ví dụ: JohnJohnJohnJohnJohnJohnJohnJohnJohnJohnJohnJohnJohnJohnJohnJohnDoe
  • Giải thích: Mặc dù tổng cộng họ và tên có thể hợp lệ về độ dài, nhưng mỗi phần của họ và tên không được quá dài (mỗi phần không quá 50 ký tự, ví dụ).

12. Họ và tên chứa các ký tự có dấu

  • Ví dụ: José Doe, Nguyễn Văn A
  • Giải thích: Nếu không hỗ trợ ký tự có dấu, sẽ cần kiểm tra xem hệ thống có chấp nhận hay không. Tuy nhiên, trường hợp này là hợp lệ trong nhiều ngữ cảnh.

13. Họ và tên có chữ cái viết hoa không hợp lý

  • Ví dụ: jOHN DOE, john doe
  • Giải thích: Một số hệ thống yêu cầu chữ cái đầu tiên của họ và tên phải viết hoa, và các chữ cái còn lại là viết thường.

Các trường hợp email không hợp lệ thường thấy trong thực tế

1. Email không có ký tự '@'

  • Ví dụ: johndoe.com, john.doe.com
  • Giải thích: Email phải có ký tự '@' để phân tách tên người dùng và tên miền.

2. Email không có tên miền

  • Ví dụ: john.doe@, johndoe@.com
  • Giải thích: Email phải có tên miền hợp lệ sau ký tự '@'.

3. Email có ký tự đặc biệt không hợp lệ

  • Ví dụ: john.doe@exam!ple.com, john@doe#.com
  • Giải thích: Email không thể chứa các ký tự đặc biệt như !, #, $, %, v.v.

4. Email quá ngắn (dưới 5 ký tự)

  • Ví dụ: j@d.c, a@b.c
  • Giải thích: Email phải có ít nhất 5 ký tự.

5. Email quá dài (vượt quá 254 ký tự)

  • Ví dụ: john.doe@ + a.repeat(245) + .com
  • Giải thích: Email không được phép dài quá 254 ký tự.

6. Email có khoảng trắng thừa

  • Ví dụ: john.doe@example.com, john.doe@ example.com, john.doe@example.com
  • Giải thích: Không nên có khoảng trắng thừa ở đầu, giữa hoặc cuối email.

7. Email chỉ có ký tự đặc biệt hoặc dấu cách

  • Ví dụ: #@!$, (chỉ có khoảng trắng)
  • Giải thích: Email không thể chỉ là các ký tự đặc biệt hoặc chỉ chứa khoảng trắng.

8. Email có dấu nháy đơn hoặc nháy kép

  • Ví dụ: john 'doe'@example.com, john "doe"@example.com
  • Giải thích: Email không thể chứa dấu nháy đơn hoặc nháy kép.

9. Email chứa ký tự ngoài bảng chữ cái

  • Ví dụ: john, doe@example.com, john.doe@example.com.
  • Giải thích: Email không thể chứa dấu chấm, dấu phẩy hoặc dấu chấm hỏi.

10. Email có số lượng ký tự quá dài cho từng phần

  • Ví dụ: john.doe@ + a.repeat(245) + .com
  • Giải thích: Mặc dù tổng cộng email có thể hợp lệ về độ dài, nhưng mỗi phần của email không được quá dài (mỗi phần không quá 64 ký tự, ví dụ).

Bài tập

  1. Viết các testcase chi tiết cho từng trường dữ liệu trong form, bao gồm cả các trường hợp hợp lệ và không hợp lệ.
  2. Sử dụng cả hai phương pháp phân vùng tương đương và giá trị biên để đảm bảo rằng tất cả các trường hợp đều được kiểm tra.
  3. Đảm bảo rằng các testcase của bạn bao gồm các bước thực hiện, dữ liệu đầu vào, kết quả mong đợi và kết quả thực tế (nếu có thể).
  4. Trình bày các testcase của bạn dưới dạng bảng hoặc danh sách để dễ dàng theo dõi và đánh giá.