Kiểm thử điều kiện (Condition testing)
Phân tích giá trị biên (boundary value analysis)
Kiểm thử chuyển đổi trạng thái (State Transition Testing)
Đoán lỗi (Error Guessing)
Xét đoạn mã giả sau:
Cần tối thiểu bao nhiêu test case để độ bao phủ rẽ nhánh (branch coverage) là 100%
3
4
5
6
Xét chương trình tính phí cho việc thuê băng video như sau:
Float calcRentalFee(Tape[] tapes, Customer customer){
float total = 0;
for(int I = 0; I < tapes.length; I++){
total += tapes[I].price;
}
if (tapes.length > 10){
total *= .8;
} else if(tapes.length > 5){
total *= .9;
}
if(customer.isPremium()){
total *= .9;
}
return total;
}
Nếu có các test case sau:
Test case 1 với tapes=[5,6,10,3,5,7,8] và Customer.isPremium = true
Test case 2 với tapes=[5,6,4,5,7,3,6,7,4,5,3,2] và Customer.isPreminum = true
Test case 3 với tapes=[5,6,4,5] và Customer.isPreminum = false
Thì tổ hợp các test case nào có độ bao phủ về lệnh (statement coverage) 100%
Test case 1 và 2
Test case 1 và 3
Test case 2 và 3
Cả 3 test case
Hoạt động sau đây thuộc loại bảo trì nào “Phát hiện sớm và sửa sai các khuyết điểm vừa mới phát hiện trước khi chúng trở thành các khuyết điểm chính”
Chia sẻ với bạn bè của bạn: |