Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng

Kiểm thử hộp đen

Khái niệm

 Là kiểm thử yêu cầu chức năng

 Đối tượng: module, hệ thống con, toàn hệ

thống

 Đặc trưng:

• Thuyết minh: các chức năng đủ & vận hành đúng

• Thực hiện: qua giao diện

• Cơ sở: đặc tả, điều kiện vào/ra và cấu trúc dữ liệu

• Ít chú ý đến logic nội tại của nó

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 1

Trang 1

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 2

Trang 2

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 3

Trang 3

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 4

Trang 4

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 5

Trang 5

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 6

Trang 6

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 7

Trang 7

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 8

Trang 8

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 9

Trang 9

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 56 trang xuanhieu 3620
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng

Bài giảng Kiểm thử phần mềm - Chương 2: Kiểm thử hộp đen - Nguyễn Thanh Hùng
r!”
 4. Các lớp 1, 6, 3 có đầu vào (5,0,2006), kết quả mong 
 muốn là ”Input Error!”
 5. Các lớp 1, 7, 3 có đầu vào (5,40,2006), kết quả mong 
 muốn là ”Input Error!”
 6. Các lớp 1, 2, 8 có đầu vào (5,10,1812), kết quả mong 
 muốn là ”Input Error!”
 7. Các lớp 1, 2, 9 có đầu vào (5,10,3006), kết quả 
 22
mong muốn là ”Input Error!”
 Ví dụ (4) - Cách phân lớp thứ nhất
Các vấn đề của cách phân lớp 1:
 . Độ phức tạp của cách phân lớp này như thế nào?
 . Năm nhuận liệu có được tính đến?
 . Các trường hợp đã bao phủ trường hợp ngày 31
 tháng 12?
 . Cuối cùng thì cách phân lớp này đã hợp lý chưa?
 23
 Ví dụ (5) - Cách phân lớp thứ hai
Điều kiện Lớp tương Số thứ Lớp tương Số
 đương hợp lệ tự đương không thư 
 hợp lệ tự
Tháng Các tháng 31 1 Tháng <1 11
 ngày trừ tháng 
 12
 Các tháng 30 2 Tháng >12 12
 ngày
 Tháng 2 3
 Tháng 12 4
Ngày [1,28] 5 Ngày < 1 13
 29 6 Ngày > 31 14
 30 7
 31 8
Năm Năm nhuận 9 Năm <1900 15
 Năm không 10 Năm > 2060 16 24
 nhuận
 Ví dụ (6) - Cách phân lớp thứ hai
Các trương hợp kiểm thử của cách 2:
 1. Các lớp 1,5,9 có đầu vào (7,16,2006), kết quả mong muốn là 
 (7,17,2006).
 2. Các lớp 2,6,10 có đầu vào (4,29,2006), kết quả mong muốn là 
 (4,30,2006).
 3. Các lớp 3,7,9 có đầu vào (2,30,2000), kết quả mong muốn là 
 ”Input Error!”
 4. Các lớp 4,8,10 có đầu vào (12,31,2001), kết quả mong muốn là 
 (1,1,2002).
 5. Các lớp 11,5,9 có đầu vào (-2,10,2004), kết quả mong muốn là 
 ”Input Error!”
 6. Các lớp 12,5,9 có đầu vào (15,10,2004), kết quả mong muốn là 
 ”Input Error!”
 7. Các lớp 1,13,9 có đầu vào (8,-2,2004), kết quả mong muốn là 
 ”Input Error!”
 25
 Ví dụ (7) - Cách phân lớp thứ hai
Các trương hợp kiểm thử của cách 2:
 8. Các lớp 1,14,9 có đầu vào (8,2000,2004), kết quả 
 mong muốn là ”Input Error!”
 9. Các lớp 1,5,15 có đầu vào (3,19,1830), kết quả mong 
 muốn là ”Input Error!”
 10. Các lớp 1,5,16 có đầu vào (3.19.3000), kết quả 
 mong muốn là ”Input Error!”
 26
 Ví dụ (8) - Cách phân lớp thứ hai
