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

Kỹ thuật thiết kế kịch bản kiểm thử (Phần II: Kỹ thuật kiểm thử hộp đen)

0 0 31

Người đăng: Dang Thi Duyen

Theo Viblo Asia

Trong kỹ thuật kiểm thử chúng ta có 2 loại là kiểm thử tĩnh và kiểm thử động. Ở bài trước, mĩnh đã chia sẻ về kỹ thuật kiểm thử tĩnh. Các bạn có thể xem lại bài viết đó tại đây nhé.

Kiểm thử động được chia ra làm 3 loại chính: Kiểm thử dựa vào cấu trúc (hay còn gọi là kiểm thử hộp trắng), Kiểm thử dựa vào đặc tả (hay còn gọi là kiểm thử hộp đen) và kiểm thử dựa vào kinh nghiệm.

Trong bài viết này, mình sẽ chia sẻ với mọi người về kỹ thuật kiểm thử dựa vào kinh nghiệm (kiểm thử hộp đen), đây là loại kỹ thuật thường được kiểm thử viên sử dụng nhiều nhất.

1. Kiểm thử hộp đen là gì?

Trước tiên chúng ta cần tìm hiểu kiểm thử hộp đen là gì. Kiểm thử hộp đen (blackbox testing) hay còn được gọi là kiểm thử dựa và đặc tả ( specification-based) là phương pháp kiểm thử mà dựa trên tài liệu đặc tả, người kiểm thử viên chỉ quan tâm đến đầu vào và đầu ra của hệ thống, không quan tâm đến cấu trúc code bên trong.

Ví dụ: Đối với chức năng đăng nhập, chúng ta có test case sau:

  • Nhập đúng username và password, người dùng đăng nhập thành công
  • Nhập sai username hoặc password, người dùng đăng nhập không thành công

KIểm thử viên chỉ quan tâm đến đầu vào chính là username và password, và đầu ra là có đăng nhập được thành công hay không mà không quan tâm đến cấu trúc code bên trong của hệ thống như thế nào.

2. Phân loại các kỹ thuật trong phương pháp kiểm thử hộp đen

Phương pháp kiểm thử hộp đen bao gồm một số ỹ thuật kiểm thử như: Phân vùng tương đương, phân tích giá trị biên, bảng quyết định, chuyển đổi trạng thái và kiểm thử các ca sử dụng.

Chúng ta cùng tìm hiểu chi tiết hơn về 3 kỹ thuật thường được sử dụng nhé.

2.1 Phân vùng tương đương

Phân vùng tương đương là một trong những kỹ thuật kiểm thử hộp đen. Ý tưởng của kỹ thuật này là chia các giá trị đầu vào thành nhiều lớp dữ liệu tương đương có cùng kết quả mong đợi.

Phân vùng tương đương là kỹ thuật đường được sử dụng khá nhiều, và hầu hết được sử dụng trong kiểm thử ở tất cả các dòng dự án.

Chúng ta thường có ít nhất là 2 lớp tương đương:

  • Lớp tương đương thứ nhất là lớp dữ liệu hợp lệ thỏa mãn điều kiện
  • Lớp tương đương thứ 2 là lớp dữ liệu không hợp lệ, không thỏa mãn điều kiện

Ví dụ: Cho một textbox chỉ cho phép nhập số nguyên từ 5 đến 100

  • Nếu nhập số nguyên từ 5 đến 100, hệ thống cho phép nhập
  • Nếu nhập số nguyên nằm ngoài khoảng từ 5 đến 100, hệ thống hiển thị thông báo lỗi "Bạn chỉ được phép nhập số từ 5 đến 100"
  • Nếu nhập các loại dữ liệu khác, hệ thống hiển thị thông báo lỗi "Giá trị nhập vào không hợp lệ. Vui lòng nhập giá trị là số nguyên từ 5 đến 100"

Từ ví dụ trên, ta có thể đưa ra được các lớp tương đương như sau:

  • Lớp giá trị là số nguyên từ 5 đến 100 (5,6,7,8,9...,99,100) : nhập thành công
  • Lớp giá trị là số nguyên < 5 (1,2,3,4) : thông báo lỗi ""Bạn chỉ được phép nhập số từ 5 đến 100"
  • Lớp giá trị là số nguyên > 100 (101,102,103,...) : thông báo lỗi "Bạn chỉ được phép nhập số từ 5 đến 100"
  • Lớp giá trị không phải số nguyên hoặc bỏ trống: thông báo lỗi "Giá trị nhập vào không hợp lệ. Vui lòng nhập giá trị là số nguyên từ 5 đến 100"

Sau khi phân được các lớp tương đương, ta có thể lựa chọn ra các trường hợp kiểm thử bằng cách chọn ra các giá trị nằm bên trong các lớp.

2.2 Phân tích giá trị biên

Phân tích giá trị biên là kỹ thuật kiểm thử hộp đen, cũng là trường hợp đặc biệt của kỹ thuật phân vùng tương đương.

