Low Level Test Case

Duy Văn | 23/12/2024


Khái niệm

Sau khi đã viết được một cái High Level Test Case và tạo được RTM, đống TC và RTM sẽ được đưa đi review bởi các thành viên trong team test gọi là peer review. Sau khi đã review xong, ổn thoả thì giờ sẽ phải biến chúng nó thành Low Level Test Case.

Low Level Test Case chính là cái Test Case đúng nghĩa mà chúng ta dùng để chạy test, nó là tập hợp các đầu vào, tiền điều kiện, kết quả mong muốn hay hậu điệu kiện để nhằm xác minh tính chính xác của sản phẩm phần mềm theo yêu cầu.

Vậy thì Low Level Test Case sẽ cần có đầy đủ thông tin, kiểu dạng như mở rộng từ một High Level Test Case:

  • Tên : Tên của Test Case
  • Tiền điều kiện: Điều kiện cần thoả mãn trước khi có thể thực hiện test case
  • Bước thực hiện: Các bước cần thực hiện để thực hiện test case
  • Kết quả mong muốn: Kết quả mà chúng ta mong muốn sau khi thực hiện test case
  • Hậu điều kiện: Điều kiện xảy ra sau khi thực hiện test case

Với kinh nghiệm, một low level test case sẽ có template như sau:

Test Case IDTest Case TitleTest Case DescriptionPreconditionStepsExpected ResultTest DataPriorityStatus
Test Case IDID của một Test Case thì sẽ đặt theo tuỳ dòng dự án, đôi khi nó còn được generate tự động ,gần như random. Tuy nhiên, nếu thực hiện viết test case trên spreadsheet dạng excel thì ID này phải tự viết
Test Case TitleTên của Test Case, về cơ bản chúng ta sẽ lấy luôn High Level Test Case làm title
Test Case DescriptionMô tả các thông tin cơ bản của Test Case, ví dụ như thực hiện ở màn hình nào, URL là gì, sử dụng trình duyệt nào, tool nào,…
PreconditionĐiều kiện cần thoả mãn, thì có 2 kiểu viết:
Một là viết chay (chỉ áp dụng với viết spreadsheet), ví dụ như một test case User successfully login... thì cần phải vào được màn hình đấy trước, vậy nên Precondition sẽ là User navigate to login page
Hai là dùng link (áp dụng cho cả spreadsheet và đặc biệt là khi dùng tool), precondition sẽ là một link nối sang một test case khác mà test case đó phải được thực hiện trước khi thực hiện test case đang viết
StepsCác bước thực hiện, mỗi bước sẽ là một dòng, mỗi bước sẽ có một số thứ tự, mỗi bước sẽ có một mô tả ngắn gọn, đầy đủ chủ ngữ vị ngữ
Expected ResultKết quả mong muốn sau khi thực hiện bước đó, tương ứng với mỗi một bước thực hiện bên Steps sẽ là một dòng kết quả
Test DataDữ liệu cần thiết để thực hiện test case, ví dụ như username, password, hay là cần đưa vào file
PriorityMức độ ưu tiên của Test Case, có thể là tuỳ dòng dự án mà có quy chuẩn khác nhau, nhưng cơ bản sẽ có 5 mức, P0, P1, P2, P3, P4
Mức độ ưu tiên của Test Case sẽ biểu diễn mức quan trọng hay có thể là thứ tự ưu tiên của test case khi chạy, có hai tiêu chí để xác định:
Một test case mà cần được thực hiện trước rất nhiều test case, hay nói cách khác nó là precondition của rất nhiều test case thì mức độ ưu tiên thường phải cao, có thể là P0 hay P1
Các test case cover tính năng chính và quan trọng của sản phẩm, thì ưu tiên cũng sẽ cao
Các test case cover những tính năng nhỏ, ít quan trọng hay ví dụ như test UI thì ưu tiên không cao, thường là P3 P4
StatusStatus ở đây sẽ không phải là Pass hay Fail nhé, ta đang không chạy mà chỉ đang viết, vậy nên status này sẽ là New, Approved, In Progress, Obsolete, … tuỳ dòng dự án, nhưng nôm na nó sẽ nói lên trạng thái của test case trên phương diện nghiệp vụ

Ví dụ

Hãy lấy ví dụ test case từ High Level Test Case User successfully login to the system with username 'admin' and password 'admin'

  • Đầu tiên, chúng ta cần có một test case gọi nôm na là Navigate để đưa user đến màn hình đăng nhập, đương nhiên nó ĐÃ có một High Level Test Case tương ứng là Navigate to login page, nhưng ở đây để ví dụ cả Precondition thì mình sẽ viết cho 2 High Level Test Case
Test Case IDTest Case TitleTest Case DescriptionPreconditionStepsExpected ResultTest DataPriorityStatus
TC001Navigate to login pageEnvironment : Test
Browser: Chrome
URL: None
None1. Open browser and navigate to URL https://127.0.0.1:40001. User is navigated to login pageNot appliedP0New
TC002User successfully login to the system with username ‘admin’ and password ‘admin’Environment : Test
Browser: Chrome
URL: htpps://127.0.0.1:4000
TC0011. Input username ‘admin’
2. Input password ‘admin’
3. Click on login button
1. ‘admin’ is filled for username field
2. ‘admin’ is filled for password field
3. User navigate to account dashboard
Not appliedP0New

Cả hai test case đều có ưu tiên là P0, do cả hai đều cover tính năng đăng nhập , là tính năng quan trọng nhất của hệ thống, và cả hai đều mới được viết ra, nên status là New

Ngoài ra, có một kiểu viết khác như sau:

Test Case IDTest Case TitleTest Case DescriptionPreconditionStepsExpected ResultTest DataPriorityStatus
TC002User successfully login to the system with ${username} and ${password}Environment : Test
Browser: Chrome
URL: htpps://127.0.0.1:4000
TC0011. Input username ${username}
2. Input password ${password}
3. Click on login button
1. ${username} is filled for username field
2. ${password} is filled for password field
3. User navigate to account dashboard
${username} = ‘admin’
${password}=’admin’
P0New

Kiểu này thì mình không khuyến khích vì nó hơi technical thái quá

Hãy thử viết test case để kiểm tra tính năng tìm kiếm của ebay.com

Kết luận

Đến đây thì bạn đã có thể bắt đầu viết test case rồi. Nếu đang viết bằng speadsheet, hãy chú ý một số tip sau:

  • Có thể chia các test case ra vào các sheet theo màn hình

Các test case chia theo màn hình