Các vấn đề của cách phân lớp 2:
 . Cách phân lớp 1 và 2 cách nào tốt hơn?
 . Cách này đã thực sự hoàn hảo chưa?
 . Phân vùng tương đương có là thuật toán thích
 hợp cho bài toàn tìm ngày tiếp theo không?
 27
 Boundary Testing (Kiểm thử biên)
 Định nghĩa
 . Phân tích giá trị biên là một phương pháp thiết kế các trường hợp
 kiểm thử bổ sung cho phân vùng tương đương. Nó dẫn đến việc
 lựa chọn các trường hợp kiểm thử tại “cạnh” của lớp.
 ƒ Nguyên tắc
 . Với 1 phạm vi (a,b), các giá trị a, b, 1 số nhỏ hơn a, 1 số nhỏ hơn
 b, một số lớn hơn a, một số lớn hơn b tất cả đều phải được kiểm
 tra. VD: Nếu a,b là số nguyên, bạn phải test a,b,a-1,b-1,a+1,b+1
 . Nếu có một số giá trị, thì các giá trị max, min, trước và sau min,
 max phải được kiểm tra
 . Nếu nội bộ các cấu trúc dữ liệu chương trình qui định các biên, hãy
 thiết kế 1 test case để kiểm tra cấu trúc dữ liệu tại biên của nó
 . Các hướng dẫn có thể được áp dụng với các điều kiện đầu ra
 28
 Boundary Testing (Kiểm thử biên)
 Trong quá trình kiểm thử biên, chú ý đên các kiểu sau:
 . Số
 . Ký tự
 . Vị trí
 . Số lượng
 . Tốc độ
 . Địa điểm
 . Kích thước
 Bên cạnh các nguyên tắc, cần phải kiểm tra các mục
 dưới đây:
 . Đầu tiên/Cuối cùng, Đầu tiên-1/Cuối cùng-1
 . Bắt đầu/Kết thúc, Bắt đầu-1/Kết thúc+1
 . Hơn/Kém, Chỉ hơn/Chỉ kém
 . Rỗng/Đầy, Ít hơn rỗng/Nhiều hơn đầy
 29
 Boundary Testing (Kiểm thử biên)
 Bên cạnh các nguyên tắc, cần phải kiểm tra các mục
 dưới đây:
 . Ngắn nhất/Dài nhất, Thậm chí Ngắn hơn/Dài hơn
 . Chậm nhất/Nhanh nhất, Thậm chí Chậm hơn/Nhanh hơn
 . Sớm nhất/Muộn nhất, Thậm chí Sớm hơn/Muộn hơn
 . Lớn nhất/Nhỏ nhất, Lớn nhất+1/Nhỏ nhất-1
 . Cao nhất/Thấp nhất, Cao nhất+1/Thấp nhất-1
 . Tiếp theo/Xa nhất từ
 ƒ Biên con (Sub-boundary)
 . Biên con là những biên không được định nghĩa trong đặc tả, mà
 ở bên trong phần mềm.
 . Những biên này cũng cần được test như các biên thông thường.
 30
Ví dụ(1)
 31
 Ví dụ (2)
