ML A= MTTF/(MTTF+MTTR)*100% 3) Thử nghiệm tĩnh
7.4.1. Kiểm thử Black-bo
1) Ý tƣởng
Hình 7.3. Kiểm thử Black-box
Hệ thống phần mềm là một công cụ hỗ trợ để thực hiện các công việc chuyên môn của ngƣời sử dụng trên máy tính. Ví dụ phần mềm quản lý giáo vụ trƣờng phổ thông hỗ trợ các nghiệp vụ: quản lý hồ sơ học sinh, kết quả học tập, tính điểm trung bình, …; phần mềm quản lý bán hàng hỗ trợ các nghiệp vụ: lập chứng từ hóa đơn bán hàng, đơn đặt hàng, tính doanh thu, in báo cáo,…
Ý tƣởng của phƣơng pháp kiểm thử Black-box (hộp đen): - Chỉ quan tâm đến đầu ra và đầu vào
- Không quan tâm đến các xử lý
- Các xử lý đƣợc che dấu và không cần phân tích
- Không cần quan tâm đến cấu trúc, thiết kế, lậptrình của chƣơng trình. Do đó, ngƣời kiểm thử (Tester):
- Không cần phải có kiến thức về + Ngôn ngữ lập trình
+ Môi trƣờng phát triển phần mềm (IDE)
+ Các hệ quản trị cơ sở dữ liệu (SQL Server, Oracle, B2,…)
- Thao tác các chức năng của hệ thống nhƣ là một ngƣời sử dụng hệ thống. 2) Các phƣơng pháp kiểm thử Black-box
a. Phân hoạch cân bằng (Equivalence Partitioning-EP)
- Là một phƣơng pháp kiểm thử hộp đen phân chia tập dữ liệu đầu vào của một chƣơng trình thành lớp các dữ liệu từ đó có các trƣờng hợp kiểm thử có thể suy dẫn ra.
- Mục đích:
+ Tối thiểu các trƣờng hợp kiểm thửcho trƣớc
+ Không phải thực hiện nhiều trƣờng hợp kiểm thử mới tìm ra lỗi
+ Xác định một trƣờng hợp kiểm thử làm lộ ra một lớp lỗi để làm giảm tổng số các trƣờng hợp kiểm thử phải thiết kế
+ Thực hiện trên tập dữ liệu đầu vào - Các bƣớc thực hiện:
+ Xác định các lớp tƣơng đƣơng + Xác định các trƣờng hợp kiểm thử
- Các lớp tƣơng đƣơng đƣợc định nghĩa theo các nguyên tắc sau:
+ 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.
+ 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ệ.
+ 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.
+ 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ảng 7.2. Bảng liệt kê các lớp tƣơng đƣơng
Điều kiện EP hợp lệ EP không hợp lệ
- Xác định các trƣờng hợp kiểm thử
+ Đế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ủ.
+ Đế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ủ.
Ví dụ 1:Xét một chƣơng trình nhập điểm của sinh viên. Biết rằng mã sinh viên phải là các ký số, tên sinh viên gồm các ký tự chữ cái và không rỗng, giới tính có hai giá trị “M” hoặc “F”, điểm của sinh viên phải là số có giá trị từ 0 đến 100. Hãy lập bảng liệt kê các lớp tƣơng tƣơng.
Bảng 7.3. Bảng liệt kê các lớp tƣơng đƣơng của chƣơng trình nhập điểm
Điều kiện EP hợp lệ không hợp lệ
Mã sinh viên Các ký số Không phải là các ký số Tên sinh viên Các ký tự chữ cái
Không rỗng Không phảichữ cái Rỗng
Giới tính “M”
“F” Không “F” phải “M” hoặc
Điểm Số ≥ 0 ≤ 100 Không phải số < 0 >100
Ví dụ 2: Một Textbox chỉ cho phép nhập số nguyên từ 1 đến 100. Để kiểm tra tính đúng đắn của việc nhập dữ liệu, cần xây dựng ít nhất bao nhiêu trƣờng hợp kiểm thử.
Có 3 trƣờng hợp xẩy ra:
Do đó, để kiểm tra màn hình trên cần ít nhất 3 trƣờng hợp (Test case): -5, 55, 102 hoặc 0, 10, 1000, …
Tuy nhiên nếu ta nhập vào số thập phân (55.5) hay một ký tự không phải là số (abc) thì khi đó phải chia làm trƣờng hợp nhƣ sau:
- Các số nguyên từ 1 đến 100 - Các số nguyên nhỏ hơn 1 - Các số nguyên lớn hơn 100 - Không phải số
- Số thập phân
Nhƣ vậy, việc phân hoạch cân bằng có đúng và đủ hay không là tùy thuộc vào kinh nghiệm của ngƣời kiểm thử.
Ví dụ 3: Cho một chƣơng trình tìm số lớn nhất và nhỏ nhất trong 3 số. Để kiểm tra tính đúng đắn của màn hình, cần xây dựng ít nhất bao nhiêu trƣờng hợp kiểm thử.
Hình 7.4. Chƣơng trình tìm số lớn nhất và nhỏ nhất trong 3 số Các trƣờng hợp xẩy ra: - Trƣờng hợp 1: a ≥ b ≥ c: Max=a, Min=c - Trƣờng hợp 2: a ≥ c ≥ b: Max=a, Min=b - Trƣờng hợp 3: b ≥ a ≥ c: Max=b, Min=c - Trƣờng hợp 4: b ≥ c ≥ a: Max=b, Min=a - Trƣờng hợp 5: c ≥ a ≥ b: Max=c, Min=b - Trƣờng hợp 6: c ≥ b ≥ a: Max=c, Min=a
Do đó, để kiểm tra màn hình trên cần ít nhất 6 trƣờng hợp (Test case): - Trƣờng hợp 1: a = 5, b = 4, c = 2 - Trƣờng hợp 2: a = 5 b = 2 c = 4 - Trƣờng hợp 3: b = 5, a = 4, c = 2 - Trƣờng hợp 4: b = 5, a = 2, c = 4 - Trƣờng hợp 5: c = 5, a = 4, b = 2 - Trƣờng hợp 6: c = 5, a = 2, b = 4
b. Phân tích cực biên (Boundary Value Analysis-BVA)
- Là kỹ thuật thiết kế các trƣờng kiểm thử, bổ sung cho phân hoạch cân bằng. Thay vì chọn bất kỳ phần tử nào của lớp cân bằng, BVA lại kiểm thử tại cạnh của lớp.