Các kỹ thuật thiết kế test case dành cho Tester

Giai đoạn quan trọng nhất trong quá trình phát triển phần mềm là giai đoạn kiểm thử. Việc kiểm thử không chỉ giúp xác định chất lượng của sản phẩm mà còn cho phép sửa đổi và nâng cấp sản phẩm về tính thân thiện và khả năng sử dụng của người dùng cuối. Trong bài viết này, chúng ta sẽ cùng tìm hiểu các khái niệm cơ bản về các loại kỹ thuật thiết kế test case.

Test case là gì? Vì sao phải thiết kế test case?

Test case (trường hợp kiểm thử) là một trong những thành phần quan trọng của giai đoạn thử nghiệm, ảnh hưởng trực tiếp đến chi phí kiểm thử. Đây là các điều kiện và biến được xác định trước, dùng để xác thực rằng phần mềm và ứng dụng cùng với các tính năng của nó đang hoạt động bình thường và tuân thủ các yêu cầu và tiêu chuẩn đặt ra. Nó đóng vai trò rất quan trọng cho sự thành công của quá trình kiểm thử cũng như toàn bộ dự án. Do đó, các test case hoạt động như một công cụ để thử nghiệm hệ thống và tăng năng suất của quá trình kiểm thử.

Các loại kỹ thuật thiết kế test case trong kiểm thử phần mềm

Thiết kế test case chủ yếu được phân thành 3 loại theo tính chất thử nghiệm:

  • Kỹ thuật thiết kế dựa trên đặc điểm kỹ thuật hay kỹ thuật black box
  • Kỹ thuật thiết kế dựa trên cấu trúc hay kỹ thuật white box
  • Kỹ thuật thiết kế dựa trên kinh nghiệm.

Với kỹ thuật phù hợp, tester sẽ thiết kế được các test case có hiệu quả cao. Nhưng trước tiên, bạn cần xác định được rằng:

  • Kỹ thuật thiết kế test case nào là phù hợp nhất cho vấn đề đang cần giải quyết?
  • Nên kết hợp những kỹ thuật thiết kế test case nào với nhau cho quá trình kiểm thử hiện tại?

Để trả lời được các câu hỏi trên, bạn sẽ cần nắm khái quát về các kỹ thuật thiết kế test case đã nêu. Cùng iViettech khám phá ngay nhé!

1. Kỹ thuật thiết kế dựa trên đặc tả

Đây còn được gọi phổ biến là kỹ thuật thiết kế hộp đen. Trong kỹ thuật thiết kế này, các test case được viết bằng cách xem xét các yêu cầu chức năng và thông số kỹ thuật của khách hàng, mà không cần quan tâm về hoạt động bên trong của sản phẩm. Nhóm kỹ thuật này được chia làm năm nhóm phụ:

  • Kỹ thuật phân vùng tương đương (Equivalence Partitioning Technique)

Dữ liệu được sử dụng làm đầu vào (input) cho các test case được chia thành các nhóm dựa trên một logic nhất định. Quá trình chọn một đầu vào duy nhất để thể hiện nhóm mà nó thuộc về và thực hiện test case của bạn với đầu vào này được gọi là phân vùng tương đương.

Nếu đầu vào đó hợp lệ hoặc không hợp lệ thì cả phân vùng cũng hợp lệ hoặc không hợp lệ.

  • Kỹ thuật phân tích giá trị biên (Boundary Value Analysis Technique)

Phân tích giá trị biên là kỹ thuật thiết kế test case bổ sung thêm cho phân vùng tương đương, nó được dùng để phát hiện lỗi ở những giá trị biên. Test case sẽ được thiết kế cùng với các giá trị biên của phân vùng tương đương. Nếu đầu vào nằm trong giá trị biên thì test case là kiểm thử tích cực (positive testing). Ngược lại, nếu đầu vào nằm ngoài giá trị biên thì test case là kiểm thử tiêu cực (negative testing).

  • Kỹ thuật bảng quyết định (Decision Table Technique)

Bảng quyết định giúp tester dễ dàng kết hợp tất cả các tình huống có thể xảy ra đối với một sản phẩm hoặc ứng dụng cụ thể. Nó trình bày các điều kiện đầu vào cùng những hành động hay đầu ra tương ứng. Việc viết test case với các bảng quyết định làm điểm tham chiếu sẽ cung cấp cho chúng ta các test case hiệu quả mang lại phạm vi kiểm thử xuất sắc.

  • Kỹ thuật kiểm thử chuyển đổi trạng thái (State Transition Testing Technique)

Trong kỹ thuật này, tester sẽ sử dụng sơ đồ chuyển đổi trạng thái để phân tích phần mềm theo một trình tự nhất định. Trình tự này là thứ tự chuyển đổi trạng thái của phần mềm, nó tùy thuộc vào các tính năng và chức năng khác nhau của phần mềm đó.

  • Kỹ thuật kiểm thử trường hợp sử dụng (Use Case Testing Technique)

Test case được thiết kế dựa trên kiểm thử trường hợp sử dụng cho phép tester thử nghiệm các yêu cầu nghiệp vụ và chức năng. Các tình huống khác nhau mà người dùng cuối sẽ gặp phải khi sử dụng hoặc tương tác với ứng dụng đều được thử nghiệm trong kỹ thuật này.

2. Kỹ thuật thiết kế dựa trên cấu trúc