Ghi chú
 . Chỉ xem xét đến 1 biến thể của biên tại một
 thời điểm, và những biên khác sẽ có giá trị
 bình thường. Ví dụ, khi kiểm thử biên tháng,
 hãy để ngày và năm giá trị bình thường.
 . Tập kiểm tra là chưa đầy đủ. Hãy nhớ rằng
 kiểm thử biên là một phương pháp kiểm thử
 bổ sung. Nó nên được áp dụng cùng với các
 phương pháp khác.
 32
 Bảng quyết định
 Định nghĩa
 Bao gồm 4 vùng gọi là stub điều kiện (condition stub), entry điều 
 kiện (condition entry), stub hành động (action stub) và entry hành
 động (action entry):
 1. Stub điều kiện là một danh sách tên gọi của các điều kiện
 2. Stub hành động nêu tên các hành động sẽ thường xuyên có hoặc
 được khởi tạo nếu thỏa mãn các điều kiện.
 3. Entry điều kiện là sự kết hợp của các điều kiện.
 4. Entry hành động là những hành động diễn ra dưới sự kết hợp của 
 các điều kiện.
 5. Mỗi cột trong bảng là một luật mà quy định các điều kiện theo đó 
 những hành động có tên trong stub hành động sẽ diễn ra.
 ƒ Mối quan hệ với trường hợp kiểm thử (test case)
 . Một luật là một test case, có nghĩa là, các giá trị trong entry điều kiện
 là đầu vào test và các hành động phù hợp là kết quả được kì vọng.
 33
 Ví dụ Bảng Quyết định
 Đây là bảng quyết định mô tả các kịch bản khi đọc 
 một cuốn sách
 34
 Mục không áp dụng được(1)
 Để giảm số trưởng hợp thử nghiệm, chúng ta có thể 
 kết hợp các quy tắc có kết quả hành động tương tự
 35
 Mục không áp dụng được(2)
 “-” biểu diễn mục không cần xem xét
 Số lượng các quy tắc được giảm xuống còn 4 và các 
 trường hợp thử nghiệm giảm cho phù hợp
 36
 Bảng Quyết định
 Các loại của bảng quyết định
 . Bảng quyết định đầu vào giới hạn: Giá trị của mỗi điều kiện là 2 
 thành phần, đó là, Y/N, T/F, 1/0, v.v..
 . Bảng quyết định đầu vào mở rộng: Mỗi điều kiện có nhiều giá trị
 Cách để thiết kế các trường hợp thử nghiệm
 . Bước:
 1. TÌm các điều kiện và các hành động bằng cách phân tích đặc tả
 2. Làm đầy các điều kiện và các hành động trong cuống điều kiện và
 cuống hành động
 3. Làm đầy các tổ hợp của điều kiện vào dựa trên logic
 4. Làm đầy hành động vào dựa trên tổ hợp các điều kiện và đặc tả
 37
 Bảng Quyết định Đầu vào Giới hạn(1)
 Ví dụ
 . Một chức năng được mô tả như sau: nhập 3 số nguyên biểu
 diễn độ dài các cạnh của 1 tam giác và đầu ra 1 thông điệp là
 trạng thái của tam giác là đều hay không đều.
 . a,b,c là đầu vào số nguyên và bảng quyết định là:
 38
 Bảng Quyết định Đầu vào Giới hạn(2)
 Các trường hợp thử nghiệm:
 . Quy tắc 1: Đầu vào = (60,16,26), Kết quả mong đợi = Không phải 1 tam giác
 . Quy tắc 2: Đầu vào = (50,50,0), Kết quả mong đợi = Không phải 1 tam giác
 . Quy tắc 3: Đầu vào = (0,0,0), Kết quả mong đợi = Không phải 1 tam giác
 . Quy tắc 4: Đầu vào = (60, 60, 60), Kết quả mong đợi = Đều
 . Quy tắc 5: Tổ hợp không tồn tại trong thực tế
 . Quy tắc 6: Tổ hợp không tồn tại trong thực tế
 . Quy tắc 7: Đầu vào = (60, 60, 26), Kết quả mong đợi = Cân
 . Quy tắc 8: Tổ hợp không tồn tại trong thực tế
 . Quy tắc 9: Đầu vào = (60, 26, 60), Kết quả mong đợi = Cân
 . Quy tắc 10: Đầu vào = (26, 60, 60), Kết quả mong đợi = Cân
 . Quy tắc 11: Đầu vào = (30, 40, 50), Kết quả mong đợi = Không cân
 Các trường hợp thử nghiệm:
 . Có 8 trường hợp thử nghiệm
 . Trường hợp thử nghiệm này chỉ kiểm tra tính logic của phần mềm
 39
 Bảng Quyết định Đầu vào Mở rộng(1)
 Ví dụ:
 . Một chức năng được mô tả kiểu như: nextDate(month,day,year) là 1
 hàm mà đầu ra của ngày tiếp theo của ngày đầu vào. 1 month 12,
 1 day 31, 1900 year 2060.
 . Nếu bạn chọn 1 bảng quyết định đầu vào giới hạn, sẽ có 256 quy tắc.
 1. Giá trị của tháng có thể là 1 trong những cái sau:
 • M1 = {tháng có 31 ngày, trừ tháng 12}
 • M2 = {tháng có 30 ngày}
 • M3 = {tháng 2}
 • M4 = {tháng 12}
 2. Giá trị của ngày có thể là 1 trong những cái sau:
 • D1 = {Từ 1 đến 27}
 • D2 = {28}
 • D3 = {29}
 • D3 = {30}
 • D3 = {31}
 40
 Bảng Quyết định Đầu vào Mở rộng(2)
 Ví dụ
 3. Giá trị của năm có thể là 1 trong những cái sau:
 • Y1 = {năm nhuận}
 • Y1 = {năm không nhuận}
 Bảng quyết định:
 41
 Bảng Quyết định Đầu vào Mở rộng (3)
 Các trường hợp thử nghiệm
 . Quy tắc 1: Đầu vào = (7,16,2001) Kết quả mong đợi = (7,17,2001)
 . Quy tắc 2: Đầu vào = (7,31,2001) Kết quả mong đợi = (8,1,2001)
 . Quy tắc 3: Đầu vào = (4,25,2000) Kết quả mong đợi = (4,26,2000)
 . Quy tắc 4: Đầu vào = (9,30,1999) Kết quả mong đợi = (10,1,1999)
 . Quy tắc 5: Đầu vào = (11,31,2000) Kết quả mong đợi = “Input Error!”
 . Quy tắc 6: Đầu vào = (2,15,2004) Kết quả mong đợi = (2,16,2004)
 . Quy tắc 7: Đầu vào = (2,29,2004) Kết quả mong đợi = (3,1,2004)
 . Quy tắc 8: Đầu vào = (2,31,2004) Kết quả mong đợi = “Input Error!”
 . Quy tắc 9: Đầu vào = (2,16,2005) Kết quả mong đợi = (2,17,2005)
 . Quy tắc 10: Đầu vào = (2,28,2005) Kết quả mong đợi = (3,1,2005)
 . Quy tắc 11: Đầu vào = (2,29,2005) Kết quả mong đợi = “Input Error!”
 . Quy tắc 12: Đầu vào = (12,26,2005) Kết quả mong đợi = (17,27,2005)
 . Quy tắc 13: Đầu vào = (12,31,2005) Kết quả mong đợi = (1,1,2006)
 42
 Bảng Quyết định 
