Tải bản đầy đủ (.docx) (18 trang)

Một số kỹ thuật được sử dụng trong kiểm thử hộp đen

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (235.98 KB, 18 trang )

A. Mở đầu.........................................................................................................2
B. Nội dung.......................................................................................................3
I. Kiểm thử hộp đen..........................................................................................3
1. Khái niệm .....................................................................................................3
2. Mục đích ......................................................................................................3
II. Một số kỹ thuật được sử dụng trong kiểm thử hộp đen..............................4
1. Kỹ thuật phân hoạch tương đương...............................................................4
2. Phân tích giá trị biên ..................................................................................7
3. Kỹ thuật đồ thị nhân quả..............................................................................9
III. Các bước kiểm thử hộp đen......................................................................12
IV. Ưu điểm và tồn tại của kiểm thử hộp đen ................................................14
C. Kết luận.....................................................................................................16
D. Tài liệu tham khảo....................................................................................18

Sinh viên thực hiện :
Bùi Xuân Thanh : Một số kỹ thuật được sử dụng trong kiểm thử hộp đen
Lê Hữu Toàn : Kiểm thử hộp đen, Ưu điểm và tồn tại của kiểm thử hộp đen
Đào Văn Hùng : Các bước kiểm thử hộp đen

1


Đề tài: Kiểm thử hộp đen
A. Mở đầu
Kiểm thử là một quá trình quan trọng trong ngành phát triển phần mềm.
Trong thực tế có rất nhiều cách thức kiểm thử bởi các kỹ sư phần mềm trước
khi sản phẩm của họ được đem ra thị trường. Chính vì vậy, họ sử dụng nhiểu
phương pháp khác nhau, và trong số đó là kiểm thử hộp đen. Ngày nay, nhiều
nhà phát triển thường lựa chọn phương pháp kiểm thử này. Bởi vì nó có một
số mặt thuận lợi nhất định. Kiểm thử hộp đen có thể được thực hiện bởi bất kỳ
người nào, ngay cả những người không có nhiều kinh nghiệm kỹ thuật chuyên


môn. Điều này là do kiểm thử hộp đen không cần biết trước cấu trúc nội tại
hay mã nguồn bên trong phần mềm.
Kiểm thử hộp đen có thể xác thực các chức năng của toàn hệ thống
phần mềm. Việc kiểm thử này được thực hiện trên từng chức năng cụ thể
cũng như việc kiểm tra và đánh giá các dữ liệu đầu vào và đầu ra.
Mục đích của kiểm thử hộp đen là làm thế nào để tìm ra các lỗi và kiểm
tra quá trình chạy của hệ thống phần mềm. Sau đó tích hợp và phân loại lại
trong hệ thống. Nhờ đó mà các nhà phát triển sẽ được định hướng trong việc
kiểm tra toàn bộ hệ thống.
Kiểm thử hộp đen là công đoạn kế tiếp của kiểm thử hộp trắng. Kiểm
thử hộp đen tập trung vào kiểm tra các yêu cầu chức năng, giao diện phần
mềm. Nó được thực hiện khi việc kiểm thử hộp trắng kiểm soát được toàn bộ
các lỗi,các mã lệnh bên trong phần mềm.
Kiểm thử so sánh được sử dụng để phát hiện ra các lỗi bởi việc đưa ra
sự so sánh của hai hay nhiều chương trình được thi hành như nhau. Tương tự
như vậy, những dữ liệu đưa ra được ứng dụng từ hai hay nhiều phiên bản
phần mềm và kiểm thứ so sánh sẽ tìm ra các lỗi, các điểm bất thường.
Kiểm thử so sánh được thực hiện với một số lượng lớn và tìm ra lỗi một cách nhanh
nhất.

B. Nội dung
2


I. Kiểm thử hộp đen
1. Khái niệm
Là phương pháp kiểm thử chỉ quan tâm đến kết quả đầu ra đối với
một tập dữ liệu đầu vào mà không quan tâm đến cách thực thi của các mã
lệnh bên trong của phần mềm
Kiểm thử hộp đen tập trung vào các yêu cầu chức năng của phần

