top of page
Kha Hang

【Phương pháp kiểm thử hộp đen】Kỹ thuật "Phân tích giá trị biên" và "Phân vùng tương đương"


Xin chào các bạn!

Chúng mình là Kha và Hằng đến từ team QA của công ty Japan Quality.


Lời mở đầu

Từ những người có vốn kiến thức IT ở mức zero, sau khi gia nhập vào Japan Quality, nhờ những khóa training và kinh nghiệm quý báu từ các senpai (đàn anh, đàn chị) mà chúng mình đã tích lũy cho bản thân những kiến thức IT cơ bản để có thể trở thành một QA Engineer như hiện tại.

Đối với một Tester, việc nắm bắt được các kỹ thuật test là vô cùng quan trọng. Vận dụng một cách linh hoạt các kỹ thuật test sẽ giúp ích rất nhiều trong việc thiết kế testcase để tìm ra lỗi.

Thông qua blog này chúng mình muốn nói đến hai kỹ thuật test thường được dùng phổ biến trong thiết kế test. Đó là kỹ thuật phân tích giá trị biên và phân vùng tương đương. Việc test sẽ trở nên hiệu quả hơn nếu vận dụng hai kỹ thuật test này. Hơn nữa vẫn có thể đảm bảo được chất lượng của sản phẩm.

Mọi người, đặc biệt là các bạn chưa hiểu rõ về kỹ thuật test, hãy cùng nhau đọc bài viết này nhé!!!



Kỹ thuật phân tích giá trị biên (Boundary Testing)


1.“Phân tích giá trị biên” là gì?


Phân tích giá trị biên là một trong những kỹ thuật trong phương pháp kiểm thử hộp đen, test các giá trị trở thành giá trị biên (các cạnh của lớp tương đương) và các giá trị gần kề biên.

Trong thực tế, lỗi thường sẽ phát sinh nhiều ở giá trị biên nhưng cũng sẽ tồn tại nhiều lỗi tại các giá trị gần kề biên.

Do đó, testcase thường sẽ được quyết định dựa theo quy tắc dưới đây


  • Giá trị biên nhỏ nhất -1

  • Giá trị biên nhỏ nhất

  • Giá trị biên lớn nhất

  • Giá trị biên lớn nhất +1



2.Để hiểu rõ hơn hãy cùng nhau làm bài tập này nhé!



Hệ thống giá vé xe buýt Đà Nẵng – Hội An (※Giá giả định)

・Từ 0 đến 5 tuổi: Miễn phí

・Từ 6 đến 19 tuổi: 80.000 đồng

・Từ 20 đến 60 tuổi: 100.000 đồng

・Từ 61 đến 120 tuổi: 80.000 đồng



Trường hợp nhập ngoài 0 và 121 tuổi trở đi, hệ thống sẽ báo lỗi.




Testcase

Kết quả mong muốn

Nhập -1 tuổi

Báo lỗi

Nhập 0 tuổi

Giá vé: Miễn phí

Nhập 5 tuổi

Giá vé: Miễn phí

Nhập 6 tuổi

Giá vé: 80.000 đồng

Nhập 19 tuổi

Giá vé: 80.000 đồng

Nhập 20 tuổi

Giá vé: 100.000 đồng

Nhập 60 tuổi

Giá vé: 100.000 đồng

Nhập 61 tuổi

Giá vé: 80.000 đồng

Nhập 120 tuổi

Giá vé: 80.000 đồng

Nhập 121 tuổi

Báo lỗi


3.Ưu và nhược điểm của phân tích giá trị biên

  • Ưu điểm:

-Thay vì phải test toàn bộ các giá trị trong vùng tương đương, kỹ thuật phân tích giá trị biên sẽ tập trung vào test chỉ giá trị biên của giá trị đầu vào. Nhờ đó có thể tạo ra các testcase dễ phát hiện được lỗi.

-Việc thiết kế test và thực hiện test sẽ tốn ít thời gian hơn.

