Bao phủ Câu lệnh và đường đi

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
Danh Tran
Hoc Tester
Posts: 7
Joined: Wed 24 Sep, 2014 1:47 pm
Contact:

Bao phủ Câu lệnh và đường đi

Post by Danh Tran »

Mọi người giải giúp em câu này với ạ,

Cho đoạn mã giả sau:
  • 1. Begin
    2. Do X = A+B
    3. While(X <100)
    4. If (X>150)
    5. Print X
    6. Endif
    7. End
Bạn sẽ tạo bao nhiêu trường hợp kiểm thử để đạt được 100% bao phủ câu lệnh (statement coverage) và 100% bao phủ đường đi (path coverage)?



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

Re: Bao phủ Câu lệnh và đường đi

Post by tvn »

Danh Tran wrote:Mọi người giải giúp em câu này với ạ,

Cho đoạn mã giả sau:
  • 1. Begin
    2. Do X = A+B
    3. While(X <100)
    4. If (X>150)
    5. Print X
    6. Endif
    7. End
Bạn sẽ tạo bao nhiêu trường hợp kiểm thử để đạt được 100% bao phủ câu lệnh (statement coverage) và 100% bao phủ đường đi (path coverage)?
Image



Danh Tran
Hoc Tester
Posts: 7
Joined: Wed 24 Sep, 2014 1:47 pm
Contact:

Re: Bao phủ Câu lệnh và đường đi

Post by Danh Tran »

Em cảm ơn anh tvn nhiều ạ.



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

Re: Bao phủ Câu lệnh và đường đi

Post by tvn »

tvn wrote:
Bao phu cau lenh - whitebox.png
Trong trường hợp này thì sẽ có 4 test case cho path coverage:
  • 1. 1, 2, 4, 7
    2. 1, 2, 4, 6, 8
    3. 1, 2, 3, 2, 4, 7
    4. 1, 2, 3, 2, 4, 6, 8



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

Re: Bao phủ Câu lệnh và đường đi

Post by tvn »

Danh Tran wrote:Mọi người giải giúp em câu này với ạ,

Cho đoạn mã giả sau:
  • 1. Begin
    2. Do X = A+B
    3. While(X <100)
    4. If (X>150)
    5. Print X
    6. Endif
    7. End
Bạn sẽ tạo bao nhiêu trường hợp kiểm thử để đạt được 100% bao phủ câu lệnh (statement coverage) và 100% bao phủ đường đi (path coverage)?
Hôm nay nhìn lại đoạn code này, mình thấy nó có vấn đề. Thật sự A, B là 2 biến hay là 2 hàm xử lý gì đó bên trong. Nếu đơn thuần A, B chỉ là 2 biến cố định thì giá trị X sẽ không bao giờ thay đổi. Vì vậy, trường hợp X = A+B mà nhỏ hơn 100 thì đến while(X<100) nó sẽ quay lại tính X tiếp. Và như đã nói, X=A+B sẽ không thay đổi giá trị (vì nó không có biến số gì ở đây) nên X sẽ mãi nhỏ hơn 100. Đoạn chương trình này sẽ bị 'lặp vô tận'



Post Reply

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