mềm. Nó cho phép thiết kế các điều kiện đầu vào để thực thi tất cả các yêu
cầu chức năng của chương trình. Kiểm thử hộp đen không phải là phần bù
cho kiểm thử hộp trắng. Đó là kĩ thuật kiểm thử bổ sung cho kiểm thử hộp
trắng với độ bao phủ các lớp lỗi ít hơn.
Kĩ thuật kiểm thử hộp đen cố gắng tìm ra các lỗi sau: các hàm bị
lỗi hay mất, lỗi giao diện, lỗi trong cấu trúc dữ liệu hay truy cập dựa trên
dữ liệu ngoài, lỗi thực thi và các lỗi khởi đầu và kết thúc.
- Mô hình:

2. Mục đích
Bổ sung cho phương pháp kiểm thử hộp trắng để phát hiện ra tất cả
các lỗi khác nhau mà kiểm thử hộp trắng không phát hiện ra được.
Không giống kiểm thử hộp trắng được thực hiện sớm trong quá trình kiểm thử,
kiểm thử hộp đen nhắm đến áp dụng trong các giai đoạn sau của kiểm thử. Vì kiểm
thử hộp đen không để ý có chủ đích cấu trúc điều khiển, sự quan tâm tập trung trên
miền thông tin. Nếu người ta mong muốn sử dụng phương pháp này để tìm tất cả
các lỗi trong chương trình thì điều kiện bắt buộc là phải kiểm thử tất cả các đầu vào,
3


tức là mỗi một điều kiện đầu vào có thể có là một trường hợp kiểm thử. Bởi vì nếu
chỉ kiểm thử một số điều kiện đầu vào thì không đảm bảo được chương trình đã hết
lỗi. Tuy nhiên, điều này thực tế không thể thực hiện được.
Kiểm thử được thiết kế để trả lời các câu hỏi sau:
-

Giá trị chức năng được kiểm thử như thế nào?

-


Các lớp đầu vào nào sẽ cho các ca kiểm thử tốt?

-

Hệ thống có bị ảnh hưởng bởi những giá trị đầu vào nhất định?

-

Giá trị biên của các lớp dữ liệu được phân tách như thế nào?

-

Tỷ lệ và lượng dữ liệu mà hệ thống có thể chịu được?

-

Việc kết hợp dữ liệu xác định có ảnh hưởng gì trong việc vận hành
hệ thống?

II. Một số kỹ thuật được sử dụng trong kiểm thử hộp đen
1. Kỹ thuật phân hoạch tương đương
Như đã trình bày, việc kiểm thử tất cả các đầu vào của chương trình là không
thể. Vì thế, khi kiểm thử chương trình nên giới hạn một tập con tất cả các trường
hợp đầu vào có thể có.
Một tập con như vậy cần có hai tính chất:
− Mỗi trường hợp kiểm thử nên gồm nhiều điều kiện đầu vào khác nhau có thể
để giảm thiểu tổng số các trường hợp cần thiết.
− Nên cố gắng phân hoạch các miền đầu vào của một chương trình thành một
số xác định các lớp tương đương, sao cho có thể giả định hợp lý rằng việc
kiểm thử một giá trị đại diện của mỗi lớp là tương đương với việc kiểm thử

một giá trị bất kỳ trong cùng lớp.
Hai vấn đề xem xét ở trên tạo thành một phương pháp của kỹ thuật hộp đen và
gọi là phân hoạch tương đương. Vấn đề thứ hai được sử dụng để phát triển
một tập các điều kiện cần quan tâm phải được kiểm thử. Vấn đề thứ nhất được sử
dụng để phát triển một tập cực tiểu các trường hợp kiểm thử phủ các điều kiện
4


