Test case là gì? 5 bước giúp bạn tạo test case chất lượng

Nội Dung ChínhTest case là gì?Vai trò của Test caseCấu trúc của một Test case là gì?Các nhóm chính của Test case là gì?Các loại Test case phổ biến hiện nayFunctionality Test CaseUser Interface Test CasePerformance Test CaseIntegration Test CaseUsability Test CaseDatabase Test CaseSecurity Test Case (Test case bảo mật)User Acceptance Test CaseNhững kỹ thuật … Tiếp tục đọc Test case là gì? 5 bước giúp bạn tạo test case chất lượng


Với những người mới tìm hiểu chắc hẳn còn rất lạ lẫm với thuật ngữ test case trong quy trình thiết kế phần mềm. Vậy Test case là gì? Làm thế nào để tạo được những biểu mẫu test case chất lượng? Tất cả sẽ được Vietnix chia sẻ chi tiết đến bạn đọc trong bài viết sau đây!

Test case là gì?

Test case hay kịch bản kiểm thử được dùng để kiểm tra các tình huống có thể xảy ra, từ đó xác định xem ứng dụng phần mềm hay một chức năng ứng dụng có hoạt động đúng hay không.

Test case mô tả những yếu tố sau:

  • Dữ liệu đầu vào (Input).
  • Hành động (Active) – Sự kiện (Event).
  • Kết quả mong đợi (Expected response).

Bộ test case có mức độ chi tiết khác nhau tùy thuộc vào ngữ cảnh của dự án và quy mô công ty sản xuất phần mềm.

Testcase là gì?
Testcase là gì?

Testcase được phát triển trên Excel, World. Quy trình phát triển test case có thể giúp tìm lỗi trong quá trình thiết kế ứng dụng. Do đó, việc chuẩn bị test case càng sớm giúp phát hiện lỗi càng nhanh và giúp rút ngắn thời gian thiết kế phần mềm.

Banner Hosting Cao Cấp dành cho SEOer

Vai trò của Test case

Vai trò chính của test case là đảm bảo tính năng ứng dụng hoặc ứng dụng được thiết kế hoạt động với kết quả đúng như mong đợi. Đây là bước đầu tiên trong quá trình test mà bất cứ Tester nào cũng phải thực hiện. Nếu xây dựng test case không chất lượng có thể gây sai sót, ảnh hưởng tới các bước tiếp theo.

Ngoài vai trò chính này, test case còn có vai trò quan trọng trong việc:

  • Đảm bảo phạm vi kiểm thử.
  • Phát hiện các lỗi, bug, thiếu sót trong tính năng và giúp cải thiện chất lượng phần mềm. Quá trình vận hành, bảo trì và cập nhật cũng trở nên dễ dàng hơn.
  • Giúp xác định liệu phần mềm đã đáp ứng đầy đủ mong muốn người dùng chưa. Nếu chưa thì lập trình viên cần xem xét và sửa lại trước khi tung phần mềm ra thị trường.
  • Tester có thể thực hiện nhiều test case cùng lúc để nhìn nhận phần mềm ở nhiều góc độ khác nhau.
  • Test case có thể được tái sử dụng vô hạn trong tương lai, miễn là tester cảm thấy phù hợp.
Vai trò của Test case
Vai trò của Test case

Cấu trúc của một Test case là gì?

Để hiểu và thực hành thành thạo phần test case, bạn cần hiểu được cấu trúc của một bản kiểm thử bao gồm những thành phần nào. Thực tế, cấu trúc của test case sẽ khác nhau ở từng dự án, từng công ty.

Sau đây là những thành phần chính bạn có thể bắt gặp khi xây dựng test case:

  • Mã test case (ID test case): Giá trị cần để xác định thứ tự của test case. ID có thể bao gồm chữ và số được đánh dấu theo thứ tự tăng dần.
  • Mục đích kiểm thử (Test case Description): Mô tả mục đích của test case là kiểm tra chức năng nào. Ở mục này, Tester sẽ mô tả công việc thực hiện.
  • Dữ liệu kiểm thử (Test Data): Dữ liệu cần chuẩn bị để thực hiện việc kiểm thử, có thể có hoặc không tùy từng quy mô dự án. Tester có thể để ở dạng tên data hoặc đường dẫn tới file.
  • Các bước thực hiện (Test Steps): Mô tả chi tiết những bước thực hiện test. Tuy nhiên, Tester nên mô tả một cách ngắn gọn và thật rõ ràng. Đồng thời không nên bỏ qua các sự kiện thiết yếu để có thể dễ dàng thực hiện lại khi có lỗi.
  • Kết quả mong muốn (Expected Results): Hiển thị kết quả mong đợi từ những bước kiểm thử. Kết quả mong muốn thường dựa trên yêu cầu của khách hàng hoặc đánh giá theo tài liệu chuyên môn.
  • Kết quả thực tế (Test Results): 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 sẽ là pass, fail hoặc pending.
