- vừa được xem lúc

Phân vùng tương đương (Equivalence Partitioning) - Hiểu ngay qua ví dụ

0 0 99

Người đăng: Minh Thu Tran

Theo Viblo Asia

Thuật ngữ "phân vùng tương đương" đề cập đến khái niệm phân vùng tương đương trong kiểm thử phần mềm

Lời đầu tiên mình xin chào mọi người, chúc mọi người có một ngày học tập và làm việc vui vẻ. Bài viết này mình sẽ giải thích về Kỹ thuật phân vùng tương đương và đưa ra một số ví dụ về nó. Mình cùng vào nội dung chính nhé !

1. Phân vùng tương đương là gì ?

  • Phân vùng tương đương là một kỹ thuật được sử dụng để phân chia dữ liệu đầu vào của hệ thống phần mềm thành các nhóm hoặc phân vùng, trong đó các giá trị trong mỗi phân vùng được coi là tương đương hoặc tương tự nhau về hành vi hoặc tác động của chúng đối với hệ thống. Kỹ thuật này dựa trên giả định rằng nếu một trường hợp thử nghiệm trong phân vùng tương đương phát hiện ra lỗi, thì các trường hợp thử nghiệm khác trong cùng phân vùng đó cũng có khả năng phát hiện ra lỗi tương tự.

  • Phân vùng tương đương là kĩ thuật thuộc kiểm thử hộp đen (Black Box) có thể áp dụng trong Unit Test, Integration Test, System Test. Phân vùng tương đương có thể hiểu là sẽ phân thành 2 vùng chính là: Vùng hợp lệ (Valid) và Vùng không hợp lệ (Invalid).

Ví dụ: Chúng ta mua vé đi Đầm Sen (mình đi năm 6 tuổi, giờ mình 6 tuổi lần thứ n nên không nhớ quy định mua vé) nên mình sẽ giả định chúng nhé:

  • Chiều cao từ 50cm đến dưới 1m sẽ được miễn phí vé
  • Chiều cao từ 1m đến dưới 1m4 sẽ tính vé trẻ em
  • Chiều cao từ 1m4 đến dưới 2m sẽ tính vé người lớn

Mình giả định trên cơ sở chiều cao trung bình của người Việt Nam. Mô tả chiều cao đơn vị cm là số nguyên và không âm. Vậy chúng ta sẽ có các phân vùng sau :

  • Vùng hợp lệ (Valid): 50cm ≤ x < 100cm
  • Vùng hợp lệ (Valid): 100cm ≤ x < 140cm
  • Vùng hợp lệ (Valid): 140 cm ≤ x < 200cm
  • Vùng không hợp lệ (Invalid): 0cm < x < 50cm
  • Vùng không hợp lệ (Invalid): 200 ≤ x

Minh hoạ các trường hợp:

ID Chiều cao (cm) Kết quả
01
30
Lỗi
02
90
Miễn phí vé
03
120
Vé trẻ em
04
160
Vé người lớn
05
210
Lỗi

Note: Vậy khi thực thi Testcase bạn sẽ thực thi case Valid hay Invalid trước ? ...

Theo mình: Bạn nên thực thi positive case (Valid) trước negative case (Invalid) vì bạn cần xác minh tính đúng đắn của chức năng trước khi nghĩ đến những trường hợp xấu.

2. Cách xác định phân vùng tương đương

  • Phân vùng tương đương hợp lệ: Chứa các giá trị đầu vào hợp lệ trong đó phải đáp ứng đúng với yêu cầu của tài liệu và hệ thống

  • Phân vùng tương đương không hợp lệ: Các giá trị trong trường hợp này không đáp ứng đủ điều kiện yêu cầu của tài liệu và hệ thống.

Cách kiểm thử với phân vùng tương đương:

  • Xác định các phân vùng tương thích: Phân vùng tương thích có thể là các giá trị đầu vào, trạng thái hoặc biến cần kiểm tra. Chia các giá trị vào các phân vùng sao cho các giá trị trong cùng một phân vùng có cùng các đặc điểm.

  • Xác định số lượng kiểm tra cần thiết: Với mỗi phân vùng tương ứng, chọn một giá trị đại diện để kiểm tra. Kiểm tra số lượng yêu cầu thiết lập bằng số lượng phân vùng tương ứng được chọn.

  • Thiết kế Testcase: Thiết kế các ca kiểm tra dựa trên các giá trị đại diện đã chọn. Mỗi ca kiểm tra nên kiểm tra một phân vùng tương thích duy nhất.

  • Thực thi Testcase: Chạy các ca kiểm tra đã thiết kế và kiểm tra kết quả. Ghi lại kết quả của mỗi ca kiểm tra.

  • Kiểm tra lại: Kiểm tra lại các kết quả đã ghi lại và xác minh rằng các phân vùng tương đương đã được kiểm tra đầy đủ.

3. Tổng kết

  • Bằng cách sử dụng phân vùng tương đương, người kiểm thử phần mềm có thể chọn các trường hợp kiểm thử đại diện từ mỗi phân vùng để xử lý hiệu quả các hành vi hoặc tình huống khác nhau mà hệ thống phần mềm có thể gặp phải. Cách tiếp cận này giúp tăng phạm vi kiểm thử đồng thời giảm thiểu số lượng các trường hợp kiểm thử dư thừa hoặc không cần thiết.

  • Kỹ thuật phân vùng tương đương bao gồm việc chia dữ liệu đầu vào thành các nhóm hoặc phân vùng để chọn các trường hợp kiểm thử đại diện cho quy trình kiểm thử hiệu quả và hiệu quả. Mình sẽ update các bài tập về Phân vùng tương đương và video nói về nó.

Lời cuối mình xin cảm ơn mọi người đã đọc bài viết !

Bình luận

Bài viết tương tự

- vừa được xem lúc

Golang Data Structures and Algorithms - Stack

Giới thiệu. Series về cấu trúc dữ liệu và thuật toán sử dụng Golang.

0 0 25

- vừa được xem lúc

AWS Certified Solutions Architect Professional - Security - Secrets Manager

Introduction. A quick note about AWS Secrets Manager.

0 0 30

- vừa được xem lúc

Golang Data Structures and Algorithms - Queue

Giới thiệu. Series về cấu trúc dữ liệu và thuật toán sử dụng Golang.

0 0 36

- vừa được xem lúc

Terraform Series - Bài 17 - Security - Manage Secrets with Vault

Giới thiệu. Chào các bạn tới với series về Terraform, ở bài trước chúng ta đã tìm hiểu về vấn đề security trong Terraform.

0 0 25

- vừa được xem lúc

Golang Data Structures and Algorithms - Linked Lists

Giới thiệu. Series về cấu trúc dữ liệu và thuật toán sử dụng Golang.

0 0 26

- vừa được xem lúc

AWS Certified Solutions Architect Professional - Security - AWS Certificate Manager

Introduction. A quick note about AWS Certificate Manager.

0 0 20