trên.
Thiết kế trường hợp kiểm thử bằng phân hoạch tương đương được xử lý theo hai
bước: phân hoạch các miền đầu vào/ra thành các lớp tương đương, và thiết kế các
trường hợp kiểm thử đại diện cho mỗi lớp.
a. Xác định các lớp tương đương
“Phân hoạch tương đương” được định nghĩa theo lý thuyết tập hợp.
− Quan hệ ρ trên hai tập A và B là một tập con của tích Đêcác A × B, nghĩa là aρb
trong đó a ∈A và b ∈ B.
− Quan hệ có thể được định nghĩa trên chính tập A, tức là khi B = A.
− Quan hệ ρ trên tập A gọi là phản xạ nếu aρa với ∀a∈A
− Quan hệ ρ trên tập A gọi là đối xứng nếu aρb ⇒ bρa với ∀a, b∈A
− Quan hệ ρ trên tập A gọi là bắc cầu nếu aρb và bρc ⇒ aρc với ∀a,b,c ∈ A
− Một quan hệ có tính phản xạ, đối xứng và bắt cầu gọi là quan hệ tương
đương.
− Một quan hệ tương đương phân hoạch tập hợp thành các lớp tương đương rời rạc.
Như vậy, các lớp tương đương được nhận dạng bằng cách lấy mỗi điều kiện đầu
vào (thông thường là một câu lệnh hoặc một cụm từ trong đặc tả) và phân hoạch nó
thành hai hoặc nhiều nhóm. Các lớp tương đương biểu diễn một tập các trạng thái
hợp lệ hoặc không hợp lệ cho điều kiện đầu vào. Điều kiện đầu vào là giá trị số xác
định, hoặc miền giá trị, tập giá trị có liên quan, hoặc điều kiện logic. Để làm điều
này, chúng ta sử dụng bảng liệt kê các lớp tương đương.


Bảng 2.1 - Bảng liệt kê các lớp tương đương
5


Điều kiện
vào/ra

Các lớp tương đương

Các lớp tương đương không

hợp lệ

hợp lệ

Các lớp tương đương có thể được định nghĩa theo các nguyên tắc sau:
1. Nếu điều kiện đầu vào xác định một khoảng giá trị [a,b], thì phân hoạch
thành một lớp tương đương hợp lệ và một lớp tương đương không hợp lệ.
Chẳng hạn, nếu đầu vào x nằm trong khoảng [0,100], lớp hợp lệ là 0 <= x <=
100, các lớp không hợp lệ là x < 0 và x > 100.
2. Nếu điều kiện đầu vào yêu cầu một giá trị xác định, phân hoạch thành một
lớp tương đương hợp lệ và hai lớp tương đương không hợp lệ. Chẳng hạn,
nếu đầu vào x=5, thì lớp hợp lệ là x= 5, các lớp không hợp lệ là x <5 và x >5.
3. Nếu điều kiện đầu vào xác định một phần tử của tập hợp, thì phân hoạch
thành một lớp tương đương hợp lệ và một lớp tương đương không hợp lệ.
4. Nếu điều kiện đầu vào là Boolean, thì phân hoạch thành một lớp tương
đương hợp lệ và một lớp tương đương không hợp lệ tương ứng với hai trạng
thái true và false.
Ngoài ra, một nguyên tắc thứ năm được bổ sung là sử dụng khả năng phán
đoán, kinh nghiệm và trực giác của người kiểm thử.

b. Xác định các trường hợp kiểm thử
Bước thứ hai trong phương pháp phân hoạch tương đương là thiết kế các trường
hợp kiểm thử dựa trên sự ước lượng của các lớp tương đương cho miền đầu vào. Tiến
trình này được thực hiện như sau:
1. Gán một giá trị duy nhất cho mỗi lớp tương đương.
2. Đến khi tất cả các lớp tương đương hợp lệ được phủ bởi các trường hợp kiểm
thử thì viết một trường hợp kiểm thử mới phủ nhiều nhất có thể các lớp
tương đương hợp lệ chưa được phủ.
6


3. Đến khi tất cả các lớp tương đương không hợp lệ được phủ bởi các trường
hợp kiểm thử thì hãy viết các trường hợp kiểm thử mới sao cho mỗi trường
hợp kiểm thử mới chỉ phủ duy nhất một lớp tương đương không hợp lệ
chưa được phủ.
Bảng 2.2 – Ví dụ các lớp tương đương
Điều kiện đầu
vào
Số ID của sinh
viên
Tên sinh viên

Các lớp tương đương
hợp lệ
Các ký số

Các lớp tương đương không
hợp lệ
Không phải ký số


Ký tự chữ cái

Không phải chữ cái

Không rỗng

Rỗng

Giới tính sinh
viên

Ký tự chữ cái, “M” hoặc Không phải chữ cái
“F”
Không phải “M” hoặc “F”