Ở kỹ thuật này, kiểm thử viên xác định giá trị đầu vào bằng cách lựa chọn giá trị là biên của các vùng tương đương, các giá trị bên cạnh biên (bên trong, bên ngoài vùng tương đương). Giá trị biên có thể là giá trị hợp lệ nếu nó nằm trong vùng tương đương hợp lệ, có thể là giá trị không hợp lệ nếu nó nằm trong vùng tương đương không hợp lệ.

Phương pháp phân tích giá trị biên này có 2 cách tiếp cận:

  1. KIếm thử 2 giá trị

Với cách tiếp cận này ta xác định được các trường hợp kiểm thử bằng cách lấy giá trị tại biên và 1 giá trị cận biên như sau:

  • Giá trị nhỏ nhất của vùng tương đương (Min)
  • Giá trị cận biên Min - 1
  • Giá trị lớn nhất của vùng tương đương (Max)
  • Giá trị cận biên Max + 1
  1. Kiểm thử 3 giá trị

Với cách tiếp cận này ta xác định được các trường hợp kiểm thử bằng cách lấy giá trị tại biên và 2 giá trị cận biên như sau:

  • Giá trị nhỏ nhất của vùng tương đương (Min)
  • Giá trị cận biên Min - 1
  • Giá trị cận biên Min + 1
  • Giá trị lớn nhất của vùng tương đương (Max)
  • Giá trị cận biên Max + 1
  • Giá trị cận biên Max - 1

Ví dụ: Nếu nhập số nguyên từ 5 đến 100, hệ thống cho phép nhập. Nếu nhập giá trị ngoài khoảng từ 5 đến 100 thì hệ thông thông báo lỗi.

Như vậy, dựa vào quy tắc tiếp cận kiểm thử phân tích giá trị biên với 2 giá trị ta có thể xác định được giá trị biên ở đây là số 5 (Min) và số 100 (Max), giá trị cạnh biên nên test là giá trị 4 (Min -1) và giá trị 101 (Max + 1)

Nếu áp dụng cách tiếp cận kiểm thử 3 giá trị biên/cạnh biên, chúng ta cũng có thể kiểm thử thêm trường hợp 6 (Min + 1) và 99 (Max - 1)

Kết hợp 2 phương pháp Phân vùng tương đương và phân tích giá trị biên

Hai phương pháp này thường đi liền với nhau, sử dụng phân tích giá trị biên giúp bổ sung thêm ca kiểm thử giá trị biên mà phương pháp phân vùng tương đương dễ bị bỏ sót. Kế hợp 2 phương pháp này với ví dụ bên trên ta sẽ được các giá trị biên/cạnh biên và một giá trị bên trong lớp tương đương (thông thường, chúng ta thường lấy giá trị giữa khoảng là giá trị (Max - Min)/2 )

Ưu điểm: KIểm thử tất cả các trường hợp là không thể. Do đó, ưu điểm của hai phương pháp này là giảm thiểu được số lượng đáng kể test case vì chỉ cần chọn ra 1 giá trị trong vùng tương đương và các giá trị biên/cạnh biên để test.

Nhược điểm Không phải bài toán nào cũng có thể áp dụng phương pháp này, 2 phương pháp này thường phù hợp với những trường hợp có khoảng giá trị nhất định và giá trị đầu vào độc lập với nhau, cho ra kết quả độc lập.

ID Trường hợp kiểm thử Kết quả mong đợi
TC1 Nhập vào số 5 Nhập thành công
TC2 Nhập vào số 100 Nhập thành công
TC3 Nhập vào số 46 Nhập thành công
TC4 Nhập vào số 4 Thông báo lỗi "Bạn chỉ được phép nhập số từ 5 đến 100"
TC5 Nhập vào số 6 Thông báo lỗi "Bạn chỉ được phép nhập số từ 5 đến 100"
TC6 Nhập vào số 99 Thông báo lỗi "Bạn chỉ được phép nhập số từ 5 đến 100"
TC7 Nhập vào số 101 Thông báo lỗi "Bạn chỉ được phép nhập số từ 5 đến 100"
TC8 Nhập vào số 0 Thông báo lỗi "Giá trị nhập vào không hợp lệ. Vui lòng nhập giá trị là số nguyên từ 5 đến 100"
TC9 Không nhập gì Thông báo lỗi "Giá trị nhập vào không hợp lệ. Vui lòng nhập giá trị là số nguyên từ 5 đến 100"
TC10 Nhập các giá trị khác không phải số nguyên Thông báo lỗi "Giá trị nhập vào không hợp lệ. Vui lòng nhập giá trị là số nguyên từ 5 đến 100"

Lưu ý Có một lưu ý khi kiểm thử đó là chúng ta thường sẽ test thêm 2 trường hợp đặc biệt: trường hợp nhập vào số 0 và trường hợp không nhập gì.

2.3 Bảng quyết định

Bảng quyết định là một trong những kỹ thuật kiểm thử hộp đen, kỹ thuật này thường được áp dụng trong trường hợp yêu cầu bài toán có kết hợp nhiều điều kiện đầu vào và cho ra nhiều kết quả mong đợi khác nhau. Bảng quyết định giúp kiểm thử viên đưa ra số lượng test case hữu hạn nhưng đủ độ bao phủ trường hợp kiểm thử.