Cấu trúc của một Test case là gì?
Cấu trúc của một Test case là gì?

Ngoài ra trong test case có thể có một số yếu tố khác như:

  • Tester (Người thực hiện).
  • Pre-condition (Điều kiện tiền đề).
  • Date excute test (Ngày thực hiện).
  • Comments (Thông tin bổ sung thêm),…
Banner Hosting Giá Rẻ dành cho cá nhân

Các nhóm chính của Test case là gì?

Hiện nay, các loại test case được chia thành 4 nhóm chính sau đây. Bạn cần nắm rõ các nhóm này để phân loại đúng test case trong quá trình kiểm thử:

  1. GUI test case: Bao gồm tất cả những test case được xây dựng để kiểm tra giao diện người dùng đồ họa.
  2. Positive test case: Bao gồm những test case tích cực, hợp lệ, nhập dữ liệu đúng.
  3. Negative test case: Bao gồm những test case tiêu cực, không hợp lệ, nhập dữ liệu sai.
  4. Combination test case: Bao gồm những test case nằm giữa 2 loại positive và negative. Những test case này có nhiều bước đúng, sai đan xen nhưng bước cuối cùng luôn đúng.

Các loại Test case phổ biến hiện nay

Có nhiều loại testcase khác nhau phục vụ theo nhu cầu kiểm thử của Tester. Tùy vào từng giai đoạn phát triển phần mềm mà bạn cần lựa chọn loại test case cho phù hợp.

Functionality Test Case

Functionality Test Case (Test case chức năng) giúp xác định thành công hay thất bại của một chức năng phần mềm cũng chính là giá trị kỳ vọng. Những case này yêu cầu phần mềm cho phép test mà không cần phải truy cập vào cấu trúc bên dưới của phần mềm.

Chúng có thể được viết và chạy sớm trong giai đoạn development ngay khi những chức năng đầu tiên hoàn thành. Chúng có thể được viết bằng mã code, nếu được yêu cầu. Functionality Test Case nên được lặp lại bất cứ khi nào có thay đổi trong các chức năng của phần mềm.

Các loại Test case phổ biến hiện nay
Các loại Test case phổ biến hiện nay

User Interface Test Case

User Interface Test Case (Test case giao diện người dùng) được sử dụng để xác minh các thành phần của GUI (giao diện người dùng đồ họa) có đang hoạt động đúng mong đợi không. Loại test case này giúp kiểm định về ngữ pháp, thẩm mỹ và lỗi dịch thuật, link hoặc bất cứ thành phần nào mà người dùng có thể thấy trên giao diện.

Những case này thường được phối hợp xây dựng bởi nhóm Designer và nhóm Tester. Những test case này sẽ chạy tại giai đoạn hoàn thiện phần mềm, khi mà GUI đã được kết nối với cơ sở dữ liệu để kiểm tra xem phần mềm có tương thích và hoạt động tốt trên nhiều trình duyệt không.

Performance Test Case

Performance Test Case (Test case hiệu suất) được sử dụng để kiểm tra hiệu năng phần mềm, cụ thể là thời gian phản hồi và hiệu suất hoạt động của ứng dụng. Test case này sẽ cho phép kiểm tra thời gian cần thiết để hệ thống phản hồi một hoạt động theo bộ tiêu chí rõ ràng.

Performance Test Case thường được Tester viết và cho phép chạy tự động liên tục trong suốt quá trình thiết kế phần mềm. Chúng sẽ giúp xác định xem ứng dụng hoạt động thực tế như thế nào, cũng như những trường hợp cụ thể mà ứng dụng hoạt động chưa hiệu quả. Từ đó lập trình viên có thể xem xét để cải thiện hiệu suất ứng dụng tối ưu hơn.

Các loại Test case phổ biến hiện nay
Các loại Test case phổ biến hiện nay

Integration Test Case

Integration Test Case (Test case tích hợp) được sử dụng để xem xét sự tương tác giữa các module với nhau. Mục đích chính của test case này là đảm bảo giao diện giữa các module tương thích và hoạt động tốt nhất trong mọi điều kiện.