-Phát hiện lỗi ở các giá trị biên một cách hiệu quả.


  • Nhược điểm:

Kỹ thuật này có thể vận dụng đối với các giá trị đầu vào độc lập với nhau. Chẳng hạn với một hệ thống mà giá trị đầu ra sẽ được quyết định bởi chỉ một giá trị đầu vào, trường hợp này sẽ có hiệu quả khi áp dụng kĩ thuật phân tích giá trị biên. Tuy nhiên, khi có nhiều các giá trị đầu vào và hệ thống sẽ có các giá trị đầu ra khác nhau tùy thuộc vào sự kết hợp của các giá trị đầu vào thì trường hợp này khó có thể sử dụng kĩ thuật phân tích giá trị biên. (Trong trường hợp này chúng ta nên dùng kĩ thuật Decision tables - Bảng quyết định sẽ hiệu quả hơn)


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


1.Kỹ thuật phân vùng tương đương là gì?


Phân vùng tương đương là một trong những kỹ thuật trong phương pháp kiểm thử hộp đen. Nó chia thành từng nhóm điều kiện đầu vào có cùng quá trình xử lý và chọn giá trị đại diện trong từng nhóm đó để test.


2.Cùng nhau tìm hiểu cụ thể về kỹ thuật phân vùng tương đương nào!


※Các nhóm được chia thành vùng tương đương được gọi là lớp tương đương. Lớp tương đương bao gồm lớp tương đương hợp lệ và lớp tương đương không hợp lệ.

  • Lớp tương đương hợp lệ: Dữ liệu được hệ thống tiếp nhận

  • Lớp tương đương không hợp lệ: Dữ liệu bị hệ thống từ chối

Chúng ta thử cùng nhau làm một bài tập đơn giản để hiểu rõ hơn về khái niệm này nhé.


Bài tập: 

Giả sử có một hệ thống có thể xác nhận được giá vé vào cổng khi nhập chiều cao (đơn vị: cm) vào cột nhập chiều cao trên trang Web bán vé vào cổng khu vui chơi. Các thông số kỹ thuật được mô tả như bên dưới.

※ Chiều cao có thể nhập (cm) là số nguyên, có giá trị từ 40 đến 200.


  • Khi nhập giá trị từ 40 đến 99, hệ thống sẽ hiển thị「無料」 (miễn phí)

  • Khi nhập giá trị từ 100 đến 140, hệ thống sẽ hiển thị 「150000VND」 (150 nghìn đồng)

  • Khi nhập giá trị từ 141 đến 200, hệ thống sẽ hiển thị 「300000VND」 (300 nghìn đồng)

  • Khi nhập ngoài giá trị từ 40 đến 200, hệ thống sẽ báo lỗi.


※Giá trị có thể nhập chỉ là số nguyên, không bao gồm chữ cái, số âm và chữ số thập phân.



※Chúng ta sẽ chọn một giá trị đầu vào đại diện cho mỗi lớp tương đương để test. Nghĩa là, nếu kết quả của bất kỳ giá trị nào trong lớp tương đương là hợp lệ, thì các giá trị khác trong lớp tương đương cũng được coi là "hợp lệ". Tương tự, nếu bất kỳ giá trị nào trong lớp tương đương là "không hợp lệ", thì những giá trị khác trong lớp tương đương cũng "không hợp lệ".

Testcase tương ứng sẽ được thiết kế như sau:

Giá trị nhập vào

Kết quả

1

20

Lỗi

2

60

無料 (miễn phí)

3

120

​150000VND

4

170

300000VND

5

205

Lỗi



3.Ưu điểm, nhược điểm của kỹ thuật phân vùng tương đương

  • Ưu điểm:

Chính vì đây là phương pháp chia các giá trị đầu vào thành từng nhóm tương đương và chỉ chọn giá trị đại diện để test nên có thể giảm đáng kể số lượng testcase và tiết kiệm được thời gian.

  • Nhược điểm:

