Design Test case là gì

Test case là mô tả một dữ liệu đầu vào [input], hành động [action] hoặc một sự kiện [event] và kết quả truy vấn [expected response]. Test case nhằm kiểm tra từng chức năng của ứng dụng phần mềm hoạt động đúng hay không.

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 có thể được định nghĩa khác nhau 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.

Quá trình phát triển test case có thể giúp tìm ra lỗi trong các yêu cầu hoặc thiết kế của ứng dụng, vì nó đòi hỏi phải tư duy hoàn toàn thông qua các hoạt động của ứng dụng. Vì lý do này, việc chuẩn bị test case sớm nhất có thể trong qui trình phát triển phần mềm là rất hữu ích.

Vai trò của test case

Test case là rất quan trọng trong bất kì dự án nào vì đây là bước đầu tiên trong quá trình test và nếu có gì đó sai sót ở bước này sẽ kéo theo hệ quả ở các giai đoạn tiếp theo trong vòng đời test.

Một tester luôn phải biết dữ liệu nào cần thực hiện test, thứ tự test đây là điều kiện quyết định cho việc test

Test case liệt kê yêu cầu của khách hàng. Là việc quan trọng để xác định những thay đổi mà khách hàng mong muốn. Khi thay đổi một số chức năng của việc test nó cũng không thay đổi chức năng của phần mềm hay ứng dụng.

Một bản test case bắt buộc phải có từng trạng thái riêng để người trưởng nhóm biết được chức năng nào của ứng dụng đã được test và chưa được test, những chức năng nào nhiều lỗi và ngược lại.

Cấu trúc cơ bản của test case

Tùy thuộc vào từng template của từng công ty nên cấu trúc của test case sẽ khác nhau. Tuy nhiên, về cơ bản thì test case bao gồm các thành phần chính sau đây:

Test case ID: Đánh số id theo thứ tự tăng dần, mỗi 1 ID tương ứng 1 case

Module to be tested: Tên module hoặc requirement id[thường được đánh dấu để đánh dấu sự liên quan giữa module và requirement]


Function name: Tên các function lớn nhất và tên các function con.

Test data: Data dùng để test[có thể ghi tên data hoặc đường dẫn lưu file]

Pre-condition: Ghi điều kiện tiền nếu có

Test steps: Mô tả chi tiết từng bước để thực hiện case này.

Expected results: Kết qủa mong muốn theo như Requirement mô tả.

Actural results: Kết qủa thực tế khi test, 1 là pass 2 là fail.

Comments: Thêm thông tin bổ sung như ảnh chụp màn hình, thông tin đăng nhập, tên chức năng khác cũng bị ảnh hưởng.

Date excute test: Ghi ngày tháng năm thực hiện test.

Excute test by: Tên người thực hiện test.

Cấu trúc của test case

Các nhóm chính của test case:

GUI test case: Là tất cả các test case được thiết kế để kiểm tra giao diện.

Positive test case:  Là test case tích cực. Là những trường hợp nhập dữ liệu đúng, hợp lệ.

Negative test case: Là những TCs tiêu cực. Là những TCs nhập dữ liệu sai, không  hợp lệ.

Combination test case: Là những TCs đc kết hợp cả 2 loại Positive TC và Negative TC: Bao gồm nhiều steps đúng/sai phức tạp và cuối cùng là step đúng.

Những bước quan trọng để bạn viết được một test case hiệu quả

Đầu tiên, phải xác định được phạm vi và mục đích của việc test.

Xác định những điểm có thể test, hiểu mục đích của việc test, bạn phải hiểu được nội dung requirement.

Xác định được cách thực hiện test. Một file test case thường phải có: các chức năng cơ bản, giao diện trực quan, có khả năng chịu lỗi cao và hiệu năng của file test. Dựa vào yêu cầu của hệ thống để có hướng thiết kế file test case tốt.

File test case cần có những step test đơn giản, minh bạch, dễ hiểu, các trường hợp thử nghiệm nên có giá trị, tóm tắt và ngắn, test case nên có sự liên kết, test case có thể bảo trì, chuẩn bị dữ liệu test. Dữ liệu test nên đa dạng ứng với các trường hợp kiểm thử. Các dữ liệu hợp lệ, không hợp lệ, data lỗi.

Một câu hỏi kinh điển, nhưng chưa bao giờ lỗi thời mà mọi ứng viên tester nhận được trong vòng phỏng vấn là “Test Case là gì?”. Hãy cùng Got It tìm ra lời đáp cho câu hỏi này nhé.

TEST CASE LÀ GÌ?

Test case [trường hợp kiểm thử] được định nghĩa là các đầu vào [input], điều kiện kiểm thử, quy trình kiểm thử và kết quả truy vấn [expected result] với một mục tiêu kiểm thử cụ thể, đó là kiểm tra các tính năng của phần mềm trước khi đến với người dùng cuối.

TEST CASE VS TEST SCENARIO – KỊCH BẢN THỬ NGHIỆM

Tại sao lại có sự so sánh này? Rất nhiều người lầm tưởng rằng không có sự khác biệt nào giữa Test Case và Test Scenario, đồng nghĩa với việc hai cụm từ này có thể sử dụng thay thế nhau. Điều này dẫn đến khi được hỏi làm sao để phân biệt hai khái niệm này, nhiều tester tỏ ra bối rối.