Nhớ những điều sau đây:
 . Nên sử dụng bảng quyết định khi kiểm tra logic.
 . Để giảm bớt số trường hợp kiểm thử, có thể sử
 dụng các bảng quyết định mở rộng đầu vào.
 . Bảng quyết định không phải là một kỹ thuật mà
 chỉ có thể sử dụng để thiết kế các trường hợp
 thử nghiệm.
 43
 Dự đoán lỗi (Error Guessing)
Định nghĩa
 . Việc thiết kế các trường hợp kiểm thử dựa trên kinh
 nghiệm và trực giác của một kiểm định viên.
 . Thường được dùng như một phương pháp bổ sung.
ƒ Các bước
 . Hầu như là một tiến trình dựa trên trực giác và
 không được chuẩn bị trước.
 • Liệt kê một danh sách các lỗi có thể xảy ra và các tình
 huống dễ gây ra lỗi
 • Thiết kế các test case dựa trên danh sách đó
 44
 Đặc tả(1)
 Các chức năng của hệ thống:
 . Căn cứ vào tuổi và số điểm hiện tại trong giấy phép lái xe, tính
 toán ra một nửa năm bảo hiểm của người được hưởng bảo
 hiểm dựa trên các khoản trong bảng 1.
 . Đầu vào
 • Tuổi của người được bảo hiểm: integer[16,100]
 • Số điểm hiện tại trong giấy phép lái xe: Integer[0,12]
 . Đầu ra
 • Hợp đồng bảo hiểm trong nửa năm
 . Tiến trình
 1. Tính toán giá trị tuyệt đối của tuổi. Dựa trên số tuổi của người được bảo
 hiểm trong giấy phép lái xe, tính toán giá trị tuyệt đối tuổi dựa vào bảng 1, 
 sau đó chuyển sang bước 2. Nếu tuổi nằm ngoài khoảng cho phép, tiến
 trình kết thúc với một thông báo “Warning: Age should between 16 
 and 100.(including 16 but not 100)”
 45
 Đặc tả(2)
 Tiến trình
 2. Tính chiết khấu lái xe an toàn. Dựa trên điểm hiện tại trong
 giấy phép lái xe, tính chiết khấu lái xe an toàn theo bảng 1.
 Nếu điểm hiện tại trong giấy phép lái xe ít hơn ngưỡng tương
 ứng, lấy giá trị chiết khấu và chuyển sang bước 3. Nếu điểm
 hiện tại trong giấy phép lái xe là lớn hơn hoặc bằng ngưỡng,
 nhưng nhỏ hơn 12, thiết lập giá trị chiết khấu về 0 và chuyển
 sang bước 3. Nếu điểm bằng hoặc hơn 12, tiến trình sẽ kết
 thúc bằng cách hiển thị các thông tin "tổng phí bảo hiểm của
 bạn là $ 0".
 3. Phí bảo hiểm = Tỷ lệ bảo hiểm cơ bản * giá trị tuyệt đối tuổi –
 chiết khấu bảo hiểm.
 4. Tỷ lệ bảo hiểm cơ bản = 500
 46
 Trả lời
 Các bước
 . Để có được những test case tốt, áp dụng mỗi kỹ thuật
 kiểm thử hộp đen là chưa đủ:
 1. Thực hiện phân vùng tương đương để chia
 nhỏ vấn đề.
 2. Sử dụng bảng quyết định mở rộng để kiểm thử logic
 3. Sử dụng giá trị biên để kiểm thử các biên.
 4. Sử dụng đoán lỗi để bổ sung cho tập kiểm thử.
 5. Kết quả cuối cùng nên kết hợp với những câu trả lời
 trước đó.
 47
 Xác định các lớp tương đương