Trong trường hợp test các giá trị trung gian trong từng lớp tương đương, có khả năng chúng ta sẽ để sót những lỗi tại giá trị biên. Chính vì vậy, việc kết hợp cả hai kỹ thuật phân tích giá trị biên và phân vùng tương đương là rất cần thiết trong quá trình test (sẽ được phân tích cụ thể hơn ở các phần sau).




Điểm khác nhau giữa kỹ thuật phân tích giá trị biên và phân vùng tương đương


Kỹ thuật phân vùng tương đương:

Phân chia dữ liệu đầu vào thành từng lớp tương đương và chọn giá trị đại diện trong mỗi lớp để test.

Kỹ thuật phân tích giá trị biên:

Chọn giá trị biên dựa vào kết quả của từng lớp tương đương để test.

※ Sự khác nhau được biểu thị cụ thể hơn trong ví dụ dưới đây:


Ví dụ: Có một cửa hàng tổ chức Bargain Sale. Trên trang Web của cửa hàng, có mục nhập ngày, và giá trị có thể nhập chỉ là số nguyên, từ 20 đến 30.

  • Nếu nhập từ 20 đến 25, bạn có thể nhận được coupon giảm giá 50%.

  • Nếu nhập từ 26 đến 30, bạn có thể nhận coupon giảm giá 70%.

  • Nếu nhập giá trị ngoài 20 đến 30, hệ thống sẽ hiển thị lỗi.


Lớp tương đương và giá trị biên

(Giá trị đại diện trong lớp tương đương được minh họa theo sơ đồ bên dưới chỉ là một ví dụ điển hình)






Mối quan hệ giữa kỹ thuật phân tích giá trị biên và phân vùng tương đương


Kỹ thuật phân tích giá trị biên và phân vùng tương đương là hai kỹ thuật test có mối tương quan vô cùng chặt chẽ.

Phân tích giá trị biên sử dụng kết quả của phân vùng tương đương.

Phân chia thành các lớp tương đương từ phạm vi đối tượng test và chọn ra những giá trị đại diện từ các lớp phân vùng đó. Khi lựa chọn các giá trị đại diện này, sẽ áp dụng kỹ thuật phân tích giá trị biên chọn ra giá trị biên và giá trị gần kề biên.



Việc kết hợp này sẽ giúp chúng ta:

・Có thể giảm được số lượng testcase và quản lý được testcase đã được phân chia.

・Dễ dàng phát hiện được lỗi một cách hiệu quả.

・Trong trường hợp test với số lượng lớn giá trị đầu vào, có thể test tập trung vào một điểm.


Lời kết


Lần này chúng mình đã giới thiệu về kỹ thuật phân tích giá trị biên và phân vùng tương đương trong phương pháp kiểm thử hộp đen.


Bằng việc sử dụng hai kỹ thuật này, các bạn có thể tạo ra được những testcase mang tính hiệu suất cao và việc test sẽ đạt được kết quả cao.


Chúng mình hy vọng bài viết này sẽ giúp ích được cho những bạn kỹ sư đang phụ trách việc test và cả những bạn chưa có kinh nghiệm về test.


Ngoài hai kỹ thuật trên thì phương pháp kiểm thử hộp đen còn bao gồm các kỹ thuật khác như Bảng quyết định (Decision Tables), Dự đoán lỗi (Error Guessing) sẽ được giới thiệu trong một bài viết khác. Vì có rất nhiều phương pháp trong quá trình thiết kế testcase nên chúng mình nghĩ rằng việc lựa chọn phương pháp test cho phù hợp với từng trường hợp sẽ rất quan trọng. Cùng nhau cố gắng để trở thành một Tester giỏi nhé!


Cảm ơn mọi người đã dành thời gian đọc hết bài viết này.


※ Tài liệu tham khảo:





5.061 lượt xem

Bài đăng gần đây

Xem tất cả

Comments


bottom of page