Integration Test Case thường được phối hợp xây dựng bởi nhóm Tester và nhóm Development. Tester sẽ xác định khu vực cần tiến hành test. Trong khi đó, developer cung cấp các dữ liệu đầu vào cho từng trường hợp kiểm thử. Cuối cùng, một trong 2 nhóm sẽ thực hiện xác định xem các module hoạt động độc lập có thể phối hợp làm việc cùng nhau không.

Usability Test Case

Usability Test Case (Test case tính khả dụng) hay Task (nhiệm vụ) hoặc Scenarios (Kịch bản) cung cấp nhiệm vụ hoặc kịch bản yêu cầu Tester phải hoàn thành. Test case này giúp Tester trải nghiệm và xác định phương hướng tiếp cận, sử dụng sản phẩm, dịch vụ của người dùng theo cách tự nhiên nhất. Các trường hợp thử nghiệm được chuẩn bị bởi cả 2 nhóm Designer – Tester và phải được triển khai trước khi tiến hành User Acceptance Test Cases (Kiểm thử chấp nhận người dùng).

Các loại Test case phổ biến hiện nay
Các loại Test case phổ biến hiện nay

Database Test Case

Database Test Case (Test case cơ sở dữ liệu) được sử dụng để kiểm tra các luồng xử lý, hướng đi trong cơ sở dữ liệu của ứng dụng. Test case này được thực hiện để đảm bảo rằng lập trình viên xử lý và lưu trữ dữ liệu trong database một cách nhất quán, an toàn.

Để xây dựng Database Test Case, Tester cần hiểu rõ về ứng dụng, cơ sở dữ liệu ứng dụng cũng như các thủ tục cần thiết cho lưu trữ, quản trị dữ liệu. Thông thường, Tester sẽ sử dụng truy vấn SQL để xây dựng những test case này.

Security Test Case (Test case bảo mật)

Security Test Case (Test case bảo mật) được sử dụng để đảm bảo ứng dụng được phân quyền dữ liệu và hạn chế xâm nhập ở những nơi cần thiết. Từ đó giúp bảo vệ dữ liệu ở những khu vực cần thiết. Security Test Case sẽ được xây dựng để kiểm tra thâm nhập và mức độ xác thực, mã hóa dữ liệu của ứng dụng. Nhóm Security sẽ là người chịu trách nhiệm chính cho loại test case này.

User Acceptance Test Case

User Acceptance Test Cases (Test case chấp nhận người dùng) được sử dụng để kiểm tra môi trường sử dụng của người dùng. Mục đích của những test case là xác minh rằng ứng dụng có thể đáp ứng được nhu cầu người dùng ở tất cả các lĩnh vực. Chính vì vậy, test case này cần được xây dựng đa dạng lĩnh vực, ngành nghề và bám sát vào thực tế nhất.

Những người xây dựng User Acceptance Test Cases chủ yếu là quản lý dự án hoặc nhóm Tester. Đây là bước kiểm thử cuối cùng và quan trọng nhất trước khi công bố sản phẩm và đưa vào sản xuất thực tế.

Các loại Test case phổ biến hiện nay
Các loại Test case phổ biến hiện nay
Hosting Cao Cấp dành cho Web Developer

Những kỹ thuật Test case điển hình

Để có thể tạo nên một test cases điển hình đảm bảo chất lượng của phần mềm, bạn có thể áp dụng những kỹ thuật sau đây :

Kỹ thuật Test case tĩnh

Kỹ thuật test case tĩnh hay Static Testing Technique là phương pháp kiểm thử thủ công thông qua giấy bút mà không cần chạy phần mềm trực tiếp. Kiểm thử tĩnh thường được thực hiện bằng tay hoặc các phần mềm, công cụ kiểm thử. Quá trình này sẽ do lập trình viên hoặc người review code thực hiện nhằm kiểm tra code, yêu cầu kỹ thuật, tài liệu thiết kế, mã nguồn, kịch bản thử nghiệm,… có chính xác và khả thi không.

Các loại kiểm thử tĩnh thường bao gồm:

  • Informal Review: Là quá trình kiểm thử không chính thức, trong đó các tài liệu kỹ thuật sẽ được xem xét và nhận xét.
  • Walk-throught: Là phương pháp chia sẻ thông tin, hướng dẫn, giải thích, chuyển giao thông tin để giúp những người tham gia kiểm thử hiểu rõ về phần mềm, ứng dụng. Từ đó họ có thể nhận biết và phát hiện những lỗi tồn tại trong phần mềm. Test case này thường được tổ chức thành một buổi họp và được ghi chép, lưu trữ thông tin lại.
  • Technical review: Là phương pháp kiểm thử tập trung vào việc đánh giá và thảo luận về phần kỹ thuật của ứng dụng, phần mềm. Từ đó đưa ra phương hướng giải quyết, thay thế kỹ thuật, sửa đổi lỗi,… để tối ưu ứng dụng.
  • Inspection: Là phương pháp kiểm thử giúp xác định những khiếm khuyết còn tồn tại. Người kiểm duyệt sẽ thực hiện kiểm tra xem các tài liệu công việc đã được hoàn thành tới đâu.