Kiểm thử dựa trên cấu trúc đề cập đến cấu trúc và kiến trúc bên trong của ứng dụng. Trong nhóm kỹ thuật này, tester sẽ kiểm thử mã nguồn được sử dụng để phát triển ứng dụng. Do đó, trong test case dựa trên cấu trúc, tester cần có sự hiểu biết tốt về mã phần mềm và luồng bên trong của nó để có thể thiết kế các test case. Ở đây, các test case khác nhau được lấy ra để thực hiện vòng lặp một lần hoặc nhiều lần, bất kể chức năng của hệ thống phần mềm là gì. Kỹ thuật thiết kế test case hộp trắng (hoặc dựa trên cấu trúc) được chia thành năm loại, đó là:

  • Kỹ thuật kiểm thử câu lệnh (Statement Testing Technique)

Trong kỹ thuật kiểm thử câu lệnh, mã nguồn được thực thi trong khi kiểm thử để đo mức độ bao phủ của mã. Qua đó, tester có thể kiểm tra được cách vận hành của toàn bộ mã nguồn phần mềm. Tuy nhiên, tester không thể kiểm thử điều kiện sai mà chỉ có thể thực thi các điều kiện đúng.

  • Kỹ thuật kiểm thử quyết định (Decision Testing Technique)

Các điểm quyết định của mã sẽ được xem xét trong kỹ thuật này. Các điểm quyết định là điều kiện “while”, điều kiện “if-else”, v.v. Nó tính toán tỷ lệ phần trăm các điểm quyết định được thực thi và xác định xem có câu lệnh nào không thể truy cập được trong mã hay không.

  • Kỹ thuật kiểm thử điều kiện (Condition Testing Technique)

Kỹ thuật này được dùng để kiểm tra các biểu thức Boolean, tức là các câu lệnh trong đó các điều kiện dẫn đến TRUE hoặc FALSE. Tester sẽ thực thi từng biểu thức Boolean với cả tham số TRUE và FALSE.

  • Kỹ thuật kiểm thử đa điều kiện (Multiple Condition Testing Technique)

Kỹ thuật này tương tự như kiểm thử điều kiện, nhưng có thể yêu cầu một số test case so với kiểm thử điều kiện do có sự tham gia của nhiều điều kiện. Tuy nhiên, việc viết các test case này có thể là một công việc tẻ nhạt do tính phức tạp của nó.

  • Kỹ thuật kiểm thử lộ trình (Path Testing Technique)

Trong kỹ thuật này, tester sẽ kiểm tra từng câu lệnh có trong mã nguồn để tìm lỗi. Việc này giúp xác định lỗi tiềm ẩn trong một đoạn code. Tuy nhiên, bạn không nên áp dụng kỹ thuật kiểm thử lộ trình cho các phần mềm phức tạp, bởi số test case hay câu lệnh mà bạn phải kiểm thử là rất nhiều.

3. Kỹ thuật thiết kế dựa trên kinh nghiệm

Đúng như tên gọi, kỹ thuật kiểm thử này dựa trên kinh nghiệm và kiến thức chuyên môn của tester về các ứng dụng và công nghệ. Chúng được chia thành hai nhóm:

  • Kỹ thuật phỏng đoán lỗi (Error Guessing)

Dựa trên kiến thức và kinh nghiệm có được về ứng dụng, các tester có thể dự đoán trước được các lỗi có thể xảy ra. Kỹ thuật này hoàn toàn dựa trên khả năng của tester trong việc đưa ra các test case hiệu quả có thể loại bỏ các nguyên nhân dẫn đến lỗi.

  • Kỹ thuật kiểm thử thăm dò (Exploratory Testing)

Với kiểm thử thăm dò, các test case được viết và thực hiện song song. Kỹ thuật này giúp tester xác định các lỗi nghiêm trọng có thể bị bỏ sót trong thử nghiệm truyền thống.

Khi thực hiện kiểm thử thăm dò, tester sẽ vừa phân tích phần mềm, vừa thiết kế và thực thi kiểm thử. Ngoài ra, việc lên kế hoạch và lưu kết quả cũng diễn ra linh động trong quá trình thử nghiệm.

Lời kết

Kỹ thuật thiết kế test case là một phần quan trọng của kiểm thử phần mềm vì chúng chịu trách nhiệm trực tiếp cho sự thành công của quá trình kiểm thử. Với sự hỗ trợ của các kỹ thuật này, các tester có thể dễ dàng kiểm tra các thành phần khác nhau của phần mềm, chẳng hạn như cấu trúc bên trong, mã, thiết kế, v.v. Hơn nữa, chúng còn cho phép các nhà phát triển phần mềm và tester tạo và thiết kế các test case, từ đó giúp đơn giản hóa quá trình kiểm thử và giúp họ thực hiện các test case một cách dễ dàng.

Nếu bạn muốn đảm bảo chất lượng, hiệu quả, độ tin cậy và tính nhất quán của sản phẩm phần mềm của mình, điều quan trọng là bạn phải chọn đúng kỹ thuật thiết kế test case có khả năng giải quyết vấn đề đang gặp phải.

iViettech hy vọng bài viết này sẽ hữu ích và giúp bạn lựa chọn được kỹ thuật thiết kế test case phù hợp cho dự án của mình. Chúc bạn thành công!

Nguồn tham khảo: educba.com, professionalqa.com | Việt hóa bởi: iViettech

 

Đối tác tuyển dụng