Dựa trên các đặc tả ta có:
 Tuổi:
 1. Những khoảng xác định: [16,25), [25,35), [35,45),
 [45,60), [60,100)
 2. Những khoảng không xác định: [- ,16), [100,+ )
 Điểm:
 1. Những khoảng xác định: [0,1), [1,3), [3,5), [5,7),
 [7,12), 12
 2. Những khoảng không xác định: [- ,0), [12,+ )
 48
 Bảng quyết định
  Sử dụng bảng quyết định với các mục mở rộng để
 kiểm tra tính logic
Tuổi [16,25) [16,25) [16,25) [25,35) [25,35) [25,35) [35,45) [35,45) [35,45)
Điểm [0,1) [1,12) 12 [0,3) [3,12) 12 [0,5) [5,12) 12
Age modulus 2.8 2.8 0 1.8 1.8 0 1 1 0
Chiết khấu 50 0 0 50 0 0 100 0 0
Bảo hiểm 1350.0 1400.0 0.0 850.0 900.0 0.0 400.0 500.0 0.0
N/A
Tuổi [45,60) [45,60) [45,60) [60,100) [60,100) [60,100)
Điểm [0,7) [7,12) 12 [0,5) [5,12) 12
Age modulus 0.8 0.8 0 1.5 1.5 0
Chiết khấu 150 0 0 200 0 0
Bảo hiểm 250.0 400.0 0.0 550.0 750.0 0
N/A
 49
 Giá trị biên (1)
 Dùng giá trị biên để kiểm tra biên của mỗi khoảng xác định, 
 mỗi giá trị một lần
 Tuổi: [16,25), Điểm: 
 Tuổi Điểm Kết quả mong đợi
 [0,1), [1,12), 12
 15 0 Lỗi!
 16 0 1350
 17 0 1350
 20 0 1350
 23 0 1350
 24 0 1350
 25 0 850
 20 -1 Lỗi!
 20 1 1400
 20 2 1400
 20 11 1400
 20 12 Lỗi!
 20 13 Lỗi!
 50
 Giá trị biên (2)
 Dùng giá trị biên để kiểm tra biên của mỗi khoảng xác định, 
 mỗi giá trị một lần