Những kỹ thuật Test case điển hình
Những kỹ thuật Test case điển hình

Kỹ thuật Test case động

Kỹ thuật test case động hay Dynamic Testing Technique là phương pháp kiểm thử thông qua việc sử dụng máy chạy chương trình. Lúc này, code đã được vận hành, đầu vào đã được cung cấp giá trị và cho kết quả (đầu ra). Kiểm thử động sẽ so sánh kết quả thực tế này với kết quả mong đợi ban đầu để xác định rằng phần mềm đã đáp ứng nhu cầu hay chưa.

Các kỹ thuật test case động bao gồm 3 nhóm chính sau:

1. Kỹ thuật Specification-based

Đây là nhóm kỹ thuật kiểm thử tập trung vào những yếu tố bên ngoài như: cách thiết kế, cách vận hành bên ngoài,… Tester có thể kiểm tra mà không tác động làm thay đổi cấu trúc bên trong phần mềm.

Các kỹ thuật cụ thể thuộc nhóm này bao gồm:

  • Phân vùng tương đương (Equivalence Partitioning): Đầu vào sẽ được phân chia thành các lớp dữ liệu với điều kiện tương đương để thực hiện các ca kiểm thử.
  • Phân tích giá trị biên (Boundary Value Analysis): Tester sẽ thực hiện kiểm thử giá trị biên của dữ liệu vào và ra theo 2 cách chính là: Kiểm tra 2 giá trị (với 4 test case là nhỏ nhất, sát dưới mức nhỏ nhất, lớn nhất, sát trên mức lớn nhất) và Kiểm tra 3 giá trị (với 6 test case là nhỏ nhất, sát dưới mức nhỏ nhất, sát trên mức nhỏ nhất, lớn nhất, sát dưới mức lớn nhất, sát trên mức lớn nhất).
  • Bảng quyết định (Decision Table Testing): Được thực hiện khi đầu vào chứa nhiều điều kiện và đầu ra chứa nhiều hành động. Kỹ thuật này giúp tiết kiệm thời gian chạy thử chương trình nhưng vẫn bao quát toàn bộ đầu ra và đầu vào.
  • Chuyển đổi trạng thái (State Transition Testing): Là phương pháp kiểm thử bằng cách thay đổi điều kiện đầu vào dẫn tới sự thay đổi trạng thái của phần mềm, ứng dụng. Cụ thể, Tester sẽ cung cấp dữ liệu đầu vào hợp lệ và không hợp lệ để xem xét cách thức phản hồi của hệ thống cho từng trường hợp.
  • Trường hợp sử dụng (Use cases Testing): Là phương pháp kiểm thử giúp xác định toàn bộ test case đang được thực hiện trên toàn bộ hệ thống. Từ đó giúp tìm kiếm và khắc phục những lỗi từ kiểm thử tích hợp.
Kỹ thuật Specification-based
Kỹ thuật Specification-based

2. Kỹ thuật Structure-based

Đây là nhóm kỹ thuật được sử dụng để kiểm thử cấu trúc và cách vận hành của phần mềm, ứng dụng. Để thực hiện được kỹ thuật này, Tester phải am hiểu về lập trình thì mới có thể nạp input và kiểm thử output chính xác.

Những kỹ thuật cụ thể thuộc nhóm này bao gồm:

  • Kiểm thử câu lệnh (Statement testing): Tester kiểm tra cách vận hành của mã nguồn bằng cách thực thi mọi câu lệnh ít nhất một lần theo các điều kiện đúng.
  • Kiểm thử quyết định (Decision testing): Được sử dụng để kiểm tra xem trong chương trình có câu lệnh nào không thể truy cập hoặc gây bất thường không. Trong đó, Tester sẽ bắt đầu từ điểm quyết định (decision point) và đi theo control flow để kiểm tra kết quả quyết định (decision resuilt).
  • Kiểm thử điều kiện (Condition testing): Được sử dụng để kiểm tra các biểu thức Boolean bằng cách thực thi chúng ít nhất một lần bằng cả giá trị đúng và sai.
  • Kiểm thử đa điều kiện (Multiple condition testing): Được sử dụng để kiểm thử toàn bộ tổ hợp điều kiện có thể của quyết định. Trong đó, số lượng tổ hợp chính là số test case phải thực hiện và bằng 2 lũy thừa bậc N (N là số điều kiện).

