Test case là gì? Thành phần test case cần nắm - ITNavi

ITNavi15 Mar 2021 33699

Testing (Kiểm thử phần mềm) là một phần không thể thiếu trong quy trình sản xuất phần mềm. Kiểm thử giúp đảm bảo chất lượng sản phẩm, mang lại sản phẩm hoàn hảo đến tay người dùng, hạn chế những lỗi và rủi ro cho khách hàng. Test case được coi là bộ tài liệu tổng quát để kiểm thử diễn ra tốt nhất. Cùng ITNavi tìm hiểu test case là gì, thành phần và cách viết test case hiệu quả nhất.

Test case là gì là vấn đề được rất nhiều người bắt đầu nghề tester quan tâm và tìm hiểu

1. Test case là gì?

Theo wikipedia: Test caselà “một tập hợp các thông số đầu vào kiểm thử, điều kiện thực thi, và kết quả mong đợi được phát triển cho một mục tiêu cụ thể, như thực hiện một chương trình cụ thể hay kiểm tra sự tuân thủ với một yêu cầu cụ thể.” 

Vậy test case là gì? Test case (Kịch bản kiểm thử) hiểu đơn giản là tài liệu dùng để mô tả: Dữ liệu đầu vào (Input) – Hành động (Active) – Kết quả mong đợi (Expected response) để xác định một chức năng của ứng dụng phần mềm hoạt động đúng hay không.

Test case thường được Tester viết trên Excel hoặc Google Sheet. Một test case có thể có các phần đặc thù khác nhau như mã test case, tên test case, mục tiêu test, các điều kiện test, các yêu cầu data input, các bước thực hiện và các kết quả mong đợi. Mức chi tiết test case dựa vào ngữ cảnh của dự án và quy mô của công ty sản xuất phần mềm.

 

2. Các thành phần chính của test case template

Ngoài việc tìm hiểu test case là gì, nắm vững được các thành phần test case cũng đóng vai trò quan trọng để tạo nên được những bộ test case chất lượng. Test case template (biểu mẫu) thường gồm 5 phần chính: ID, mục đích kiểm thử, các bước thực hiện, kết quả mong đợi & kết quả thực tế.

Một test case template thông thường được tester tạo để bắt đầu quá trình kiểm thử

ID của test case là gì?

ID của test case là giá trị cần để xác định số lượng trường hợp cần để kiểm thử. Công thức viết ID có thể tham khảo như sau: Ký tự viết tắt tên dự án + Số thứ tự. Ví dụ: Tên dự án là ITNavi Blog, ID có thể đặt như sau: IB1, IB2, IB3…

Mục đích kiểm thử (Summary)

Mục đích kiểm thử mô tả ngắn gọn tester sẽ “Kiểm tra chức năng gì?” hay “Test những gì”. Tại đây, tester sẽ đề cập một cách chi tiết những gì mình sẽ test. Ví dụ: Check nhập ký tự đặc biệt vào field “Password”

Các bước thực hiện (Steps to reproduce)

Các bước thực hiện trong test case là mục mô tả ngắn gọn, rõ ràng các bước thực hiện test. Steps to reproduce phải đi kèm dữ liệu đầu vào của test. Dữ liệu test chính là phần Input (Dữ liệu đầu vào) để kiểm tra xử lý hệ thống và trả ra kết quả mong đợi. Việc xác định dữ liệu đầu vào của test khá tốn thời gian khiTester phải xử lý data để tìm ra nhập cái gì sẽ ra được kết quả mong muốn.

Ví dụ: Tester nhập dữ liệu test

  1. Nhập username = ITNavi
  2. Nhập password = 12345678
  3. Click button [Login]

=> Đăng kí ngay: Webinar “Xây dựng lộ trình tự học lập trình hiệu quả”

 

Kết quả mong muốn (Expected results)

Trong test case, Expected results hiển thị kết quả mong đợi từ những bước kiểm thử. Tester sẽ đề cập một cách rõ ràng kết quả mong đợi của ứng dụng hoặc hệ thống. Từ căn cứ kết quả mong đợi, tester sẽ đánh giá được phần mềm có Lỗi ( bug/defect) không, test case bị Fail không. Kết quả mong đợi sẽ dựa vào tài liệu nghiệp vụ, yêu cầu khách hàng đưa ra.

Ví dụ: Đăng nhập không thành công - Hệ thống báo lỗi khi nhập quá ký tự cho phép vào field “Username”