Tuổi: [25,35), Điểm: 
 Tuổi Điểm Kết quả mong đợi
 [0,3), [3,12), 12
 24 2 1400
 25 2 850
 26 2 850
 30 2 850
 33 2 850
 34 2 850
 35 2 400
 30 -1 Lỗi!
 30 0 850
 30 1 850
 30 2 850
 30 3 900
 30 4 900
 30 11 900
 30 12 Lỗi!
 30 13 Lỗi! 51
 Giá trị biên (3)
 Dùng giá trị biên để kiểm tra biên của mỗi khoảng xác định, 
 mỗi giá trị một lần
Tuổi: [35,45), Điểm: 
 Tuổi Điểm Kết quả mong đợi
 [0,5), [5,12), 12
 34 3 900
 35 3 400
 36 3 400
 40 3 400
 43 3 400
 44 3 400
 45 3 250
 40 -1 Lỗi!
 40 0 400
 40 3 400
 40 4 400
 40 5 500
 40 6 500
 40 11 500
 40 12 Lỗi!
 40 13 Lỗi! 52
 Giá trị biên (4)
 Dùng giá trị biên để kiểm tra biên của mỗi khoảng xác định, 
 mỗi giá trị một lần
Tuổi: [45,60), Điểm: 
 Tuổi Điểm Kết quả mong đợi
 [0,7), [7,12), 12
 44 4 400
 45 4 250
 46 4 250
 55 4 250
 58 4 250
 59 4 250
 60 4 550
 55 -1 Lỗi!
 55 0 250
 55 1 250
 55 6 250
 55 7 400
 55 8 400
 55 11 400
 55 12 Lỗi!
 55 13 Lỗi! 53
 Giá trị biên (5)
 Dùng giá trị biên để kiểm tra biên của mỗi khoảng xác định, 
 mỗi giá trị một lần
Tuổi: [60,100), Điểm: 
 Tuổi Điểm Kết quả mong đợi
 [0,5), [5,12), 12
 59 3 250
 60 3 550
 61 3 550
 80 3 550
 98 3 550
 99 3 550
 100 3 Lỗi!
 80 -1 Lỗi!
 80 0 550
 80 1 550
 80 3 550
 80 4 550
 80 5 750
 80 6 750
 80 11 750
 80 12 Lỗi! 54
 80 13 Lỗi!
 Đoán lỗi
 Sử dụng đoán lỗi để tìm ra tập các phép thử
 Trường tuổi Tuổi Điểm Kết quả mong đợi
 f16 0 Lỗi!
 -50 1 Lỗi!
 50.5 1 Lỗi!
 \&$ 1 Lỗi!
 050 1 Lỗi!
 -2147483648 1 Lỗi!
 2147483647 1 Lỗi!
 Trường điểm Tuổi Điểm Kết quả mong đợi
 50 g Lỗi!
 50 -2 Lỗi!
 50 2.5 Lỗi!
 50 02 Lỗi!
 50 -2147483648 Lỗi!
 50 2147483647 Lỗi!
 50 *&^%() Lỗi!
 55
 Tổng kết
 Kỹ thuật kiểm thử hộp đen có thể kiếm tra
 chức năng và phi chức năng của phần mềm
 dựa trên các đặc tả.
 Kỹ thuật kiểm thử hộp đen phổ biến bao
 gồm kiểm thử biên, phân vùng tương đương,
 bảng quyết định và đoán lỗi.
 ƒĐể có được những tập kiểm thử tốt, việc áp
 dụng chỉ một kỹ thuật là chưa đủ.
 56

File đính kèm:

  • pdfbai_giang_kiem_thu_phan_mem_chuong_2_kiem_thu_hop_den_nguyen.pdf