Các bước tiến hành khi sử dụng kỹ thuật bảng quyết định:

  1. LIệt kê ra tất cả các điều kiện đầu vào và kết quả mong đợi
  2. Tính toán số lượng kết hợp các điều kiện (tất cả test case có thể sảy ra)
  3. Điền vào bảng các kết hợp điều kiện đàu vào và kết quả mong đợi
  4. Giản lược số lượng test case và xcs định số test case sẽ thực hiện test

Ví dụ: Một cửa hàng bán bánh sinh nhật đang có chương trình giảm giá và tri ân khách hàng Nếu là khách hàng mới thì sẽ được giảm giá 15%. Nếu có thẻ khách hàng thân thiết thì giảm giá 10%. Nếu có phiếu giảm giá thì được giảm 20% (không áp dụng phiếu giảm giá 20% với khách hàng mới, chỉ áp dụng với khách hàng cũ)

Chúng ta bắt đầu áp dụng bảng quyết định với bài toán trên như sau:

  1. LIệt kê ra tất cả các điều kiện đầu vào và kết quả mong đợi
Điều kiện
Khách hàng mới (15%)
Thẻ khách hàng thân thiết (15%)
Phiếu giảm giá (20%)
Đầu ra
Giảm giá
  1. Tính toán số lượng kết hợp các điều kiện (tất cả test case có thể xảy ra)
  2. Điền vào bảng các kết hợp điều kiện đàu vào và kết quả mong đợi Mỗi điều kiện có 2 giá trị Đúng (True) hoặc Sai (False). Ta có tất cả 3 điều kiện. Do đó công thức tính tổng số trường hợp kiểm thử có thể sảy ra sẽ là 2^3 = 8.
Điều kiện Rule 1 Rule 2 Rule 3 Rule 4 Rule 5 Rule 6 Rule 7 Rule 8
Khách hàng mới (15%) T T T T F F F F
Thẻ khách hàng thân thiết (15%) T T F F T T F F
Phiếu giảm giá (20%) T F T F T F T F
Đầu ra
Giảm giá X X 20 15 30 10 20 0
  1. Giản lược số lượng test case và xác định số test case sẽ thực hiện test Chúng ta giản lược bằng cách nhìn vào Đầu ra của test case và các điều kiện. Với các test case có các điều kiện giống nhau và chỉ khác duy nhất 1 điều kiện (dù có là T hay F) vẫn cho ra kết quả đầu ra giống nhau thì có thể giản lược được 1 test case.

Ví dụ nhìn vào bảng quyết định ở bước 3, ta xác định được Rule 3 và Rule 7 có thể giản lược được 1 rule. Rule 1 và Rule 2 là 2 trường hợp không thể sảy ra. Do đó, chúng ta sẽ được các test case sau khi giản lược như sau:

Điều kiện Rule 3 Rule 4 Rule 5 Rule 6 Rule 8
Khách hàng mới (15%) - T T T F
Thẻ khách hàng thân thiết (15%) T T F F T
Phiếu giảm giá (20%) T F T F T
Đầu ra
Giảm giá X X 20 15 30

References:

Xem thêm các bài viết chia sẻ về kiến thức kiểm thử phần mềm tại đây

https://vinatester.com/

Bình luận

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

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

Các mô hình phát triển phần mềm

1. Định nghĩa. Mô hình phát triển phần mềm hay quy trình phát triển phần mềm xác định các pha/ giai đoạn trong xây dựng phần mềm. Có nhiều loại mô hình phát triển phần mềm khác nhau ví dụ như:.

0 0 112

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

Tìm hiểu về kỹ thuật phân tích giá trị biên và phân vùng tương đương trong kiểm thử hộp đen

Để đảm bảo được chất lượng của một hoặc nhiều dự án phần mềm QA cần phải tạo được bộ testcase phù hợp.Để thực hiện việc kiểm tra phần mềm với thời gian ngắn nhất mà vẫn đạt chất lượng cao nhất cần phải hiểu sâu về nghiệp vụ của phần mềm và linh hoạt trong việc thiết kế testcase.

0 0 237

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

Single Page Application Concept

Bạn đã từng nghe về một trang wed Single page hay chưa? Dạo gần đây Single page application là một cái tên đang nổi trong xu hướng phát triển web. Mặc dù concept này đã ra đời hơn chục năm nay.

0 0 52

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

Top 15 xu thế kiểm thử phần mềm trong năm 2021

. Năm 2021 dự kiến những công nghệ sau sẽ lên ngôi:. . AI (Artificial intelligence) và ML (Machine Learning). Robotics.

0 1 177

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

Xử lý Table, Frame và Dynamic Element của Web trong Selenium Script – Selenium Tutorial #18

Table, Frame và Dynamic Element là các phần thiết yếu không thể thiếu của bất kỳ web project nào. Chúng ta hãy cùng nhau tìm hiểu cách xử lý chúng trong tập lệnh selenium nhé.

0 0 100

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

Exploratory testing - Kiểm thử thăm dò

I. Định nghĩa. 1. Exploratory testing là gì.

0 0 142