Điểm của sinh
viên

Số

Không phải số

Từ 0 đến 100

Số nhỏ hơn 0
Số lớn hơn 100

2. Phân tích giá trị biên (BVA - Boundary Value Analysis)
Khi thực hiện việc kiểm thử phần mềm theo dữ liệu, chúng ta kiểm tra xem
đầu vào của người dùng, kết quả nhận được và kết quả tạm thời bên trong có được xử

lý chính xác hay không.
Các điều kiện biên là tình trạng trực tiếp ở phía trên và dưới của các lớp tương
đương đầu vào và lớp tương đương đầu ra. Việc phân tích các giá trị biên khác với
phân hoạch tương đương theo hai điểm:
−Từ mỗi lớp tương đương, phân hoạch tương đương sẽ chọn phần tử bất kỳ
làm phần tử đại diện, trong khi việc phân tích giá trị biên sử dụng một hoặc
một số phần tử. Như vậy, mỗi biên của lớp tương đương chính là đích kiểm
thử.
−Không chỉ chú ý tập trung vào những điều kiện đầu vào, các trường hợp
7


kiểm thử cũng được suy ra từ việc xem xét các kết quả ra (tức các lớp tương
đương đầu ra).
Rất khó có thể có thể liệt kê hết các hướng dẫn cụ thể cho các trường hợp. Tuy
nhiên, cũng có một số nguyên tắc phân tích giá trị biên như sau:
1. Nếu điều kiện đầu vào xác định một khoảng giá trị giữa a và b, các trường
hợp kiểm thử sẽ được thiết kế với giá trị a và b, và các giá trị sát trên và sát
dưới a và b.
2. Nếu một điều kiện đầu vào xác định một số các giá trị, các trường hợp
kiểm thử sẽ được phát triển để thực hiện tại các giá trị cực đại, cực tiểu.
Các giá trị sát trên và dưới giá trị cực đại, cực tiểu cũng được kiểm thử.
3. Nguyên tắc 1 và 2 được áp dụng cho các điều kiện đầu ra.
4. Nếu cấu trúc dữ liệu chương trình bên trong được qui định các biên (chẳng
hạn, mảng được định nghĩa giới hạn 100 mục), tập trung thiết kế trường
hợp kiểm thử để thực thi cấu trúc dữ liệu tại biên của nó.
Ngoài ra, người kiểm thử có thể sử dụng sự xét đoán và sáng tạo của mình để
tìm các điều kiện biên.
Tóm lại, chúng ta phải kiểm thử mỗi biên của một lớp tương đương về tất cả các
phía. Một chương trình nếu vượt qua những trường hợp kiểm thử đó có thể vượt qua

các kiểm thử khác từ lớp đó.
Ví dụ :
Chương trình nhận vào ba số thực, kiểm tra ba số thực có là độ dài ba
cạnh một tam giác. Nếu là độ dài ba cạnh của một tam giác, thì kiểm tra xem
đó là tam giác thường, cân, đều cũng như kiểm tra đó là tam giác nhọn,
vuông hay tù.
Dữ liệu thử


1, 1, 2

Không là tam giác



0, 0, 0

Chỉ một điểm



4, 0, 3

Một cạnh bằng không
8




1, 2, 3.00001


Gần là một tam giác



0.001, 0.001, 0.001

Tam giác rất nhỏ



99999, 99999, 99999

Tam giác rất lớn



3.00001, 3, 3

Tam giác gần đều



2.99999, 3, 4

Tam giác gần cân



3, 4, 5.00001


Tam giác giác gần vuông



3, 4, 5, 6

Bốn giá trị



3

Chỉ một giá trị



Dữ liệu vào rỗng



-3, -3, 5

Giá trị âm

3. Kỹ thuật đồ thị nhân-quả (Cause-Effect Graph)
- Khái niệm:
Là một kỹ thuật để thiết kế ca kiểm thử, cung cấp một biểu diễn chính
xác giữa các điều kiện logic (đầu vào) và các hành động tương ứng (đầu rakêt quả).
Kỹ thuật đồ thị nhân quả được xây dựng dựa trên các mô đun chức