Kết quả thực tế (Test results) của test case

Test results trong test case sẽ hiển thị kết quả thực tế từ những bước thực hiện trên môi trường của hệ thống. Thông thường, tester sẽ đánh giá test case sau quá trình kiểm thử là: pass, fail & pending.Trong quá trình test, nếu kết quả không giống như mong đợi thì tester sẽ điền Fail. Nếu kết quả khớp với mong đợi có nghĩa test case thành công, tester sẽ điền Pass. Trạng thái Pending được hiểu đơn giản là test case đang gặp vấn đề cần phải thảo luận lại để tiếp tục kiểm thử.

Mẫu test case tiếng anh có đầy đủ các thành phần chính và một số mục phụ hỗ trợ

 

3. Xác định các trường hợp của test case

Bộ test case chất lượng, có hiệu quả sẽ giúp xác nhận độ bao phủ kiểm thử của ứng dụng, đồng thời tài liệu quan trọng để xác nhận phần mềm có đủ tiêu chuẩn để triển khai hay không. Để testcase có độ bao phủ cao, cần xác định trường hợp kiểm thử để không bỏ xót những trường hợp quan trọng. Với 1 giá trị cần kiểm tra luôn luôn có 3 trường hợp lớn cần kiểm tra có thể xảy ra:

  • Normal case: Các trường hợp kiểm thử thông thường.
  • Abnormal case: Các trường hợp kiểm thử bất bình thường.
  • Boundary case: Các trường hợp kiểm tra boundary (Phân tích giá trị biên).

Ví dụ:  Trường hợp kiểm tra chức năng email:

  • Normal case sẽ gồm:

- Login đúng địa chỉ email đã tồn tại trong hệ thống.

- Login địa chỉ email chưa tồn tại trong hệ thống.

- Login sai địa chỉ email không khớp với emal đã tồn tại trong hệ thống

  • Abnormal case sẽ gồm:

- Login với email không có ký tự @

- Login khi đang offline mode (Không có internet)

- Login khi có điện thoại gọi đến

  • Boundary case sẽ gồm:

- Kiểm tra khi nhập email có ký tự tối thiểu vào ô text

- Kiểm tra khi nhập email có ký tự tối đa vào ô text

Xác định đủ trường hợp test case để có thể bao hàm phạm vi rộng nhất tìm ra lỗi phần mềm

 

4. Một số lưu ý khi khác khi viết test case là gì?

  • Viết test case đơn giản, minh bạch, dễ hiểu. Tránh viết rườm rà, dài dòng, không đúng thông tin.
  • Ưu tiên viết ngắn gọn, rõ ràng để các tester khác có thể đọc hiểu và test theo được.
  • Dữ liệu test cần được ghi đầy đủ ở từng testcase tránh trường hợp bắt đầu test mới đi tìm Input.
  • Khi viết xong testcase nên được review chéo bởi tester khác trong team.
  • Khi viết test case phải từ vị trí người dùng, người đang trải nghiệm phần mềm.
  • Không nên gộp quá nhiều kết quả confirm vào 1 case. Nên tách mỗi kết quả confirm ra từng case tránh lộn xộn, sai lệch kết quả test.
  • Test case nên vận dụng các kỹ thuật phổ biến. Ví dụ kiểm thử hộp đen nên vận dụng kỹ thuật: Phân tích giá trị biên (Boundary Value Analysis), phân vùng tương đương (Equivalence Partitioning), bảng quyết định (Decision Table), đoán lỗi (Error guessing).

Kết luận

Hy vọng bài viết trên đã giúp các tester tương lai hiểu được test case là gì cũng như các thành phần chính của test case template và những điều cần lưu ý khi xây dựng testcase.
Bạn có thể tìm hiểu thêm các việc làm tester tại nền tảng kết nối việc làm ITNavi hoặc tham khảo thêm các kiến thức thuộc nghề tester.

Xem thêm:

Tester là gì? Tester cần những kiến thức và kỹ năng gì?

Integration Testing là gì? Các bước làm việc trong kiểm thử

ITNavi - Nền tảng kết nối việc làm IT

Nguồn:Test case là gì? Thành phần test case cần nắm - ITNavi

Bài viết liên quan

NEWSLETTER

Nhập địa chỉ email của bạn dưới đây để đăng ký nhận tin mới nhất

KẾT NỐI VÀ THEO DÕI
Tin tức đặc biệt