Kiểm thử vòng lặp lồng nhau như thế nào?

Chuyên đề thảo luận về kiểm thử hộp trắng (White-box Testing)
Forum rules
Chuyên đề này chỉ thảo luận về Whitebox Testing.
Để có kết quả nhanh, bạn nên search trước khi viết bài mới.
Post Reply
anhanh
Hoc Tester
Posts: 2
Joined: Sat 30 Aug, 2014 8:35 am
Contact:

Kiểm thử vòng lặp lồng nhau như thế nào?

Post by anhanh »

Chào mọi người,

Mình có tìm hiểu cách kiểm thử cho vòng lặp lồng nhau nhưng còn mấy khúc mắc, hi vọng m n giúp đỡ.

Mình có ví dụ:

Code: Select all

int test(int a, int b){
for (int i = 0; i < a; i++)
    for (int j = i + b%2; j<b;j++){
         // do something
     }
}
Vòng lặp trên là nested loop, mình có đọc tài liệu thấy họ yêu cầu kiểm thử 2 lần:
Lần 1: Xuất phát từ vòng lặp trong cùng; giá trị biến i vòng ngoài set một giá trị nào đó. Như thế biến bài toán về kiểm thử Simple loop.
Lần 2: Kiểm thử vòng lặp ngoài 7 lần, với mỗi lần lặp đồng thời tính toán vòng lặp trong sẽ lặp bao nhiêu lần.

Mình muốn hỏi mình nghĩ thế có đúng không? Mình muốn hỏi chúng ta kiểm thử vòng lặp bằng cách phân tích các đường independent paths(basis paths - mccabe) hay phân tích mã nguồn thế?



tvn
Admin
Posts: 4900
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Re: Kiểm thử vòng lặp lồng nhau như thế nào?

Post by tvn »

Theo mình thì làm cách này cho đơn giản. Mọi người góp ý nhé. Thanks
kiem thu vong lap long nhau.png
You do not have the required permissions to view the files attached to this post.



anhanh
Hoc Tester
Posts: 2
Joined: Sat 30 Aug, 2014 8:35 am
Contact:

Re: Kiểm thử vòng lặp lồng nhau như thế nào?

Post by anhanh »

Em cám ơn anh tvn vì đã giúp em hiểu thêm vấn đề.
Đường Mc-Cabe số 2 chính là 1 vòng lặp đơn (simple Loop), em sẽ kiểm thử khoảng một số lần nào đó.
Nhưng đường Mc-Cabe số 3 lại là loại 2 vòng lặp lồng nhau anh ạ (nested loop), em không biết kiểm thử như thế nào cho đúng? Em đọc sách thì hiểu kiểm thử kiểu như sau:
+ Kiểm thử vòng 7-8-9 (inner loop) trước: Cho biến đếm vòng lặp ngoài 1 giá trị nào đó (i bằng 4 hoặc 8 hoặc 10 chẳng hạn thay vì i = 0). Như vậy đường số 3 biến thành simple loop
+ Sau đó, kiểm thử vòng lặp bao vòng 7-8-9 (outer loop): Em chọn một vài giá trị i, với mỗi giá trị i tính xem vòng lặp trong lặp bao nhiêu lần. Sau đó em thu được 1 đường simple loop thứ 2.



Post Reply

Return to “White box Testing - Kiểm thử hộp trắng”