Thiết kế test case trong kiểm thử phần mềm
Trong quá trình kiểm thử không thể bỏ qua việc thiết kế test case. Việc này đòi hỏi cần có sự hiệu quả và có thể tái sử dụng, điều đó giúp cho quá trình kiểm thử tối ưu và tiết kiệm thời gian hơn. Bài viết này, chúng tôi sẽ chia sẻ tới bạn một số vấn đề về cấu trúc cũng như một số loại bộ test case để giúp bạn thiết kế test case hiệu quả hơn.
Nội Dung Bài Viết
Thành phần của test case gồm những gì?
Cấu trúc của một bộ test case nhằm đảm bảo các chức năng có hoạt động đúng hay không. Thiết kế test case thường được xây dựng trên Excel hay Google sheet. Mỗi loại test case có cấu trúc khác nhau, và độ chi tiết của test case phụ thuộc vào đặc thù dự án hay mô hình của công ty. Tuy nhiên, cấu trúc bộ test case bao gồm một số thành phần chính sau: Mã test case, tên chức năng, tên test case, điều kiện tiền đề, dữ liệu (data), các bước thực hiện, kết quả mong muốn.
- Mã test case (ID): Nhằm xác định số trường hợp thực hiện kiểm thử. Thường gắn với mã dự án hay tên chức năng viết tắt.
- Ví dụ: với chức năng login là Lg_001, Lg_002,…
- Tên chức năng (function name): Thực hiện kiểm thử ở chức năng nào. Trong chức năng này có những test case nào. Tester cần ghi ngắn gọn, súc tích.
- Ví dụ: Chức năng đăng nhập, chức năng đăng ký lịch học…
- Tên test case (test case name): Là những test case thuộc chức năng đã nói trên. Nên mô tả mình test cái gì, tester cần ghi ngắn gọn tên test case và tập trung vấn đề chính, lược bớt từ không liên quan, tránh quá dài dòng.
- Ví dụ: “Kiểm tra đăng nhập sai mật khẩu”, “Kiểm tra đăng ký khi để trống tất cả trường”, …
- Điều kiện tiền đề (precondition): Là một thành phần quan trọng trong thiết kế test case, nhằm kiểm tra các điều kiện giả định trước khi thực hiện test. Tester thực hiện mô tả, liệt kê các thông tin cần thiết, các điều kiện cần có trước khi thực hiện test. Ví dụ như là liên quan dữ liệu người dùng, liên quan đến môi trường test, setup trước khi test hay là sự liên quan giữa các case trước và case sau như thế nào,…
- Ví dụ: “Hiển thị màn hình đăng nhập”, “Hiển thị chi tiết tài khoản”, …
- Dữ liệu test (data test): Để tiết kiệm thời gian, tester nên đưa thông tin dữ liệu vào trong quá trình mô tả để người khác có thể thực hiện test luôn, tránh mất thời gian tạo và xác minh lại thông tin.
- Các bước thực hiện (step by step): Cần mô tả rõ ràng, ngắn gọn các bước thực hiện test để tất cả mọi người đều có thể hiểu. Nếu viết chỉ mình bạn hiểu sẽ mất công giải thích lại cho dev, hay vì lý do nào khác bạn phải chuyển dự án thì người tiếp nhận sau sẽ khó hiểu case bạn muốn viết. Vậy nên hãy làm đúng, đủ ngay từ đầu.
- Kết quả mong muốn (expected result): Trong quá trình viết test case, sẽ có mong muốn đầu ra sau khi thực hiện các bước test (output). Căn cứ vào kết quả này tester có thể đánh giá chức năng phần mềm có gặp lỗi hay không. Để xác định kết quả này có hợp lệ hay không, yêu cầu tester phải xem hiểu tài liệu nghiệp vụ, nắm được chức năng phần mềm, yêu cầu khách hàng và phạm vi chức năng thực hiện test.
- Ví dụ: Đăng ký thành công – Hiển thị thông báo “Đăng ký tài khoản thành công”
Một số loại thiết kế test case
Cấu trúc của bộ test case sẽ có phần khác nhau, do có nhiều loại thiết kế test case khác nhau, tùy thuộc vào mục đích và yêu cầu của phần mềm. Dưới đây là một số loại thiết kế test case phổ biến:
- Thiết kế bộ test case giao diện (GUI): Được sử dụng để kiểm tra các tương tác giữa người dùng và phần mềm, đảm bảo tính tương tác và sự dễ sử dụng của phần mềm. Thực hiện test dựa trên mô tả và thiết kế từ BA, nếu như chưa hợp lý tester có thể góp ý với BA để tiến hành chỉnh sửa phù hợp.
- Thiết kế bộ test case chức năng: Được sử dụng để kiểm tra tính năng của phần mềm, xác định liệu chúng có hoạt động đúng như mong đợi hay không.
- Thiết kế bộ test case hiệu năng: Được sử dụng để đo lường và kiểm tra tốc độ và khả năng chịu tải của phần mềm. Cái này dựa trên việc chạy trên chức năng riêng lẻ hay thực hiện một luồng các chức năng. Và bộ test case cần thể hiện được request trung bình, request lên server khi thực hiện kiểm tra tải.
- Thiết kế bộ test case bảo mật: Được sử dụng để kiểm tra các lỗ hổng bảo mật trong phần mềm, đảm bảo rằng các dữ liệu và thông tin được bảo vệ an toàn.
- Thiết kế test case API: Được sử dụng để kiểm tra các API gọi vào hệ thống hoặc chia sẻ cho hệ thống khác (nếu có). Việc này dựa vào yêu cầu dữ liệu và cần dev cung cấp cho chúng ta. Bộ test case cần có tối thiểu đường dẫn API đang test, tên test case và tính trạng pass/fail.
- Thiết kế bộ test case chấp nhận (UAT): Được sử dụng để kiểm tra tính đúng đắn của phần mềm, xác định liệu phần mềm có đầy đủ chức năng và đáp ứng các yêu cầu khách hàng hay không. Để thiết kế bộ test case này chúng ta nên dựa vào yêu cầu chức năng bài toán và phạm vi hợp đồng.
- Thiết kế bộ test case tự động: Được sử dụng để tạo ra các test case được thực hiện một cách tự động, giảm thời gian và tối ưu hóa quy trình kiểm thử. Việc này nên có chút kinh nghiệm thủ công và tư duy về lập trình để thực hiện lên test case.
Làm sao để đánh giá bộ test case được thiết kế hiệu quả
Để thiết kế test case hiệu quả, bạn có thể thực hiện một số bước sau:
- Xác định mục đích đánh giá: Trước khi bắt đầu đánh giá bộ test case, chúng ta cần phải xác định mục đích đánh giá. Mục đích này nhằm kiểm tra tính hợp lệ của bộ test case trong quá trình test, tính bao quát, sự kiểm soát thống kê được hay có thể thay phát triển mở rộng.
- Thực hiện kiểm thử: Chúng ta cần thực hiện kiểm thử các test case đã thiết kế để kiểm tra tính đúng đắn và hoạt động của phần mềm. Khi kiểm thử, chúng ta nên ghi nhận kết quả kiểm thử để đánh giá hiệu quả của các test case đã tạo.
- Phân tích kết quả kiểm thử: Sau khi đã thực hiện kiểm thử, chúng ta cần phân tích kết quả để đánh giá, review lại hiệu quả của bộ test case. Chúng ta có thể sử dụng các tiêu chí đánh giá đã xác định ở bước trước để phân tích kết quả hay review cách viết test case có được hiệu quả, người khác có dễ sử dụng hay có thể tái sử dụng hoặc mở rộng test case khi cần thiết hay không. Để thực hiện phân tích đúng, tester hay người đánh giá cần nắm rõ chức năng hệ thống, yêu cầu khách hàng hay mô tả bài toán nghiệp vụ và phạm vi chức năng test.
- Điều chỉnh bộ test case: Dựa trên kết quả phân tích, chúng ta có thể điều chỉnh bộ test case để nâng cao tính hiệu quả. Chúng ta có thể loại bỏ các test case không cần thiết, thêm các test case mới để bổ sung các kịch bản kiểm thử chưa được phủ đầy đủ hoặc sửa đổi các test case không đúng hoặc không hợp lý.
Kết luận
Dưới đây là một số lưu ý quan trọng trong quá trình viết test case:
- Cần thực hiện phân tích yêu cầu
- Các bước kiểm thử cần được miêu tả chi tiết
- Đảm bảo tính phủ của test case
- Kiểm tra và tối ưu test case
Hy vọng bài viết trên sẽ giúp các bạn viết được bộ test case tốt cho dự án của mình.
Đạt.Nđ
Leave a Comment