Test Scenario đề cập đến các tính năng cần được kiểm thử của một phần mềm. Một Test Scenario có thể bao gồm nhiều Test Case.

Tóm lại, nếu nếu Test Case trả lời câu hỏi “Như thế nào?”, thì Test Scenario trả lời câu hỏi “Cái gì?”

TẠI SAO PHẢI VIẾT TEST CASE ?

Mục tiêu chính của bất cứ test case nào cũng là đảm bảo các tính năng của một phần mềm đang hoạt động đúng như mong đợi. Nó giúp các tester xác định liệu phần mềm đã hết các khiếm khuyết [defect] hay đáp ứng được mong đợi khi được tung ra thị trường, hay đến với người dùng cuối.

Ngoài ra, test case còn:

  • Đảm bảo phạm vi kiểm thử
  • Giúp cải thiện chất lượng phần mềm
  • Giảm chi phí bảo hành và hỗ trợ phần mềm
  • Giúp xác định phần mềm đáp ứng yêu cầu của người dùng cuối
  • Tạo cơ hội cho các tester suy nghĩ thấu đáo và nhìn nhận sản phẩm từ nhiều góc độ
  • Có thể tái sử dụng trong tương lai – bất cứ ai cũng có thể tham khảo test case và tiến hành chúng
Test case là gì? Các bước viết test case

CÁC BƯỚC VIẾT TEST CASE

Dù đích đến là kiểm thử những tính năng khác nhau, cách viết Test Case là không thay đổi.

Bước 1: Đặt tiêu đề gây ấn tượng mạnh

Bước 2: Giới thiệu về Test Case. Ở bước này, bạn sẽ trình bày tính năng nào của phần mềm sẽ được kiểm tra, có thể thêm một số thông tin khác như môi trường kiểm thử, dữ liệu kiểm thử.

Bước 3: Đặt ra các assumption hay điều kiện tiên quyết mà bạn cho là cần thiết để quá trình kiểm thử có thể diễn ra.

Bước 4: Trình bày các bước kiểm thử, lưu ý phải các bước phải chính xác và rõ ràng

Bước 5: Đưa ra kết quả truy vấn. Nhờ có kết quả truy vấn mà các tester có thể xác định kiểm thử là “pass” hay “fail”

MỘT SỐ MẪU TEST CASE

Từ các bước được liệt kê trên, các bạn có thể dễ dàng đoán được một Test Case thường sẽ bao gồm những thông tin gì. Dưới đây là một số mẫu Test Case tiêu biểu:

Mẫu Test Case đơn giản
Một mẫu Test Case với màu sắc thú vị hơn
Mẫu Test Case đơn giản nhưng không kém phần màu sắc

Các bạn có thể dễ dàng mô phỏng các mẫu trên hay tự tạo một mẫu bằng cách sử dụng Google Sheet hay Microsoft Excel.Nếu không, bạn cũng có thể tìm mẫu thích hợp qua các trang web cung cấp template miễn phí.

Những loại Test Case phổ biến

Các Test Case thường được chia thành hai nhóm: Kiểm thử chức năng và Kiểm thử phi chức năng.

Kiểm thử chức năng là kiểm thử các hành vi của phần mềm dựa trên yêu cầu của người dùng. Một số loại kiểm thử chức năng bao gồm:

  • Kiểm thử tích hợp: Kiểm thử giao tiếp dữ liệu giữa các module của phần mềm
  • Kiểm thử cơ sở dữ liệu: Kiểm tra độ chính xác và toàn vẹn của dữ liệu
  • Kiểm thử giao diện người dùng [GUI]: Kiểm thử những thành phần của giao diện người dùng như thẩm mỹ, lỗi dịch thuật…
  • Kiểm thử chấp nhận người dùng [UAT]: Kiểm tra liệu phần mềm đã đáp ứng yêu cầu của người dùng chưa

Kiểm thử phi chức năng kiểm tra các yếu tố không liên quan đến chức năng của phần mềm như hiệu suất.

  • Kiểm thử hiệu năng: Kiểm thử để đảm bảo các chức năng của phần mềm hoạt động hiệu quả
  • Kiểm thử bảo mật: Kiểm tra các lỗ hổng trong hệ thống
  • Kiểm thử khả năng sử dụng: Kiểm thử cách người dùng tiếp cận và sử dụng phần mềm

Nếu bạn là người mới bắt đầu, chúng tôi hi vọng bài viết đã giải đáp phần nào những thắc mắc của bạn. Còn nếu bạn sắp tham gia một cuộc phỏng vấn để trở thành một kỹ sư kiểm thử, hi vọng bạn sẽ chinh phục được nhà tuyển dụng nhờ những thông tin về test case là gì ở trên!

Nguồn tham khảo:

//www.edureka.co/blog/test-case-in-software-testing/ //www.guru99.com/test-case-vs-test-scenario.html
Types of Test Cases in Software Testing
How to Write Test Cases for Software [with a sample]

Tìm hiểu thêm:

  • Test Type là gì?
  • Những câu hỏi thường gặp khi phỏng vấn Test Engineer

Video liên quan

Chủ Đề