Các kĩ thuật kiểm thử thông dụng thường được sử dụng trong kiểm thử hộp đen



Black box test techniques là gì?

Kĩ thuật kiểm thử hộp đen là kĩ thuật testing dựa trên tài liệu chứ không dựa trên cấu trúc bên trong  của software hay test object, kĩ thuật này chỉ cần quan tâm đến input và output và dựa vào tài liệu để viết nên các tài liệu test condition và testcases

Kỹ thuật kiểm thử phần mềm là gì?

Kỹ thuật kiểm thử phần mềm là cách thức giúp bạn thiết kế các trường hợp kiểm thử tốt hơn, kiểm soát được nhiều trường hợp hơn.

Trong nội dung Blog này mình sẽ giới thiệu cho các bạn 3 loại kiểm thử thông dụng là: Phân vùng tương đương, phân tích giá trị biên, bảng quyết định.

1.      Phân vùng tương đương (Equivalence Class Partitioning):

 

Các phân vùng tương đương sẽ chia dữ liệu thành các vùng( hay còn gọi là các lớp tương đương theo cái cách mà tất cả các thành phần cho vùng đấy được mong muôn là xử lí theo cùng một cách giống nhau. Và phân vùng tương đương mình sẽ test cho cả valid và invalid values

Ví dụ như tuổi hợp lệ của người là từ 0->200 thì tất cả những giá trị từ 0-> 200 sẽ cùng xử lí theo một cách, còn nếu mà không hợp lệ, ví dụ nhỏ hơn 0 và lớn hơn 200 thì sẽ xử lí khác ,

 Những giá trị valid value là những giá trị được chấp nhận bởi hệ thống và component đấy.  và một phân vùng mà chứa các valid value thì gọi là valid equivalence partition “

Và invalid value là những giá trị mà sẽ bị reject bởi các component và của hệ thống. và một phân vùng tương đương chứa invalid value thì sẽ gọi là “ invalid equivalence partition”. Mỗi một giá trị thì nó sẽ thuộc về một và chỉ một phân vùng tương đương

Và để đạt đươc 100% coverage của kĩ thuật này thì testcase phải cover hết tất cả các vùng (bao gồm cả valid và invalid partition) bằng cách là sử dụng ít nhất một giá trị  cho một partition. Và mức độ coverage thì sẽ được đo bằng tổng số những phân vùng tương đương đã được test bởi ít nhất là một giá trị chia cho tổng số phân vùng tương đương cần phải test. Và phân vùng tương đương sẽ phù hợp cho tất cả test level

Ví dụ: một người gửi tiền tiết kiệm vào ngân hàng A và có những lãi suất tương ứng như sau: nếu bạn gửi tiền từ 0-100$ thì lãi suất sẽ là 3%,  nếu từ 100-1000$ thì lãi suất sẽ là 5%, còn nếu trên 1000$ thì sẽ là 7%

Invalid partition             Valid(3%)                           Valid(5%)                      Valid(7%)

 -0.01$                              0$      -> 100$            100.01$      999.99$          1000.00$

 Testcase của mình phải có tối thiểu 4 testcases để cover được hếc những partition này và khi đó mới đạt được 100% coverage.

2.      Phân tích giá trị biên:

 

Là một sư mở rộng của phân vùng tương đương và chỉ sử dụng được khi các phân vùng của mình được theo một thứ tự có thể là số hoặc chuỗi dữ liệu và những giá trị maximum và minimum (giá trị đầu tiên và giá trị cuối cùng) của một partition thì sẽ được gọi là boundary value

Ví dụ như trong bài toán ở trên  số -0.01 hoặc là số 0 nó chính là boundary value giữa vùng invalid và vùng 3%, giá trị 100, 100.01  cùng là một cặp boundary, giá trị giao giữa các phân vùng valid và invalid value thì sẽ được gọi giá trị biên

Các hành vi trong các đường biên của phân vùng tương đương thì thường hay bị lỗi chính vì thế mình sẽ có những testcase cho những phân vùng tương đương ấy. Và các case của mình thì phải cover hếc tất cả những phân vùng bao gồm cả phân vùng hợp lệ và không hợp lệ để mình phát hiện ra những trường hợp  xử lí không đúng hoặc là bị bỏ sót  không xử lý những đường biên  hoặc là có những bourdary được thêm vào không mong muốn

Phân tích giá trị biên sẽ kiểm tra được hết  những defect mà phân mềm có thể xử lí ở các vùng khác nhau,  phân tích  giá trị biên có thể kiểm tra được ở tất cả các level,  và các kĩ thuật này thường để test những tài liệu requirement mà nó có những dải số (ngày tháng). Mức độ coverage của phân vùng tương đương này được đo bằng số giá trị boundary được test chia cho tổng số giá trị bourdary cần được test

Ví dụ : một trường học chấp nhận những giá trị dương  và nếu như mà từ 1-5 là giá trị hợp lệ 

Lúc này mình sẽ chia thành 3 vùng

Vùng nhỏ hơn 1, vùng từ 1-5, và lớn hơn 5

Và giá trị biên của nó  là tại điểm 1 là : 0,1( một giá trị hợp lệ và một giá trị không hợp lệ)

Tại điểm 5 là:  có hai giá trị biên là 5,6 ( một giá trị hợp lệ và một giá trị không hợp lệ)

3.      Bảng quyết định

 

Là một kĩ thuật rất tốt để test những trường hợp rules có nghiệp vụ phức tạp mà hệ thống mình phải thực hiện, khi tạo ra một bảng quyết định thì tester sẽ xác định ra các tình huống, điều kiện( đầu vào) và xác định những  kết quả mong muốn (output) của hệ thống. và thường sẽ viết thành bảng bao  gồm các hàng và ở trên bên sẽ là các condition còn ở bên dưới sẽ là  các action

Mỗi một cột sẽ tương ứng với một decision rule và nó sẽ define một trường hợp kết hợp duy nhất  và mình sẽ có kết quả tương ứng vơi những rule đó.

Ví dụ: Nút Submit chỉ được enable khi tất cả các đầu vào được nhập bởi người dùng cuối

 

Role 1

Role 2

Role 3

Role 4

Role 5

Role 6

Role7

Role 8

Name

T

T

T

F

T

F

F

F

Email

T

T

F

T

F

F

T

F

Password

T

F

T

T

F

T

F

F

Submit

T

F

F

F

F

F

F

F

 

Kết luận:

Trên đây, mình đã giới thiệu một số kỹ thuật thường sử dụng để thiết kế test cases, vừa tiết kiệm thời gian vừa tăng độ bao phủ của test cases. Tùy vào yêu cầu của từng hệ thống mà áp dụng các kỹ thuật cho phù hợp. Hi vọng bài viết đã có tính hữu dụng gửi đến các bạn.

Nguồn tài liệu: https://istqb-main-web-prod.s3.amazonaws.com/media/documents/ISTQB_CTFL_Syllabus-v4.0.pdf

 

Đăng nhận xét

Mới hơn Cũ hơn