Test case là gì? Các kỹ thuật viết Test Case phổ biến
- Tháng Ba 18, 2022
- Posted by: codestar
- Category: Kiến Thức Kiểm Thử
Test case là gì? Trong bài viết hôm nay, Codestar sẽ giải thích khái niệm Testcase – kịch bản kiểm thử và các kỹ thuật viết test case phổ biến, được các công ty lớn tại Việt Nam áp dụng.
Testcase là gì?
Test Cases là 1 tập hợp các kịch bản để Tester có thể dựa vào nó để kiểm tra liệu 1 ứng dụng, hệ thống phần mềm hay một tính năng của nó có hoạt động như mong muốn hay không.
Test case là rất quan trọng trong bất kì dự án nào vì đây là bước có ảnh hưởng đến các giai đoạn tiếp theo trong vòng đời kiểm thử.
Testcase lệt kê cho một tester biết dữ liệu nào cần thực hiện test, thứ tự các case cần test,… Chúng đều là điều kiện tiên quyết cho việc thực hiện test
Vai trò của Testcase là gì?
Test Case là một thành phần thiết yếu trong quy trình phát triển phần mềm, không chỉ giúp phát hiện sớm các lỗi tiềm ẩn mà còn mang lại nhiều lợi ích chiến lược khác:
- Đảm bảo Chất lượng Sản phẩm (Quality Assurance): Việc xây dựng các kịch bản Test Case rõ ràng giúp kiểm soát chặt chẽ các tính năng, từ đó đảm bảo chất lượng đầu ra cuối cùng của sản phẩm khi bàn giao tới tay khách hàng.
- Phát hiện và Xác minh Lỗi (Error Detection & Verification): Test Case giúp xác định các lỗi và vấn đề, từ đó xác minh rằng phần mềm đang hoạt động chính xác và đáp ứng đúng các yêu cầu đã đề ra.
- Kiểm soát và Giảm thiểu Rủi ro (Risk Mitigation): Bằng cách kiểm thử toàn diện các khía cạnh của phần mềm, Test Case giúp kiểm soát rủi ro, giảm thiểu khả năng xảy ra các sự cố lớn hoặc gián đoạn nghiêm trọng sau khi sản phẩm đã được triển khai chính thức.
- Tăng Hiệu suất và Tiết kiệm Chi phí (Efficiency and Cost Saving): Khi quy trình kiểm thử được chuẩn hóa thông qua Test Case, hiệu suất công việc sẽ được cải thiện đáng kể, giúp tiết kiệm thời gian và giảm thiểu chi phí phát sinh do sửa lỗi muộn.
- Nền tảng cho Cải tiến Liên tục (Continuous Improvement): Những lỗi sai được phát hiện thông qua Test Case là cơ sở để doanh nghiệp phân tích và cải thiện sản phẩm. Việc này giúp nâng cao trải nghiệm người dùng, từ đó đóng góp vào sự tăng trưởng lợi nhuận trong tương lai.
Các thành phần cơ bản trong cấu trúc của một Testcase
Cấu trúc chi tiết của Test Case có thể được tùy biến tùy theo đặc thù của từng dự án và doanh nghiệp, nhưng nhìn chung thường bao gồm các thành phần cốt lõi sau:
- Mã Test Case (Test Case ID): Là giá trị định danh duy nhất, thường được tạo dưới dạng kết hợp chữ (in hoa hoặc thường) và số, được đánh dấu tăng dần để dễ dàng quản lý và xác định thứ tự.
- Mô tả Test Case (Test Case Description/Objective): Nêu rõ mục đích của kịch bản kiểm thử, tập trung vào việc kiểm tra một tính năng cụ thể hoặc một yêu cầu phần mềm để xác định xem ứng dụng có đáp ứng đúng các yêu cầu đó hay không.
- Dữ liệu Kiểm thử (Test Data): Là tập hợp dữ liệu đầu vào cần được chuẩn bị để thực hiện Test Case. Dữ liệu này có thể được lưu trữ trực tiếp hoặc tham chiếu bằng tên file/data.
- Các Bước Thực hiện (Test Steps): Mô tả chi tiết và tuần tự các hành động cần thực hiện để kiểm thử. Các bước này cần phải ngắn gọn, rõ ràng và đầy đủ, tránh bỏ sót bất kỳ sự kiện hay thao tác đơn giản nào trên ứng dụng.
- Kết quả Mong muốn (Expected Results): Là kết quả dự kiến hoặc kết quả lý tưởng mà hệ thống phải đạt được sau khi thực hiện các bước kiểm thử. Kết quả này phải phản ánh đúng yêu cầu của khách hàng hoặc đặc tả sản phẩm.
- Kết quả Thực tế (Actual Results/Test Results): Là kết quả thực tế thu được trong môi trường hệ thống sau khi hoàn tất việc thực hiện các bước kiểm thử. Kết quả này được ghi nhận dưới dạng trạng thái: Đạt (Pass), Không đạt (Fail), hoặc Đang chờ xử lý (Pending).
Các kỹ thuật viết testcase
Dưới đây là 3 kĩ thuật phổ biến nhất và hay được sử dụng để viết testcase:
Kỹ thuật phân vùng tương đương (EP)
Kỹ thuật phân vùng tương đương (Equivalence Partitioning – EP) là loại thiết kế test dạng hộp đen (black-box) mà trong đó, các test case sẽ được thiết kế là đại diện cho những phân vùng tương đương.
Phân vùng tương đương là 1 phân đoạn của miền giá trị đầu và hoặc đầu ra mà tại đó, các thành phần hoặc hệ thống sẽ có hoạt động giống nhau.
Để thực hiện phân vùng cho các lớp tương đương, chúng ta có 2 bước chính sau đây:
Bước 1: Xác định các phân lớp tương đương của đầu vào và đầu ra. Chọn từng điều kiện của đầu vào và đầu ra được mô tả trong spec, chia làm tối thiểu 2 phân lớp:
- 1 phân lớp thỏa mãn điều kiện – Phân lớp hợp lệ
- 1 phân lớp không thỏa mãn điều kiên – Phân lớp không hợp lệ
Bước 2: Dựa trên các phân lớp đã chia, lựa chọn test case tương ứng.
Phân tích giá trị biên (BVA)
Boundary Value Analysis – Là kỹ thuật thiết kế test case nhằm test những giá trị biên giữa các phân vùng với nhau.
Có 2 cách tiếp cận BVA:
- Kiểm thử 2 giá trị (Two value testing): giá trị ranh giới (trên đường biên) và giá trị nằm vượt quá chút đường biên (theo gia số nhỏ nhất có thể) được sử dụng.
- Kiểm thử 3 giá trị (Three value testing): Sử dụng giá trị trước biên, giá trị biên và giá trị vượt quá biên.
Nếu các giá trị biên thuộc phân lớp hợp lệ thì chúng là những giá trị hợp lệ. Ngược lại, nếu các giá trị biên thuộc phân lớp không hợp lệ thì chúng là những giá trị không hợp lệ.
Các test có thể được thiết kế để cover cả những giá trị hợp lệ và giá trị không hợp lệ. Khi thiết kế testcase, mỗi giá trị biên được chọn sẽ có 1 test.
Bảng quyết định (Decision Table)
Là một kỹ thuật black box, thích hợp cho việc kết hợp/nhóm các thành phần (Ví dụ các điều kiện đầu vào)
Bảng quyết định (Decision table) gồm 3 phần:
- Hàng điều kiện (Causes, condition)
- Hàng kết quả (Effect, Action, expected result)
- Giá trị kết hợp hoặc các Rules.
Kiểm thử động
Kiểm thử động được thực hiện khi đang thực thi code, trong môi trường thực thi chạy chương trình ứng dụng.
Khi thực thi code, đầu vào được truyền một giá trị, kết quả hoặc đầu ra của việc thực hiện được so sánh với kết quả dự kiến ban đầu đã đưa ra. Với việc này chúng ta có thể quan sát được các hành vi chức năng của phần mềm, giám sát hệ thống bộ nhớ, thời gian phản hồi của CPU, hiệu suất của hệ thống.
Kiểm thử động còn được gọi là kiểm thử xác nhận (Validation testing) để đánh giá sản phẩm.
Kiểm thử động gồm hai loại: Kiểm thử chức năng và Kiểm thử phi chức năng.
>> Tìm hiểu các chủ đề liên quan về Tester khác:
Hiện nay ở Hà Nội, không khó khăn để tìm kiếm những trung tâm đào tạo tester, những khoá học tester cho người mới. Tuy nhiên, để lựa chọn một cơ sở đào tạo tester uy tín, bạn cần cân nhắc và tham khảo nhiều yếu tố: lộ trình học tập, phương pháp đào tạo, đội ngũ giảng viên,…
Sau khi đã cân nhắc nhiều yếu tố như trên, xin giới thiệu tới mọi người 1 cơ sở đào tạo tester rất uy tín – CodeStar Academy. Với lộ trình đào tạo bài bản, bám sát thực tế công việc của Tester trong doanh nghiệp IT, khoá học Tester cho người mới tại CodeStar đang được đánh giá rất cao bởi không chỉ các bạn Học viên ở khu vực phía Bắc, mà còn các bạn Học viên các khu vực phía Nam, hay du học sinh,… Tại CodeStar, khi tham gia khoá học Tester cho người mới, bạn sẽ được cầm tay chỉ việc trên các dự án phần mềm có thật.