3. Kỹ thuật Experience-based

Nhóm kỹ thuật experience-based được thiết kế dựa trên kiến thức, kinh nghiệm, năng lực chuyên môn của Tester.

Những kỹ thuật cụ thể của nhóm này bao gồm:

  • Kiểm thử thăm dò (Exploratory testing): Tester sẽ vừa thăm dò phần mềm, vừa thiết kế và thiện hiện quá trình kiểm thử. Quá trình này không diễn ra theo lịch trình hay các bước cụ thể mà thay đổi linh hoạt theo kinh nghiệm của từng Tester.
  • Phỏng đoán lỗi (Error guessing): Tester sẽ phỏng đoán các lỗi tiềm ẩn có thể tồn tại trong phần mềm dựa trên vốn kinh nghiệm có sẵn.
Kỹ thuật Experience-based

Hướng dẫn cách viết Test case chất lượng

Nếu bạn vẫn chưa biết cách viết test case chất lượng thì có thể thực hiện theo 5 bước chi tiết dưới đây:

  1. Xác định mục đích: Ở bước này, Tester cần tìm hiểu nhu cầu và mong muốn của khách hàng. Sau đó đặt ra những mục tiêu, tiêu chuẩn cụ thể cho test case để giúp phần mềm, ứng dụng có thể đáp ứng những nhu cầu này.
  2. Xác định hiệu suất: Bước này yêu cầu Tester phải am hiểu về lập trình. Trong đó, bạn sẽ phải xác định xem module đang test có chức năng gì, dữ liệu, thành phần trong module sẽ tương tác với nhau như thế nào,… từ đó tính toán được hiệu suất kiểm thử.
  3. Xác định yêu cầu phi chức năng: Bên cạnh yêu cầu về phần cứng, cấu trúc hệ thống hay bảo mật dữ liệu thì các yêu cầu phi chức năng cũng rất quan trọng với một ứng dụng, phần mềm. Vì vậy ở bước này, Tester cần liệt kê toàn bộ những yêu cầu phi chức năng có thể xuất hiện và tiến hành kiểm thử.
  4. Xác định biểu mẫu: Mỗi phần mềm, ứng dụng sẽ có những biểu mẫu testing khác nhau. Tuy nhiên, nhìn chung trong quá trình viết test case, Tester cần đảm biểu mẫu chứa các yếu tố gồm giao diện người dùng (UI), chức năng, khả năng tương thích, hiệu suất phần mềm.
  5. Xác định tương tác giữa module: Cuối cùng để viết test case chất lượng, Tester cần hiểu rõ cách các module đang tương tác với nhau. Điều này giúp tối ưu quá trình test cũng như đảm bảo test case bao phủ toàn bộ các module có liên kết.

Những câu hỏi thường gặp về Test case là gì?

Làm thế nào để viết một Test case cho API?

Cách viết các bài kiểm trả API:
1. Hiểu phạm vi của API.
2. Hiểu luồng người dùng.
3. Viết các bài kiểm tra API.
4. Viết các bài kiểm tra tiêu cực và bài kiểm tra trường hợp cạnh.
5. Thực hiện các thử nghiệm đối với môi trường Dev và Stage.
6. Kết nối các bài kiểm tra vơi CI / CD Pipeline.
7. Chạy thử nghiệm để giám sát môi trường sản xuất.

Làm cách nào để tạo một Test case trong Excel?

1. Bước 1: Xây dựng kho lưu trữ test case.
2. Bước 2: Tạo ma trận test case.
3. Bước 3: Lập bảng chi tiết

Lời kết

Test case đóng vai trò quan trọng trong quá trình kiểm thử và đòi hỏi Tester phải tuân thủ theo đúng các nguyên tắc để tiết kiệm thời gian, công sức. Khi đã sử dụng thuần thục thì test case là một công cụ vô cùng hữu hiệu giúp bạn phát triển phần mềm. Nếu còn bất cứ thắc mắc hay chia sẻ kinh nghiệm trong việc viết test case hiệu quả, bạn có thể để lại bình luận ở dưới để mọi người cùng thảo luận.



Thiết kế website

Rate this post

Bình luận