năng, lôgíc tiến trình và đặc tả hệ thống.
Trong nhiều trường hợp, việc cố gắng chuyển một chính sách hoặc một thủ tục
trong ngôn ngữ tự nhiên vào phần mềm dẫn đến sự thất bại và các vấn đề khó hiểu.
Đồ thị nhân - quả là một phương pháp thiết kế trường hợp kiểm thử trên cơ sở đưa ra
một sự mô tả súc tích các điều kiện logic và các hành vi kèm theo.
Đồ thị nhân - quả sử dụng mô hình các quan hệ logic giữa nguyên nhân và kết
quả cho thành phần phần mềm. Mỗi nguyên nhân được biểu diễn như một điều kiện
(đúng hoặc sai) của một đầu vào, hoặc kết hợp các đầu vào. Mỗi kết quả được biểu
diễn như là một biểu thức Bool biểu diễn một kết quả tương ứng cho những thành
phần vừa thực hiện.
9


Đồ thị nhân - quả được tạo như sau:
−Tất cả các nguyên nhân (các đầu vào) và các kết quả (các đầu ra) được liệt kê
dựa trên đặc tả và được định danh cho mỗi nhân - quả.
−Các quan hệ giữa các nguyên nhân (các đầu vào) và các kết quả (các đầu ra)
được biểu diễn trong đồ thị làm rõ ràng các quan hệ logic.
−Từ đồ thị tạo ra bảng quyết định biểu diễn các quan hệ giữa nguyên nhân và kết
quả. Dữ liệu kiểm thử được sinh ra dựa trên các qui tắc trong các bảng này.
Các ký hiệu được đơn giản hoá sử dụng trong đồ thị nhân quả, gồm các phần
tử mô tả như bảng
Các ký hiệu trong đồ thị nhân quả

Các qui tắc trong bảng quyết định được mô tả như sau:
Qui tắc

Tên bảng: cho biết tên logic
10



Tên bảng 1 2 … n Qui tắc: đánh số để phân biệt các qui tắc
quyết định logic.
Điều kiện 1 Y Y
Y
Các dòng điều kiện: Mỗi dòng bao gồm
Điều kiện 2 Y -Y các
Điều kiện 3 Y -…

… …

N

điều kiện để tạo quyết định cho chương trình.



Y: “true”
N: “false”

Điều kiện n -- --

Y

Hành động
1
Hành động
2
Hành động
3



X Các hành động: Mỗi dòng chỉ định có các xử

X
được thực hiện hoặc không.

X X
-- X

-- : Không có quyết định được tạo ra.

X --

X

X: Xử lý được thực hiện.

… …



-- : Không có xử lý được thực hiện.

Hành động -- -n

X

Ví dụ: Để tính thuế thu nhập, người ta có mô tả sau:
−Người vô gia cư nộp 4% thuế thu nhập

−Người có nhà ở nộp thuế theo bảng sau:
Tổng thu nhập
<= 5.000.000 đồng
> 5.000.000 đồng

Thuế
4%
6%

−Quan hệ giữa nguyên nhân (đầu vào) và kết quả (đầu ra) như sau:
Nguyên nhân

Kết quả

11


1. Người có nhà ở
2. Tổng thu nhập <= 5.000.000
đồng
3. Tổng thu nhập > 5.000.000
đồng

4. Nộp 4 % thuế
5. Nộp 6% thuế

− Đồ thị biểu diễn quan hệ logic rõ ràng giữa nguyên nhân-kết quả

−Xây dựng bảng quyết định dựa trên đồ thị. Từ đây xây dựng được bốn trường
hợp kiểm thử (một trường hợp cho việc nộp thuế 6% và ba trường hợp kiểm

thử cần cho việc nộp thuế 4%).
Ví dụ bảng quyết định
trường hợp kiểm thử

1

2

3

4

Y

Y

N

--

2. Có tổng thu nhập <= 5.000.000

N

Y

--

Y


3. Có tổng thu nhập > 5.000.000

Y

N

--

--

4. Nộp thuế 4%

--

X

X

X

5. Nộp thuế 6%

X

--

--

--


Kết quả Nguyên nhân

Nguyên nhân và kết quả
1. Người có nhà ở

