You are on page 1of 5

Bài 1.

Các bước nhằm kiểm thử một đơn vị chương trình theo phương pháp kiểm
thử dòng điều khiển theo một độ do kiểm thử Cn

-Bước 1: Xác định các khối cơ bản của mã nguồn.

-Bước 2:Biểu diễn đồ thị CFG

-Bước 3:Lựa chọn đường đi dựa trên độ phủ

-Bước 4:Xây dựng các ca kiểm thử dựa trên các đường đi đã được xây dựng.

Bài 2:

0 char Grade(int score) {

1 int res;

2 if (score <0 || score > 10)

3 return ‘I’;

4 if (score >= 9)

5 res = ‘A’;

else

6 if (score >=8)

7 res = ‘B’;

else

8 if (score >= 6.5 )

9 res = ‘C’;

else

10 if (score >= 5)

11 res = ‘D’;

else

12 res = ‘F’;

13 return res;
}

a. Xây dựng đồ thị dòng điều


khiển hàm Grade ứng với độ đo C1 và C2

Start 1

2 F
T

3 4 F
T
5 6 F
T
7 8 F
T
9 10
T F

11 12

b. 13
C1
Path Test case Expected output
(Start,1, 2 T, 3,Exit) 13 ‘I’
Exit
(1, 2F, 4 T, 5, 13) 9 ‘A’
(1, 2F, 4 F, 6 T, 7, 13) 8 ‘B’
(1, 2F, 4 F, 6 F, 8 T, 9, 13) 7 C
(1, 2F, 4 F, 6 F, 8 F, 10 T, 11, 6 ‘D’
13)
(1, 2F, 4 F, 6 F, 8 F, 10 F, 12, 4 ‘F’
13)

C2
Path Test case Expected output
(1, 2 T, 3) 13 ‘I’
(1, 2F, 4 T, 5, 13) 9 ‘A’
(1, 2F, 4 F, 6 T, 7, 13) ‘8’ ‘B’
(1, 2F, 4 F, 6 F, 8 T, 9, 13) 7 C
(1, 2F, 4 F, 6 F, 8 F, 10 T, 11, 6 ‘D’
13)
(1, 2F, 4 F, 6 F, 8 F, 10 F, 12, 4 ‘F’
13)

Bài 13: (1) int Sum(int a[], int n)

Xây dựng đồ thị dòng điều khiển cho


hàm Sum ứng với độ đo C1 và C2 (2) int i, int total = 0;

(3) i = 0

(4) i< n

T (6) i++

F (5) total = total +a[i]

(7) return total;

C1
Path Test case Expected output
(1, 2, 3, 4 T, 5, 6, 4 F, 7) a[] = [4,5], n = 1 4
C2
Path Test case Expected output
(1, 2, 3, 4 T, 5, 6, 4 F, 7) a[] = [4,5], n = 1 4

Vòng lặp for

Path Test case Ex output


(1, 2, 3, 4 F, 7) a[] = [1, 2], n = 0 0
0
(1, 2, 3, 4 T, 5, 6, 4 F, 7) a[] = [1], n = 1 1
(1, 2, 3, 4 T, 5, 6, 4 T,5, 6, 4 F, 7) a[] = [1, 2, 3]; n = 3
2
(1, 2, 3, 4 T, 5, 6, 4 T, 5, 6, 4 T,5, 6, a[] = [1, 2, 3, 5]; 6
4 F, 7) n=3
Bài Foo: (1) string foo(int x)

(2) string res;

(3) switch(x)

(4) case 65 (6) case 66 (8) case 67 (10) default

(5) res = “A” (7) res = “B” (9) res = “C” (11) res = “haven’t
break; break; break; check”;

(12) return res;

C2
Path Test case Ex output
(1, 2, 3, 4 ,5, 12) x = 65 “A”
(1, 2, 3, 6 ,7, 12) x = 66 “B”
(1, 2, 3, 8 ,9, 12) x = 67 “C”
(1, 2, 3, 10 ,11, 12) x = 100 “Haven’t check”

Kiểm thử chương trình vs độ phủ C2:

Phân tích và Thiết kế Ca kiểm thử:

Ca kiểm thử 1: Email hợp lệ Input: "example@example.com" Kỳ vọng: Trả về true

Ca kiểm thử 2: Thiếu ký tự '@' Input: "exampleexample.com" Kỳ vọng: Trả về false

Ca kiểm thử 3: Thiếu ký tự sau '@' Input: "example@" Kỳ vọng: Trả về false

Ca kiểm thử 4: Thiếu ký tự trước '@' Input: "@example.com" Kỳ vọng: Trả về false
Ca kiểm thử 5: Email quá ngắn (dưới 5 ký tự) Input: "a@b" Kỳ vọng: Trả về false

Ca kiểm thử 6: Email quá dài (trên 320 ký tự) Input: "a" + 317 ký tự '@' + "b.c" Kỳ
vọng: Trả về false

Ca kiểm thử 7: '.' là ký tự cuối cùng Input: "example@com." Kỳ vọng: Trả về false

Ca kiểm thử 8: Có khoảng trắng Input: "example @example.com" Kỳ vọng: Trả về


false

You might also like