Để đảm bảo phủ nhân quả 100%, các trường hợp kiểm thử phải được phát sinh
tương ứng với các qui tắc trong bảng quyết định bảng trên.
III. Các bước kiểm thử hộp đen


Tạo kế hoạch kiểm tra



Kiểm tra bên ngoài giao diện



Thực hiện kiểm tra tải



Tiến hành kiểm tra bắt buộc



Thực hiện kiểm tra an ninh
12





Thực hiện kiểm tra toán cầu hóa



Bước 1: Tạo kế hoạch test

-

chuẩn bị cho các trường hợp thử nghiệm

-

Xây dựng các trường hợp kiểm tra dựa trên những yêu cầu và các tài liệu đặc tả
chức năng



Bước 2: Kiểm tra giao diện ngoài



Đảm bảo rằng khối ứng dụng cho thấy nhiều địa chỉ giao diện mà tất cả các chi tiết
kỹ thuật chức năng yêu cầu



Thử nghiệm cho các loại đầu vào




-

Ngẫu nhiên tạo ra đầu vào trong phạm vi cho phép

-

Trường hợp ranh giới trong phạm vi quy định và đầu vào

-

Kiểm tra đầu vào là số 0

-

Kiểm tra đầu vào là các giá trị null

-

Đầu vào là các giá trị không hợp lệ hoặc ra khỏi phạm vi dự kiến

Bước 3: Thực hiện chạy kiểm tra
- Thực hiện trong điều kiện bình thường và tải cao
13


- Thực hiện việc kiểm tra này cho phép bạn xác minh ứng dụng có đáp ứng mục
tiêu hiệu quả mong muốn,không vượt quá ngân sách phân bổ cho việc sử dụng tài
nguyên như bộ nhớ , bộ xử lý ,thời gian thực hiện lệnh ,.....



Bước 4: kiểm tra stress
- Sử dụng căng thẳng thử nghiệm để đánh giá hành vi của khối ứng dụng khi nó
được đẩy vượt quá tải trọng trong điều kiện bình thường hoặc cao điểm
- Mục đích của thử nghiệm để tìm ra sự căng thẳng là lỗi chủ yếu xảy ra trong điều
kiện tải cao , chẳng hạn như vấn đề đồng bộ hóa,và rò rỉ bộ nhớ .....
- Kiểm tra stress giúp nhà sản xuất đưa ra các thông báo lỗi cho khác hàng khi gặp
sự cố khi ứng dụng bị đẩy vượt quá điều kiện bình thường




-

Bước 5: kiểm tra an ninh
- Dùng để tìm ra các lỗ hổng của ứng dụng tránh các trường hợp bị hack hoặc đổ vỡ
do các lỗi người dùng gây ra do không hiểu về ứng dụng ,
- Thử nghiệm này được thực hiện tại thời gian chạy
- Mục đích: phá vỡ các giao diện của khối ứng dụng, đánh chặn dữ liệu nhạy cảm
trong phạm vi cấm
Bước 6: Tiến hành kiểm thử Globalization
Mục đích:tất cả mọi người ở tất cả mọi nơi đều có thể sử dụng ứng dụng không phụ
thuộc vào vị trí địa lý hay nền văn hóa ......
Để thực hiện kiểm tra toàn cầu hóa, bạn phải cài đặt nhiều nhóm ngôn ngữ và văn
hóa hoặc thiết lập miền địa phương để các nền văn hóa khác nhau hoặc miền địa
phương,

IV. Ưu điểm và tồn tại của kiểm thử hộp đen
1. Ưu điểm:

- Mang lại nhiều hiệu quả lớn trên những đơn vị mã nguồn sau việc
kiểm thử hộp đen.
- Người kiểm thử phần mềm không cần có một kiến thức sâu rộng về
đặc tả và ngôn ngữ lập trình.
- Người kiểm thử và các lập trình viên là độc lập với nhau, kiểm thử
được cân nhắc và khách quan nhất.
- Người kiểm thử thực hiện những quan điểm của người xem (người
chưa biết gì).
14


- Sẽ giúp cho việc hiển thị sự mơ hồ hoặc sự mâu thuẫn trong các đặc tả
hệ thống.
- Việc kiểm thử được tiến hành một cách sớm nhất ngay sau khi hoàn
thành việc đặc tả hệ thống.
- Có hiệu quả cao khi được sử dụng trên hệ thống lớn.
- Người kiểm thử không cần có kiến thức chi tiết về chức năng của hệ
thống.
- Kiểm thử phần mềm giúp hiển thị những việc chưa rõ ràng và những
mâu thuẫn trong đặc tả hệ thống.
2. Tồn tại:
- Chỉ có một số lượng nhỏ các yếu tố đầu vào có thể đã được kiểm tra.
- Nếu không có cách thức rõ ràng và chi tiết, các trường hợp kiểm thử
khó có thể được thiết kế.
- Có thế sẽ lặp lại những cái không cần thiết của việc kiểm tra đầu vào
nếu như người kiểm thử không có được thông tin về quy tình test mà những
người lập trình đã cố gắng làm.
- Có thể chấp nhận nhiều đường dẫn chương trình mà chưa được kiểm
tra.


- Không thể định hướng tới những đoạn mã cụ thể mà được cho là rất phức
tạp
- Rất khó xác định các yếu tố đầu vào, nếu như qui trình kiểm thử
không được phát triển dựa trên bản đặc tả chi tiết.

15


C. Kết luận
Nói tóm lại, kiểm thử hộp đen là một phương pháp kiểm
thử mà nguyên tắc của nó là phần mềm cần kiểm thử như là một khối
đen đóng, chỉ quan tâm tới đầu vào và đầu ra của phần mềm mà không
quan tâm tới cấu trúc bên trong của phần mềm như thế nào. Kiểm thử
hộp đen được áp dụng trong bước kiểm thử tích hợp và kiểm thử hệ
thống. Trong mỗi giai đoạn, người ta thiết kế các ca kiểm thử để kiểm
tra, ghi nhận lỗi của phần mềm tùy thuộc vào mục đích kiểm thử. Để
có thể thiết kế được một ca kiểm thử hiệu quả, người ta thường áp
dụng một số phương pháp như: Các phương pháp dựa trên đồ thị,
phân hoạch tương đương, phân tích giá trị biên…Ngoài ra, trong một
số trường hợp phương pháp kiểm thử hộp đen còn được áp dụng đối
với hình thức kiểm thử so sánh, ở đó một số phiên bản của phần
mềm được sử dụng cùng một luồng dữ liệu vào rồi so sánh kết quả trả
về của các phiên bản. Để cho việc kiểm thử hiệu quả, người ta thường
sử dụng một số chiến lược như: chiến lược kiểm thử hồi quy, chiến
lược kiểm thử từ trên xuống,chiến lược kiểm thử từ dưới lên, chiến
lược kiểm thử thời gian thực. Trong chiến lược kiểm thử thời gian
thực, quy trình kiểm thử được tiến hành qua 4 pha chính đó là: Kiểm
thử tác vụ, kiểm thử ứng xử, kiểm thử liên tác, và kiểm thử hệ thống.
Trong mỗi pha này, tùy thuộc vào tính chất, mục đích của từng pha
mà áp dụng các phương pháp kiểm thử khác nhau như kiểm thử

hộp đen, kiểm thử hộp trắng, kiểm thử song song. Để công việc
kiểm thử được hiệu quả, người ta luôn chú ý đến tiêu chí lựa chọn
các ca kiểm thử sao cho vừa đơn giản, vừa hiệu quả (ví như: Cho biết
16


về sự tồn tại hoặc vắng mặt của một lớp sai (không phải về một sai cụ
thể gắn với một kiểm thử riêng biệt).

17


D. Tài liệu tham khảo
1. Tiểu luận: Đề tài: CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN
MỀM
của Nghiêm Văn Triệu, Trường đại học quốc gia Hà Nội.
2. Giáo trình CNPM nâng cao của Nguyễn Văn Vỵ- Trường
đại học quốc gia Hà Nội.
3. Luận văn: Đề tài : MỘT SỐ KỸ THUẬT KIỂM THỬ PHẦN
MỀM
Của Cao Thị Bích Liên, Trường ĐH Thái Nguyên.
4. Diễn đàn testingvn, địa chỉ
5. Diễn đàn SEGVN, địa chỉ />
18



×